(6) Bhattacharyya参数与对称容量:如何衡量子信道好坏

Bhattacharyya参数与对称容量:如何衡量子信道好坏

上一篇我们已经看见了信道极化第一次如何发生。两个相同的基础信道 W,经过二阶核以后,会分裂成两个等效子信道:

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

在 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)

直觉上,我们会说 W^- 变差了,W^+ 变好了。

但真正构造 Polar 码时,不能只说“好像更好”或者“看起来更差”。发送端必须决定哪些位置放信息比特,哪些位置放冻结位。也就是说,我们需要一个可以比较子信道可靠性的量。

这一篇就解决这个问题:如何量化子信道好坏。

本文重点讲两个指标:

  • 对称容量 I(W):信道在均匀二元输入下能承载多少信息。
  • Bhattacharyya 参数 Z(W):两个输入对应的输出分布有多容易混淆。

为了不让定义停在抽象层面,本文会用 BEC(\epsilon) 做一个完整的 N=4 小算例。我们不只引用递推公式,而是把每一层的事件关系和公式来源写清楚,最后算出四个子信道的 Z(W_4^{(i)})I(W_4^{(i)}) 和可靠性排序。

为什么必须定义“子信道好不好”

Polar 码的核心策略可以概括成一句话:

把信息比特放到可靠的子信道上,把冻结比特放到不可靠的子信道上。

按照前面的符号约定,码长为 N,信息长度为 K,信息位集合写作 \mathcal{A},冻结位集合写作 \mathcal{A}^c。编码输入向量满足:

\underline{u}_{\mathcal{A}}=\underline{m}_0^{K-1},\qquad \underline{u}_{\mathcal{A}^c}=\underline{0}

这里真正困难的地方不是把 \underline{m}_0^{K-1} 填进 \underline{u}_0^{N-1},而是先决定 \mathcal{A} 到底包含哪些索引。

i 个极化子信道写作 W_N^{(i)},这里 i\in[0,N-1],全文采用 0-based 索引。构造时需要比较:

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

哪些更可靠,哪些更不可靠。

注意,\mathcal{A} 是集合,本身没有顺序。真正用于构造的是一个可靠性排序序列,例如:

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

其中 \pi_0 表示最可靠的子信道索引,\pi_1 表示第二可靠的子信道索引,依此类推。若要选择 K 个信息位,就取排序序列中的前 K 个索引组成 \mathcal{A}

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

所以本文要做的事情就是:给“可靠”一个可计算的定义。

对称容量 I(W):信道能承载多少信息

先看第一个指标:对称容量。

设基础二元输入信道为:

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

其中 x\in\mathcal{X} 是输入比特,y\in\mathcal{Y} 是输出观测,转移概率写作 W(y\mid x)

对称容量 I(W) 指的是:当输入 x\{0,1\} 上均匀分布时,输入和输出之间的互信息。

写成公式是:

I(W) = \sum_{x\in\{0,1\}}\sum_{y\in\mathcal{Y}} \frac{1}{2}W(y\mid x) \log_2 \frac{W(y\mid x)} {\frac{1}{2}W(y\mid 0)+\frac{1}{2}W(y\mid 1)}

这个式子看起来有点长,但含义并不神秘。

分母:

\frac{1}{2}W(y\mid 0)+\frac{1}{2}W(y\mid 1)

是输出 y 的总体概率,因为输入 0 和 1 各占一半。

分子:

W(y\mid x)

是已知输入为 x 时看到 y 的概率。

因此这个比值衡量的是:看到 y 以后,它对判断输入 x 到底有多大帮助。

直观上:

  • 如果 I(W)=1,说明输出几乎完整告诉我们输入是哪一个二元符号。
  • 如果 I(W)=0,说明输出几乎不提供关于输入的信息。
  • 对二元输入信道,I(W) 通常落在 [0,1] 之间。

所以从 I(W) 的角度看:

I(W) 越大,信道越好。

Bhattacharyya 参数 Z(W):两个输入有多容易混淆

第二个指标是 Bhattacharyya 参数,记作 Z(W)。它的定义是:

Z(W)=\sum_{y\in\mathcal{Y}}\sqrt{W(y\mid 0)W(y\mid 1)}

这个式子衡量的是两个条件分布 W(\cdot\mid 0)W(\cdot\mid 1) 的重叠程度。

