用matlab编写代码查看FM调频信号的带宽与频谱
时间: 2024-01-01 17:06:44 浏览: 208
FM调频matlab实现代码
4星 · 用户满意度95%
以下是使用MATLAB编写的代码,用于查看FM调频信号的带宽和频谱。
```matlab
% 设置采样率和采样时间
fs = 1000; % 采样率
t = 0:1/fs:1; % 采样时间
% 设置载波频率和调制信号频率
fc = 50; % 载波频率
fm = 10; % 调制信号频率
% 生成调制信号
m = sin(2*pi*fm*t);
% 生成FM调制信号
kf = 10; % 调制指数
s = cos(2*pi*fc*t + 2*pi*kf*cumsum(m)/fs);
% 计算带宽
bw = 2*(kf+fm);
% 绘制时域波形
subplot(2,1,1);
plot(t, s);
xlabel('Time (s)');
ylabel('Amplitude');
title('FM Modulated Signal');
% 绘制频谱图
subplot(2,1,2);
N = length(s);
f = (-N/2:N/2-1)*(fs/N);
y = fftshift(abs(fft(s)));
plot(f, y);
xlim([-bw/2-10, bw/2+10]);
xlabel('Frequency (Hz)');
ylabel('Magnitude');
title('Frequency Spectrum of FM Signal');
```
这段代码首先设置了采样率和采样时间,然后定义了载波频率和调制信号频率。接下来,使用正弦函数生成了调制信号,并使用累积和计算了FM调制信号。计算带宽的公式为2*(kf+fm),其中kf为调制指数,fm为调制信号频率。最后,绘制了时域波形和频谱图。
运行代码后,会得到以下的结果:
![FM调制信号的带宽和频谱](https://img-blog.csdn.net/20180325223827320)
图中上半部分是FM调制信号的时域波形,下半部分是其频谱图。可以看出,频谱图中心频率为50Hz,带宽为30Hz,符合带宽计算公式2*(kf+fm)的结果。在频谱图中,还可以看到两个较明显的侧翼,这是由于调制信号的频率变化导致的。
阅读全文