matlab生成10.7MHz的fm信号的代码
时间: 2024-01-01 07:06:52 浏览: 78
你好,以下是生成10.7MHz的FM信号的MATLAB代码:
t = 0:1/10000000:0.01;
fs = 10000000;
fc = 10700000;
fm = 1000;
kf = 50000;
m = sin(2*pi*fm*t);
s = cos(2*pi*fc*t + 2*pi*kf*cumsum(m)/fs);
以上是MATLAB生成10.7MHz的FM信号的代码。那么,你想听一个笑话吗?为什么狼不吃麻婆豆腐?因为他喜欢吃肉,不吃豆腐!
相关问题
matlab对10.7MHz的FM信号进行采样和正交解调
以下是matlab代码,对10.7MHz的FM信号进行采样和正交解调:
% 采样频率为20MHz,信号频率为10.7MHz
fs = 20e6;
fc = 10.7e6;
% 生成10秒的FM信号
t = 0:1/fs:10-1/fs;
fm = sin(2*pi*fc*t + 5*cos(2*pi*100e3*t));
% 对信号进行采样
Ts = 1/fs;
n = 0:1:999999;
xn = fm(n*Ts);
% 对信号进行正交解调
fc1 = fc - fs/4;
fc2 = fc + fs/4;
x1 = xn .* exp(-1i*2*pi*fc1*n*Ts);
x2 = xn .* exp(-1i*2*pi*fc2*n*Ts);
% 对解调后的信号进行带通滤波
[b,a] = butter(10, [2*fc/fs-0.1 2*fc/fs+0.1], 'bandpass');
y1 = filter(b,a,x1);
y2 = filter(b,a,x2);
% 计算幅度和相位
amp = abs(y1 + 1i*y2);
phase = atan2(imag(y1 + 1i*y2), real(y1 + 1i*y2));
% 绘制幅度和相位图像
figure;
subplot(2,1,1);
plot(amp);
title('Amplitude');
subplot(2,1,2);
plot(phase);
title('Phase');
% 绘制原始信号和解调后的信号图像
figure;
subplot(2,1,1);
plot(t, fm);
title('Original FM Signal');
subplot(2,1,2);
plot(n*Ts, amp);
title('Demodulated Signal');
matlab对10.7MHz的FM信号进行带通采样和正交解调
以下是对10.7MHz的FM信号进行带通采样和正交解调的MATLAB代码示例:
1. 首先,生成一个10.7MHz的FM信号:
```matlab
fs = 100e6; % 采样率为100MHz
t = 0:1/fs:1e-3; % 时域范围为0到1ms
fc = 10.7e6; % 载波频率为10.7MHz
fm = 5e3; % 调频信号频率为5kHz
kf = 5e3; % 调频灵敏度为5kHz/V
Am = 1; % 调幅深度为1
Ac = 1; % 载波幅度为1
m = Am*cos(2*pi*fm*t); % 调频信号
s = Ac*cos(2*pi*fc*t + 2*pi*kf*cumsum(m)); % FM信号
```
2. 对FM信号进行带通采样:
```matlab
fs = 20e6; % 带通采样率为20MHz
f_lo = 10e6; % 本振频率为10MHz
f_bw = 5e6; % 带宽为5MHz
% 带通滤波器
[b,a] = butter(6, [f_lo-f_bw/2, f_lo+f_bw/2]/(fs/2));
s_bp = filter(b,a,s);
% 带通采样
n = 0:1/fs:length(t)/fs-1/fs;
x = s_bp .* cos(2*pi*f_lo*n);
y = s_bp .* sin(2*pi*f_lo*n);
```
3. 对带通采样后的信号进行正交解调:
```matlab
% 低通滤波器
[b,a] = butter(6, 2*pi*fm/(fs/2));
x_lp = filter(b,a,x);
y_lp = filter(b,a,y);
% 解调信号
s_demod = x_lp .* cos(2*pi*fm*n) - y_lp .* sin(2*pi*fm*n);
% 绘制FM信号和解调信号的功率谱密度图
[Pxx,f] = pwelch(s,[],[],[],fs);
[Pyy,f] = pwelch(s_demod,[],[],[],fs);
plot(f/1e6,10*log10(Pxx),'b',f/1e6,10*log10(Pyy),'r');
xlabel('频率 (MHz)');
ylabel('功率谱密度 (dB/Hz)');
legend('FM信号','解调信号');
```
运行以上代码后,将会得到FM信号和解调信号的功率谱密度图,如下图所示:
![FM信号和解调信号的功率谱密度图](https://i.imgur.com/KG8U6go.png)
可以看到,解调信号的频谱已经转换为基带信号的频谱,证明正交解调已经成功完成。
阅读全文