转载-极化码系列(2)-极化码的编码原理

前言

在《Polar Code(1)概述》中建立了PolarCode初步印象,本文将详细阐述Polar Code的编码原理。Polar Code是通过引入信道极化的概念而建立的。信道极化分两个阶段,分别是信道联合和信道分裂。通过信道的联合和分裂,各个子信道的对称容量将呈现两极分化的趋势:随着码长 N N N的增加,一部分子信道的容量趋于1,而其余子信道的容量趋于0。Polar Code正是利用这一信道极化现象,在容量趋于1的 K K K个子信道上传输信息比特,在其余子信道上传输冻结比特(即收发双方已知的固定比特,通常设置为全零)。由此构成的信道编码即为Polar Code,码率为 K N \frac{K}{N} NK

预备知识

一个二进制输入离散无记忆信道(B-DMC)可表示为 W : X → Y W:X\rightarrow Y W:XY X X X是输入符号集合, Y Y Y是输出符号集合,转移概率为 W ( y ∣ x ) , x ∈ X , y ∈ Y W(y \vert x),x \in X,y \in Y W(yx),xX,yY。由于信道是二进制输入,集合 X = { 0 , 1 } ; X=\{0,1\}; X={0,1}; Y Y Y W ( Y ∣ x ) W(Y\vert x) W(Yx)是任意值。对信道 W W W N N N次使用后的信道可以表示为 W N W^N WN,则信道 W N : X N → Y N W^N:X^N\rightarrow Y^N WN:XNYN的转移概率为 W N ( y 1 N ∣ x 1 N ) = ∏ i = 1 N W ( y ∣ x ) W ^N(y_{1}^{N}\vert x_{1}^{N})=\prod_{i=1}^NW(y\vert x) WN(y1Nx1N)=i=1NW(yx)
对于一个B-DMC信道 W W W,有两个重要的参数:
对称容量(Symmetric Capacity):
I ( W ) ≜ ∑ y ∈ Y ∑ x ∈ X 1 2 W ( y ∣ x ) l o g W ( y ∣ x ) 1 2 W ( y ∣ 0 ) + 1 2 W ( y ∣ 1 ) I(W)\triangleq\sum\limits_{y\in Y}\sum\limits_{x\in X}\frac{1}{2}W(y\vert x)log\frac{W(y\vert x)}{\frac{1}{2}W(y\vert 0)+\frac{1}{2}W({y\vert 1})} I(W)yYxX21W(yx)log21W(y0)+21W(y1)W(yx)
巴氏参数(Bhattacharyya Parameter):
Z ( W ) ≜ ∑ y ∈ Y W ( y ∣ 0 ) W ( y ∣ 1 ) Z(W)\triangleq\sum\limits_{y\in Y}\sqrt{W(y\vert0)W(y\vert1)} Z(W)yYW(y0)W(y1)
I ( W ) I(W) I(W)是对信道速率的度量, Z ( W ) Z(W) Z(W)是对信道可靠性的度量。 I ( W ) I(W) I(W)是信道 W W W等概率输入的情况下可靠传输时的最大速率。而 Z ( W ) Z(W) Z(W)是信道 W W W只传输0或1下最大似然判决错误概率的上限。
I ( W ) I(W) I(W) Z ( W ) Z(W) Z(W)的取值范围均为 [ 0 , 1 ] [0,1] [0,1]。由于对数以2为底,因此码率和信道容量的单位为bit。 I ( W ) I(W) I(W) Z ( W ) Z(W) Z(W)满足这样的关系:当且仅当 Z ( W ) ≈ 0 Z(W)\approx0 Z(W)0时, I ( W ) ≈ 1 I(W)\approx1 I(W)1;当且仅当 Z ( W ) ≈ 1 Z(W)\approx1 Z(W)1时, I ( W ) ≈ 0 I(W)\approx0 I(W)0

二进制对称信道BEC和二进制删除信道BSC