如果某个输出 y 在输入 0 和输入 1 时都很容易出现,那么:

W(y\mid 0)W(y\mid 1)

会比较大,它对 Z(W) 的贡献也会比较大。这表示看到 y 时,接收端更容易混淆 0 和 1。

反过来,如果输入 0 和输入 1 对应的输出分布几乎不重叠,那么大多数 y 不会同时让 W(y\mid 0)W(y\mid 1) 都大,Z(W) 就会比较小。

因此:

  • Z(W)=0:两个输入完全容易区分,信道很好。
  • Z(W)=1:两个输入很难区分,信道很差。

Z(W) 的角度看:

Z(W) 越小,信道越好。

这和 I(W) 的方向相反。I(W) 越大越好,Z(W) 越小越好。

I(W)Z(W) 分别擅长描述什么

这两个量都能描述可靠性,但视角不同。

指标越大还是越小更好直观含义构造时的读法
I(W)越大越好输出包含多少输入信息选择容量大的子信道
Z(W)越小越好两个输入有多容易混淆选择混淆小的子信道

对称容量更接近“这个信道能承载多少信息”的问题。Bhattacharyya 参数更接近“这个信道判错风险有多大”的问题。

在 Polar 码分析里,Z(W) 很常用,因为它在递归极化下有很漂亮的界和递推关系。尤其对 BEC 来说,它直接等于擦除概率,计算非常清楚。

对于二元输入离散无记忆信道,I(W)Z(W) 之间有常用关系:

1-Z(W)\le I(W)\le \sqrt{1-Z(W)^2}

这个不等式说明:Z(W) 小的时候,I(W) 会倾向于大;Z(W) 大的时候,I(W) 会倾向于小。它们不是同一个量,但方向上能够共同刻画信道可靠性。

BEC 场景下这两个量如何简化

接下来进入本文的主算例:BEC。

W=\mathrm{BEC}(\epsilon),输入为 0 或 1,输出字母表为:

\mathcal{Y}=\{0,1,?\}

其中 ? 表示擦除。BEC 的转移概率是:

W(0\mid 0)=1-\epsilon,\qquad W(?\mid 0)=\epsilon,\qquad W(1\mid 0)=0 W(1\mid 1)=1-\epsilon,\qquad W(?\mid 1)=\epsilon,\qquad W(0\mid 1)=0

先算 Z(W)。按照定义:

Z(W) = \sum_{y\in\{0,1,?\}}\sqrt{W(y\mid 0)W(y\mid 1)}

把三个输出逐项展开:

Z(W) = \sqrt{W(0\mid 0)W(0\mid 1)} +\sqrt{W(1\mid 0)W(1\mid 1)} +\sqrt{W(?\mid 0)W(?\mid 1)}

代入 BEC 的转移概率:

Z(W) = \sqrt{(1-\epsilon)\cdot 0} +\sqrt{0\cdot(1-\epsilon)} +\sqrt{\epsilon\cdot\epsilon} =\epsilon

所以对 BEC:

Z(W)=\epsilon

再看 I(W)。BEC 的输出有两种情况:

  • 概率 1-\epsilon 不擦除,此时输出直接告诉接收端输入是 0 还是 1。
  • 概率 \epsilon 擦除,此时输出 ? 不提供输入信息。

所以平均下来,每次信道使用能传递的信息量是:

I(W)=(1-\epsilon)\cdot 1+\epsilon\cdot 0=1-\epsilon

因此对 BEC:

I(W)=1-\epsilon,\qquad Z(W)=\epsilon

这就是 BEC 特别适合作为入门例子的原因。它把“信道好坏”直接变成了一个可以手算的擦除概率。

N=2 开始:第一层可靠性分裂

现在取:

\epsilon=0.5

也就是基础信道:

W=\mathrm{BEC}(0.5)

于是:

Z(W)=0.5,\qquad I(W)=0.5

经过一次 Polar 二阶核,得到 W^-W^+。上一篇已经从 BEC 的擦除事件角度推导过:

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

这里我们重新把每一步和 ZI 联系起来。

W^- 为什么变成 \mathrm{BEC}(2\epsilon-\epsilon^2)

W^- 来说,接收端要判断 u_0,但 u_1 还未知。二阶核是:

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

