用matlab生成FM、AM、DSB、USB、LSB、VSB调制信号频谱图代码
时间: 2023-07-10 22:41:10 浏览: 412
以下是使用 MATLAB 生成FM、AM、DSB、USB、LSB、VSB调制信号频谱图的代码示例:
1. FM调制信号频谱图:
```matlab
% 生成FM调制信号并绘制频谱图
fc = 1000; % 载波频率
fs = 10*fc; % 采样频率
fm = 50; % 调制频率
kf = 10; % 调频系数
t = 0:1/fs:1; % 时间向量
x = cos(2*pi*fc*t + 2*pi*kf*cumsum(sin(2*pi*fm*t))); % FM调制信号
X = fftshift(abs(fft(x))); % 快速傅里叶变换,并将零频移动到中心
f = linspace(-fs/2, fs/2, length(X)); % 频率向量
plot(f, X); % 绘制频谱图
xlabel('频率');
ylabel('幅度');
title('FM调制信号频谱图');
```
2. AM调制信号频谱图:
```matlab
% 生成AM调制信号并绘制频谱图
fc = 1000; % 载波频率
fs = 10*fc; % 采样频率
fm = 50; % 调制频率
m = 0.5; % 调制指数
t = 0:1/fs:1; % 时间向量
x = (1 + m*sin(2*pi*fm*t)).*cos(2*pi*fc*t); % AM调制信号
X = fftshift(abs(fft(x))); % 快速傅里叶变换,并将零频移动到中心
f = linspace(-fs/2, fs/2, length(X)); % 频率向量
plot(f, X); % 绘制频谱图
xlabel('频率');
ylabel('幅度');
title('AM调制信号频谱图');
```
3. DSB调制信号频谱图:
```matlab
% 生成DSB调制信号并绘制频谱图
fc = 1000; % 载波频率
fs = 10*fc; % 采样频率
fm = 50; % 调制频率
t = 0:1/fs:1; % 时间向量
x = cos(2*pi*fc*t).*cos(2*pi*fm*t); % DSB调制信号
X = fftshift(abs(fft(x))); % 快速傅里叶变换,并将零频移动到中心
f = linspace(-fs/2, fs/2, length(X)); % 频率向量
plot(f, X); % 绘制频谱图
xlabel('频率');
ylabel('幅度');
title('DSB调制信号频谱图');
```
4. USB调制信号频谱图:
```matlab
% 生成USB调制信号并绘制频谱图
fc = 1000; % 载波频率
fs = 10*fc; % 采样频率
fm = 50; % 调制频率
t = 0:1/fs:1; % 时间向量
x = cos(2*pi*fc*t + 2*pi*fm*t); % USB调制信号
X = fftshift(abs(fft(x))); % 快速傅里叶变换,并将零频移动到中心
f = linspace(-fs/2, fs/2, length(X)); % 频率向量
plot(f, X); % 绘制频谱图
xlabel('频率');
ylabel('幅度');
title('USB调制信号频谱图');
```
5. LSB调制信号频谱图:
```matlab
% 生成LSB调制信号并绘制频谱图
fc = 1000; % 载波频率
fs = 10*fc; % 采样频率
fm = 50; % 调制频率
t = 0:1/fs:1; % 时间向量
x = cos(2*pi*fc*t - 2*pi*fm*t); % LSB调制信号
X = fftshift(abs(fft(x))); % 快速傅里叶变换,并将零频移动到中心
f = linspace(-fs/2, fs/2, length(X)); % 频率向量
plot(f, X); % 绘制频谱图
xlabel('频率');
ylabel('幅度');
title('LSB调制信号频谱图');
```
6. VSB调制信号频谱图:
```matlab
% 生成VSB调制信号并绘制频谱图
fc = 1000; % 载波频率
fs = 10*fc; % 采样频率
fm = 50; % 调制频率
t = 0:1/fs:1; % 时间向量
x = cos(2*pi*fc*t).*cos(2*pi*fm*t) - sin(2*pi*fc*t).*sin(2*pi*fm*t); % VSB调制信号
X = fftshift(abs(fft(x))); % 快速傅里叶变换,并将零频移动到中心
f = linspace(-fs/2, fs/2, length(X)); % 频率向量
plot(f, X); % 绘制频谱图
xlabel('频率');
ylabel('幅度');
title('VSB调制信号频谱图');
```
需要注意的是,以上代码仅为示例,实际应用中需要根据具体需求和数据特点进行调整。
阅读全文