W W W为对称信道时, I ( W ) 等 于 香 农 容 量 I(W)等于香农容量 I(W)。所谓信道对称,既满足:对于任意 y ∈ Y y\in Y yY,有 W ( y ∣ 0 ) = W ( − y ∣ 1 ) W(y\vert 0)=W(-y\vert1) W(y0)=W(y1)
二进制对称信道(Binary Symmetric Channel,BSC)和二进制删除信道(Binary Erasure Channel,BEC)都是满足对称性的B-DMC。
具体的说,对于 Y = { 0 , 1 } Y =\{0,1\} Y={0,1},满足 W ( 0 ∣ 0 ) = W ( 1 ∣ 1 ) W(0\vert0)=W(1\vert1) W(00)=W(11) W ( 1 ∣ 0 ) = W ( 0 ∣ 1 ) W(1\vert0)=W(0\vert1) W(10)=W(01)的B-DMC就是BSC。
对于 y ∈ Y y\in Y yY,满足 W ( y ∣ 0 ) W ( y ∣ 1 ) = 0 W(y\vert0)W(y\vert1)=0 W(y0)W(y1)=0 W ( y ∣ 0 ) = W ( y ∣ 1 ) W(y\vert 0)=W(y\vert 1) W(y0)=W(y1)的B-DMC为BEC。对于BEC,符号 y y y称为删除符号(Erasure Symbol)。

基本的数学表示说明

行向量 ( a 1 , . . . , a N ) (a_1,...,a_N) (a1,...,aN)在这里简写为 a 1 N a_1^N a1N。对于给定的行向量 a 1 N a_1^N a1N,其子向量表示为 a i j , 1 ≤ i , j ≤ N a_i^j,1\leq i,j\leq N aij,1i,jN,且 i ≤ j i\leq j ij。对于给定的 a 1 N a_1^N a1N A ⊂ 1 , . . . , N A\subset{1,...,N} A1,...,N,记 a A a_A aA表示子向量 ( a i : i ∈ A ) (a_i:i\in A) (ai:iA)。记 a 1 , o j a_{1,o}^j a1,oj表示奇数索引的子向量 ( a k : 1 ≤ k ≤ j ; k ∈ o d d ) (a_k:1\leq k \leq j;k \in odd) (ak:1kj;kodd)。记 a 1 , e j a_{1,e}^j a1,ej表示偶数索引的子向量 ( a k : 1 ≤ k ≤ j ; k ∈ e v e n ) (a_k:1\leq k \leq j;k \in even) (ak:1kj;keven)
举个栗子: a 1 5 = ( 5 , 4 , 6 , 2 , 1 ) a_1^5=(5,4,6,2,1) a15=(5,4,6,2,1),其中 a 2 4 = ( 4 , 6 , 2 ) a_2^4=(4,6,2) a24=(4,6,2) a 1 , e 5 = ( 4 , 2 ) a_{1,e}^5=(4,2) a1,e5=(4,2) a 1 , o 5 = ( 5 , 6 , 1 ) a_{1,o}^5=(5,6,1) a1,o5=(5,6,1),全零向量则记为 0 1 N 0_1^N 01N
在此讨论的向量、矩阵的运算均是二元域上的运算,即 G F ( 2 ) GF(2) GF(2)。记 ⊕ \oplus 为模 2 2 2加,记 ⊗ \otimes K r o n e c k e r P o w e r Kronecker Power KroneckerPower
A ⊗ n A^{\otimes n} An表示为A的n次 K r o n e c k e r P o w e r Kronecker Power KroneckerPower。A的n次 K r o n e c k e r P o w e r Kronecker Power KroneckerPower有递归表示 A ⊗ n = A ⊗ A ⊗ n − 1 A^{\otimes n}=A\otimes A^{\otimes {n-1}} An=AAn1,并且定义 A ⊗ 0 ≜ [ 1 ] A^{\otimes 0}\triangleq[1] A0[1]
∣ A ∣ |A| A表示集合 A A A中元素的个数,记 1 A 1_A 1A表示为集合A的指示函数。若 x ∈ A x\in A xA,则 1 A ( x ) = 1 1_{A(x)}=1 1A(x)=1,若 x ∉ A x\notin A x/A,则 1 A ( x ) = 0 1_{A(x)}=0 1A(x)=0

信道极化

信道极化分为两个阶段:信道联合(Channel Combining)和信道分裂(Channel Splitting)阶段。

信道联合

