调制与解调
对于5G NR,256QAM是为了提高系统容量,π/2-BPSK是为了提高小区边缘的覆盖,仅在transforming precoding 启用时采用。
π/2-BPSK
![](https://img.haomeiwen.com/i18652739/c934effae04b9a65.png)
BPSK
![](https://img.haomeiwen.com/i18652739/476e727cfb07c777.png)
QPSK
![](https://img.haomeiwen.com/i18652739/03ec124d1e02adcf.png)
16QAM
![](https://img.haomeiwen.com/i18652739/a3ef271c287ecce4.png)
64QAM
![](https://img.haomeiwen.com/i18652739/c6dcbfb643df8ef7.png)
256QAM
![](https://img.haomeiwen.com/i18652739/0adcd7981ce2106e.png)
Matlab代码
clear
clc
%pi/2 BPSK
index = [1:100];
b = randi([0,1],[1,100]);
% d(1) = (exp(j*(pi/2)*mod(1,2))/sqrt(2))*((1-2*b(1)) + j*(1-2*b(1)));
% d(2) = (exp(j*(pi/2)*mod(2,2))/sqrt(2))*((1-2*b(2)) + j*(1-2*b(2)));
d = (exp(j*(pi/2)*mod(index,2)))/sqrt(2).*((1-2*b) + j*(1-2*b));
scatterplot(d)
grid on
%BPSK
b = randi([0,1],[1,100]);
d = (1/sqrt(2))*((1-2*b) + j*(1-2*b));
scatterplot(d)
grid on
%QPSK
b1 = randi([0,1],[1,100]);
b2 = randi([0,1],[1,100]);
d = (1/sqrt(2))*((1-2*b1) + j*(1-2*b2));
scatterplot(d)
grid on
%16QAM
b1 = randi([0,1],[1,100]);
b2 = randi([0,1],[1,100]);
b3 = randi([0,1],[1,100]);
b4 = randi([0,1],[1,100]);
d = (1/sqrt(10))*((1-2*b1).*(2-(1-2*b3)) + j*((1-2*b2).*(2-(1-2*b4))));
scatterplot(d)
grid on
%64QAM
b1 = randi([0,1],[1,1000]);
b2 = randi([0,1],[1,1000]);
b3 = randi([0,1],[1,1000]);
b4 = randi([0,1],[1,1000]);
b5 = randi([0,1],[1,1000]);
b6 = randi([0,1],[1,1000]);
d = (1/sqrt(42))*((1-2*b1).*(4-(1-2*b3).*(2-(1-2*b5))) + j*((1-2*b2).*(4-(1-2*b4).*(2-(1-2*b6)))));
scatterplot(d)
grid on
%256QAM
b1 = randi([0,1],[1,1000]);
b2 = randi([0,1],[1,1000]);
b3 = randi([0,1],[1,1000]);
b4 = randi([0,1],[1,1000]);
b5 = randi([0,1],[1,1000]);
b6 = randi([0,1],[1,1000]);
b7 = randi([0,1],[1,1000]);
b8 = randi([0,1],[1,1000]);
d = (1/sqrt(170))*((1-2*b1).*(8-(1-2*b3).*(4-(1-2*b5).*(2-(1-2*b7)))) + j*((1-2*b2).*(8-(1-2*b4).*(4-(1-2*b6).*(2-(1-2*b8))))));
scatterplot(d)
grid on
解星座映射
将符号根据星座图映射规则转换成比特信息LLR。
本模块是以子载波为单位进行的,每个子载波上的符号处理都相同,所以本节后续的描述会略去UE,符号,子载波索引,简化为估计得到的符号为r,相对应发送信号x的幅值增益因子为beta,求解当前符号对应的LLR。
为了方便后续说明,令
![](https://img.haomeiwen.com/i18652739/dfbde75e1276e1a6.png)
π/2-BPSK
单个π/2-BPSK符号对应1个LLR。
当比特索引是偶数时,
![](https://img.haomeiwen.com/i18652739/2d4bc311817d17c8.png)
当比特索引是奇数时,
![](https://img.haomeiwen.com/i18652739/77e549819ad02b94.png)
QPSK
单个QPSK符号对应2个LLR,依次为LLR1,LLR2。
![](https://img.haomeiwen.com/i18652739/24a18aba61a3a3bd.png)
16QAM
单个16QAM符号对应4个LLR,依次为LLR1,LLR2,LLR3,LLR4。
![](https://img.haomeiwen.com/i18652739/5a1f6378d151b1cd.png)
则16QAM的LLR计算公式如下:
![](https://img.haomeiwen.com/i18652739/54e462cce107b180.png)
![](https://img.haomeiwen.com/i18652739/1219f1ee7636ca50.png)
64QAM
单个64QAM符号对应6个LLR,依次为LLR1,LLR2,...,LLR5,LLR6。
![](https://img.haomeiwen.com/i18652739/731f5b38d35b8b60.png)
则64QAM的LLR计算公式如下:
![](https://img.haomeiwen.com/i18652739/d13ae87dc8a06791.png)
![](https://img.haomeiwen.com/i18652739/70178caf226b0c0c.png)
LLR2,LLR4,LLR6的计算公式分别与LLR1,LLR3,LLR5类似,只需要将公式中的real(r)替换成imag(r)即可。
256QAM
单个64QAM符号对应8个LLR,依次为LLR1,LLR2,...,LLR7,LLR8。
![](https://img.haomeiwen.com/i18652739/9b96145f164e88a6.png)
![](https://img.haomeiwen.com/i18652739/6cceeac48616d013.png)
![](https://img.haomeiwen.com/i18652739/18868a2a16f8a923.png)
LLR2,LLR4,LLR6,LLR8的计算公式分别与LLR1,LLR3,LLR5,LLR7类似,只需要将公式中的real(r)替换成imag(r)即可。