首页 › deep-tech › 散开的错才好补:交织原理

散开的错才好补:交织原理

一、一箱玻璃杯的搬家难题

先讲一个搬家的问题。你有 100 件玻璃杯要从广州寄到北京,快递公司的赔付条款是:每一单最多赔 1 件。现在你有两种装法:

杯子总数没变、路面没变、赔付条款也没变——变的只有错误的分布方式。装法 B 干的事情,就是本文的主角:交织(Interleaving)。

无线通信里,信道编码就是那份“赔付条款”:每种码都有一个明确的能力上限,比如“每个码字最多救回 1 位错”或“每 1000 位最多救 8 位”。而这个上限,是按随机分布的、彼此独立的错误设计的。麻烦在于,无线信道的错误偏偏不长这样——它们成串而来。交织要做的,就是在“错误成串”和“码只救得起零散错”之间,搭一座桥。

二、错误的形状:坏消息从不单独来

2.1 硬币与天气

如果信道像掷硬币,每次出错概率 1%,彼此独立,那纠错码的日子会非常舒服——随机错误正是它们最擅长的。但无线信道更像天气:一旦进入深衰落,会连续阴雨几十毫秒,而不是每毫秒独立地“下雨/晴天”抽签一次。

原因在物理层。手机和基站之间相对运动产生多普勒效应,接收信号强度是一条随时间起伏的曲线,深谷处信号可以比均值跌落 20~30 dB——这一跌,信噪比掉到底,解调器连续出错。而两个深谷之间隔着一整段好日子。错误不是撒芝麻,是成串的痘痘。

描述这种起伏有两个关键量。最大多普勒频移与运动速度成正比:

$$f_D = \frac{v}{c}\, f_c$$

其中 $v$ 是相对速度,$c$ 是光速,$f_c$ 是载波频率。信道冲激响应“换一副面孔”所需的时间,即相关时间,工程上常用下面的估计(对应相关系数约 0.5 的经典定义):

$$T_c \approx \frac{0.423}{f_D}$$

算两个例子,感受一下量级:

2.2 码的能力是按“零散错”定价的

一个最小距离为 $d_{min}$ 的码,能纠正的随机错误位数为:

$$t = \left\lfloor \frac{d_{min}-1}{2} \right\rfloor$$

注意这个公式的隐含前提:错位之间互不勾结。迭代译码(Turbo、LDPC)在构造时的性能分析,同样是基于独立错误的假设。一旦 20 个错挤在同一码字里连续出现,再强的码也会当场翻车——不是码不行,是错误出现的姿势超出了它的服务范围。

于是设计问题变成:错误在时间上扎堆,能不能把它们摊开?

三、交织:一场双方心照不宣的洗牌

3.1 定义:只换顺序,不改内容

交织的原理一句话就能说完:发送端按一个双方约定好的确定性规则打乱比特顺序,接收端按逆规则还原。注意两个关键词:

它在处理链上的位置如下:

flowchart TD
    A["信息比特"] --> B["信道编码<br/>按随机错设计"]
    B --> C["交织洗牌<br/>只换顺序不改值"]
    C --> D["调制发射"]
    D --> E["无线信道<br/>深衰落成串咬人"]
    E --> F["接收解调<br/>误码连成一串"]
    F --> G["解交织<br/>逆洗牌还原顺序"]
    G --> H["信道译码<br/>错已摊薄可救"]

3.2 最经典的实现:块交织

最直观的交织器是一个矩阵游戏——按行写入,按列读出。看一个 4×4 的例子:

写入(按行) 列1 列2 列3 列4
行1 b1 b2 b3 b4
行2 b5 b6 b7 b8
行3 b9 b10 b11 b12
行4 b13 b14 b15 b16

发送时的读出顺序是按列:b1、b5、b9、b13、b2、b6、b10、b14……假设信道在一段深谷里连咬 4 位:b5、b9、b13、b2——在发送序列里它们是挨着的 4 连错,任何单一码字都救不了。但接收端解交织还原后,这 4 个错分散到了 4 个不同的行:行1 错 1 位(b2)、行2 错 1 位(b5)、行3 错 1 位(b9)、行4 错 1 位(b13)。如果每行是一个纠 1 位错的码字——全部救活。

flowchart TD
    subgraph TX["发送端:按行写 按列读"]
        A["行1: b1-b4"] --> B["行2: b5-b8"]
        B --> C["行3: b9-b12"]
        C --> D["行4: b13-b16"]
    end
    D --> E["按列读出"]
    E --> F["突发咬中4连位"]
    F --> G["解交织逆洗牌"]
    G --> H["每码字只错1位"]

这就是交织的全部魔法:它没有消灭错误,它消灭的是错误之间的“相关性”。一个长度为 B 的突发错,经过深度足够的交织后,最坏也只让每个码字背上约 B/码字数 个错——把“一次灭门”化成“家家擦伤”。

3.3 交织设计的三个旋钮