在这一阶段,联合B-DMC W W W的N个独立副本,通过递归的方式产生一个向量信道 W N : X N → Y N W^N:X^N\rightarrow Y^N WNXNYN,其中 N N N为2的幂次 N = 2 n , n ≥ 0 N=2^n,n\ge 0 N=2n,n0。递归开始于第0级( n = 0 n=0 n=0),只使用 W W W的1个副本,并定义 W 1 ≜ W W_1\triangleq W W1W。第1级( n = 1 n=1 n=1)递归联合了两个两个独立的副本,如图1所示,得到向量信道 W 2 : X 2 → Y 2 W_2:X^2\rightarrow Y^2 W2:X2Y2,其转移概率为:
W 2 ( y 1 , y 2 ∣ u 1 , u 2 ) = W ( y 1 ∣ u 1 ⊕ u 2 ) W ( y 2 ∣ u 2 ) W_2(y_1,y_2|u_1,u_2)=W(y_1|u_1\oplus u_2)W(y_2|u_2) W2(y1,y2u1,u2)=W(y1u1u2)W(y2u2)
转载-极化码系列(2)-极化码的编码原理_第1张图片
第二级( n = 2 n=2 n=2)递归如图2所示,联合信道 W 2 W_2 W2的2个独立副本得到信道 W 4 : X 4 → Y 4 W_4:X^4\rightarrow Y^4 W4:X4Y4,其转移概率为:
W 4 ( y 1 4 ∣ u 1 4 ) = W ( y 1 2 ∣ u 1 ⊕ u 2 , u 3 ⊕ u 4 ) W 2 ( y 3 4 ∣ u 2 , u 4 ) W^4(y_1^4|u_1^4)=W(y_1^2|u_1\oplus u_2,u_3\oplus u_4)W_2(y_3^4|u_2,u_4) W4(y14u14)=W(y12u1u2,u3u4)W2(y34u2,u4)
转载-极化码系列(2)-极化码的编码原理_第2张图片
在图2中, R 4 R_4 R4是完成从 ( s 1 , s 2 , s 3 , s 4 ) (s_1,s_2,s_3,s_4) (s1,s2,s3,s4) v 1 4 = ( s 1 , s 3 , s 2 , s 4 ) v_1^4=(s_1,s_3,s_2,s_4) v14=(s1,s3,s2,s4)的置换操作(排序)。从信道 W 4 的 输 入 W 4 W_4的输入W^4 W4W4的输入的映射 u 1 4 → x 1 4 u_1^4\rightarrow x_1^4 u14x14可用公式表示为 x 1 4 = u 1 4 G 4 x_1^4=u_1^4G_4 x14=u14G4 G 4 = [ 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 ] G_4=\left [ \begin{matrix} 1 & 0 & 0 & 0 \\ 1 & 0 & 1 & 0 \\ 1 & 1 & 0 & 0 \\ 1 & 1 & 1 & 1 \end{matrix} \right] G4=1111001101010001。 因此 W 4 W_4 W4 W 4 W^4 W4的转移概率有关系式 W 4 ( y 1 4 ∣ u 1 4 ) = W 4 ( y 1 4 ∣ u 1 4 G 4 ) W_4(y_1^4|u_1^4)=W^4(y_1^4|u_1^4G_4) W4(y14u14)=W4(y14u14G4)。值得注意地是,这个所说的所有的加全部是模二加( ⊕ \oplus )。
图3所示的是递归结构的一般形式。 W N / 2 W_{N/2} WN/2的两个独立副本联合产生信道 W N W_N WN。输入向量 u 1 N u_1^N u1N进入信道 W N W_N WN,首先被转换为 s 1 N : s 2 i − 1 = u 2 i − 1 ⊕ u 2 i , 1 ≤ i ≤ N / 2 s_1^N:s_{2i-1}=u_{2i-1}\oplus u_{2i},1\leq i \leq N/2 s1N:s2i1=u2i1u2i,1iN/2 R N R_N RN表示比特反转排序操作,输入记为 s 1 N s_1^N s1N,输出记为 v 1 N = ( s 1 , s 3 , . . . , s N − 1 , s 2 , s 4 , . . . , s N ) v_1^N=(s^1,s^3,...,s^N-1,s^2,s^4,...,s^N) v1N=(s1,s3,...,sN1,s2,s4,...,sN) v 1 N v_1^N v1N则成为2个 W N / 2 W_{N/2} WN/2独立副本输入。
转载-极化码系列(2)-极化码的编码原理_第3张图片
映射 u 1 N → v 1 N u_1^N\rightarrow v_1^N u1Nv1N是二元域 G F ( 2 ) GF(2) GF(2)上的线性变换。 u 1 N → x 1 N u_1^N\rightarrow x_1^N u1Nx1N是由复合信道 W N W_N WN到原始信道 W N W^N WN的输入映射,其映射也是线性变换。因此有 x 1 N = u 1 N G N x_1^N=u_1^NG_N x1N=u1NGN。称 G N G_N GN为N维生成矩阵。信道 W N W_N WN和信道 W N W^N WN的转移概率有如下关系:
W N ( y 1 N ∣ u 1 N ) = W N ( y 1 N ∣ u 1 N G N ) W_N(y_1^N|u_1^N)=W^N(y_1^N|u_1^NG_N) WN(y1Nu1N)=WN(y1Nu1NGN)
其中 y 1 N ∈ Y N y_1^N \in Y^N y1NYN u 1 N ∈ X N u_1^N \in X^N u1NXN

