(5) 什么是信道极化:从直觉理解到形式化定义

什么是信道极化:从直觉理解到形式化定义

上一篇我们已经把 Polar 编码真正算了一遍。给定极化输入向量 \underline{u}_0^{N-1},通过二阶核 \mathbf{F}_2 的递归耦合,可以得到二元码字 \underline{c}_0^{N-1}

如果只看编码器,这件事像是一个普通的线性变换:

\underline{c}_0^{N-1}=\underline{u}_0^{N-1}\mathbf{G}_N

但 Polar 码真正厉害的地方不只是“能编码”,而是这个变换会把原来一批相同的物理信道,重新组织成一批可靠性不同的子信道。

这就是信道极化。

本篇要解决一个核心问题:

为什么同样两个信道 W,经过 Polar 的二阶核以后,会分裂成一个更差的信道 W^- 和一个更好的信道 W^+

为了把这件事讲透,本文只从最小情形 N=2 开始。我们会完整写出:

  • 两个信道如何被组合成 W_2
  • W_2 如何被分裂成 W^-W^+
  • 为什么 W^- 里要对未知比特求平均。
  • 为什么 W^+ 可以把前一个比特当成边信息。
  • 在 BEC(\epsilon) 上,为什么 W^- 的擦除概率是 2\epsilon-\epsilon^2,而 W^+ 的擦除概率是 \epsilon^2

先固定一个基础信道 W

仍然沿用前几篇的约定。基础二元输入信道写作:

W:\mathcal{X}\to\mathcal{Y},\qquad \mathcal{X}=\{0,1\}

这里 x\in\mathcal{X} 是输入比特,y\in\mathcal{Y} 是信道输出观测。信道转移概率写作:

W(y\mid x),\qquad x\in\{0,1\},\ y\in\mathcal{Y}

直观地说,W(y\mid x) 表示:发送端送入 x,接收端看到 y 的概率。

如果信道很可靠,那么从 y 大概率能判断出 x。如果信道很差,那么 yx 的提示就很弱。

接下来我们不只用一次 W,而是并行使用两次相同的 W。这两次物理信道彼此独立。

从两个独立信道开始

N=2。Polar 二阶核对应的编码关系是:

c_0=u_0\oplus u_1,\qquad c_1=u_1

其中 u_0,u_1\in\{0,1\} 是极化变换输入,c_0,c_1\in\{0,1\} 是送入两个物理信道的码字比特。

两个码字比特分别经过两个独立的 W

c_0\longrightarrow W\longrightarrow y_0,\qquad c_1\longrightarrow W\longrightarrow y_1

所以接收端看到的是两个观测值 (y_0,y_1)。注意,这里的 \underline{y} 只表示信道输出观测,不表示 LLR。

把编码关系代入信道以后,整体链路就是:

(u_0,u_1) \longrightarrow (c_0,c_1)=(u_0\oplus u_1,u_1) \longrightarrow (y_0,y_1)

这一小段链路就是后面一切极化现象的起点。

什么是 channel combining

channel combining 的意思是:把多个独立使用的基础信道 W,通过输入端的编码耦合,合成一个更大的向量信道。

N=2 的情形下,合成信道记作 W_2。它的输入是 (u_0,u_1),输出是 (y_0,y_1)

因为两个物理信道彼此独立,所以联合概率可以相乘:

W_2(y_0,y_1\mid u_0,u_1) = W(y_0\mid u_0\oplus u_1)\,W(y_1\mid u_1)

这就是 N=2 的 channel combining 公式。

这个公式非常重要。它说的不是“多了一个新物理信道”,而是:我们用两个原本相同的物理信道 W,再加上输入端的二阶核,把它们看成一个整体信道 W_2

如果没有二阶核,两个信道只是并排放着:

W(y_0\mid u_0)W(y_1\mid u_1)

有了二阶核以后,第一个物理信道看到的不是 u_0,而是 u_0\oplus u_1

W(y_0\mid u_0\oplus u_1)W(y_1\mid u_1)

这一步“耦合”是极化能发生的前提。如果只是复制两个互不相关的信道,可靠性不会自己分化。

什么是 channel splitting

