首页 › deep-tech › 比特也要穿防弹衣?编码抗毁设计

标题: 比特也要穿防弹衣?编码抗毁设计 作者: 爱卫生 封面: "[[封面1.png]]" 封面裁剪: false 原文地址: 打开评论: true 仅粉丝可评论: false 摘要: 你网购一件玻璃杯,商家不会把杯子裸扔进纸箱,而是裹气泡膜、塞泡沫、贴易碎标签——用一层“冗余包装”换取“完好送达”。


比特也要穿防弹衣?编码抗毁设计

你网购一件玻璃杯,商家不会把杯子裸扔进纸箱,而是裹气泡膜、塞泡沫、贴易碎标签——用一层“冗余包装”换取“完好送达”。你手机里的每一比特数据——一段语音、一张照片、一条基站调度指令——在无线信道里走的也是“夜路”:噪声、衰落、干扰随时可能把 0 打成 1。信道编码(Channel Coding)就是给比特穿的防弹衣:发送前按规则加入冗余,接收后利用冗余把被打中的比特“救活”。

5G 标准里站岗的是两位风格迥异的大师:LDPC 码守数据信道,Polar 码守控制信道。这篇文章不讲规范条文,只讲一件事:它们各自凭什么原理把误码“救”回来,以及为什么 5G 要让它们分工。

一、误码从哪来:比特的夜路有多黑

数字信号在空中以电磁波传输,接收机拿到的是被噪声污染后的波形。解调器输出的每一个比特都有一个“可信度”:有的比特信号干净,判 0 就是 0;有的比特正好处在判决边界上,噪声轻轻一推就从 0 变成 1。衡量链路质量的核心指标叫误块率(BLER)——一个传输块里只要有一个比特错且没被纠正,整块就算失败。

关键认知是:无线系统从来不是追求零误码,而是追求“可管理的误码”。物理层允许初始传输错一些,错的交给信道编码纠正,纠正不了的靠重传。这是理解一切现网指标的前提。

二、香农画的天花板:纠错不是无限_possible

1948 年香农给整个行业立了规矩。他证明:任何信道都有一个容量上限,只要码率(信息比特数 k 与编码后总比特数 n 之比)低于这个容量,就必然存在一种编码方式让误码率任意低;反过来,码率超过容量,任何编码都救不了。

$$C = B\log_2\left(1 + \frac{S}{N}\right)$$

$$R = \frac{k}{n}$$

其中 B 是带宽,S/N 是信噪比。这个结论的直觉很反常识:带噪信道照样能实现几乎无错的传输,代价是必须“稀释”信息——每个有用比特配上足够多的冗余比特。香农只证明了“好码存在”,没告诉世人怎么造。此后半个多世纪,编码学者的全部工作就是一件事:造出能逼近这根天花板的码。LDPC 和 Polar,就是这场长跑的两个终点冲线者。

三、三条防线:重传、纠错与合体

工程上对抗误码有三条思路,先建立全景再拆解细节。

手段 全称 工作方式 类比 代价
ARQ 自动重传请求 收方检出错误就要求重发 听不清让对方再说一遍 时延大,往返开销高
FEC 前向纠错 发方加冗余,收方自行纠错 发一份自带注释的录音 占带宽,但零时延
HARQ 混合自动重传 FEC 先纠,纠不动再重传,重传与历史软信息合并 先自己脑补,补不出再问 5G 的实际选择

5G 用的是 HARQ:信道编码负责“能救则救”,重传负责“救不了再来一次”,两者合体把时延和带宽的矛盾调到最优。信道编码在整个收发链路里的位置如下:

flowchart TD
    A["信息比特<br/>k 个"] --> B["信道编码<br/>加冗余成 n 个"]
    B --> C["调制<br/>比特变波形"]
    C --> D["无线信道<br/>噪声衰落干扰"]
    D --> E["解调<br/>输出软信息"]
    E --> F["信道解码<br/>迭代纠错"]
    F --> G{"解码成功?"}
    G -->|是| H["输出干净比特"]
    G -->|否| I["反馈NACK<br/>触发HARQ重传"]
    I --> B

注意图中解调器输出的是软信息——不只是“这个比特是 0 还是 1”,还附带“我有多确定”。这是现代纠错码性能的命根子,后面会反复出现。

四、LDPC:沉睡三十六年的拼图大师

4.1 一个被算力耽误的天才