信道分裂

这是信道极化的第二阶段。将信道联合构成的复合信道 W N W_N WN分裂成 N N N个二进制输入的坐标信道(Coordinate Channels) W N ( i ) : X → Y N × X i − 1 , 1 ≤ i ≤ N W_N^{(i)}:X\rightarrow Y^N\times X^{i-1},1\leq i \leq N WN(i):XYN×Xi11iN,定义其转移概率为:
W N ( i ) ( y 1 N , u 1 i − 1 ) ≜ ∑ u i + 1 ∈ X N − i 1 2 N − 1 W N ( y 1 N ∣ u 1 N ) W_N^{(i)}(y_1^N,u_1^{i-1})\triangleq \sum \limits_{u_{i+1}\in X^{N-i}}\frac{1}{2^{N-1}}W_N(y_1^N|u_1^N) WN(i)(y1N,u1i1)ui+1XNi2N11WN(y1Nu1N)
其中 ( y 1 N , u 1 i − 1 ) (y_1^N,u_1^{i-1}) (y1N,u1i1)表示 W N ( i ) W_N^{(i)} WN(i)的输入,而 u i u_i ui表示 W N ( i ) W_N^{(i)} WN(i)的输入。
奇序分裂子信道和偶序分裂子信道的转移概率由两个递归式可以得到。对任何 n ≥ 0 , N = 2 n , 1 ≤ i ≤ N / 2 n\ge 0,N=2^n,1\le i \le N/2 n0,N=2n,1iN/2,有:
W N ( 2 i − 1 ) ( y 1 N , u 1 2 i − 2 ∣ u 2 i − 1 ) = ∑ u 2 i 1 2 W N / 2 ( i ) ( y 1 N / 2 , u 1 , o 2 i − 2 ⊕ u 1 , e 2 i − 2 ∣ u 2 i − 1 ⊕ u 2 i ) ⋅ W N / 2 ( i ) ( y N / 2 + 1 N , u 1 , e 2 i − 2 ∣ u 2 i ) W_N^{(2i-1)}(y_1^N,u_1^{2i-2}|u_{2i-1})=\sum \limits_{u_{2i}} \frac{1}{2}W_{N/2}^{(i)}(y_1^{N/2},u_{1,o}^{2i-2}\oplus u_{1,e}^{2i-2}|u_{2i-1}\oplus u_{2i}) \cdot W_{N/2}^{(i)}(y_{N/2+1}^{N},u_{1,e}^{2i-2}|u_{2i}) WN(2i1)(y1N,u12i2u2i1)=u2i21WN/2(i)(y1N/2,u1,o2i2u1,e2i2u2i1u2i)WN/2(i)(yN/2+1N,u1,e2i2u2i)
W N ( 2 i ) ( y 1 N , u 1 2 i − 1 ∣ u 2 i ) = 1 2 W N / 2 ( i ) ( y 1 N / 2 , u 1 , o 2 i − 2 ⊕ u 1 , e 2 i − 2 ∣ u 2 i − 1 ⊕ u 2 i ) ⋅ W N / 2 ( i ) ( y N / 2 + 1 N , u 1 , e 2 i − 2 ∣ u 2 i ) W_N^{(2i)}(y_1^N,u_1^{2i-1}|u_{2i})=\frac{1}{2}W_{N/2}^{(i)}(y_1^{N/2},u_{1,o}^{2i-2}\oplus u_{1,e}^{2i-2}|u_{2i-1}\oplus u_{2i}) \cdot W_{N/2}^{(i)}(y_{N/2+1}^{N},u_{1,e}^{2i-2}|u_{2i}) WN(2i)(y1N,u12i1u2i)=21WN/2(i)(y1N/2,u1,o2i2u1,e2i2u2i1u2i)WN/2(i)(yN/2+1N,u1,e2i2u2i)

