对fm信号fm=5*cos(200000000*pi*t+4*sin(1000000*pi*t))使用matlab绘制时域波形图及频域波形,并进行解调得出图像,每行代码附上注释
时间: 2023-07-23 20:33:47 浏览: 93
matlab_对一组信号进行FFT变换,将时域转换到频域
5星 · 资源好评率100%
好的,我知道了。下面是代码和注释。
```matlab
% 定义时间范围
t = 0:0.0000001:0.001;
% 定义fm信号
fm = 5*cos(200000000*pi*t+4*sin(1000000*pi*t));
% 绘制时域波形图
subplot(2,1,1);
plot(t,fm);
title('时域波形图');
xlabel('时间');
ylabel('幅度');
% 进行频域分析
fs = 1/(t(2)-t(1)); % 计算采样频率
L = length(fm); % 信号长度
NFFT = 2^nextpow2(L); % 计算FFT点数
Y = fft(fm,NFFT)/L; % 计算FFT
f = fs/2*linspace(0,1,NFFT/2+1); % 计算频率
% 绘制频域波形图
subplot(2,1,2);
plot(f,2*abs(Y(1:NFFT/2+1)));
title('频域波形图');
xlabel('频率');
ylabel('幅度');
% 进行解调
fc = 200000000; % 定义载波频率
Ac = 5; % 定义载波幅度
demod = fm.*cos(2*pi*fc*t); % 进行乘法解调
[b,a] = butter(6,1000000/(fs/2),'low'); % 设计低通滤波器
demod_filtered = filter(b,a,demod); % 进行滤波
% 绘制解调后的波形图
figure();
plot(t,demod_filtered);
title('解调后波形图');
xlabel('时间');
ylabel('幅度');
```
注意:以上代码中的解调过程仅适用于单频率调制(也叫简单调制)的情况。如果是复杂调制,则需要用更复杂的解调方法来得到图像。
阅读全文