如何在 MATLAB 中生成 QPSK 信号?

How to generate QPSK signal in MATLAB?

我正在尝试在 MATLAB 中生成平均发射功率为 1 的 QPSK 信号。我在 MATLAB 中获得了使用内置 pskmod 函数的某些链接,但它不包括 1 的平均发射功率。

这是我用来生成 QPSK 信号的代码:

Mod = 4;
N = 256;
x_n = randi([0 Mod-1],N,1);

s_n = pskmod(x_n,Mod,pi/Mod);

不知道信号星座的功率因数在哪里

pskmod documentation 中的各种示例图中可以看出,生成的符号的幅度为 1。因此,除非您使用的基函数与典型的 sine/cosine 不同,否则它应该已经在为您提供平均发射功率为 1 的信号。

就是说,如果您想要不同的平均功率,只需将 pskmod 的输出与所需平均功率的 square-root 进行比例缩放,如下所示:

Mod = 4;
N = 256;
x_n = randi([0 Mod-1],N,1);

P = 2; % Set desired constellation power
s_n = sqrt(P) * pskmod(x_n,Mod,pi/Mod);