信道极化定理

定理1:对于任意B-DMC W W W与任意 δ ∈ ( 0 , 1 ) \delta\in(0,1) δ(0,1),当 N N N以2的幂次趋近于无穷大时,极化信道 W N ( i ) W_N^{(i)} WN(i)中,满足 I ( W N ( i ) ) ∈ ( 1 − δ , 1 ] I(W_N^{(i)})\in (1-\delta,1] I(WN(i))(1δ,1]的信道数占总的信道数 N N N的比例趋于 I ( W ) I(W) I(W)
满足 I ( W N ( i ) ) ∈ ( 0 , δ ] I(W_N^{(i)})\in (0,\delta] I(WN(i))(0,δ]的信道所占的比例趋于 1 − I ( W ) 1-I(W) 1I(W)
定理2:对于任意的B-DMC W W W I ( W ) > 0 I(W)>0 I(W)>0,且对于任意的 R < I ( W ) RR<I(W),存在一个序列集合 A N ⊂ 1 , . . . , N , N ∈ 1 , 2 , . . . , 2 n , . . . A_N\subset{1,...,N},N\in{1,2,...,2^n,...} AN1,...,N,N1,2,...,2n,...,对于所有的 i ∈ A N i\in A_N iAN,有 ∣ A N ∣ ≥ N R |A_N|\ge NR ANNR Z ( W N ( i ) ) ≤ O ( N − 5 / 4 ) Z(W_N^{(i)})\leq O(N^{-5/4}) Z(WN(i))O(N5/4)
标注:这两个定理在Arikan的论文的最后有详细的证明。

极化编码

利用极化现象构建的编码可以达到对称容量 I ( W ) I(W) I(W),称为极化编码(Polar Coding)。

极化编码的基本思想(基于线性分组码)

只在 Z ( W N ( i ) ) Z(W_N^{(i)}) Z(WN(i))趋近于0的坐标信道 W N ( i ) W_N^{(i)} WN(i)上发送信息比特。极化码具有一般的二元xianxing分组码的基本编码要素,因而可以显示地写出其生成矩阵来完成编码:
x 1 N = u 1 N G N x_1^N=u_1^NG_N x1N=u1NGN
其中 u 1 N u_1^N u1N为原始比特序列, x 1 N x_1^N x1N为编码以后的比特序列, G N G_N GN为生成矩阵,码长为 N = 2 n N=2^n N=2n
极化码的编码步骤:
1.极化信道的可靠估计
2.比特混合
3.构造生成矩阵

极化信道可靠估计(巴氏参数)

对于BEC,Arikan给出的方法是计算巴氏参数
Z ( W N ( i ) ) = ∑ y 1 N ∈ Y N ∑ u 1 i − 1 ∈ X i − 1 W N ( i ) ( y 1 N , u 1 i − 1 ∣ 0 ) W N ( i ) ( y 1 N , u 1 i − 1 ∣ 1 ) Z(W_N^{(i)})=\sum \limits_{y_1^N\in Y^N}\sum \limits_{u_1^{i-1}\in X^{i-1}}\sqrt {W_N^{(i)}(y_1^N,u_1^{i-1}|0)W_N^{(i)}(y_1^N,u_1^{i-1}|1)} Z(WN(i))=y1NYNu1i1Xi1WN(i)(y1N,u1i10)WN(i)(y1N,u1i11)
Z ( W N ( i ) ) Z(W_N^{(i)}) Z(WN(i))越小,相应的信道的对称容量也就越大;反之, Z ( W N ( i ) ) Z(W_N^{(i)}) Z(WN(i))说明该信道不可靠。
对于非BEC,如BSC信道或AWGNC,不能得到精确的巴氏参数,需要进行密度进化或高斯近似法估计信道的可靠性,详见《Polar Code(4)编码之极化信道可靠性估计》。

