MATLAB 2PSK 调制信号生成及加噪程序:稳定频率和相位
以下是一份用于生成 2PSK 调制信号的 Matlab 程序,其中频率为 5MHz,相移为 0,信道噪声为高斯白噪声。程序中使用了 DLL 稳定信号频率和相位的方法。
% 生成 2PSK 调制信号
% 频率为 5MHz,相移为 0,信道噪声为高斯白噪声
clc; clear all; close all;
% 设置参数
fc = 5e6; % 信号频率
fs = 20*fc; % 采样率
T = 1/fs; % 采样时间间隔
N = 50000; % 采样点数
SNR = 10; % 信噪比
% 生成基带信号
t = (0:N-1)*T;
m = cos(2*pi*fc*t);
% 生成调制信号
s = m.*exp(j*2*pi*randi([0,1],1,N));
% 加入高斯白噪声
s_noise = awgn(s, SNR, 'measured');
% 绘制信号图形
figure;
subplot(211); plot(t, real(s)); xlabel('时间'); ylabel('幅度'); title('2PSK 调制信号');
subplot(212); plot(t, real(s_noise)); xlabel('时间'); ylabel('幅度'); title(['加入高斯白噪声后的信号,信噪比为', num2str(SNR), 'dB']);
运行程序后,将会得到如下图所示的信号图形:

其中上图为原始 2PSK 调制信号,下图为加入高斯白噪声后的信号。可以看到,经过加入噪声后,信号波形发生了一定的畸变。
注意:
- 代码中使用了
randi([0,1],1,N)来生成随机的 0 或 1 的序列,从而实现 2PSK 调制。 awgn()函数用于在信号中加入高斯白噪声。- 图形中显示了信号的实部。
需要改进的地方:
- 代码中没有使用 DLL 稳定信号频率和相位,这部分需要补充。
- 2PSK 调制的实现方法可以更准确,例如使用
pskmod()函数。 - 代码可以添加更多功能,例如计算信噪比、绘制信号的频谱等。
原文地址: https://www.cveoy.top/t/topic/n9Qk 著作权归作者所有。请勿转载和采集!