原文地址
一个时代的落幕
葡萄牙里斯本,当地时间10月14日,凌晨00点23分,3GPP RAN1确定 LDPC 为 5G 标准 New Radio (NR) 长码编码方案。
三天来,全球各大通信设备商、运营商和芯片商在这场5G物理层信道编码的争夺战中进行了无比惨烈的较量,最后由美国主推的LDPC战胜由中国支持的Polar码和欧洲主推的 Turbo 2.0,被确定为长码标准。而短码的角逐还将继续。这标志着3G、4G下使用的 Turbo 码结束了其长达十几年的统治地位。
一个时代的落幕,不禁令人唏嘘。这个曾将信息理论推入一个崭新时代的编码方案,尽管发展出了性能完美的2.0版本 (在笔者看来,无论是理论上还是工程上都相对于 LDPC 和 Polar 码拥有优势),然而 Turbo 阵营势单力薄,最终不得不因为非技术原因让位于 LDPC。现实从来就是残酷的,标准的走向取决于玩家的实力和话语权。感伤之余,写成此文纪念 Turbo 和那个辉煌的时代。 信道编码
众所周知,信息以信号为载体进行传播,从一端传输到另一端需要经过信道。信号在信道中传播不可避免地会发生扭曲和变形,信道中的噪声和干扰会降低信号质量,甚至淹没信号,导致接收端无法正常接收发射端的信息。比如一串为 [0 0 1 1 0 1] 的序列经过信道之后可能会变成 [0 0 0 1 0 1],那么整个传输过程就没有顺利完成。
信道编码的目的正是为了对抗信道引起的传输错误。通过对原有信息添加冗余,让传输变得更加健壮。一个最简单的例子是奇偶校验码,即当原有序列各比特和为奇数时添加比特1,若为偶数,则添加比特0,从而使整个传输序列各比特之和永远保持偶数。在上面的例子中,信息序列为 [0 0 1 1 0 1],各比特和为奇数,末尾添1,实际传输序列变为 [0 0 1 1 0 1 1],那么当接收端收到[0 0 0 1 0 1 1] 时,发现序列各比特和为奇数,便知晓实际传输过程中必然发生了错误,接收序列不可信,因此将告诉发送端重传。
奇偶校验码较为简单,只能对信息进行对错校验,而且校验能力有限。更复杂的信道编码通过添加冗余信息,使得接收端不单可以知道自己收到的信息是否是原始发送序列,还能在一定程度上对错误进行修正,恢复原始序列。而奠定这一技术数学理论基础的即信息论之父香农。
香农极限
1948年,克劳德·香农在贝尔系统技术杂志发表了著名的 《通信的数学理论》 一文,为现代信息理论奠定了基础。香农从数学上证明,当传输速率低于信道容量时,存在一种信道编码使得一个足够长的传输序列可以完成任意小错误率的传输。这就是今天我们常常提起的香农极限。然而遗憾的是,香农并没有给出一种在现实工程上可以实现的编解码方案。
在此后的四十多年里,香农的后继者们不断地做着各种努力和尝试,试图提出一种可以接近香农极限的编码。然而, 数十年过去, 人们发现他们所取得的进步离理论极限依旧如此遥远,这也曾一度让人怀疑是否真的存在可达到香农极限并现实可行的编码,直到Turbo码横空出世的那一天。
历史是那样地具有戏剧性,提出 Turbo 码的人也叫克劳德 (Claude Berrou)。这看似巧合,却又仿佛是冥冥之中的一种注定。Claude Berrou 就职的学校 Télécom Bretagne 坐落于法国西北角的布列塔尼地区,而在学校研究楼边上有一条小道,名字就叫香农之路。 永远的Turbo码
Turbo的编码器非常简单,由两个并行的卷积码编码器 (Encoder) 组成。所谓卷积码,即输出为输入和一段已知序列的卷积。与其对应的分组码则是将序列分段,每段序列和编码矩阵相乘得到输出序列(在后续发展中,Turbo码也拥有了分组码版本)。在Turbo码中,输入序列 (Input)在进入第二个编码器时须经过一个交织器 (Interleaver),用于将序列打乱。两个编码器的输出(Output I 和 II)共同作为冗余信息添加到信息序列(Systematic output)之后,对抗信道引起的错误。 值得注意的是,Turbo码的强大主要来源于其解码器。从下图Turbo码解码器中可以看到,整个解码过程与编码过程形成对应关系,信息序列 (Systematic data) 和相应的冗余序列 (Parity 1 and 2) 分别输入两个解码器,而后各自的输出经过一个减法运算并通过交织 (Interleaver) 和解交织(Deinterleaver) 后反馈给另一个解码器。Turbo的核心正是这一减法和反馈,图中由红线标注。这一小小的连线堪称上帝之手,它将解码技术,甚至是信息理论推向了一个新的时代。为什么要做减法呢? 因为输出信息被分解为内信息 (intrinsic information) 和外信息 (extrinsic information),通过减法从输出信息中取出外信息并将其反馈给另一个解码器。在迭代解码过程中,接收信息错误不断地被纠正,最后无线逼近香农极限。整个解码过程信息在两个极为简单的解码器间不断地轮转,像一台无比强大的涡轮机,因而得名Turbo。 Turbo码利用迭代算法,以时间换取复杂度,第一次实现了现实可行的对香农极限的逼近。1993年,当论文的作者 (Berrou, [url=]Glavieux[/url], and Thitimajshima)在ICC会议上首次将他们的成果公之于众时,人们面对几乎与香农极限平行下降的Turbo码性能曲线,都不敢相信眼前的一切,甚至怀疑是否仿真出现了错误! 而Turbo码也从此将信息理论带入了一个新的时代。Turbo 码解码中外信息的发现启发了编解码领域的科学家们。1996年,人们从一堆旧论文中翻出已经被人遗忘30多年的 LDPC 码,对其进行了在现实复杂度内的解码,最终成就了 LDPC 今日的风光。
Turbo 码的发明,让人茅塞顿开。它不再是一种简单的编解码方案,而成为一种思想,人们基于这一思想开发了 Turbo 均衡,Turbo 信道估计等应用,Turbo 思想将信息理论推向了一个新的台阶。而Turbo码在3G和4G中的应用,正是移动互联网大爆发的年代,它在无形之中服务信息社会,支撑其对数据传输的需求。 Turbo 2.0
随着 Turbo 码在 3G 和 4G 系统中得到广泛应用(以下称之为LTE Turbo),人们慢慢也发现了问题: LTE Turbo在某些码长和码率组合下, 特别是在短码情况下会出现性能衰减,即编码学里的地板效应(error floor)。 这个问题在5G标准化中被认为会影响低时延高可靠性传输业务(URLLC)。 为此,Berrou 团队再度发力,对问题源头进行了深入研究,最终得到结论: 地板效应由多方面原因叠加而成。
首先,Turbo 在 LTE 的应用中引入了网格终止序列(Trellis Termination Bit--TTB), 它的用途本来是让网格在编码的起始态和终止态都保持在一个已知的状态,这样有利于更高效的解码。 但是由于TTB并没有经过Turbo的双编码器保护, 它在接收端并没有像其他序列(信息或冗余序列)同等程度的纠错性, 从而造成了性能的衰减。 由于TTB的长度是固定的,这样的衰减在长码传输的情况下不是特别显著,但在短码情况下地板效应尤为明显。 找到了问题,解决方案就水到渠成了,Turbo 2.0丢弃了TTB,而引入了咬尾(Tailing biting)的编码思路。所谓咬尾,即将卷积升级为循环卷积,这样一来不仅解决了TTB的问题,同时也提高了频谱效率(无需再传输TTB),使得TTB彻底成为了历史。
紧接着,Berrou 团队发现,即便解决了TTB的问题,也并不能完全消除地板效应,特别在长码情况下,TTB的主导因素其实很有限, 一定还有别的原因。 再次通过深入研究发现,地板效应的另一个重要源头在于交织器和打孔(puncturing) 的优化设计。交织器在前面提到过,即将序列打乱,防止错误连续发生; 而所谓打孔, 是指在编码过程中刻意地不传输一些比特位,达到提高频谱效率的目的。在LTE时代, Turbo 的交织器和打孔是独立设计的,两者并没有一个整体的优化, 这样一来有些权重比较高的信息可能会被打孔器打掉,直接导致码间最小距离(minimum distance) 变短, 使得在解码的过程中引起大量的错误。 在 Turbo 2.0 版本下,交织和打孔得到整体优化,使得高权重的信息始终得到保留, 整套设计确保码间最小距离最大化。 自此,Turbo 的地板效应问题得到彻底解决 , 并且短码性能比LDPC更卓越(如下图)。 Turbo 2.0 在设计上将 Turbo 理念做到近似完美。 图引用自[1] 虽然 Turbo 阵营远不如其对手强大,但如今 Berrou 团队依然带着崭新的 Turbo 2.0出现在3GPP 5G标准战场,以完美性能的 Turbo 2.0与各大阵营PK。令人惋惜的是,由于话语权低,Turbo 2.0 在 5G 编码的第一战中失利。在此,我们真心祝愿它在短码战场上取得胜利。因为无论现实世界如何,Turbo 的信徒们总有孩童般的天真,他们坚信好东西可以暂时被埋没,但最终一定会被重新认可。
仅以此文献给我们深爱的Turbo。
[1] R1-1610314, FEC performance comparison for short frame sizes for NR [2] R1-1610314, FEC performance comparison for short frame sizes for NR
|