5G NR LDPC码(2)—— 5G NR中的LDPC码标准化内容

LDPC码由于可以达到更高的译码吞吐量和更低的译码时延,可以更好适应高数据速率业务的传输,从而替代LTE的Turbo码,被采纳为5G NR数据的编码方案。

1. 基图 (BG, Base Graph)

  • 5G NR采用QC-LDPC码,BG是整个LDPC码设计的核心。BG是LDPC码**PCM(Parity-Check Matrix, 校验矩阵)**设计的前提,也决定了LDPC码的宏观特性和整体性能。在5G NR中,为适应不同通信场景的需求,LDPC码必须能够灵活地支持不同的码长和码率。同时,为提高通信可靠度,IR-HARQ 也是LDPC码必须支持的一项特性。

  • 在采纳LDPC码作为数据编码方案的同时,3GPP 会议也同期确定通过对一个高码率PCM进行下行角的码字扩展,以支持IR-HARQ和速率匹配。后续会议上,各公司同意把5G NR LDPC码PCM做如图的划分。
    5G NR LDPC码(2)—— 5G NR中的LDPC码标准化内容

    [A B]对应RL-LDPC码中的Hcore,是高码率部分;[D E]对应Hext,是扩展部分。Hcore的维度较低,可以通过密度演进和计算机辅助的方法设计比较好的稀疏矩阵。基于Hcore,扩展生成Hext。Hext每增加一行,H就会多一列。

  • 子矩阵A对应系统比特;子矩阵C为全零矩阵;子矩阵E是单位矩阵;子矩阵B是方阵,对应校验比特。B中有一列列重为3,有一列列重可能为1。如果有列重为1的列,该列中元素“1”出现在最后一行,其余的列中首列列重为3.其后的列具有双对角结构。如果没有列重为1的列,则首列列重为3,其后的列具有双对角结构。双对角这种类似RA ( Repeat and Accumulate)码的结构,可以有效降低错误平层,同时保持较低的编译码复杂度。

  • 考虑到SGNR场景的多样性,各厂商建议设计多个BG,以覆盖不同的码长和码率。在评估这些方案过程中,BLER是评判矩阵好坏的主要标准。但是考虑引入过多BG带来的复杂度和译码延迟,最终确定的BG数量为2

    BG1 的大小是46x68,Hcore的大小为4x26,Hext的大小为42x26。支持的最低码率为1/3。主要用于对吞吐要求较高、码车较高、码长较长的场景。

    BG2 的大小为42x52,Hcore的大小为4x14, Hext的大小为38x14。主要用于对吞吐量要求不高,码率较低,码长较短的场景。

    • 通过进一步对比各个厂商所提矩阵的BLER,最终决定采用2个独立的BG。标准确定的BG2稍显特殊,可以通过删除Hcore中的部分列,实现BG大小随着信息块大小的变化而变化。具体来说,当信息块小于等于192时,Hore 的列数为10;当信息块大于192且小于560时, Hcore的列数为12;当信息块大于 560小于等于640 时,Hcore 的列数为13;当信息块大于640时,Hcore 的列数为14。

    • 5G NR LDPC码BG中前两列属于大列重,所谓大列重就是指这两列中1的数量明显大于其他列。这样做的好处是在译码过程中加强消息流动,增加校验方程之间的消息传递效率。右下角是对角阵,支持IR-HARQ,每次重传只需要发送更多的校验比特即可。

2. PCM

  • 一个QC-LDPC 码由BG相应的移位因子Z构成,即PCM定义:BG中的1替换为大小为ZxZ的循环移位矩阵,BG中的0被替换为ZxZ的全零矩阵。

    循环移位矩阵的移位值Pij,表示BG中第(i,j )个非0元素对应的移位矩阵为ZxZ往右移位Pij次,它由Pij=mod(Vij, Z)计算得到,其中Vij是BG中第 (i, j)个非“0”元素位置对应的整数,mod(x,y)表示x对y取余。

  • 为了支持不同的信息块长度,同时考虑描述复杂度和性能的折中,5G NR定义了8组扩展因子Z,即Z=ax2^j,其中a∈{2,3,5,7,9,11,13,15},j=0, 1…5。Z的取值是2≤Z≤384内的正整数。这些值分为8个集合,每个集合对应一个a。对于每个a,5G NR基于每个BG定义了一个PCM,对应这个集合中最大的Z。BG1和BG2分别对应8套PCM。

3. TBS

  • 数据信道的资源调度非常灵活,信道编码模块需要根据待编码的信息块长度和编码长度(或码率),构造编码参数。待编码长度即传输块大小(TBS,Transmission Block Size)。若存在分段,则分段后的每段长度为码块大小(CBS,Code Block Size),而编码长度则根据基站调度的可用资源(排除预留给参考信号、控制信息等的资源)进行计算。收发两端得到的TBS和编码码长需要一致,否则接收端的解码很可能失败

  • 基站通过信令告知终端TBS是最直接的一种实现方式, 然面由于TBS的可能取值较多,会导致大量的信令开销。另一种方式为,收发两端根据调度信息,采用相同的步骤计算TBS,这种方式以少量的运算代价,节省不必要的信令开销。

  • 与LTE采用查表的方式不同,5G NR中采用查表和公式两种方式计算TBS。5G NR中TBS的设计有以下考虑。

    ① 与TBS对应的实际码率不能严重偏离名义码率(MCS中预定义的码率)。

    ② 实现每个TBS的**调制编码方案(MCS, Modultion Coding Scheme)**尽可能多,以支持更灵活的调度。

    非均匀的TBS颗粒度(对较小的TBS,颗粒度较细;对较大的TBS,颗粒度较粗)。

    ④ 考虑两个BG的切换条件和两个BG的不同分段条件

    ⑤ 支持等长分段(TBS为分段数的倍数)。

    ⑥ CBS按字节对齐(CBS为8的倍数)。

    ⑦ 较低的描述复杂度。

    TBS的设计思路是将上述需求解耦,并将计算过程分为多个步骤,每个步骤满足对应的需求。例如:

    通过引入临时信息比特数Ninto的计算来满足需求(1);

    对临时信息比特数进行量化,使多种调度配置和MCS组合映射为同一个TBS,满足需求(2);

    通过对临时信息比特数进行数值大小相关的量化,满足需求(3) ;

    对较小的数值采用查表的方式进行精细的量化,而对较大的数值采用公式上的量化,满足需求(7);

    对量化后的结果分情况进行取整处理,满足需求(4)一(6) 。

  • 5G NR规定TBS计算的主要过程如下:

    根据分配的资源数(包括时频资源PRB和数据流数)、MCS确定的调制阶数码率计算一个临时的信息比特数Ninfo,并据此判断是基于查表还是公式计算TBS。

    具体来说, 当 Ninfo ≤ 3824 时,先对Ninfo进行量化得到Ninfo‘,然后查表找出最接近且不大于Ninfo’的值作为TBS。 当Ninfo ≤ 3824时,先对Ninfo进行量化得到Ninfo‘,再采用公式计算TBS。

4. HARQ和速率匹配

  • HARQ是提升系统吞吐量的一项关键技术,而5G NR系统中LDPC码的RL结构,可以增量生成校验比特,很好地支持IR-HARQ和不同的传输码率。另一方面,QC-LDPC码离散的移位因子大小等也对信息块大小和码长的支持提出一些限制, 需要通过额外的填充和打孔等实现速率匹配。

  • 对速率匹配得到的编码比特进行交织后再调制,即比特交织编码调制是保证LDPC 码在高阶调制和衰落信道下性能稳定的另一个基本保障。

  • 与LTE Turbo码类似,5GNR通过循环缓存实现HARQ和速率匹配:将编码比特存储在循环缓存中,每次传输时根据冗余版本从循环缓存中顺序读取,实现速率匹配。

    另外,LDPC码支持有限缓存速率匹配(LBRM,Limited Buffer Rate Matching)。对于初传需要打掉的大列重对应的2Z个系统比特,标准规定不进入循环缓存,即永远不会传输。对于每次传输,速率匹配的读取位置由冗余版本rv决定,且是移位因子Z的整数倍。
    5G NR LDPC码(2)—— 5G NR中的LDPC码标准化内容
    由图可知,各个冗余版本并不是均匀分布的,标准中把rv=3进行了一定的移动使其更加靠近循环缓存的末尾,以使得rv0和rv3都可以独立译码。速率匹配后的编码比特经过交织后进入调制模块,标准规定的交织方式实现了rv0系统比特优先的排序。