比特混合

在这一步的规则是:选择可靠性最大的 K K K个分裂子信道传输信息比特,其他分裂子信道传输冻结比特。这一步的输出即为原始比特 u 1 N u_1^N u1N

构造生成矩阵

生成矩阵表示为
G N = B N F ⊗ n G_N=B_NF^{\otimes n} GN=BNFn
其中 F ⊗ n F^{\otimes n} Fn表示对矩阵 F = [ 1 0 1 1 ] F=\left [ \begin{matrix} 1 & 0\\ 1 & 1 \end{matrix} \right] F=[1101] n n n次克罗内克积,有递归式 F ⊗ n = F ⊗ F ⊗ ( n − 1 ) F^{\otimes n}=F\otimes F^{\otimes (n-1)} Fn=FF(n1) B N B_N BN是排序矩阵,用于完成比特反序重排的操作。所谓的比特反序重排,就是将每个原序列的十进制序号 i ∈ { 1 , 2 , . . . , N } i \in \{1,2,...,N\} i{1,2,...,N}按二进制表示为 ( i − 1 ) → ( b n , b n − 1 , . . . , b 1 ) (i-1)\rightarrow(b_n,b_n-1,...,b_1) (i1)(bn,bn1,...,b1),其中 b n b_n bn为最高有效位;再将该二进制序列反序,得到 { b 1 , b 2 , . . . , b n } \{b_1,b_2,...,b_n\} {b1,b2,...,bn}。最后以 b 1 b_1 b1为最高有效位重新按十进制表示成 { b 1 , b 2 , . . . , b n } → ( j − 1 ) \{b_1,b_2,...,b_n\}\rightarrow (j-1) {b1,b2,...,bn}(j1),令输出序列的第 j j j个元素取值为原序列的第 i i i个元素。 B N B_N BN的递归定义式为:
B N = R N ( I 2 ⊗ B N / 2 ) B_N=R_N(I_2\otimes B_{N/2}) BN=RN(I2BN/2)
其中 I 2 I_2 I2为2维单位阵, B 2 = I 2 B_2=I_2 B2=I2;矩阵 R N R_N RN为置换矩阵,对输入序列完成奇序元素和偶序元素的分离,即先排奇序元素,再排偶序元素,其作用效果如下:
( u 1 , u 2 , u 3 , u 4 , . . . , u N ) × R N = ( u 1 , u 3 , u 5 , . . . , u N − 1 , u 2 , u 4 , u 6 , . . . , u N ) (u1,u2,u3,u4,...,uN)\times R_N=(u_1,u_3,u_5,...,u_{N-1},u_2,u_4,u_6,...,u_N) (u1,u2,u3,u4,...,uN)×RN=(u1,u3,u5,...,uN1,u2,u4,u6,...,uN)

总结

本节首先介绍了Polar Code的预备知识,如对称容量、巴氏参数以及所涉及的数学符号的表示。其次介绍了信道极化的两个阶段:信道联合和信道分裂。最后阐述了Polar Code的编码过程:通过构造生成矩阵 G N G_N GN,通过计算各个分裂子信道的错误概率得出信道可靠度用以判断信息比特位置从而获得 u 1 N u_1^N u1N;两者相乘得到 u 1 N G N u_1^NG_N u1NGN即为Polar Code。

另外

极化码是一种线性分组码,通过构造生成矩阵而获得编码。只要给定码长 N N N,编译码结构就唯一确定了。极化码基于信道极化做到了扬长避短。在最可靠的子信道上传输信息比特是扬长,在最不可靠的子信道的传输冻结比特是避短。

参考文献

[1] Arikan E. Channel Polarization: A Method for Constructing Capacity-Achieving Codes for Symmetric Binary-Input Memoryless Channels[J]. IEEE Transactions on Information Theory, 2008, 55(7):3051-3073.

最后

CSDN上的基本为全文摘录,修改部分主要是基于自己的理解,仅供读者参考
本文作者: Marshall
本文链接: https://marshallcomm.cn/2017/03/04/polar-code-2-encoding-principle/

你可能感兴趣的:(Polar,Codes,通信技术)