现在我们已经有了合成信道 W_2。但 Polar 码真正关心的不是“一次性把 (u_0,u_1) 作为整体传输得怎么样”,而是每一个输入比特 u_i 各自对应一个怎样的子信道。

这一步叫 channel splitting。

对于 N=2W_2 会分裂成两个子信道:

  • 第一个子信道 W^-:用来描述 u_0 面对的信道。
  • 第二个子信道 W^+:用来描述 u_1 面对的信道。

之所以用减号和加号,是因为这两个子信道的可靠性通常会向两个方向分化:W^- 变差,W^+ 变好。

下面我们从定义推出来。

第一个子信道 W^-:为什么要平均掉 u_1

先看 u_0

当接收端要判断 u_0 时,它能看到 (y_0,y_1),但还不知道 u_1。因为在逐位理解子信道时,u_0 是第一个要判断的输入位,后面的 u_1 对它来说还是未知的。

既然 u_1 未知,就必须把所有可能的 u_1 都考虑进去。按照 Polar 码的标准设定,输入比特在分析时等概率取 0 或 1,所以 u_1 要以概率 1/2 被平均。

因此第一个子信道定义为:

W^-(y_0,y_1\mid u_0) = \frac{1}{2}\sum_{u_1\in\{0,1\}} W_2(y_0,y_1\mid u_0,u_1)

W_2 的定义代进去,就是:

W^-(y_0,y_1\mid u_0) = \frac{1}{2}\sum_{u_1\in\{0,1\}} W(y_0\mid u_0\oplus u_1)\,W(y_1\mid u_1)

这就是 W^- 的来源。

这里最容易卡住的是前面的 \frac{1}{2}\sum。它不是凭空来的,而是因为:

  • 我们正在看 u_0 这个子信道。
  • u_1 还没有被判定。
  • u_0 来说,u_1 是一个未知干扰项。
  • 所以必须把 u_1=0u_1=1 两种可能平均掉。

这也解释了为什么 W^- 往往会变差:判断 u_0 时,接收端被迫面对一个未知的 u_1

第二个子信道 W^+:为什么可以知道 u_0

再看 u_1

当接收端判断 u_1 时,Polar 的逐次理解方式是假设 u_0 已经被前一步正确判定。因此 u_0 可以作为边信息提供给接收端。

所以 W^+ 的输出不只是 (y_0,y_1),还包括已经知道的 u_0。也就是说,W^+ 的输出可以写成 (y_0,y_1,u_0)

第二个子信道定义为:

W^+(y_0,y_1,u_0\mid u_1) = \frac{1}{2}W_2(y_0,y_1\mid u_0,u_1)

W_2 展开:

W^+(y_0,y_1,u_0\mid u_1) = \frac{1}{2} W(y_0\mid u_0\oplus u_1)\,W(y_1\mid u_1)

这里也有一个 \frac{1}{2},但含义和刚才略有不同。它来自 u_0 在分析时等概率取 0 或 1;同时 u_0 会作为输出边信息的一部分被提供给判断 u_1 的接收端。

这解释了为什么 W^+ 往往会变好:判断 u_1 时,接收端不仅有 (y_0,y_1),还知道 u_0。信息更多,判断自然更可靠。

把两者放在一起看:

子信道要判断的比特接收端拥有的信息关键差别
W^-u_0(y_0,y_1)u_1 未知,需要平均
W^+u_1(y_0,y_1,u_0)u_0 已知,是边信息

这张表就是 channel splitting 的核心。

用 BEC(\epsilon) 完整算一遍

现在只看公式还不够。我们用最容易手算的二元擦除信道 BEC(\epsilon)W^-W^+ 算出来。

BEC 的输出字母表是:

\mathcal{Y}=\{0,1,\mathsf{e}\}

其中 \mathsf{e} 表示擦除。信道规则是:

  • 发送 0 时,以概率 1-\epsilon 收到 0,以概率 \epsilon 收到 \mathsf{e}
  • 发送 1 时,以概率 1-\epsilon 收到 1,以概率 \epsilon 收到 \mathsf{e}
  • BEC 不会把 0 错成 1,也不会把 1 错成 0;它只会告诉你“这个比特没看清”。

写成转移概率就是:

W(y\mid x)= \begin{cases} 1-\epsilon, & y=x,\\ \epsilon, & y=\mathsf{e},\\ 0, & \text{otherwise}. \end{cases}

现在看经过 Polar 二阶核以后,W^-W^+ 的擦除概率分别是多少。

W^- 为什么更差

先判断 u_0

由编码关系:

c_0=u_0\oplus u_1,\qquad c_1=u_1

如果接收端同时知道 c_0c_1,就能恢复:

u_0=c_0\oplus c_1

但是在 BEC 中,接收端看到的是 y_0,y_1。只有当 y_0 没有擦除、y_1 也没有擦除时,接收端才知道 c_0,c_1,进而知道 u_0

于是:

  • 如果 y_0\neq\mathsf{e}y_1\neq\mathsf{e},可以确定 u_0
  • 如果 y_0=\mathsf{e}y_1=\mathsf{e},就无法确定 u_0

所以 W^- 擦除的事件是:

\{y_0=\mathsf{e}\}\cup\{y_1=\mathsf{e}\}

两个物理信道独立,每个擦除概率都是 \epsilon。因此不擦除的概率是:

\Pr(y_0\neq\mathsf{e},\,y_1\neq\mathsf{e}) =(1-\epsilon)^2

所以擦除概率为:

\epsilon^-= 1-(1-\epsilon)^2 =2\epsilon-\epsilon^2

这说明:

W^-=\mathrm{BEC}(2\epsilon-\epsilon^2)

只要 0<\epsilon<1,就有:

2\epsilon-\epsilon^2>\epsilon

因为:

2\epsilon-\epsilon^2-\epsilon =\epsilon(1-\epsilon)>0

所以 W^- 的擦除概率比原来的 W 更大。擦除概率越大,信道越差。因此 W^- 变差了。

这一步是第一次真正看到“坏的更坏”。

W^+ 为什么更好

再判断 u_1

这时 u_0 已经作为边信息给了接收端。接收端知道:

c_0=u_0\oplus u_1,\qquad c_1=u_1

要恢复 u_1,有两条路:

第一条路:如果 y_1\neq\mathsf{e},接收端直接知道 c_1,而 c_1=u_1。所以 u_1 立刻确定。

第二条路:如果 y_1=\mathsf{e},但 y_0\neq\mathsf{e},接收端知道 c_0。又因为 u_0 已知,所以:

u_1=c_0\oplus u_0

也就是说,只要 y_0y_1 里面至少有一个没有被擦除,u_1 就能恢复。

只有一种情况会失败:两个观测都被擦除。

y_0=\mathsf{e},\qquad y_1=\mathsf{e}

因此 W^+ 的擦除概率是:

\epsilon^+=\Pr(y_0=\mathsf{e},\,y_1=\mathsf{e})=\epsilon^2

也就是说:

W^+=\mathrm{BEC}(\epsilon^2)

只要 0<\epsilon<1,就有:

\epsilon^2<\epsilon

所以 W^+ 的擦除概率比原来的 W 更小。擦除概率越小,信道越可靠。因此 W^+ 变好了。

这就是第一次真正看到“好的更好”。

\epsilon=0.5 看见第一次极化

取一个具体数值:

\epsilon=0.5

原始信道是 BEC(0.5),也就是每个比特有一半概率被擦除。

经过一次 Polar 二阶核以后:

\epsilon^-=2\epsilon-\epsilon^2=2\times0.5-0.5^2=0.75 \epsilon^+=\epsilon^2=0.5^2=0.25

所以:

W^-=\mathrm{BEC}(0.75),\qquad W^+=\mathrm{BEC}(0.25)

同样两个原始信道,经过一次 combining 和 splitting 之后,变成了一个更差的子信道和一个更好的子信道:

信道擦除概率直观可靠性
原始 W0.5中等
W^-0.75更差
W^+0.25更好

这就是最小规模下的信道极化。

注意,这里没有凭直觉猜。我们是从 W_2W^-W^+ 的定义出发,把擦除概率一步一步算出来的。

信息量并没有凭空增加

看到一个信道变好,容易产生一个误解:是不是 Polar 变换凭空创造了可靠性?

不是。

对 BEC(\epsilon),对称容量是:

I(W)=1-\epsilon

W^-

