matlab实现2ASK、2FSK、2PSK、2DPSK的功率谱密度
时间: 2023-11-30 07:04:06 浏览: 460
以下是使用Matlab实现2ASK、2FSK、2PSK、2DPSK的功率谱密度的示例代码:
1. 2ASK的功率谱密度
```matlab
% 生成2ASK调制信号
t = 0:0.01:10; % 时间范围
f = 1; % 载波频率
A = 1; % 载波幅度
m = square(2*pi*f*t); % 方波调制信号
% 计算功率谱密度
Fs = 1000; % 采样率
N = length(m); % 信号长度
M = abs(fft(m)/N).^2; % 计算功率谱密度
f = (0:N-1)*(Fs/N); % 频率范围
% 绘制功率谱密度图
plot(f, M);
xlabel('频率');
ylabel('功率谱密度');
title('2ASK的功率谱密度');
```
2. 2FSK的功率谱密度
```matlab
% 生成2FSK调制信号
t = 0:0.01:10; % 时间范围
f1 = 1; % 第一个载波频率
f2 = 2; % 第二个载波频率
A = 1; % 载波幅度
m = sin(2*pi*f1*t) + sin(2*pi*f2*t); % 正弦波调制信号
% 计算功率谱密度
Fs = 1000; % 采样率
N = length(m); % 信号长度
M = abs(fft(m)/N).^2; % 计算功率谱密度
f = (0:N-1)*(Fs/N); % 频率范围
% 绘制功率谱密度图
plot(f, M);
xlabel('频率');
ylabel('功率谱密度');
title('2FSK的功率谱密度');
```
3. 2PSK的功率谱密度
```matlab
% 生成2PSK调制信号
t = 0:0.01:10; % 时间范围
f = 1; % 载波频率
A = 1; % 载波幅度
m = A*cos(2*pi*f*t); % 余弦波调制信号
% 计算功率谱密度
Fs = 1000; % 采样率
N = length(m); % 信号长度
M = abs(fft(m)/N).^2; % 计算功率谱密度
f = (0:N-1)*(Fs/N); % 频率范围
% 绘制功率谱密度图
plot(f, M);
xlabel('频率');
ylabel('功率谱密度');title('2PSK的功率谱密度');
```
4. 2DPSK的功率谱密度
```matlab
% 生成2DPSK调制信号
t = 0:0.01:10; % 时间范围
f = 1; % 载波频率
A = 1; % 载波幅度
m = A*cos(2*pi*f*t + pi/4); % 余弦波调制信号,相位偏移pi/4
% 计算功率谱密度
Fs = 1000; % 采样率
N = length(m); % 信号长度
M = abs(fft(m)/N).^2; % 计算功率谱密度
f = (0:N-1)*(Fs/N); % 频率范围
% 绘制功率谱密度图
plot(f, M);
xlabel('频率');
ylabel('功率谱密度');
title('2DPSK的功率谱密度');
```
阅读全文