低密度校验码(LDPC)
2.5 LDPC 在 5G-NR 中的标准进展
2.5.3 基本图
在设计的过程中,5G LDPC 码基本图矩阵遵循了以下基本原则:
① Kernel 矩阵的行重接近于系统列数目,如 BG1 的前 4 行的行重都等于 kb−3,BG2 的前 4 行的行重都等于 kb−2;
② Kernel 矩阵的校验部分类似于 IEEE 802.16 和 IEEE 802.11 协议中矩阵的校验部分;
③ 前两列的列重明显大于其他列的列重;
④ 从总体上看,随着行索引的增加,矩阵行重逐步增加,并且,随着列索 引的增加,矩阵列重逐步增加;
⑤ 从 Kb+5 列到最后一列,矩阵的列重都是 1。
文献 [41-43] 给出具有上述特征的 LDPC 的设计,具有这些特征的矩阵就 是Raptor-like矩阵结构的雏形。BG矩阵的设计可以采用比特填充法[41]。另外,可以用性能估计工具或者参数来选择填充位置。性能估计工具可以是概率密度演进 算法和 EXIT 图分析工具 [44];性能参数可以是最小的汉明距离。另外,BG 矩阵的 设计还可以考虑规避短圈和减少陷阱集合。
LDPC 基础矩阵的设计需要考虑性能和吞吐量。较小的基础矩阵可以支持 更大的译码并行度,从而提高链路的吞吐量,达到峰值速率的要求。但是,较小矩阵中的元素数目有限,设计的自由度受到一定的限制,在性能方面的提高 和优化难度较大。相反地,较大的基础矩阵有更多的元素,设计上的自由度更大,性能优化的潜力较大。但是,其译码并行度降低。在硬件复杂度一定的条件下,吞吐量不如较小的基础矩阵,达到峰值速率要求的挑战性较大。
基础矩阵设计的第二个考量因素是矩阵的数目。较多的矩阵对性能的优化 有好处,但使得硬件成本增高,标准协议的复杂度提高;较少的矩阵可以降低 硬件成本、简化标准协议,但性能上的优化难度较大。
第 3 个设计因素是,对于较长的码块,不需要过低的母码码率。首先,在系统对资源进行调度时,较长码块所对应的用户的信道条件较好,适合高的速率传输,此时的码率也较高;其次,较长码块如果采用很低的母码码率,其所需的硬件存储量很大,译码实现的难度较大;最后,过低码率的设计会使得基础矩阵较大和译码算法的复杂度增加。
在综合考虑以上的各个因素之后,3GPP 达成如下的共识 [32]。基础矩阵 以紧凑型基本图为设计基础,支持两个基本图矩阵。第一个基本图(BG1)矩阵较大,系统列数目 Kb 最大为 22,最低母码码率为 1/3, 核矩阵的码率在 22/24 左右,支持的最大码块长度为 8448 bit;第二个基本图(BG2)矩阵稍小, 系统列数目 Kb 最大为 10,最低母码码率为 1/5,核矩阵的码率为 5/6,支持的最大码块长度为 3840 bit。尽管基本图矩阵 1 的 Kb 值明显大于基本图矩阵 2 的 Kb 值,但由于基本图矩阵 1 支持的最低母码码率明显高于基本图矩阵 2 的,因此两个矩阵总的大小差别不大,相比许多其他候选基本图矩阵,矩阵 1 和矩 阵 2 的紧凑特性还是十分明显的。基本图矩阵 1 和基本图矩阵 2 的适用范围如 图2-42所示。其中,采用BG2进行LDPC编码需要至少满足以下3个条件之一:
① 传输块不大于 292 bit;
② 传输块的大小在 292 bit 到 3824 bit 之间,且首次传输的码率不高于 2/3;
③ 传输块首次传输的码率不大于 1/4。
其他情况下都采用 BG1 编码。
1. BG1
图 2-43 表示了 BG1 的基本结构,一共有 46 行 68 列。顶部的 4 行 22 列 被称为核心矩阵(Kernel Matrix),具有较高的行重(非 0 元素较多),对高 码率时的性能影响较大。中间的 16 行为准正交的设计,即行与行之间存在一定的正交关系,但不很严格。下面的 26 行遵守严格的行正交设计。 这种设计综合了性能和复杂度的双重考虑:核心矩阵采用较高的行重,可 以保证高码率时的性能。虽然 Kernel 矩阵中非零元素的密度较高,但由于 Kernel 矩阵的行数和列数都较少,其中,非零元素的数量也不多,所以整体的译码时延并不高。同时,因为 LDPC 矩阵的低码率的扩展性,任何码率的 LDPC 矩阵都会包含 Kernel 矩阵,因此 Kernel 矩阵对低码率的性能影响也较大。
准正交的设计是指除了矩阵的最前面两列的元素之外,其他元素都是分组 行正交的。所谓分组行正交是指矩阵中一部分的行是互相正交的。例如,BG1 的第 5 行至第 8 行为一组,该组内的三行是准正交,即该组内的三行除了前两列的元素不正交外,各行的其他元素都是行正交的。再比如,BG1 的第 9 行至 第 11 行也是准正交的,但是任意两组之间并不是准正交的。
准正交是一种兼顾了性能和吞吐量的设计。一个分组内的各行,只有前两列因为不正交的缘故, CNU 从存储中读写数据时会发生地址冲突,因而不能并行译码,需要增加额外 的等待时间。各行的其他元素都不存在地址冲突的问题,可以并行译码。这样可以大大地提高译码的速度,增大译码器的吞吐量。同时由于前两列的非正交性,在矩阵设计上提供了一定的自由度,可以获得相比于正交设计更好的性能。因此,准正交设计适用于 LDPC 中等码率的矩阵。
正交设计是指矩阵的行是分组正交的。例如,从BG1 的第 21 行至最后一行,任意相 邻的两行之间都是行正交的。行正交可以提升 译码的速度,因为正交的两行可以使得各自的 CNU 在读写存储器分片的数据时都不会产生 地址冲突,不管采用行并行(Row Parallel) 或是块并行(Block Parallel)的译码器结构, 都可以提高并行度。基本矩阵的低码率部分采 用行正交的设计可以提高低码率时的吞吐量。
行正交的意义是,降低行并行译码的复杂度,增加数据吞吐量。当然,行正交的特性也增加了基础矩阵的设计限制,例如非零元素的数目、分布等。
基于图 2-43 中的结构,经过大量的仿真和搜索,以及对各个码长和码率 进行性能优化,3GPP 最终确定 BG1 的非零元素的具体位置(如图 2-44 所示)。 其中的非零元素一共有 316 个,相对于整个矩阵(46×68 = 3128),BG 本身 就具有稀疏特性。
BG只给出了基础矩阵中非“-1”元素的位置,但并没有给出具体的数值, 每一个具体的数值代表了用于对单位矩阵进行循环移位的提升值(LiftingSize) , 具有这样具体数字的矩阵被称为基础矩阵或基础校验矩阵。BG不能直接用于LDPC编译码, 而需要用基础矩阵进行编译码。基础矩阵设计可以通过计算机搜索产生, 也可以从计算机随机产生的大量矩阵中筛选出短圈(ShortGirth) 数量较少和诱捕集(Trapping Set) 数量较少的矩阵, 并进行进一步的仿真验证, 从仿真结果中尽量选择差错平层(Error Floor) 较低以及码长和码率的一致性较好的矩阵作为确定的基础矩阵。参与3GPP5G-NR标准制定的各家公司,经过激烈的商讨,最终确定了BG1和BG2分别对应的8个不同的基础矩阵。表2-7给出了BG1及其对应的8个基础校验矩阵。
2.BG 2
图2-45表示了BG2的基本结构,一共有42行52列。顶部的4行10列被称为核心矩阵(Kernel Matrix) , 具有较高的行重(非0元素较多),对高码率时的性能影响较大。最下面的22行是正交设计。与BG1不同的是,BG2的中间16行没有采用类似BG1的准正交设计,即BG2的中间16行除了最前面两列的元素外,剩余的部分也不是分组行正交的。这样的设计能够使得中、低码率的矩阵具有更好的性能。这对于扩展BG2的应用场景有较大的好处,比如未来可能将BG2应用于某些对可靠性要求较高的场景。
基于BG2的基本结构,经过大量的仿真和搜索,对各个码长和码率进行性能优化,最终确定BG2非零元素的具体位置,如图2-46所示。
表 2-8 给出了 BG2 及其对应的 8 个基础校验矩阵。