低密度校验码(LDPC)
2.2.4 实用的解码方法
| 2.3 准循环 LDPC 码(QC-LDPC)|
LDPC 码的构造方法大体有两大类:随机生成和结构化生成。随机产生的 矩阵没有明显的结构。相对规则 LDPC 码,T. Richardson 提出的非规则码 [21] 能明显提升性能。这类构造方法比较适合较长的码块。如上节分析,当码长在百万级别,采用非规则 LDPC 码,这种设计可以很好地逼近香农容量。但是随机生成的矩阵由于没有特别的结构特征,译码实现没有简便算法。这使得其在实际系统中的算法复杂度高、吞吐量低,难以推广。
结构化的体现可以是多种的。当今最为广泛应用的是准循环结构。该种结 构最初在规则 LDPC 码中使用。它形成十分规则的形态,可以从理论上分析其 性能。之后,该思想被推广到非规则 LDPC 码,其设计的自由度更大,性能优 化的空间也有所提高。虽然结构性设计对性能有一定的影响,不一定能十分逼近香农容量,但译码算法得到大量的简化,复杂度降低。另外,准循环结构可以降低译码时延以增加数据吞吐量,所以,它在实际系统中获得广泛应用。
结构化 LDPC 码也被称为准循环(Quasi-Cyclic)LDPC 码。QC-LDPC 码已经广泛应用 IEEE 802.11、IEEE 802.16、DVB-S2 等系列标准,上述标 准都采用不同码率的 LDPC 校验矩阵,以保证 LDPC 码具有低复杂度、优异性能和较高吞吐量。例如,在 IEEE 802.11n/ac 中,采用了 12 种校验矩阵,提 供 4 种码率、3 种码长的编码方案。在 IEEE 802.11ad 中,采用了 4 种校验矩 阵,提供 4 种固定码长但不同码率的编码方案。在 IEEE 802.16e 中,采用了 6 种校验矩阵,硬件上提供 4 种码率、19 种码长的编码方案。
QC-LDPC 码的技术优势在于:
- QC-LDPC 码具有接近香农限的性能;
- QC-LDPC 码的低差错平层(Error Floor)的性能。从而使得它适用于高 可靠系统;
- QC-LDPC 码的并行译码特性,使得它适合于高并行度和灵活并行度的系统;
- QC-LDPC 译码速度快,适用于高吞吐量和低时延的系统;
- 固定码长和有限多个码率条件下,QC-LDPC码译码硬件可以统一,并且简单有效;
- QC-LDPC 码具有码率越高、复杂度越低的特性,有利于提升峰值速率。
2.3.1 扩展矩阵
基于准循环矩阵扩展的思想萌芽始于 LDPC 发明者的论文 [1-2],但论文中只是讲排列(Permutation),如下所示的矩阵,为一个 20 列 15 行的规则校验矩 阵,行重为 4,列重为 3。
这个矩阵并没有限定是循环重排(Circulant Permutation)。将矩阵划分 成 3 行 4 列的 12 块子矩阵,可以注意到,下面两行重的子块矩阵是 5×5 单位 矩阵的移位,移位的方式相对比较任意,只要满足列重和行重的要求即可。
如果奇偶校验矩阵是通过一个基础矩阵(Proto Matrix)进行扩展得到, 那么无论码长是多少,描述都很简洁,符合模块化设计的思想。基础矩阵介绍 如下。其中,H 为一个扩展矩阵。
在这里用脚标i和j分别代表分块矩阵的行和列的索引。如果h,=-1,则定义p峰=0,即该分块矩阵为全0方阵;如果h,为非负整数,则定义p鸣=(P)。其中, P是一个zxz的标准置换矩阵, 也是一个经过循环移位的单位矩阵(非负的幂次代表移位的位数),如P所示(幂次为1)。
这里的连线代表基础矩阵中非负的元素,其中,对与校验节点 1 连接的三 条线进行了加黑,分别用实线、破折虚线和点虚线圈出。当 z = 3,则扩展矩阵 如下:
其扩展矩阵的Tanner图如图2-8所示:
可以看出这个扩展矩阵相当于把基础矩阵中的节点(变量节点和校验节点) 拷贝 3 份(包括连线)。当基础矩阵中的元素为 0,循环移位阵是一个单位阵。 连线关系保持不变,如实线圈中的部分,以及点虚线中的部分。当基础矩阵中 的元素是自然数时,循环移位矩阵中的元素进行相应的移位循环,使得连线循环重排,如破折虚线中的部分。
众所周知,循环移位在硬件中十分容易实现。而基础矩阵扩展的构造方法 是,将一个适合多个码长的校验矩阵分解成一个固定的部分(基础矩阵)和一个可变的部分(循环移位的分块矩阵)。固定部分的基础矩阵可以相对固化在硬 件实现当中,沿用基本的 LDPC 的编码和译码算法,进行软信息的迭代。而相 对可调的循环移位分块矩阵只是拷贝这些软信息,再在分块矩阵内做循环重排, 即调整软信息的流入 / 流出节点。至少对于每一次迭代,这个处理过程可以分 别在各个分块矩阵内进行。如果硬件处理单元足够,可以做到充分的并行处理。 根据以上分析可以知道准循环 LDPC 码可以由基础矩阵、提升值和标准置换矩阵等参数唯一定义。
对于准循环 LDPC 码,扩展矩阵可以由一个循环移位分块矩阵来进行扩展 而得到,如上面过程所述。如果所述用于扩展的分块矩阵都是一个单位矩阵的 循环移位矩阵,则每个分块矩阵的行重量和列重量都等于 1,我们称这种为单 “边”矩阵(Single Edge),但如果某些分块矩阵的行重量或者列重量不等于 1, 则被称为多边(Multi-Edge)矩阵。所述的多边矩阵可以看成是由多个不同的 分块矩阵叠加而成,每个分块矩阵都是单位矩阵的循环移位矩阵,只不过该多 个分块矩阵的循环移位值不同。多边基础矩阵如图 2-9 和图 2-10[22] 所示。特 别是图 2-10 中,在某些地方出现了两个不同的移位值。
多边构造法的优势在于给准循环 LDPC 码的设计带来更大的灵活度。例 如,当码率比较高的时候,基础矩阵的行数和列数都比较小。通过多边构造的 方法,可以对基础矩阵中的个别列(移位值)增加列重量,从而可以提高性能。 从图 2-11 中 [23] 可以看出,在 BLER = 1% 时,多边 LDPC 码比单边 LDPC 码约好 0.15 dB。
多边结构虽然可以优化 LDPC 码的性能,但是也会带来译码器实现上的问 题。从存储中读写数据的时候,因为地址冲突,多边矩阵不能一次将数据读出 或写入存储器,必须增加额外的控制逻辑,这会增加译码器的复杂度和时延。 也是基于这种考虑,5G-NR eMBB 的 LDPC 最终没有采用多边结构。
2.3.2 基础矩阵的基本结构
5G-NReM BB的LDPC采用了所谓的“Raptor-like”的结构, 其奇偶校验矩阵可以通过一个高码率的核心矩阵(Kernel Matrix) 逐步扩展到低码率。这样可以灵活地支持各种码率的编码。其奇偶校验矩阵具有如图2-12所示的结构:
其中,A和B共同组成了高码率的核心矩阵,A对应于待编码的信息比特,B是一个方阵,并且B矩阵具有双对角结构,对应于高码率的校验比特。C是一个全零 矩阵。E是一个单位阵,对应于低扩展码率的校验比特。D和E共同构成了单奇偶校验关系。截至目前, 3GPPRAN 1规定了在eM BB场景下采用长x宽分别为46×68和42x52的两种基础矩阵分别支持大码长高码率和中低码长低码率的编码。在5G-NReM BB数据信道中使用的基础矩阵的一部分如图2-13所示。k imax是最大系统位列数, mi是校验位部分的列数(或者行数) 。n; 是基础矩阵的总列数。其中,图中颜色深的点在系统位部分代表矩阵的非负元素,0元素代表对应的循环移位矩阵为单位矩阵。
图2-13左上角实线围成的部分是基础校验矩阵的核心矩阵(KernelMatrix) , 对应的是最高码率。它的校验位部分(B矩阵) 包含了一种被称为双对角(Dual-diagonal) 的特殊结构, 在双对角结构的前面还有一列的列重为3,这种设计可以降低编码的复杂度,避免在编码的时候用到矩阵求逆等复杂的运算。对于中低码率, 采用的是单奇偶校验(Single Parity Check) 的方式降低码率,即只要是最高码率的码字生成之后,只需要根据简单的奇偶校验关系就能求得低码率部分的校验比特。
可以看出,系统位矩阵的最左边列的列重很大,目的是保证校验节点通过 与前几个变量节点的充分连接,来达到校验节点彼此之间的软信息的顺畅流通。 图 2-14 是对应于图 2-13 中的系统位矩阵的 Tanner 图。可以明显地看出,前 两个变量节点与大多数的校验节点相连。大量分析和仿真证明,如果不传输左 边列重很大的变量节点所对应的系统比特,准循环 LDPC 码的性能可以进一步 提高。注意,这里尽管开头的两个系统比特被打掉,但是它们与校验节点的连 接仍然存在,在译码时,可以利用这两个变量节点来传递软信息。
2.3.3 编码算法
编码的大体过程如下。
(1)利用 Kernel 矩阵(A+B)对信息比特进行编码。由于 B 矩阵具有双 对角结构,因而可以快速编码。
(2)如果目标码率高于 Kernel 矩阵的码率,则对校验比特进行打孔;如果目标码率低于 Kernel 矩阵的码率,则利用 D+E 矩阵的单奇偶校验关系得到低码率的校验比特。
另外,为了保证首次传输的性能,通常A矩阵的最前面 2 列对应的信息比特也被打孔。
1.Kernel矩阵的编码
由于LDPC码是由奇偶校验矩阵定义, 以及LDPC码基本都是系统码, 所以,在LDPC编码的过程中可以不需要获取LDPC码的生成矩阵,而是直接根据奇偶校验矩阵进行编码。而准循环LDPC码是根据基础矩阵、提升值和置换矩阵唯一定义,具有结构化特性,所以在准循环LDPC编码的过程中,可以只根据这3个变量进行编码。准循环LDPC编码的计算原理是基于奇偶校验矩阵与码字C的乘积等于0,即
2. 低码率的编码
由于基础矩阵的扩展码率部分是单奇偶校验结构,所以很容易就可以计算 出低码率的校验比特,见式(2-50)。