调制与解调

对于5G NR,256QAM是为了提高系统容量,π/2-BPSK是为了提高小区边缘的覆盖,仅在transforming precoding 启用时采用。

π/2-BPSK

BPSK

QPSK

16QAM


64QAM


256QAM


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。

为了方便后续说明,令

π/2-BPSK

单个π/2-BPSK符号对应1个LLR。

当比特索引是偶数时,

当比特索引是奇数时,

QPSK

单个QPSK符号对应2个LLR,依次为LLR1LLR2

16QAM

单个16QAM符号对应4个LLR,依次为LLR1LLR2LLR3LLR4

则16QAM的LLR计算公式如下:

64QAM

单个64QAM符号对应6个LLR,依次为LLR1LLR2,...,LLR5LLR6

则64QAM的LLR计算公式如下:


LLR2LLR4LLR6的计算公式分别与LLR1LLR3LLR5类似,只需要将公式中的real(r)替换成imag(r)即可。

256QAM

单个64QAM符号对应8个LLR,依次为LLR1LLR2,...,LLR7LLR8


LLR2LLR4LLR6LLR8的计算公式分别与LLR1LLR3LLR5LLR7类似,只需要将公式中的real(r)替换成imag(r)即可。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 每日检视281/365 起床:7:50 就寝:11:30 天气:晴 心情:平静 纪念日: 叫我起床的不是闹钟是梦想...
    洒脱转身阅读 230评论 0 0
  • -- 有些时候where后面会有多个条件(逻辑关系运算符 and or not)-- and逻辑与 x and...
    coke_dd41阅读 80评论 0 0
  • 1.进程 1 ).什么是进程 比如: 开发写的代码我们称为程序,那么将开发的代码运行起来。我们称为进程。总结一句话...
    康酱呦阅读 258评论 0 0
  • 一步步带你实现web全景看房——three.js canvas画2d相信大家都很熟悉了,但3d世界更加炫酷。我们直...
    Jiao_0805阅读 679评论 0 0
  • About SVM About the first one, it cannot be described in ...
    Sea_Shore阅读 77评论 0 0