5G/NR,MCS与TBS的计算

NR,MCS与TBS的计算

MCS\TBS的基本概念

MCS(Modulation and scheme,调制编码策略):代表了调制方式与编码效率的等级。在3GPP标准的38214中会有MCS等级的表格。常见的256QAM的调制方式会使用5.1.3.1-2:MCS index table 2 for PDSCH。
5G/NR,MCS与TBS的计算_第1张图片
TBS:是MAC层传给PL层的数据块的大小,它还有一个常见的称呼叫MAC PDU。MAC PDU除以传输时间就是MAC层速率。
信道编码之CRC:CRC(循环冗余校验)是数据通信中最常用的校验码,需要记住TBS不包含CRC,TBS在传给PL层时,需要加上不同bit位数的CRC。比特位的大小跟TBS的长度有关。38.321记载TBS大于3824时,CRC为24位,TBS小于3824时,CRC是16位。
信道编码:5G中业务信道使用LDPC编码,控制信道使用Polar编码。信道编码是为了通过增加冗余,提高系统的纠错能力、发现错误的能力。LDPC编码可以理解为:
有效信息比特和校验矩阵运算后,得到的编码后矩阵,其中有效信息bit为MAC层TBS经过添加CRC后和码块分隔等处理后的信息bit。检验矩阵则是根据信息bit的长度、码率,BG(Base Graph)等,按照一定规则产生的。
LDCP BG1支持的最大码块长度是8448,LDCP BG2支持的最大码块长度是3840。

PDSCH TBS的计算过程–公式解读

1、UE首先计算时隙内分配给PDSCH的RE个数,
N R E ′ N'_{RE} NRE= N S C R B N^{RB}_{SC} NSCRB N s y m b s h N^{sh}_{symb} Nsymbsh- N D M R S P R B N^{PRB}_{DMRS} NDMRSPRB- N o h P R B N^{PRB}_{oh} NohPRB
其中:
N S C R B N^{RB}_{SC} NSCRB:为一个RB中的子载波个数;
N s y m b s h N^{sh}_{symb} Nsymbsh:为一个时隙中的分配个PDSCH的符号数;
N D M R S P R B N^{PRB}_{DMRS} NDMRSPRB:为一个时隙中DMRS占用的子载波,主意DMRS type1与DMRS type2不一致;
N o h P R B N^{PRB}_{oh} NohPRB:为;时隙中由高层参数决定的。
2、计算在一个时隙内,PDSCH所占用的BWP中,所有的分配给PDSCH的RE个数 N R E N_{RE} NRE
N R E N_{RE} NRE=min(156, N R E ′ N'_{RE} NRE)
n P R B n_{PRB} nPRB
注意:156=1213,是指一般情况下一个时隙的所有符号不可能都用来发射PDSCH,一般每个时隙的首符号是用来发PDCCH的。
3、计算信息bit数 N i n f o N_{info} Ninfo
N i n f o N_{info} Ninfo= N R E N_{RE} NRE
R ∗ R* R Q m Q_m Qm* v v v
Q m Q_{m} Qm:是指调制的阶数
R R R:是MCS等级确定的目标码率,注意是目标码率,不一定是真实码率,从公式中也可以看出码率的计算公式,即 N i n f o N_{info} Ninfo与PDSCH信道上传输的比特个数的比值。
v v v:是指下行的层数,是一种空域的特性的表达
个人思考: N i n f o N_{info} Ninfo是TBS的本质,它是MAC层真正想要传给PL的信息比特,但因为要经过信道编码,并不是所有bit个数的信息都可以传送给物理层,比特的个数必须要满足信道编码的特定要求,这些要求构成了TBS的大小限制:

  • TBS必须可以字节对齐,因此TBS必须是8的倍数
  • TBS必须是被码块个数C整除,因此TBS是C的倍数
  • TBS分隔的每个码块必须是字节对齐,因为TBS分隔成码块时,需要 先增加CRC,因此“TBS+CRC”必须是8C的倍数。这一点由后面TBS的计算公式可以看出。
    4、当 N i n f o N_{info} Ninfo<=3824时:
    注意:3824是大小的分界线,是因为小码块LDCP BG2支持的最大码块长度是3840,3824加上16比特的CRC,正好是3840,即一个码块。
    N i n f o N_{info} Ninfo做一个量化处理,得到 N i n f o ′ N'_{info} Ninfo,量化处理从原因是TBS的大小有限制。
    $$

在这里插入图片描述
通过计算得出 N i n f o ′ N'_{info} Ninfo,然后通过查表5.1.3.2-1,来找到最接近并且不小于 N i n f o ′ N'_{info} Ninfo的TBS。如下表所示:
5G/NR,MCS与TBS的计算_第2张图片
注意:采用3824作为大小码块的分隔点,是因为LDCP BG2支持的最大码块长度是3840。而3824+16(CRC的比特长度)可以构成一个最小的码块。

5、当 N i n f o N_{info} Ninfo>=3824时:
需要采用如下公式进行量化,
在这里插入图片描述
在这里插入图片描述
5G/NR,MCS与TBS的计算_第3张图片
当目标码率R较低时,利用LDCP BG2进行编码。其中C是所需的码块个数,此时TBS需要分割成多个码块才能传播。可以观察到每个TBS的最终计算结果是需要减去24的,因为当TBS大于3824时,CRC的长度是24bit,而码块分隔前是需要先增加CRC的。必须保证增加CRC后,TBS是8C的倍数。
5G/NR,MCS与TBS的计算_第4张图片

当TBS进一步变大,超过了LDCP BG1支持的最大码块长度是8448,此时应该使用BG1进行编码。8424+24=8448。
TBS的计算中减去24可以保证增加CRC后是8的倍数,那请问每一个分隔后的码块向PL传播时,还需要加CRC吗?应该是需要的。
上面是BG1 ,多码块传播。
N i n f o N_{info} Ninfo<8424时:
可以利用LDCP BG1单码块传输即可,计算公式如下。

5G/NR,MCS与TBS的计算_第5张图片
总结:小TBS可以查表,大TBS是计算,并且需要考虑到分隔成多个码块传播。
写的过程中参考的3GPP协议,以及前面一些博主的文章。也有自己的思考,希望可以记录一下自己的学习过程,也能帮助到大家。

你可能感兴趣的:(通信)