前言
在基于QAM调制的matlab仿真程序中,我们通常会产生二进制比特流,并最终映射成QAM符号,该符号大都是格雷编码的。在坐标系中,相邻符号之间的横纵坐标值一般相差为2,那么用这个星座图仿真是不是正确的呢?
一、归一化能量计算原理
我们大都是对4QAM符号,也就是QPSK符号的归一化很熟悉,至少我之前是这样认为的,并且一瞬间就能想到它的归一化能量之后的符号的值。也就是对每一个QPSK符号
例如:1+1i
都除以 2 \sqrt{2} 2,之前认为是 1 2 + 1 2 \sqrt{1^2+1^2} 12+12这样计算的,而且大都时候,我们都是可以直接使用matlab中qammod函数中的“UnitAveragePower”参数,直接得到归一化能量的QAM符号。但是掌握并理解星座图中QAM符号的归一化能量计算,对于不同阶数QAM之间的联系,会有更深刻的理解。
那么,QPSK符号的归一化能量是怎么计算的呢?
因为QPSK四种符号出现的概率都为 1 4 \frac{1}{4} 41,每个符号的能量为 1 2 + 1 2 = 2 {1^2+1^2}=2 12+12=2,所以每个符号的平均符号能量为 E s m a v e = 1 4 × ( 2 + 2 + 2 + 2 ) = 2 Esm_ave = \frac{1}{4} \times (2+2+2+2)=2 Esmave=41×(2+2+2+2)=2,那么为了将该能量归一化为1,则每个符号的平均能量除以2,那么对于每个符号的横纵坐标(幅值与相位)就是除以 2 \sqrt{2} 2,所以最终的归一化能量QPSK符号为:
0.707 + 0.707i
0.707 - 0.707i
-0.707 + 0.707i
-0.707 - 0.707i
那么16QAM的归一化能量是怎么计算的呢?
16QAM符号的归一化能量计算与QPSK符号类似,但是有一些细节值得注意。
我们知道对于16QAM符号而言,信号幅度和相位分别取了4种,包括[-3 -1 1 3],所以信号会有
4
2
4^2
42种。如下图所示:
对于黑色的星座点,它们的能量为
1
2
+
1
2
=
2
1^2+1^2=2
12+12=2,共有4个点,点的出现概率为
1
4
\frac{1}{4}
41;
对于蓝色的星座点,它们的能量为
1
2
+
3
2
=
10
1^2+3^2=10
12+32=10,共有8个点,点的出现概率为
1
2
\frac{1}{2}
21;
对于绿色的星座点,它们的能量为
3
2
+
3
2
=
18
3^2+3^2=18
32+32=18,共有4个点,点的出现概率为
1
4
\frac{1}{4}
41;
所以16QAM星座图的总能量为
2
×
4
+
10
×
8
+
18
×
4
=
160
2 \times 4 +10 \times 8 + 18 \times 4=160
2×4+10×8+18×4=160,所以每个符号的平均能量为10,那么为了得到归一化能量的符号,则除以10,得到平均能量为1的16qam符号,那么对应在星座图的横纵坐标(幅度和相位)就是除以
10
\sqrt{10}
10,例如:
1 10 + 3 10 i \frac{1}{\sqrt{10}}+\frac{3}{\sqrt{10}}i 101+103i
那么针对64QAM和256QAM符号来说,计算方法是一样的。
二、Matlab中如何得到归一化能量符号
qam4_signal = qammod(Intger,k_4qam,'gray','UnitAveragePower', true);
其中:
Intger是整数值,例如对于QPSK,整数值包括[0 1 2 3];
k_4qam是QAM的阶数,对于QPSK就是4;
'gray’是指格雷编码;
‘UnitAveragePower’, true,而这两个参数就是进行归一化能量的参数。
当然了,如果想自己编写也是很简单的。
归一化能量的4QAM~256QAM如下图所示:
总结
本博文给出了不同阶数QAM调制星座图中,符号能量的归一化计算原理和方法。