Polar Code(6)SC译码算法
前言
Arikan在文献[1]中给出了Polar
Code译码算法,即串行抵消(Successive Cancellation,SL)译码算法。由Polar
Code编码原理可知,极化码的构造就是一个极化信道的选择问题,而极化信道的选择实际上是按照最优化SC译码性能为标准的。根据极化信道转移概率函数式,各个极化信道并不是相互独立的,而是具有确定的依赖关系的:信道序号大的极化信道依赖于所有比其序号小的极化信道。基于极化信道之间的这一依赖关系,SC译码算法对各个比特进行译码判决时,需要假设之前步骤的译码得到的结果都是正确的。并且正是在这种译码算法下,极化码被证明了是信道容量可达的。因此对极化码而言,最合适的译码算法应当是基于SC译码的,只有这类译码算法才能充分利用极化码的结构,并且同时保证在码长足够长时容量可达。
SC译码算法
在进行译码时,从式(1)的转移概率可以看出,序号
因此,对于
其中,当
定义对数似然比(Log-Likelihood Ratio,LLR)为
LLR的计算可以通过递归完成。现定义函数
其中,
递归的终止条件为当
定义事件“SC译码算法得到的译码码块错误”为
表示“SC译码过程中第一个错误判决发生在第
其中
因此译码端对数似然比的初始值
SC译码示例
现在以码长
需要说明的是,编码过程中计算转移概率是从图的左边逐级向右边递归。而在译码过程中,计算信道的LLR要从右边逐级向左递归。
SC译码算法将首先计算
接着计算出
虽然
接着对
由于
接着对
这里需要先求
再求
把式(16)和式(17)带入到式(15)得到
由于
最后对
由于
总结
SC译码算法以LLR为判决准则,对每一个比特进行硬判决,按比特序号从小到大的顺序依次判决译码。当码长趋近于无穷时,由于各个分裂信道接近完全极化(其信道容量或者为0或者为1),毎个消息比特都会获得正确的译码结果,可以在理论上使得极化码达到信道的对称容量
参考文献
[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. [2] 张亮.
极化码的译码算法研究及其应用[D].浙江大学,2016.
Gitalk 加载中 ...