请用Matlab中mod函数将QPSK、BPSK、16QAM在2dB与6dB的情况下,用scatterplot星座图绘制在一张图片上
时间: 2024-02-05 17:13:50 浏览: 138
首先,需要生成各种调制方式的信号并添加高斯白噪声。下面是一个示例代码:
```matlab
% 生成QPSK调制信号
M = 4;
data = randi([0 M-1],1000,1);
txSig = qammod(data,M);
% 添加高斯白噪声
EbNo = 2; % 信噪比2dB
rxSig_2dB = awgn(txSig,EbNo,'measured');
% 绘制星座图
scatterplot(rxSig_2dB);
% 生成BPSK调制信号
M = 2;
data = randi([0 M-1],1000,1);
txSig = pskmod(data,M);
% 添加高斯白噪声
EbNo = 2; % 信噪比2dB
rxSig_2dB = awgn(txSig,EbNo,'measured');
% 绘制星座图
hold on;
scatterplot(rxSig_2dB,'r*');
% 生成16QAM调制信号
M = 16;
data = randi([0 M-1],1000,1);
txSig = qammod(data,M);
% 添加高斯白噪声
EbNo = 2; % 信噪比2dB
rxSig_2dB = awgn(txSig,EbNo,'measured');
% 绘制星座图
hold on;
scatterplot(rxSig_2dB,'go');
% 修改坐标范围
axis([-4 4 -4 4]);
% 添加标题和图例
title('2dB');
legend('QPSK','BPSK','16QAM');
% 重复以上步骤绘制6dB的星座图
% ...
```
以上代码生成了QPSK、BPSK和16QAM在2dB信噪比下的星座图,并将它们绘制在同一张图片上。如果要绘制6dB信噪比下的星座图,只需将EbNo变量设置为6即可。
阅读全文