对fm信号fm=5cos(200000000pit+4sin(1000000pit))使用matlab绘制波形图及其频谱图,并进行解调得出载波波形图,解调后基带波形图,每行代码附上注释
时间: 2024-03-15 10:44:43 浏览: 155
以下是使用MATLAB对fm信号进行绘制波形图、频谱图以及解调得出载波波形图、解调后基带波形图的代码和注释:
```matlab
% 定义信号的参数
fc = 2e8; % 载波频率200MHz
fm = 1e6; % 调制信号频率1MHz
kf = 4; % 调频灵敏度4Hz/V
Am = 5; % 调制信号幅度5V
% 定义时间范围和时间步长
t = 0:1e-10:1e-5;
dt = t(2) - t(1);
% 生成调制信号
m_t = Am*cos(2*pi*fm*t);
% 生成调频信号
f_t = fc + kf*m_t;
% 生成调频信号并进行调制
s_t = cos(2*pi*f_t.*t);
% 绘制调制信号波形图
figure(1)
plot(t, m_t)
title('Modulating Signal m(t)')
xlabel('Time (s)')
ylabel('Amplitude (V)')
% 绘制调频信号波形图
figure(2)
plot(t, f_t)
title('Frequency Modulated Signal f(t)')
xlabel('Time (s)')
ylabel('Frequency (Hz)')
% 绘制调制后信号波形图
figure(3)
plot(t, s_t)
title('FM Signal s(t)')
xlabel('Time (s)')
ylabel('Amplitude (V)')
% 计算并绘制调制后信号频谱图
figure(4)
S_f = fftshift(fft(s_t));
f = -1/(2*dt):1/(length(S_f)*dt):(1/(2*dt)-1/(length(S_f)*dt));
plot(f, abs(S_f))
title('Spectrum of FM Signal s(t)')
xlabel('Frequency (Hz)')
ylabel('Amplitude (V)')
% 解调信号得到载波波形
y = s_t .* cos(2*pi*fc.*t);
[Y, ~] = butter(10, 2*fm/fc); % 设计低通滤波器
yc = 2*filter(Y, 1, y); % 进行低通滤波并恢复幅度
figure(5)
plot(t, yc)
title('Demodulated Carrier Wave yc(t)')
xlabel('Time (s)')
ylabel('Amplitude (V)')
% 解调信号得到基带波形
y = s_t .* cos(2*pi*fc.*t);
Y = hilbert(y); % 对解调信号进行解析
ym = abs(Y); % 取模得到幅度
figure(6)
plot(t, ym)
title('Demodulated Baseband Wave ym(t)')
xlabel('Time (s)')
ylabel('Amplitude (V)')
```
阅读全文