1960 年,MIT 的博士生 Robert Gallager 在博士论文里提出了低密度奇偶校验码。他证明了这种码性能极好,但他的迭代解码算法虽然复杂度只随码长线性增长,在 1960 年的计算机上依然算不动。于是这份论文在书架上躺了三十多年。转折发生在 1990 年代:1993 年 turbo 码横空出世逼近香农极限,震动了编码界;1996 年,MacKay 和 Neal 重新发现了 LDPC——大家惊讶地发现,这个更早的方案性能同样惊人,而且没有专利包袱。此后 LDPC 一路拿下数字电视、万兆以太网、Wi-Fi、固态硬盘,最终成为 5G 数据信道的纠错主角。

4.2 核心:一堆简单的“校验规矩”

LDPC 的编码思想朴素到惊人:给比特立几条规矩,谁坏了规矩谁就可疑。

假设要发两个信息比特 d1、d2,我们按下面两条规则造出两个校验位(⊕ 是异或,即“奇数个 1 则为 1”):

$$p_1 = d_1 \oplus d_2, \quad p_2 = d_2$$

于是发送四个比特:d1、d2、p1、p2。真实的 LDPC 用成千上万条这样的校验式,但每条校验式只牵扯少数几个比特——这就是“低密度”三个字的含义:校验矩阵 H 里绝大多数是 0,1 稀稀拉拉。

4.3 Tanner 图:解码的战场

把这些规矩画成图,就是 LDPC 的灵魂——Tanner 图。左列是变量节点(每个比特一个),右列是校验节点(每条规矩一个),比特参与了哪条校验,就连一条线:

flowchart TD
    subgraph VN["变量节点 比特们"]
        V1["d1"]
        V2["d2"]
        V3["p1"]
        V4["p2"]
    end
    subgraph CN["校验节点 规矩们"]
        C1["规矩一<br/>d1异或d2异或p1等于零"]
        C2["规矩二<br/>d2异或p2等于零"]
    end
    V1 --- C1
    V2 --- C1
    V3 --- C1
    V2 --- C2
    V4 --- C2

解码的过程像一群学生互相对答案。假设发送 1 0 1 0(p1 = 1⊕0 = 1,p2 = 0),夜路上被打劫了两枪,收到 ? ? 1 0——d1、d2 全丢。解码器拿着软信息开始“开班会”:

第一轮: - 规矩二的同学先发言:我这边 d2 未知、p2 = 0,而 d2⊕p2 必须等于 0,所以 d2 必然是 0——一个未知数,一次解出。 - 规矩一那边卡住了:d1、d2 两个未知,无法判定。

第二轮: - d2 的最新结论传回规矩一:现在只剩 d1 未知,d1⊕0⊕1 = 0,解出 d1 = 1。

两个丢失的比特全回来了。这就是迭代消息传递(置信传播)的精髓:每个节点把本地掌握的“信念”传给邻居,邻居汇总后反推,一轮一轮扩散,直到所有规矩都被满足。真实信道里没有干净的非黑即白,传递的是概率化的软信息(对数似然比),但骨架完全相同——像做填字游戏,横向纵向线索交叉验证,空格填得越多,剩下的越好猜。

迭代到什么程度算完?满足全部校验式,数学上写成一个校验子方程:

$$\mathbf{z} = \mathbf{H}\mathbf{r}^T = \mathbf{0}$$

接收序列 r 乘上校验矩阵 H 得到全零,说明所有规矩都守住了,解码成功收工。

4.4 稀疏 = 快,这是 LDPC 的立身之本

为什么校验矩阵必须“低密度”?两个原因环环相扣:

  1. 解码复杂度线性增长。Tanner 图上每个节点只连少数几条边,一轮消息传递的计算量与比特数成正比。万兆以太网、每秒数 Gbps 的 5G 下载,靠的就是芯片能按流水线节奏把图算完。
  2. 迭代不容易“抱团出错”。图越稀疏,错误传播的环路越长,置信传播的收敛性越好。

另外,LDPC 的一个工程特长是天然适合并行解码——海量互不干扰的校验节点可以同时开算。高吞吐场景拼的就是这个。它在高码率区间(冗余加得少、效率高)表现尤其突出,这也是它拿下沉降量最大的数据信道的原因。

五、Polar:把烂信道人工造成雪崩

5.1 前所未有的豪言

LDPC 和 turbo 码都是“实践中发现性能好,后来才逐步证明能逼近极限”。Polar 码走的是相反路线:2008 年,土耳其 Bilkent 大学的教授 Erdal Arıkan 提出信道极化理论,2009 年正式发表——这是人类历史上第一个显式构造、且从数学上可证明能精确达到信道容量的编码方案。它不是“碰巧很好”,而是“生来就该这么好”。

