背景介绍
1.2 第五代移动通信系统(5G-NR)的系统要求
| 1.3 信道编码的主要方案 |
在信道编码方面,低密度校验码(LDPC)、极化码(Polar Code)、咬尾 卷积码(TBCC)和 Turbo 码各有潜在的应用场景。
1.3.1 低密度校验码(LDPC)
低密度校验码(LDPC)[2] 最早于 1963 年由 Robert Gallager 在其博士论文中提出。LDPC 是基于稀疏二分图(Bipartite Graph)设计的校验码,采用 迭代方式进行解码。由于硬件条件的限制等因素,LDPC 在提出之后经历了 30 多年的沉寂期。20 世纪 90 年代以来,受到 Turbo 码的启发,学术界和工业界 对 LDPC 掀起研究热潮。经典的 LDPC 在长码块时有优异的性能和较低的解码 复杂度,曾多次刷新与香农界的逼近纪录。因此,LDPC 首先在数字电视(2003 年的卫星电视标准 DVB-S2)上得到应用。之后 LDPC 在 WiMAX(基于 IEEE 802.16,2004 年)标准和无线局域网(WLAN)、无线高保真(Wi-Fi 基于 IEEE 802.11,2008 年)中成为可选技术。经过多年的研究和发展,凭借其优 良的性能,LDPC 在 2016 年 10 月最终进入要求严格的 5G-NR 标准中 [7](作 为 eMBB 数据信道的编码方案)。
近些年来,LDPC 在短码设计、支持灵活码长及码率、码率兼容 / 自适应 重传等方面都有许多突破。在工业界,对 LDPC 解码算法的优化一直在进行, 工程实现的成熟度相当高。这些进展都促进了 LDPC 在 5G 移动通信标准中的应用。
1.3.2 极化码(Polar Code)
极化码(Polar Code)[3] 是一种新近提出的线性分组码。它于 2009 年由 Erdal Arikan 教授提出。极化码是针对二元对称信道(BSC,Binary Discrete Symmetric Channel)的严格构造码,可以达到 BSC 的信道容量。极化码的构 造编码原理对信息论有很大的理论意义,为码的设计指出了努力的方向。极化 码的基本思想是利用信道的两极分化现象,把承载较多信息的比特放在“理想 信道”中传输,而把已知比特“冻结比特”放在“非理想信道”中。信道极化 是一种普遍存在的现象,不仅在 BSC 信道,而且在 AWGN 信道也广泛存在。 它随着码长的增长而变得更为明显。
极化码虽然历史不长,但这几年学术界和工业界已经积累了很多在码字设 计和解码算法方面的经验。在码的性能等指标上有较强的竞争力,这使得它在 2016 年 11 月最终进入要求严格的 5G-NR 标准中 [8](作为 eMBB 控制信道的编码方案)。
1.3.3 卷积码(Convolutional Code)
卷积码(Convolutional Code)[9] 历史悠久。20 世纪 50 年代,Peter Elias 发明了卷积码。1967 年 Andrew Viterbi 提出卷积码的最大似然解码算法—Viterbi 算法。Viterbi 算法采用时不变的网格结构(Trellis)来有效地解码。 之后,又出现了其他的基于 Trellis 的解码方法,如 BCJR 等。卷积码可以分成 非递归(Non-recursive)和递归(Recursive)两种类型。常用的、经典的卷 积码多数是非递归的。在长期的一段时间中,20 世纪 50 年代到 90 年代,卷积 码曾经一直是距离香农界最近的信道编码方案。
当约束长度较小时,卷积码的解码复杂度较低,性能也不算差。尤其是码 长较短时,卷积码性能与 Turbo 码的相近。所以,它广泛应用于 3G 和 4G 中的各类物理控制信道、系统消息信道、一些适用于低成本终端的下行业务信道中。
一般的卷积码需要有若干比特用来对卷积码的移位寄存器清零,即让编码器的 状态回归 0。为了降低这部分开销,LTE 采用咬尾卷积码。其特点是编码器的结束 状态需要与初始状态相同。由于接收端并不知道咬尾卷积码编码器的状态,解码的复杂度稍有增加。
1.3.4 Turbo 码
1993 年,Turbo 码 [10] 的出现引起了编码领域的一场“革命”。人们第一 次看到实际编码的性能能够如此逼近香农界,并领略到随机编码的潜力和迭代 解码的威力。从此,“随机信道编码与迭代解码”成为主流的编码思路。Turbo 码的基本思想是在编码环节引入随机图样的交织器,将两个递归卷积码并行或 者串行地级联起来,这样就增加了这个码字的纠错能力。在解码环节上采用次 优但是复杂度较低的迭代算法。比特的软信息在两个卷积解码器之间往复迭代, 这使得其置信度不断提高。
相对传统的 LDPC 码,Turbo 码在码长、码率的灵活度和码率兼容自适应 重传等方面有不少优势。因此,它在 3G 和 4G 系统中是必选的编码方式。但 Turbo 码的解码复杂度在多数情况下要高于 LDPC,尤其在大码长和高码率场景下。
1.3.5 外层编码(Outer Code)
为了进一步提高信道编码的前向纠错和检错能力,可以在物理层的信道编 码之上加外层编码 [11]。在 2G 系统中,内层的信道编码一般是纠错能力有限的 分组码或者卷积码,此时外层编码成为不可缺少的环节。在 3G、4G 和 5G 系 统中,依然使用外层编码(如 CRC)来进行纠错和检错。
5G 系统需要支持低时延高可靠场景。这些业务所占资源很有可能打掉一些 其他业务—如移动宽带、海量物联网—等的资源。这会对那些被打掉资源 的业务造成突发性的干扰。而外层编码有望增强承载这些业务的信道的鲁棒性。 另外,外层编码可以提高链路自适应的能力。这在有 HARQ 的情形下,能使链 路更有效地进行重传。
1.3.6 其他高级编码方案
多元域 LDPC(QLDPC)[12-13] 是由 Davey 和 MacKay 在 1998 年首次提出。 与二元 LDPC 码不同,多元域 LDPC 定义在伽罗华域 GF(q)(一般 q 为 2 的整 数次幂)上,有 q 个码字;其解码要比二元 LDPC 码复杂度高。由于具有消除 小环(特别是 4 环)的潜力,所以,多元域 LDPC 有更好的纠错性能和较低的 错误平层。
重复累积码(RA,Repetition Accumulation)[14] 是在 Turbo 码和 LDPC 的基础上提出的一种信道编码方案。它综合了两者的优点:不仅具有 Turbo 编 码的简单性,而且也具有 LDPC 的并行译码特性。此外,多元 RA 码在有限 域非零元的选择上有更高的自由度,能更容易地避免因子图中小环的产生。与 Turbo 码或二元 LDPC 码或二元 RA 码相比,多元 RA 码具有更好的纠错性能。 尤其是在高阶调制系统中,多元 RA 码可以提供更高的数据传输速率和频谱效 率。多元 RA 码在保留传统 RA 码高效编码的同时,还具有多元 LDPC 码良好 的纠错性能。
格码(Lattice Code)[15] 是由 Codex 公司的 Forney 早在 1988 年就提出的 “陪集码”的一种编码方案。在信道编码过程中,应用求解格向量中的一些理 论和方案来实现编码增益,并在编码增益和复杂度之间寻求最佳平衡点。2007 年,以色列 Tel Aviv 大学的 Naftali Sommer 等人在 Lattice 码的基础上首次 提出了一种新型的基于 LDPC 码的信道编码技术:低密度格码(LDLC,Low Density Lattice Code)。它是一种实用的、能够达到 AWGN 信道容量的码, 并且它的译码复杂度仅随码长线性增长。
脊髓码(Spinal 码)[16] 是一种在时变信道中适用的无速率码,也是一种逼 近香农容量限的码。其核心是对输入消息比特连续使用伪随机哈希函数结合高 斯映射函数不断产生伪随机量化的高斯符号。相比于现存的信道编码,Spinal 码可以在码长很短的条件下逼近香农容量。在较好的信道条件下,Spinal 码的性能优于现存的信道编码加高阶调制方案。