参数 含义 带来什么 代价
交织宽度 W 矩阵列数,同时"在册"的码字数 决定单个突发最多摊到几个码字 缓存、处理复杂度
交织深度 D 矩阵行数,对应时间跨度 决定能覆盖多长的深衰落 固有时延:$T_{int}=D \cdot W \cdot T_b$
码的纠错力 t 每个码字能救的错位数 决定摊薄后每份"损失额度" 码率损失(冗余开销)

三者是一个天平系统:深度 D 必须足够大,使得交织的时间跨度盖过信道相关时间 $T_c$;而 D×W 直接决定数据要在缓冲区里“憋”多久才能凑齐一个矩阵。交织的每一分抗衰落能力,都是用时延现钱买来的。

四、和时间赛跑:深度到底怎么选

4.1 一道对比题

交织够用的判据很朴素:交织跨度 > 信道深谷的持续时间。于是出现了一道经典的工程对比题。

2G 语音的答案:GSM 全速率语音每 20 ms 产生一个语音块,信道编码后得到 456 bit;这 456 bit 被拆进连续 8 个 TDMA 突发(每帧 4.615 ms),跨度约 $8 \times 4.615 \approx 37$ ms,而且相邻语音块首尾搭接、对角穿插,让每个突发都同时携带两个语音块的内容。为什么要这么深?看算术:900 MHz、车速 50 km/h 时,$f_D \approx 42$ Hz,$T_c \approx 10$ ms——37 ms 的跨度能稳稳压过 10 ms 的深谷。而语音业务对百毫秒级时延并不敏感,这个钱花得起。

5G 低时延业务的答案:URLLC 类业务预算可能只有 1 ms 级。步行用户的相关时间却有 26 ms——深交织在这个场景下根本等不起。那深谷怎么办?答案在第五节。

flowchart TD
    A["量出深谷时长<br/>相关时间0.423/fD"] --> B{"谷比时延预算<br/>短还是长?"}
    B -->|谷更短| C["交织能压平<br/>按预算给足深度"]
    B -->|谷更长| D["深交织等不起<br/>绕道走别的路"]
    C --> E["码字横跨<br/>好时段与坏时段"]
    D --> F["HARQ重传<br/>与多天线分集补位"]

这张决策图点出了一个常被忽略的真相:交织只是对抗衰落的武器库之一。当时间维度上摊不开时(时延预算不够),系统会转向空间维度(多天线分集:同一比特走几条互相独立的天线路径)或重传维度(HARQ:一次翻车下一次重来,两次传输的衰落天然不相关)。三条路本质相同——制造独立性。

4.2 GSM 案例的完整账本

把 2G 语音链路的时延账本摊开看,你会对“交织的代价”有更具体的体感:

GSM 语音听感上“底噪沙沙、但稳”,正是深交织压平淡突发的功劳。而这份稳,是用每人近 60 ms 的缓冲换的。每一代系统的交织深度,本质上都是当年“时延预算 × 码能力”联合定价的结果。

五、三十年演进:交织去哪儿了

一个有趣的事实:越新的系统,越找不到那个“独立的大交织器”模块了。它没有消失,而是换了一种存在方式。

代际 信道码 交织做法 所在位置 时延性格 设计动机
2G GSM 卷积码 对角块交织,跨8个突发约37ms 编码后外置 深而慢 深交织压平深衰落,语音等得起
3G Turbo码 行列入交织+内交织两级整理 编码器内部 中 迭代译码需要输入比特"长得随机"
4G LTE Turbo码 QPP多项式交织 编码器内部 浅而快 无冲突特性支持多核并行译码
5G NR 数据 LDPC 准循环结构+位交织 焊进校验矩阵 极浅 迭代译码+HARQ 补位,低时延优先
5G NR 控制 Polar码 子块交织 速率匹配环节 浅 把信息比特摆到特定子信道位置

4G 的答案:让洗牌支持并行

LTE Turbo 码的内交织用了二次置换多项式(QPP):

$$\pi(i) = \left( f_1 \cdot i + f_2 \cdot i^2 \right) \bmod K$$

其中 $K$ 是码块长度,$f_1$、$f_2$ 是按长度查表确定的系数。为什么偏偏选二次多项式?因为它具备一个珍贵性质——无冲突(contention-free):把长度 K 的码块分给 P 个并行处理器译码时,任意同一时刻,不同处理器读写的地址互不撞车。Turbo 迭代译码是出了名的计算黑洞,无冲突交织让多核硬件真正跑出并行度。这是一个非常“为什么这样设计”的案例:交织规则不只看打散效果,还要看在硅片上好不好住。

5G 的答案:把交织焊进矩阵

LDPC 更进一步,干脆没有独立交织器——它的准循环(quasi-cyclic)校验矩阵中,每个子块都是前一个子块的循环移位。循环移位本身就是一种结构化交织:不同信息比特的校验关系被系统性地错开,一个局部突发错在 Tanner 图上天然被摊到远处的多个校验节点。也就是说,交织从“编码后的一道工序”变成了“编码矩阵的基因”。

Polar 码侧则保留了一个轻量的子块交织:把编码比特分组后按固定顺序重排,配合速率匹配的打孔/重复,让信息比特落在性能最优的子信道位置上。目的不再是压深衰落,而是整形码字结构与速率匹配的对齐方式。

