文章目录
- 前言
- 一、归一化能量计算原理
- 二、Matlab中如何得到归一化能量符号
- 总结
前言
在基于QAM调制的matlab仿真程序中,我们通常会产生二进制比特流,并最终映射成QAM符号,该符号大都是格雷编码的。在坐标系中,相邻符号之间的横纵坐标值一般相差为2,那么用这个星座图仿真是不是正确的呢?
一、归一化能量计算原理
我们大都是对4QAM符号,也就是QPSK符号的归一化很熟悉,至少我之前是这样认为的,并且一瞬间就能想到它的归一化能量之后的符号的值。也就是对每一个QPSK符号
例如:1+1i
都除以2\sqrt{2}2,之前认为是12+12\sqrt{1^2+1^2}12+12这样计算的,而且大都时候,我们都是可以直接使用matlab中qammod函数中的“UnitAveragePower”参数,直接得到归一化能量的QAM符号。但是掌握并理解星座图中QAM符号的归一化能量计算,对于不同阶数QAM之间的联系,会有更深刻的理解。
那么,QPSK符号的归一化能量是怎么计算的呢?
因为QPSK四种符号出现的概率都为14\frac{1}{4}41,每个符号的能量为12+12=2{1^2+1^2}=212+12=2,所以每个符号的平均符号能量为Esmave=14×(2+2+2+2)=2Esm_ave = \frac{1}{4} \times (2+2+2+2)=2Esmave=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],所以信号会有424^242种。如下图所示:
对于黑色的星座点,它们的能量为12+12=21^2+1^2=212+12=2,共有4个点,点的出现概率为14\frac{1}{4}41;
对于蓝色的星座点,它们的能量为12+32=101^2+3^2=1012+32=10,共有8个点,点的出现概率为12\frac{1}{2}21;
对于绿色的星座点,它们的能量为32+32=183^2+3^2=1832+32=18,共有4个点,点的出现概率为14\frac{1}{4}41;
所以16QAM星座图的总能量为2×4+10×8+18×4=1602 \times 4 +10 \times 8 + 18 \times 4=1602×4+10×8+18×4=160,所以每个符号的平均能量为10,那么为了得到归一化能量的符号,则除以10,得到平均能量为1的16qam符号,那么对应在星座图的横纵坐标(幅度和相位)就是除以10\sqrt{10}10,例如:
110+310i\frac{1}{\sqrt{10}}+\frac{3}{\sqrt{10}}i101+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调制星座图中,符号能量的归一化计算原理和方法。