若两个物理输出都没有擦除,那么接收端知道 c_0c_1,可以恢复:

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

如果任意一个物理输出被擦除,就无法唯一确定 u_0

设两个物理信道的擦除事件分别为 E_0E_1,且:

\Pr(E_0)=\epsilon,\qquad \Pr(E_1)=\epsilon

由于两次物理信道独立:

\Pr(E_0\cap E_1)=\epsilon^2

W^- 被擦除的事件是“至少一个物理输出被擦除”,即 E_0\cup E_1。所以:

\Pr(E_0\cup E_1) = \Pr(E_0)+\Pr(E_1)-\Pr(E_0\cap E_1) = \epsilon+\epsilon-\epsilon^2 = 2\epsilon-\epsilon^2

因此:

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

代入 \epsilon=0.5

Z(W^-)=2(0.5)-0.5^2=0.75 I(W^-)=1-0.75=0.25

W^+ 为什么变成 \mathrm{BEC}(\epsilon^2)

W^+ 来说,接收端要判断 u_1,并且 u_0 已经作为边信息给出。

仍然从:

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

出发。判断 u_1 时有两条路:

  • 如果 c_1 没擦除,直接由 c_1=u_1 得到 u_1
  • 如果 c_1 擦除了,但 c_0 没擦除,因为 u_0 已知,也可以由 u_1=u_0\oplus c_0 得到 u_1

所以 W^+ 只有在两个物理输出都擦除时才会擦除。也就是事件 E_0\cap E_1

\Pr(E_0\cap E_1)=\epsilon^2

因此:

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

代入 \epsilon=0.5

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

第一层分裂结果是:

子信道擦除事件ZI
W^-E_0\cup E_10.750.25
W^+E_0\cap E_10.250.75

这说明 W^- 更差,W^+ 更好。

N=4 主算例:四个子信道怎么逐层算出来

现在继续递归一次,得到 N=4 的四个子信道:

W_4^{(0)}=W^{--},\qquad W_4^{(1)}=W^{-+},\qquad W_4^{(2)}=W^{+-},\qquad W_4^{(3)}=W^{++}

这里上标中的两个符号表示两层分裂路径。例如 W^{-+} 表示先从 W 走到 W^-,再从 W^- 走到它的加号分支。

为了把推导写清楚,我们不要只说“套公式”。对 BEC 来说,每个中间子信道仍然是一个 BEC。若某个中间信道的擦除概率是 \delta,那么再做一次二阶极化时:

  • 减号分支需要两个下层输出都不擦除才可靠,所以擦除事件是并集。
  • 加号分支只在两个下层输出都擦除时失败,所以擦除事件是交集。

因此从事件出发有:

Z(V^-) = \Pr(F_0\cup F_1) = \Pr(F_0)+\Pr(F_1)-\Pr(F_0\cap F_1) = 2\delta-\delta^2 Z(V^+) = \Pr(F_0\cap F_1) = \delta^2

这里 V=\mathrm{BEC}(\delta)F_0F_1 是两次独立使用 V 时的擦除事件。

下面逐个计算四个 N=4 子信道。

计算 W^{--}

W^{--} 是从第一层的 W^- 再走减号分支得到的。

第一层已经有:

Z(W^-)=0.75

也就是说,此时中间信道的擦除概率是:

\delta=0.75

第二层走减号分支,需要两个独立的 W^- 输出都不擦除才能可靠,因此擦除事件是并集。设这两个事件为 F_0F_1,则:

Z(W^{--}) = \Pr(F_0\cup F_1) = 2\delta-\delta^2

代入 \delta=0.75

Z(W^{--}) = 2(0.75)-0.75^2 = 1.5-0.5625 = 0.9375

因为 BEC 中 I=1-Z,所以:

I(W^{--})=1-0.9375=0.0625

计算 W^{-+}

W^{-+} 是从第一层的 W^- 再走加号分支得到的。

仍然有:

\delta=Z(W^-)=0.75

第二层走加号分支时,只有两个独立的 W^- 输出都擦除才会失败,因此擦除事件是交集:

Z(W^{-+}) = \Pr(F_0\cap F_1) = \delta^2

代入 \delta=0.75

Z(W^{-+})=0.75^2=0.5625 I(W^{-+})=1-0.5625=0.4375

计算 W^{+-}