flowchart TD
    A["2G GSM<br/>外置对角块交织"] --> B["3G Turbo<br/>两级内交织起步"]
    B --> C["4G LTE<br/>QPP无冲突内交织"]
    B --> D["5G LDPC<br/>交织焊进准循环矩阵"]
    B --> E["5G Polar<br/>子块交织配速率匹配"]

为什么新系统敢把交织做浅?三笔账:

  1. 码变强了:LDPC/Turbo 的迭代译码配合软信息,天然比 2G 卷积码能多扛几连错;
  2. HARQ 兜底了:一次译码失败,重传的冗余版本与首传经历不同衰落,深度交织想买的那种“时间独立性”,重传机制免费又送了一份;
  3. 时延变贵了:5G 的时延预算以毫秒计,几十毫秒的交织缓冲在账本上已经不可接受。

标准允许多种具体实现,交织的具体参数与行为以各系统、各厂家的官方资料为准;但“交织随代际变浅、功能内化”这条主线,是所有标准文本共同讲述的故事。

六、现网里它长什么样:实战连接

6.1 调试时你会遇到它

6.2 常见误解与陷阱

  1. “交织就是加密” —— 错。交织规则是标准公开的固定函数,没有密钥参与,对手完全可逆。它的目标是去相关,不是保密。机密性由加密层负责,两者一个管分布、一个管隐私;
  2. “交织能纠错” —— 错。交织自己一位错都不救,它是给译码器布置战场的参谋,不是战斗员;
  3. “深度越深越稳” —— 错。深度越过相关时间后收益递减,时延却线性上涨。过深的交织只会让重传和反馈机制雪上加霜;
  4. “OFDM 有循环前缀,交织可以省了” —— 错。循环前缀治的是符号间串扰,不改变频域选择性衰落:一个宽带信号里总有一些子载波正掉进频域深谷。让码字内比特分散映射到不同子载波/不同时段,依然是必需品——只是现代系统用分散映射和轻量位交织来实现,不再叫“大交织器”了;
  5. “突发错超过交织深度就全完了” —— 不至于。超出部分会让个别码字译码失败,此时接力棒交给 HARQ 与外层重传。交织是概率游戏的第一道闸,不是唯一的闸。

常见问题

Q: 交织和加密都是“打乱顺序”,本质区别是什么? A: 区别在目标和钥匙。交织用标准里公开的固定规则,目标是打破错误的时间相关性,人人可逆;加密用只有双方知道的密钥,目标是让第三方读不懂,规则公开、密钥保密。一个管“错误怎么排”,一个管“内容谁能看”,在协议栈里是两个不同环节。

Q: 为什么 2G 敢用 37 ms 的深交织,5G 却几乎把交织“拆”没了? A: 因为替代品长出来了。深交织买的是时间独立性,而 5G 用更强的迭代译码码字、HARQ 重传的天然不相关性、以及多天线空间分集,用更低的时延代价买到了同样的独立性。时延预算从百毫秒级压到毫秒级后,深交织在账本上出局了。

Q: 交织深度具体怎么选?现网上怎么判断交织不够用? A: 设计侧的公式很直接:交织跨度取信道相关时间(0.423/f_D)的若干倍,再卡时延预算的上限。现网侧看误码的形态:如果 BLER 失败呈连片突发、且发生在阴影/深衰落区,说明现有时间跨度盖不住深谷——优先考虑覆盖优化,而不是去“加深交织”(现网交织深度是标准定死的,不可调,这正是要理解原理的原因:知道哪一层没救了,去别的层找答案)。

Q: 一个突发错串比交织深度还长,会发生什么? A: 摊不干净,会有个别码字背上超出纠错能力的错位,译码失败。失败的数据不会直接丢给用户:初传失败触发 HARQ 重传(用不同的冗余版本再赌一次不相关的衰落),仍不行再走外层重传。交织决定了“第一次成功率”,重传机制决定“最终丢包率”,两层各管一段。

Q: 交织深度和信道编码的纠错能力,哪个更重要? A: 它们是乘法关系,不是比大小。系统抗突发能力 ≈ 交织的摊薄倍数 × 码的纠错位数。摊得再散、码太弱救不回;码再强、错误挤成一坨也无力。设计时两者联动:码能力富余时交织可以浅一点(5G 的路线);码弱时只能靠深交织硬扛(2G 的路线)。

参考来源

  1. Turbo code – Wikipedia — LTE 采用 QPP 无冲突交织器、支持并行译码的公开综述
  2. Interleaving (telecommunication) – Wikipedia — 交织对抗突发错误的定义与块交织思路
  3. 樊昌信、曹丽娜《通信原理》(第7版),国防工业出版社 — 差错控制编码与交织矩阵的经典讲法,本文 3.2 节示例的出处思路
  4. T. S. Rappaport, Wireless Communications: Principles and Practice, 2nd ed. — 多普勒扩展、相关时间定义(含 0.423 系数)的权威出处
  5. A. Goldsmith, Wireless Communications, Cambridge University Press, 2005 — 衰落信道突发差错统计与交织深度量化分析

本文由「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 等场景全覆盖。

51学通信知识星球海报-扫码加入