5.2 核心:信道极化——雪崩式分化

Polar 码的原理可以用一句话概括:把一堆一模一样的平庸信道,两两组合、层层递归,最终让一半信道变得极好、一半变得极差。

先看最基本的一步。取两路相同的信道 W,按下面的“蝶形”结构组合后再拆开:

flowchart TD
    U1["信息比特u1"] --> X1["合成第一路<br/>x1 等于 u1 异或 u2"]
    U2["另一比特u2"] --> X1
    U2 --> X2["合成第二路<br/>x2 等于 u2"]
    X1 --> W1["合成信道一<br/>可靠度提升"]
    X2 --> W2["合成信道二<br/>可靠度下降"]

为什么第一路会变好?因为接收端最终解 u1 时,手里握着两路信道收到的观测结果——相当于两条腿的线索汇成一个判断,等效信道自然比原来可靠。而第二路解 u2 时,u1 是干扰它的未知数,等效信道反而变差。一好一坏,总量不变,可靠性发生了转移——这就是“极化”。

单次组合的分化还很温和,真正的魔法在递归:把组合后的信道再两两组合,再再组合……当规模翻到 2 的 N 次方时,分化像雪崩一样走向极端——好信道可靠度无限逼近 1(发什么收对什么),坏信道可靠度无限逼近 0(发什么等于扔硬币)。

5.3 用法:好信道干活,坏信道放雪

信道分了层,用法就一目了然:信息比特只走最好的那批信道,最差的信道全部“冻结”——固定传收发双方事先约好的比特(通常是 0),称为冻结比特。接收端早就知道冻结比特是什么,等于这些位置白白赠送了已知信息,反过来又帮助推断其他比特。

flowchart TD
    A["N 路相同信道"] --> B["递归蝶形组合<br/>层层数次"]
    B --> C["极好信道群<br/>可靠度逼近一"]
    B --> D["极差信道群<br/>可靠度逼近零"]
    C --> E["承载信息比特<br/>真正的数据"]
    D --> F["冻结比特<br/>固定传零"]
    E --> G["接收端只解好信道<br/>其余当已知条件"]
    F --> G

解码采用串行消除(SC):按可靠度从低到高逐个比特判决,先解出的比特作为已知条件辅助后面的判决——和 LDPC 的并行开班会是两种完全不同的气质。朴素的 SC 一次只能押一条路,短码长时性能吃亏,实际系统用列表解码(SCL)改良:同时保留 L 条候选判决路径并行推进,最后挑总体最可信的。相当于走迷宫时带 L 条命,死了一条换一条。

5.4 复杂度与岗位于

Polar 的编解码复杂度是 O(n log n)——与 FFT 同族的优雅复杂度,蝶形结构也确实和 FFT 一模一样。它在短块长下表现尤为出色:块长不大时极化照样发生,而 LDPC 在短码下图太小、迭代优势施展不开。这个特性决定了它的岗位——控制信道。

六、为什么 5G 让两位大师分工

2016 年 11 月,3GPP 做出决定:5G eMBB 的数据信道用 LDPC,控制信道用 Polar。这不是技术选型的意气之争,而是两种码的物理禀赋决定的分工。

控制信道里的信息(比如调度指令 DCI)有三大特点:短(几十个比特)、要命(一个比特错了,整个调度就指错了方向,后面数据全乱)、频繁(每个调度周期都要发)。这恰是 Polar 的主场:短码下极化依然彻底,配合 CRC 辅助的 SCL 解码,短块长可靠性压倒一切。而数据信道动辄成千上万比特、追求极限吞吐,恰是 LDPC 的主场:并行解码流水线全开,高码率区性能独步。

维度 LDPC Polar Turbo(4G 主角)
诞生 1960 年 Gallager 博士论文 2008/2009 年 Arıkan 1993 年
性能证明路径 实践领先,理论后补 理论先证明达容量,实践跟进 实践突破,理论后补
强项块长 长码(大块高速率) 短码(小块高可靠) 低码率区间仍有优势
解码方式 并行消息传递、流水线 串行消除 / 列表解码 迭代,并行度受限
复杂度 线性于码长 O(n log n) 较高
5G 岗位 数据信道(下载、上传的业务流量) 控制信道(DCI 等调度指令) 退居 LTE 老家

至于 4G 时代的功臣 turbo 码为何退场:高码率区间性能不及 LDPC、解码的并行化先天受限难撑超高吞吐,当年曾加持它的专利壁垒在标准博弈中也不再是筹码。它并未消失——LTE 网络里它依然是主力,还会服役很多年。

