目录
超高阶调制技术如16384-QAM(Quadrature Amplitude Modulation, 正交幅度调制)星座图映射是一种先进的数字通信技术,它能够在有限的频谱资源内传输更多的信息比特,从而提高数据传输速率。然而,高阶调制技术也面临着接收端解调复杂度增加、误码率升高等挑战。
1.16384-QAM星座图映射原理
QAM调制是将数字信息转换为模拟信号的一种方式,它同时利用了载波的幅度和相位来携带信息。对于N阶QAM调制,每个符号可以表示log₂(N)个比特的信息。16384-QAM意味着每个调制符号可以携带log₂(16384) = 14比特的信息。为了实现如此高的信息承载能力,需要设计一个足够大的星座图,使得星座点之间的最小欧氏距离尽可能大,从而降低误码率。
1.1 映射原理
在16384-QAM中,每个符号由实部和虚部组成,每个部分都需要映射到相应的星座点上。理想情况下,星座点应该均匀分布在复平面内,形成一个规则的网格结构。然而,随着星座点数量的增加,要维持星座点之间的足够距离变得越来越困难。
1.2 映射公式
假设星座点在复平面上的坐标为I+jQ,其中 I 和 Q 分别表示实部和虚部。对于16384-QAM,每个部分需要映射到128个不同的电平上。设I 和Q 的取值范围分别为 [−63,63][−63,63]。
1.3 映射表
对于14比特的信息,可以将其分为两部分,每部分7比特。第一部分用于确定实部I 的值,第二部分用于确定虚部Q 的值。具体映射关系可以表示为:
2.Verilog实现
008·················································································
if(dac_IQ_control) begin
case(I)
7'b0000000: I_4d <= 1*D;
7'b0000001: I_4d <= 3*D;
7'b0000010: I_4d <= 5*D;
7'b0000011: I_4d <= 7*D;
7'b0000100: I_4d <= 9*D;
7'b0000101: I_4d <= 11*D;
7'b0000110: I_4d <= 13*D;
7'b0000111: I_4d <= 15*D;
7'b0001000: I_4d <= 17*D;
7'b0001001: I_4d <= 19*D;
7'b0001010: I_4d <= 21*D;
7'b0001011: I_4d <= 23*D;
7'b0001100: I_4d <= 25*D;
7'b0001101: I_4d <= 27*D;
7'b0001110: I_4d <= 29*D;
7'b0001111: I_4d <= 31*D;
7'b0010000: I_4d <= 33*D;
7'b0010001: I_4d <= 35*D;
7'b0010010: I_4d <= 37*D;
7'b0010011: I_4d <= 39*D;
7'b0010100: I_4d <= 41*D;
7'b0010101: I_4d <= 43*D;
7'b0010110: I_4d <= 45*D;
7'b0010111: I_4d <= 47*D;
7'b0011000: I_4d <= 49*D;
7'b0011001: I_4d <= 51*D;
7'b0011010: I_4d <= 53*D;
7'b0011011: I_4d <= 55*D;
7'b0011100: I_4d <= 57*D;
7'b0011101: I_4d <= 59*D;
7'b0011110: I_4d <= 61*D;
7'b0011111: I_4d <= 63*D;
7'b0100000: I_4d <= 65*D;
7'b0100001: I_4d <= 67*D;
7'b0100010: I_4d <= 69*D;
7'b0100011: I_4d <= 71*D;
7'b0100100: I_4d <= 73*D;
7'b0100101: I_4d <= 75*D;
7'b0100110: I_4d <= 77*D;
7'b0100111: I_4d <= 79*D;
7'b0101000: I_4d <= 81*D;
7'b0101001: I_4d <= 83*D;
7'b0101010: I_4d <= 85*D;
7'b0101011: I_4d <= 87*D;
7'b0101100: I_4d <= 89*D;
7'b0101101: I_4d <= 91*D;
7'b0101110: I_4d <= 93*D;
7'b0101111: I_4d <= 95*D;
7'b0110000: I_4d <= 97*D;
7'b0110001: I_4d <= 99*D;
7'b0110010: I_4d <= 101*D;
7'b0110011: I_4d <= 103*D;
7'b0110100: I_4d <= 105*D;
7'b0110101: I_4d <= 107*D;
7'b0110110: I_4d <= 109*D;
7'b0110111: I_4d <= 111*D;
7'b0111000: I_4d <= 113*D;
7'b0111001: I_4d <= 115*D;
7'b0111010: I_4d <= 117*D;
7'b0111011: I_4d <= 119*D;
7'b0111100: I_4d <= 121*D;
7'b0111101: I_4d <= 123*D;
7'b0111110: I_4d <= 125*D;
7'b0111111: I_4d <= 127*D;
7'b1000000: I_4d <= -D;
7'b1000001: I_4d <= -3*D;
7'b1000010: I_4d <= -5*D;
7'b1000011: I_4d <= -7*D;
7'b1000100: I_4d <= -9*D;
7'b1000101: I_4d <= -11*D;
7'b1000110: I_4d <= -13*D;
7'b1000111: I_4d <= -15*D;
7'b1001000: I_4d <= -17*D;
7'b1001001: I_4d <= -19*D;
7'b1001010: I_4d <= -21*D;
7'b1001011: I_4d <= -23*D;
7'b1001100: I_4d <= -25*D;
7'b1001101: I_4d <= -27*D;
7'b1001110: I_4d <= -29*D;
7'b1001111: I_4d <= -31*D;
7'b1010000: I_4d <= -33*D;
7'b1010001: I_4d <= -35*D;
7'b1010010: I_4d <= -37*D;
7'b1010011: I_4d <= -39*D;
7'b1010100: I_4d <= -41*D;
7'b1010101: I_4d <= -43*D;
7'b1010110: I_4d <= -45*D;
7'b1010111: I_4d <= -47*D;
7'b1011000: I_4d <= -49*D;
7'b1011001: I_4d <= -51*D;
7'b1011010: I_4d <= -53*D;
7'b1011011: I_4d <= -55*D;
7'b1011100: I_4d <= -57*D;
7'b1011101: I_4d <= -59*D;
7'b1011110: I_4d <= -61*D;
7'b1011111: I_4d <= -63*D;
7'b1100000: I_4d <= -65*D;
7'b1100001: I_4d <= -67*D;
7'b1100010: I_4d <= -69*D;
7'b1100011: I_4d <= -71*D;
7'b1100100: I_4d <= -73*D;
7'b1100101: I_4d <= -75*D;
7'b1100110: I_4d <= -77*D;
7'b1100111: I_4d <= -79*D;
7'b1101000: I_4d <= -81*D;
7'b1101001: I_4d <= -83*D;
7'b1101010: I_4d <= -85*D;
7'b1101011: I_4d <= -87*D;
7'b1101100: I_4d <= -89*D;
7'b1101101: I_4d <= -91*D;
7'b1101110: I_4d <= -93*D;
7'b1101111: I_4d <= -95*D;
7'b1110000: I_4d <= -97*D;
7'b1110001: I_4d <= -99*D;
7'b1110010: I_4d <= -101*D;
7'b1110011: I_4d <= -103*D;
7'b1110100: I_4d <= -105*D;
7'b1110101: I_4d <= -107*D;
7'b1110110: I_4d <= -109*D;
7'b1110111: I_4d <= -111*D;
7'b1111000: I_4d <= -113*D;
7'b1111001: I_4d <= -115*D;
7'b1111010: I_4d <= -117*D;
7'b1111011: I_4d <= -119*D;
7'b1111100: I_4d <= -121*D;
7'b1111101: I_4d <= -123*D;
7'b1111110: I_4d <= -125*D;
7'b1111111: I_4d <= -127*D;
endcase
case(Q)
7'b0000000: Q_4d <= 1*D;
7'b0000001: Q_4d <= 3*D;
7'b0000010: Q_4d <= 5*D;
7'b0000011: Q_4d <= 7*D;
7'b0000100: Q_4d <= 9*D;
7'b0000101: Q_4d <= 11*D;
7'b0000110: Q_4d <= 13*D;
7'b0000111: Q_4d <= 15*D;
7'b0001000: Q_4d <= 17*D;
7'b0001001: Q_4d <= 19*D;
7'b0001010: Q_4d <= 21*D;
7'b0001011: Q_4d <= 23*D;
7'b0001100: Q_4d <= 25*D;
7'b0001101: Q_4d <= 27*D;
7'b0001110: Q_4d <= 29*D;
7'b0001111: Q_4d <= 31*D;
7'b0010000: Q_4d <= 33*D;
7'b0010001: Q_4d <= 35*D;
7'b0010010: Q_4d <= 37*D;
7'b0010011: Q_4d <= 39*D;
7'b0010100: Q_4d <= 41*D;
7'b0010101: Q_4d <= 43*D;
7'b0010110: Q_4d <= 45*D;
7'b0010111: Q_4d <= 47*D;
7'b0011000: Q_4d <= 49*D;
7'b0011001: Q_4d <= 51*D;
7'b0011010: Q_4d <= 53*D;
7'b0011011: Q_4d <= 55*D;
7'b0011100: Q_4d <= 57*D;
7'b0011101: Q_4d <= 59*D;
7'b0011110: Q_4d <= 61*D;
7'b0011111: Q_4d <= 63*D;
7'b0100000: Q_4d <= 65*D;
7'b0100001: Q_4d <= 67*D;
7'b0100010: Q_4d <= 69*D;
7'b0100011: Q_4d <= 71*D;
7'b0100100: Q_4d <= 73*D;
7'b0100101: Q_4d <= 75*D;
7'b0100110: Q_4d <= 77*D;
7'b0100111: Q_4d <= 79*D;
7'b0101000: Q_4d <= 81*D;
7'b0101001: Q_4d <= 83*D;
7'b0101010: Q_4d <= 85*D;
7'b0101011: Q_4d <= 87*D;
7'b0101100: Q_4d <= 89*D;
7'b0101101: Q_4d <= 91*D;
7'b0101110: Q_4d <= 93*D;
7'b0101111: Q_4d <= 95*D;
7'b0110000: Q_4d <= 97*D;
7'b0110001: Q_4d <= 99*D;
7'b0110010: Q_4d <= 101*D;
7'b0110011: Q_4d <= 103*D;
7'b0110100: Q_4d <= 105*D;
7'b0110101: Q_4d <= 107*D;
7'b0110110: Q_4d <= 109*D;
7'b0110111: Q_4d <= 111*D;
7'b0111000: Q_4d <= 113*D;
7'b0111001: Q_4d <= 115*D;
7'b0111010: Q_4d <= 117*D;
7'b0111011: Q_4d <= 119*D;
7'b0111100: Q_4d <= 121*D;
7'b0111101: Q_4d <= 123*D;
7'b0111110: Q_4d <= 125*D;
7'b0111111: Q_4d <= 127*D;
7'b1000000: Q_4d <= -D;
7'b1000001: Q_4d <= -3*D;
7'b1000010: Q_4d <= -5*D;
7'b1000011: Q_4d <= -7*D;
7'b1000100: Q_4d <= -9*D;
7'b1000101: Q_4d <= -11*D;
7'b1000110: Q_4d <= -13*D;
7'b1000111: Q_4d <= -15*D;
7'b1001000: Q_4d <= -17*D;
7'b1001001: Q_4d <= -19*D;
7'b1001010: Q_4d <= -21*D;
7'b1001011: Q_4d <= -23*D;
7'b1001100: Q_4d <= -25*D;
7'b1001101: Q_4d <= -27*D;
7'b1001110: Q_4d <= -29*D;
7'b1001111: Q_4d <= -31*D;
7'b1010000: Q_4d <= -33*D;
7'b1010001: Q_4d <= -35*D;
7'b1010010: Q_4d <= -37*D;
7'b1010011: Q_4d <= -39*D;
7'b1010100: Q_4d <= -41*D;
7'b1010101: Q_4d <= -43*D;
7'b1010110: Q_4d <= -45*D;
7'b1010111: Q_4d <= -47*D;
7'b1011000: Q_4d <= -49*D;
7'b1011001: Q_4d <= -51*D;
7'b1011010: Q_4d <= -53*D;
7'b1011011: Q_4d <= -55*D;
7'b1011100: Q_4d <= -57*D;
7'b1011101: Q_4d <= -59*D;
7'b1011110: Q_4d <= -61*D;
7'b1011111: Q_4d <= -63*D;
7'b1100000: Q_4d <= -65*D;
7'b1100001: Q_4d <= -67*D;
7'b1100010: Q_4d <= -69*D;
7'b1100011: Q_4d <= -71*D;
7'b1100100: Q_4d <= -73*D;
7'b1100101: Q_4d <= -75*D;
7'b1100110: Q_4d <= -77*D;
7'b1100111: Q_4d <= -79*D;
7'b1101000: Q_4d <= -81*D;
7'b1101001: Q_4d <= -83*D;
7'b1101010: Q_4d <= -85*D;
7'b1101011: Q_4d <= -87*D;
7'b1101100: Q_4d <= -89*D;
7'b1101101: Q_4d <= -91*D;
7'b1101110: Q_4d <= -93*D;
7'b1101111: Q_4d <= -95*D;
7'b1110000: Q_4d <= -97*D;
7'b1110001: Q_4d <= -99*D;
7'b1110010: Q_4d <= -101*D;
7'b1110011: Q_4d <= -103*D;
7'b1110100: Q_4d <= -105*D;
7'b1110101: Q_4d <= -107*D;
7'b1110110: Q_4d <= -109*D;
7'b1110111: Q_4d <= -111*D;
7'b1111000: Q_4d <= -113*D;
7'b1111001: Q_4d <= -115*D;
7'b1111010: Q_4d <= -117*D;
7'b1111011: Q_4d <= -119*D;
7'b1111100: Q_4d <= -121*D;
7'b1111101: Q_4d <= -123*D;
7'b1111110: Q_4d <= -125*D;
7'b1111111: Q_4d <= -127*D;
endcase
3.测试结果
FPGA仿真结果
matlab显示星座图
16384-QAM作为一种超高阶调制技术,能够在有限的频谱资源内传输更多的信息比特,从而提高数据传输速率。然而,高阶调制技术也面临着接收端解调复杂度增加、误码率升高等挑战。
4.完整程序下载
完整可运行代码,博主已上传至CSDN,使用版本为matlab2022a: