5G NR LDPC码(1)—— LDPC码设计原理

5G NR中规定了控制消息和广播信道用Polar码,数据传输用LDPC码的方案。

  1. LDPC属于线性分组码,常用校验矩阵或者Tanner图来描述。
  • 校验矩阵来描述LDPC码,可以清晰的看到信息比特和校验比特之间的约束关系,在编码过程中使用较多。
  • Tanner图把校验节点和变量节点分为两个集合,然后通过校验方程的约束关系连接校验节点和变量节点。如果为1,则有连线。圆圈为变量节点,方框代表校验方程。
  1. LDPC为低密度奇偶校验编码,校验矩阵一般是一个稀疏矩阵,即其中只有一小部分元素是1,其余元素皆为0。对于校验矩阵为H的LDPC码,其码字c满足Hc=0。定义列重为 i 的列所占的比例为vi,行重为 i 的行所占的比例为hi,称为度分布
  2. LDPC码基于消息传递算法进行译码,校验矩阵的稀疏性保证了译码算法复杂度随着码长线性增长。

LDPC码设计原理

​ LDPC码的校验矩阵或Tanner图决定了其性能。消息传递算法可以理解为在Tanner图上传递消息的过程,这些消息代表码字中编码比特值的概率分布。通过跟踪Tanner图上传递的消息,采用密度演进算法可以估计LDPC码的性能。另一方面,在实际应用中,LDPC码必须以低复杂度的描述和编译码来实现,支持灵活的资源调度和重传。随着LDPC码技术的发展,一些重要的技术特性涌现以满足这些需求。比如,RL(Raptor Like)结构的出现使得LDPC码可以很好的支持多码率、多码长以及增量冗余混合自动重传请求(IR-HARQ,Incremental Redundancy Hybrid Automatic Repeat request);准循环(Quasi-Cyclic)结构使LDPC码的低复杂度、高吞吐的编译码器易于实现。针对这些关键技术,本节介绍LDPC码的设计原理。

1. 消息传递算法与密度演进

(1)消息传递算法

  • 将Tanner图加以推广,可以得到更一般的因子图,用来描述多变量函数的结构,校验节点在因子图中称为函数节点,如果变量节点是某个因子函数(检验方程)的自变量,那么在因子图上各变量节点和函数节点之间通过一条边连接。
  • 求解边缘函数时,利用因子图将一个复杂任务分解成多个子任务,每个子任务对应到因子图上的一个函数节点,这使得计算时不需要因子图其他部分的消息,且传送其计算结果仅由这些局部函数的自变量来承担,从而简化计算。计算边缘函数需要计算乘积和求和,所以基于因子图的这种计算边缘函数的算法也叫做和积(SP,Sum-Product)算法
  • 在LDPC码的译码过程中,消息传递算法计算的是每个比特的后验概率(Posterior Probability),输入是来自于解调模块的各比特的先验概率(Prior Probability),传递的是编码比特的概率分布,如LLR。对于无环的因子图,一次消息传递就可以求出所有变量节点的边缘函数。对于有环的因子图,需要通过多次迭代计算,才能逼近变量节点的边缘函数。 LDPC码的校验矩阵中一般都有环存在,所以消息传递算法是一种次优的逼近最大后验概率(MAP,Maximum A Posteriori)的算法。在设计LDPC码校验矩阵的过程中,增大最小环的环围(girth) ,使得消息传递译码过程中传递消息的相关度降低,是提升LDPC码性能的技术之一。

(2)密度演进

  • 密度演进算法通过跟踪消息传递过程,可以评估校验矩阵的性能,以指导LDPC码的设计。在消息传递算法中,变量节点到校验节点之间传递的消息是编码比特为1或者0的LLR,其概率密度函数可以表征LDPC码的性能。

  • 假设所有的消息概率密度分布是相互独立的,即信道是无记忆的。根据变量节点向校验节点的消息传递公式,输出消息的概率密度函数可以通过卷积获得。

  • 由于密度演进算法需要非常复杂的概率密度函数计算,往往假设LLR服从高斯分布。由于高斯分布的卷积仍然是高斯分布,这近似 使得密度演进算法只需要追踪随机变量均值和方差的变化即可。密度演进算法可以计算出服从某种度分布的校验矩阵的译码门限,进而评估这种度分布情况下LDPC码的性能。

2. 速率匹配/HARQ

为了支持灵活调度和提升系统吞吐量,LDPC码需要支持多码率编码和IR-HARQ

  • 一种方案与Turbo码类似,即先编码得到一个低码率(如LTE Turbo码采用1/3) 的母码,然后通过打孔实现高码率。当需要重传时,重传打孔比特以实现IR-HARQ。该方案使LDPC码和打孔方案的设计复杂度都很高。
  • LT码和Raptor 码的出现提供了另一种方案:Raptor-Like 结构的LDPC码(RL-LDPC)。RL-LDPC码先设计一个高码率的校验矩阵,然后通过扩展校验矩阵以增量产生校验比特,实现多码率编码,重传扩展的校验比特即实现了对IR-HARQ的支持。
  • 在LDPC码的设计中,瀑布区(Waterfal Region,此区域内译码错误奉随信噪比增加快速降低)的性能和错误平层是一对矛盾。 往往瀑布区较好的矩阵具有较高的错误平层,具有较低错误平层的矩阵瀑布区性能较差。

3. QC-LDPC码

支持多种信息块大小是LDPC码实用化的另一个设计要求。

  • 如果直接根据信息块大小设计LDPC码的校验矩阵,则需要非常多个校验矩阵以满足5GNR调度的信息块颗粒度的需求,这对于LDPC码的描还和编译码实现都不可行。QC-LDPC 码的提出使这个问题得以解决。

  • QC-LDPC码是一类结构化的 LDPC码,其校验矩阵可以分解为ZxZ的全零矩阵循环移位矩阵。其中循环移位矩阵通过对ZxZ的单位矩阵向右循环移位获得。扩展之前的矩阵称为基矩阵[对应的Tanner图称为基图(BG, Base Graph)],只包含元素“0”和“I”。“0” 的位置替换为ZxZ的全零矩阵,“1” 的位置替换为ZXZ的循环移位矩阵。

  • QC-LDPC码的设计

    首先确定一个mxn的稀疏矩阵作为BG,然后复制这个BG,复制的倍数为Z,即矩阵变为mZxnZ。复制之后,对变量节点和校验节点之间的连线进行交织(这里是循环移位),构成校验矩阵。已经证明, 通过优化设计mxn的BG,可以保证扩展之后的mZxnZ校验矩阵拥有较好的性能。BG的设计过程可以采用常规的LDPC码设计方法,比如通过密度演进算法挑选具有较好译码门限的BG。

  • QC-LDPC码的优点

    第一,通过分析BG就可以对校验矩阵的性能有大致的了解。

    第二,描述复杂度低。对于传统的LDPC码,当其需要支持较长的消息序列时,校验矩阵的规模巨大。然而对于QC-LDPC码,只需要描述BG中非0元素的位置和相应的循环移位大小即可。

    第三,编译码复杂度低。由于其采用ZxzZ的循环移位矩阵,所以编码时可以实现并行度为Z的编码过程,译码时可以实现Z个校验方程相关消息的同时更新和传递,可以大大提升LDPC码译码器的吞吐量。

你可能感兴趣的:(5G书本学习)