W^{+-} 是从第一层的 W^+ 再走减号分支得到的。

第一层已经有:

Z(W^+)=0.25

所以此时中间信道的擦除概率是:

\delta=0.25

第二层走减号分支,擦除事件仍然是并集:

Z(W^{+-}) = \Pr(F_0\cup F_1) = 2\delta-\delta^2

代入 \delta=0.25

Z(W^{+-}) = 2(0.25)-0.25^2 = 0.5-0.0625 = 0.4375 I(W^{+-})=1-0.4375=0.5625

计算 W^{++}

W^{++} 是从第一层的 W^+ 再走加号分支得到的。

此时:

\delta=Z(W^+)=0.25

第二层走加号分支,擦除事件是交集:

Z(W^{++}) = \Pr(F_0\cap F_1) = \delta^2

代入 \delta=0.25

Z(W^{++})=0.25^2=0.0625 I(W^{++})=1-0.0625=0.9375

到这里,N=4 的四个子信道都已经从事件关系算出来了,而不是只凭递推公式写结论。

一张图看清 N=4 的可靠性递推

下面这张图把刚才的计算压缩成一棵递推树。每走一个减号分支,擦除事件变成并集;每走一个加号分支,擦除事件变成交集。

N=4 BEC 子信道可靠性递推图

图里最重要的是两个方向:

  • 从左到右看,Z 越来越小,I 越来越大,子信道越来越可靠。
  • 从上到下看,极化并没有改变总信息量,而是把可靠性重新分配到不同子信道上。

四个子信道的结果汇总如下:

子信道路径Z(W_4^{(i)})I(W_4^{(i)})可靠性
W_4^{(0)}W^{--}0.93750.0625最差
W_4^{(1)}W^{-+}0.56250.4375较差
W_4^{(2)}W^{+-}0.43750.5625较好
W_4^{(3)}W^{++}0.06250.9375最好

顺便检查一下总信息量是否守恒:

I(W_4^{(0)})+I(W_4^{(1)})+I(W_4^{(2)})+I(W_4^{(3)}) = 0.0625+0.4375+0.5625+0.9375 = 2

而原始四次 BEC(0.5) 的总对称容量也是:

4I(W)=4\times 0.5=2

所以 Polar 变换没有凭空制造信息量。它只是把四个“中等可靠”的信道,变成了可靠性更分散的四个子信道。

从可靠性排序得到信息位集合

现在就可以排序了。

因为对 BEC 来说 Z(W) 越小越可靠,所以按照 Z(W_4^{(i)}) 从小到大排序:

Z(W_4^{(3)})=0.0625 < Z(W_4^{(2)})=0.4375 < Z(W_4^{(1)})=0.5625 < Z(W_4^{(0)})=0.9375

对应的可靠性排序序列是:

\boldsymbol{\pi}=(3,2,1,0)

这里必须再次强调:\boldsymbol{\pi} 是有序序列,而 \mathcal{A} 是集合。不要说“取集合中的前 K 个”,因为集合没有前后顺序。正确说法是:先定义可靠性排序序列 \boldsymbol{\pi},再从这个序列里取前 K 个索引。

例如取 N=4,K=2。那么应该选择最可靠的两个子信道 W_4^{(3)}W_4^{(2)} 放信息比特:

\mathcal{A}=\{2,3\}

冻结集合相对于全集 [0,N-1]=[0,3] 定义:

\mathcal{A}^c=[0,3]\setminus\mathcal{A}=\{0,1\}

于是编码输入向量满足:

\underline{u}_{\mathcal{A}}=\underline{m}_0^{K-1},\qquad \underline{u}_{\mathcal{A}^c}=\underline{0}

在这个例子里,信息位放在索引 2 和 3,冻结位放在索引 0 和 1。

这就是从可靠性指标走到 Polar 码构造的最小闭环:

  1. 先定义可靠性指标 Z(W)I(W)
  2. 再计算每个子信道 W_N^{(i)} 的可靠性。
  3. 然后得到可靠性排序序列 \boldsymbol{\pi}
  4. 最后由 \boldsymbol{\pi} 选出信息位集合 \mathcal{A}

为什么 W^{-+}W^{+-} 的顺序值得注意

在这个 N=4 例子里,有一个很适合初学者观察的细节:

Z(W^{-+})=0.5625,\qquad Z(W^{+-})=0.4375

所以:

W^{+-}\ \text{比}\ W^{-+}\ \text{更可靠}

这说明可靠性不能只数路径里有几个加号或减号。W^{-+}W^{+-} 都有一个减号和一个加号,但顺序不同,结果也不同。

原因是减号分支和加号分支是非线性变换:

\delta\mapsto 2\delta-\delta^2,\qquad \delta\mapsto \delta^2

先变差再变好,和先变好再变差,不一定得到相同的可靠性。

这也提醒我们:真实 Polar 码构造不能靠“直觉数符号”完成,必须有明确的可靠性计算或排序方法。

有限码长下可靠性指标的局限

到目前为止,我们用 BEC(0.5)N=4 得到了一个非常清楚的排序:

\boldsymbol{\pi}=(3,2,1,0)

但这不是说所有信道、所有码长、所有译码算法下都可以照搬这个排序。

这里有三个边界要记住。

第一,BEC 是最容易分析的理想模型。真实无线通信里更常见的是 AWGN 这类连续输出信道,接收端拿到的是实数观测 \underline{y} 或原始信道 LLR \underline{\lambda},不是简单的擦除符号。

第二,有限码长下,子信道通常没有完全极化。比如刚才 N=4 时,中间两个子信道的 Z 分别是 0.5625 和 0.4375,它们并没有接近 0 或 1。

第三,可靠性指标服务于构造,但最终性能还会受到译码算法影响。后面讲 SC、SCL 和 CA-SCL 时会看到,同一个 \mathcal{A} 在不同译码器下可能表现不同。

因此,第 6 篇解决的是“如何量化和排序”的基础问题。后面的第 8、9、10 篇会继续讨论真实构造时如何获得可靠性序列。

容易混淆的几个点

第一,不要把 I(W)Z(W) 的方向搞反。I(W) 越大越好,Z(W) 越小越好。

第二,不要把 \underline{y} 当成 LLR。本文没有展开 LLR 递推,\underline{y} 仍然只表示接收观测。如果需要写原始 LLR,应写作 \underline{\lambda}

第三,不要说“集合 \mathcal{A} 的前 K 个”。应该先定义可靠性排序序列 \boldsymbol{\pi},再取序列的前 K 个索引组成 \mathcal{A}

第四,Z(W) 不是错误概率本身。它是一个可靠性度量,和判错概率密切相关,但不能在所有上下文里直接等同。

第五,N=4 的例子只是为了把机制算清楚。实际工程码长通常大得多,可靠性排序也需要更系统的方法。

小结

这一篇我们回答了一个非常关键的问题:极化以后,如何衡量子信道好坏?

对称容量:

I(W) = \sum_{x\in\{0,1\}}\sum_{y\in\mathcal{Y}} \frac{1}{2}W(y\mid x) \log_2 \frac{W(y\mid x)} {\frac{1}{2}W(y\mid 0)+\frac{1}{2}W(y\mid 1)}

衡量信道能承载多少信息,越大越好。

Bhattacharyya 参数:

Z(W)=\sum_{y\in\mathcal{Y}}\sqrt{W(y\mid 0)W(y\mid 1)}

衡量两个输入对应输出分布的混淆程度,越小越好。

在 BEC(\epsilon) 中:

I(W)=1-\epsilon,\qquad Z(W)=\epsilon

对于 N=4\epsilon=0.5,我们完整算出:

\begin{array}{c|c|c|c} \text{子信道} & \text{路径} & Z & I\\ \hline W_4^{(0)} & W^{--} & 0.9375 & 0.0625\\ W_4^{(1)} & W^{-+} & 0.5625 & 0.4375\\ W_4^{(2)} & W^{+-} & 0.4375 & 0.5625\\ W_4^{(3)} & W^{++} & 0.0625 & 0.9375 \end{array}

按照 Z 从小到大排序:

\boldsymbol{\pi}=(3,2,1,0)

如果 K=2,则:

\mathcal{A}=\{2,3\},\qquad \mathcal{A}^c=\{0,1\}

到这里,Polar 码构造的第一条主线已经出现:对子信道做可靠性排序,再选择最可靠的 K 个位置放信息比特。

参考

  • 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.
暂无评论

发送评论 编辑评论


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