七、现网实战:这套原理在哪与你见面

看懂 BLER 与 MCS 的跷跷板。基站调度时会根据无线质量选择调制编码方案(MCS),本质就是在选码率和调制阶数。码率越高,冗余占比越小,吞吐越高但抗错能力越弱。系统通常把初始传输的误块率目标设在 10% 左右——没错,物理层故意容忍一成初传失败,反正 HARQ 会兜底,这样把频谱效率榨到最高。看到 BLER 10% 不要慌,那是设计工况。

调弱覆盖问题的第一反应。现网优化中 IBLER(初始传输误块率)异常偏高,第一直觉是覆盖差,但至少要排查三件事:MCS 是否调度过高、是否存在干扰抬底噪、HARQ 合并是否正常工作。信道编码救不救得活,取决于打坏的比例有没有超过码的纠错能力——信噪比决定生死,码只在生死线上多捞一把。

LDPC 迭代次数就是手机电量。解码迭代越多越准,但芯片功耗越高。弱信号场景下手机反复迭代甚至解码失败重传,是“信号只有一两格时手机发烫费电”的重要原因之一。

控制信令的“静默失败”。Polar 码守护的 DCI 如果解码失败,手机不会有任何显式报错——它只是错过了一次调度机会,表现为吞吐抖动、时延毛刺。排查这类问题时,聚合级别(冗余力度)分配是否过低,是比“覆盖差”更隐蔽的嫌疑人。

最后说明一点:标准在信道编码上允许多种实现选择,具体基图选型、解码器迭代上限等参数的行为细节,以各设备厂家的官方文档为准。

常见问题

Q: LDPC 和 Polar 都能逼近香农极限,为什么还要两个都上? A: 因为“逼近极限”的前提条件不同。LDPC 的优势要靠足够大的 Tanner 图才施展得开,短码时性能平平;Polar 的极化在任何块长都成立,短码时反而最划算。数据信道块长巨大、控制信道块长很短,各自的王者正好错位上岗,这是性能与复杂度权衡后的自然分工。

Q: 信道编码和加密是一回事吗? A: 完全不是。信道编码加冗余是为了防错——让收方在比特被打坏后能还原;加密是为了防听——让没钥匙的人还原不了。编码后的码字反而更有规律(满足校验式),加密则千方百计消除规律。两者在协议栈里各占一层,互不相干。

Q: HARQ 重传和信道编码是什么关系?谁在干活? A: 它们是同一套防线的两道闸。信道编码(FEC)先纠——大部分错误在解码器的迭代里就被消化了,根本走不到重传;纠不动的(解码失败)才触发 HARQ 重传,而且重传的数据会和之前几次的软信息合并后再解码,相当于叠了几张底牌一起翻。5G 的初始 BLER 之所以敢放到 10%,就是仗着这两道闸配合。

Q: 4G 的 Turbo 码很差吗?为什么 5G 不用了? A: 不差,它当年是革命性的,至今仍在 LTE 里服役。它输在两处:一是高码率区间(冗余少、效率高的档位)性能不如 LDPC,而 5G 大带宽恰恰要大量运行在高码率;二是解码结构先天串行成分多,并行度上不去,撑不住每秒几十 Gbps 的吞吐。

Q: 6G 会换新的编码吗? A: 值得关注的是 Polar 码自己的进化。Arıkan 本人在 2019 年提出了 PAC 码——在极化编码前加一个卷积预处理,短块长性能比传统 Polar 更进一步。学界也在讨论把 LDPC 用于量子纠错等新领域。目前看,6G 大概率延续“图码 + 极化码”的双雄格局再做演进,而非推倒重来。

参考来源

  1. Channel Polarization (Arıkan 原始论文, arXiv:0807.3917) — 极化码的奠基论文,2008 年提交、2009 年刊于 IEEE Transactions on Information Theory
  2. List Decoding of Polar Codes (Tal & Vardy, arXiv:1206.0050) — SCL 列表解码的原始文献
  3. Challenges and some new directions in channel coding (Arıkan et al., arXiv:1504.03916) — 信道编码的工程挑战与方向综述

本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵爱卫生(微信ID: gprshome201101)维护,聚焦5G/6G核心网、3GPP标准解读、通信前沿技术深度分析。 出版作品有《5G核心网原理与实践》《IMS原理与实践》等4本通信专业书籍。知识星球「51学通信」提供深度技术答疑和行业洞察。

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

![[知识星球二维码.png]]