如何在MATLAB中生成QPSK信号?



我试图在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文档中的各种样例图中观察到,生成的符号的大小为1。因此,除非您使用与典型的正弦/余弦不同的基函数,否则它应该已经为您提供平均发射功率为1的信号。

也就是说,如果您想要不同的平均功率,只需将pskmod的输出与所需平均功率的平方根进行缩放,如下所示:

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);

最新更新