I(W^-)=1-\epsilon^- =1-(2\epsilon-\epsilon^2) =(1-\epsilon)^2

W^+

I(W^+)=1-\epsilon^+ =1-\epsilon^2

两者相加:

I(W^-)+I(W^+) =(1-\epsilon)^2+(1-\epsilon^2) =2-2\epsilon =2I(W)

这说明两个子信道的总可靠性没有凭空增加。Polar 二阶核做的事情更像是“重新分配可靠性”:一个子信道牺牲掉,另一个子信道变得更可靠。

\epsilon=0.5 检查:

I(W)=0.5,\qquad I(W^-)=0.25,\qquad I(W^+)=0.75

于是:

I(W^-)+I(W^+)=0.25+0.75=1=2I(W)

这正好和两个原始信道的总信息量一致。

这一步很关键。极化不是把信道整体变强,而是把“中间可靠性”的信道分裂成更接近两端的子信道。

N=2 递归到 N=2^n

刚才只做了一次二阶变换:

W\quad\longrightarrow\quad (W^-,W^+)

如果继续递归,每一个子信道还可以继续分裂。

例如 N=4 时,会得到四个子信道。可以把路径记成两个符号:

W^{--},\qquad W^{-+},\qquad W^{+-},\qquad W^{++}

它们的含义是:

  • W^{--}:先走减号分支,再走减号分支。
  • W^{-+}:先走减号分支,再走加号分支。
  • W^{+-}:先走加号分支,再走减号分支。
  • W^{++}:先走加号分支,再走加号分支。

如果继续到 N=8,16,\dots,就会得到越来越多的子信道。一般地,当 N=2^n 时,会得到 N 个极化子信道:

W_N^{(0)},W_N^{(1)},\dots,W_N^{(N-1)}

这里的 i 仍然使用 0-based 索引。第 i 个子信道表示:在前面 u_0,u_1,\dots,u_{i-1} 已经作为边信息给出的条件下,当前比特 u_i 面对的等效信道。

符号化地写,第 i 个子信道是:

W_N^{(i)}(\underline{y}_0^{N-1},\underline{u}_0^{i-1}\mid u_i) = \sum_{\underline{u}_{i+1}^{N-1}\in\mathcal{X}^{N-i-1}} \frac{1}{2^{N-1}} W_N(\underline{y}_0^{N-1}\mid\underline{u}_0^{N-1})

这个公式看起来比 N=2 复杂,但思想完全一样:

  • 当前要判断的是 u_i
  • 前面的 \underline{u}_0^{i-1} 已经作为边信息提供。
  • 后面的 \underline{u}_{i+1}^{N-1} 还未知,所以要对它们求和平均。
  • 所有物理观测 \underline{y}_0^{N-1} 都可以用来帮助判断当前位。

这就是从 W^-W^+ 推广到 W_N^{(i)} 的本质。

形式化定义:极化到底在说什么

现在可以说什么是信道极化了。

直观版本:

递归使用 Polar 二阶核以后,原来可靠性相同的一批信道,会逐渐分化成两类:一类越来越可靠,另一类越来越不可靠。

形式化一点说,设 N=2^n,递归构造得到 N 个子信道 W_N^{(i)}。当 N 越来越大时,大多数子信道的可靠性会接近两个极端:

  • 一部分子信道接近完美信道。
  • 另一部分子信道接近完全无用的信道。

如果用对称容量 I(\cdot) 描述可靠性,那么极化现象可以粗略写成:

I(W_N^{(i)})\approx 1 \quad\text{or}\quad I(W_N^{(i)})\approx 0

更完整的极化结论是:对任意固定的 0<\delta<1,当 N\to\infty 时,可靠子信道所占比例会趋近于原始信道容量 I(W)

\lim_{N\to\infty} \frac{1}{N} \left|\{i\in[0,N-1]:I(W_N^{(i)})>1-\delta\}\right| =I(W)

而很差的子信道所占比例会趋近于 1-I(W)

\lim_{N\to\infty} \frac{1}{N} \left|\{i\in[0,N-1]:I(W_N^{(i)})<\delta\}\right| =1-I(W)

这两条式子的意思不是说有限码长下每个子信道都已经等于 0 或 1,而是说随着码长增大,子信道可靠性会越来越向两端集中。

