Polar Code(1)概述
2016年11月18日,在美国内华达州里诺召开的3GPP RAN1 #87次会议,确定Polar Code作为5G eMBB(增强移动宽带)场景下控制信道编码方案。
2008年,Erdal Arikan在国际信息论ISIT会议上首次提出了信道极化(Channel Polarization)的概念;2009年在“IEEE Transaction on Information Theory”期刊上发表了一篇长达23页的论文更加详细地阐述了信道极化,并基于信道极化给出了一种新的编码方式,名称为极化码(Polar Code)。极化码具有确定性的构造方法,并且是已知的唯一一种能够被严格证明“达到”信道容量的信道编码方法。
从代数编码和概率编码的角度来说,极化码具备了两者各自的特点。首先,只要给定编码长度,极化码的编译码结构就唯一确定了,而且可以通过生成矩阵的形式完成编码过程,这一点和代数编码的常见思维是一致的。其次,极化码在设计时并没有考虑最小距离特性,而是利用了信道联合(Channel Combination)与信道分裂(Channel Splitting)的过程来选择具体的编码方案,而且在译码时也是采用概率算法,这一点比较符合概率编码的思想。
对于长度为\(N={2^{n}}\)(\(n\)为任意正整数)的极化码,它利用信道\(W\)的N个独立副本,进行信道联合和信道分裂,得到新的N个分裂之后的信道\(\left\{ W_{N}^{\left( 1 \right)},W_{N}^{\left( 2 \right)},...,W_{N}^{\left( N \right)} \right\}\)。随着码长N的增加,分裂之后的信道将向两个极端发展:其中一部分分裂信道会趋近于完美信道,即信道容量趋近于1的无噪声信道;而另一部分分裂信道会趋近于完全噪声信道,即信道容量趋近于0的信道。假设原信道\(W\)的二进制输入对称容量记作\(I\left(W\right)\),那么当码长N趋近于无穷大时,信道容量趋近于1的分裂信道比例约为\(K=N\times I\left( W \right)\),而信道容量趋近于0的比例约为\(N\times \left( 1-I\left( W \right) \right)\)。对于信道容量为1的可靠信道,可以直接放置消息比特而不采用任何编码,即相当于编码速率为\(R=1\);而对于信道容量为0的不可靠信道,可以放置发送端和接收端都事先已知的冻结比特,即相当于编码速率为\(R=0\)。那么当码长$N\(时,极化码的可达编码速率\)R=NI(W)/N=I(W)$,即在理论上,极化码可以被证明是可达信道容量的。
在极化码编码时,首先要区分出N个分裂信道的可靠程度,即哪些属于可靠信道,哪些属于不可靠信道。对各个极化信道的可靠性进行度量常用的有三种方法:巴氏参数(Bhattacharyya Parameter)法、密度进化(Density Evolution,DE)法和高斯近似(Gaussian Approximation)法:
- 最初,极化码采用巴氏参数\(Z\left( W \right)\)来作为每个分裂信道的可靠性度量,\(Z\left( W \right)\)越大表示信道的可靠程度越低。当信道\(W\)是二元删除信道(Binary Erasure Channel,BEC)时,每个\(Z\left( W_{N}^{\left( i \right)} \right)\)都可以采用递归的方式计算出来,复杂度为\(O\left( N\log N \right)\)。然而,对于其他信道,如二进制输入对称信道(Binary-input Symmeric Channel,BSC)或者二进制输入加性高斯白噪声信道(Binary-input Additive White Gaussian Channel,BAWGNC)并不存在准确的能够计算\(Z\left( W_{N}^{\left( i \right)} \right)\)的方法。
- 因此,Mori等人提出了一种采用密度进化方法跟踪每个子信道概率密度函数(Probability Density Function,PDF),从而估计每个子信道错误概率的方法。这种方法适用于所有类型的二进制输入离散无记忆信道(Binary-input Discrete Memoryless Channel,B-DMC)信道。
- 在大多数研究场景下,信道编码的传输信道模型均为BAWGNC信道。在BAWGNC信道下,可以将密度进化中的对数似然比(Likelihood Rate,LLR)的概率密度函数用一族方差为均值2倍的高斯分布来近似,从而简化成了对一维均值的计算,大大降低计算量,这种对DE的简化计算即为高斯近似。
参考文献: [1] Arikan E. Channel polarization: A method for constructing capacity-achieving codes[C]// IEEE International Symposium on Information Theory. IEEE, 2008:1173-1177. [2] 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. [3] 陈凯. 极化编码理论与实用方案研究[D]. 北京邮电大学, 2014.