这就是 Polar 码名字里的 “polarization”。

这和冻结位、信息位有什么关系

现在终于可以解释为什么 Polar 编码前要选择信息位集合 \mathcal{A} 和冻结集合 \mathcal{A}^c 了。

因为极化以后,N 个位置不再等价:

  • 可靠的子信道适合承载信息比特。
  • 不可靠的子信道不适合承载信息比特,于是把这些位置冻结为公开已知值,通常设为 0。

所以构造 Polar 码的核心问题不是“矩阵第几行看起来复杂”,而是:

在给定信道 W、码长 N 和信息长度 K 时,哪些子信道 W_N^{(i)} 更可靠?

可靠性排序序列写作:

\boldsymbol{\pi}=(\pi_0,\pi_1,\dots,\pi_{N-1})

若按照可靠性从高到低排列,就可以选择前 K 个索引形成信息集合:

\mathcal{A}=\{\pi_0,\pi_1,\dots,\pi_{K-1}\}

这里必须注意:\mathcal{A} 本身是集合,不自带顺序。真正有顺序的是可靠性排序序列 \boldsymbol{\pi}

这也解释了第 4 篇中那个看似突然出现的信息集合 \mathcal{A}。在那里我们为了演示编码过程直接指定了 \mathcal{A}。从这一篇开始,我们知道了:真正的 \mathcal{A} 应该来自子信道可靠性比较。

容易混淆的几个点

第一,极化不是编码矩阵本身的“形状好看”。编码矩阵 \mathbf{G}_N 只是实现递归耦合的代数形式。真正重要的是它诱导出的子信道 W_N^{(i)} 可靠性分化。

第二,W^-W^+ 不是两个新的物理信道。它们是从两个原始物理信道 W 和二阶核组合以后,在逐位判断视角下得到的等效子信道。

第三,W^- 变差不是因为少用了一个观测。判断 u_0 时也能看到 (y_0,y_1)。它变差的根本原因是 u_1u_0 来说未知,需要被平均掉。

第四,W^+ 变好不是因为信道噪声变小了。物理信道仍然是同样的 W。它变好是因为判断 u_1 时,前面的 u_0 已经作为边信息提供。

第五,极化不等于所有有限码长子信道都已经完美或完全无用。在短码长下,很多子信道仍然处在中间状态,所以后面才需要专门讨论如何衡量可靠性、如何排序、如何构造。

小结

这一篇我们从 N=2 的最小例子开始,把信道极化的第一步完整算了出来。

两个独立使用的基础信道 W,经过二阶核:

c_0=u_0\oplus u_1,\qquad c_1=u_1

会先组合成:

W_2(y_0,y_1\mid u_0,u_1) = W(y_0\mid u_0\oplus u_1)W(y_1\mid u_1)

再分裂成:

W^-(y_0,y_1\mid u_0) = \frac{1}{2}\sum_{u_1\in\{0,1\}} W_2(y_0,y_1\mid u_0,u_1) W^+(y_0,y_1,u_0\mid u_1) = \frac{1}{2}W_2(y_0,y_1\mid u_0,u_1)

在 BEC(\epsilon) 上,它们分别变成:

W^-=\mathrm{BEC}(2\epsilon-\epsilon^2),\qquad W^+=\mathrm{BEC}(\epsilon^2)

\epsilon=0.5 时:

W^-=\mathrm{BEC}(0.75),\qquad W^+=\mathrm{BEC}(0.25)

这就是第一次极化:一个子信道更差,一个子信道更好。

下一篇我们要回答一个自然的问题:既然子信道会变好或变差,应该用什么量来衡量“好”和“差”?这会引出两个非常重要的指标:对称容量 I(W) 和 Bhattacharyya 参数 Z(W)

参考

  • E. Arikan, “Channel polarization: A method for constructing capacity-achieving codes for symmetric binary-input memoryless channels,” IEEE Transactions on Information Theory, vol. 55, no. 7, pp. 3051-3073, Jul. 2009, doi: 10.1109/TIT.2009.2021379.

评论

  1. 天蓝蓝
    4 天前
    2026-8-18 17:47:47

    优秀ヾ(≧∇≦*)ゝ

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