王燕,刘顺兰,奚珍珍,包建荣
(杭州电子科技大学电子信息学院,浙江 杭州 310018)
极化码(Polar码)于2009年由Arikan E首次提出,是第一种理论上能达到香农极限的信道编码方法[1],并且由于其较低的编码、译码复杂度等优势,受到了广泛的关注,成功入选5G标准,作为增强移动宽带场景中控制信道的编码方案[2-3]。当极化码的长度趋于无穷时,才能更好地达到信道容量,然而在中短码长时性能较差。为了提高极化码的纠错性能,先后提出了许多不同的译码方法。参考文献[1]提出采用串行抵消(successive cancellation,SC)译码算法,由于SC译码算法是一种次优的译码算法,在有限长码长中性能有待提升。在SC译码算法的基础上,参考文献[4]提出串行抵消列表(successive cancellation list,SCL)译码算法,该算法通过扩张译码路径,增大了译码结果正确的可能性。参考文献[5]提出引入循环冗余校验码与极化码级联,即CRC辅助SCL译码算法(CRC aided SCL,CA-SCL),有助于在SCL译码的列表中挑选出正确的译码结果。此后,参考文献[6]提出的奇偶校验码级联极化码引入校验比特,在译码过程中能够实时校验译码路径,性能可优于CRC级联极化码,不过使用的蒙特卡洛构造方法使得复杂度严重增加。CRC辅助的Polar码和PC辅助的Polar码已被纳入5G极化码标准实现方案[3]。
Polar码在不同译码算法下的纠错性能具有差异,但Polar码本身的纠错性能在很大程度上受码构造的影响,即信息位和冻结位的选取。目前,针对AWGN信道还没有精确的Polar码构造方法,只能对AWGN比特信道的可靠度进行估计。常用的方法包括蒙特卡洛构造[1]、密度进化(density evolution,DE)构造[7]、高斯近似(gaussian approximation,GA)构造[8]、极化权重(polarization weight,PW)构造[9]、量化方法[10]等。由于密度进化构造和高斯近似构造都依赖构造时AWGN信道的信噪比,针对不同信噪比的构造结果存在差异。为了得到统一的Polar码构造序列,华为公司提出的极化权重方法是一种独立于信噪比的构造方法,相对于传统的密度进化和高斯近似,构造结果具有嵌套性、复杂度较低。
CRC校验比特只能在译码结束后选择通过校验的路径,不能在译码过程中提高路径选择的可靠度,而PC校验比特可以弥补这一不足。参考文献[11]提出将两种级联方案结合形成基于CRC辅助的PC码级联极化码方案。本文在参考文献[11]的基础上,在奇偶校验位后添加一位重复码校验位。在译码过程中,对于奇偶校验多次不通过的路径及时删除,相对于原有的PC码辅助的CA-SCL译码算法降低了复杂度,对信道容量较低的信息比特再次进行重复码校验,辅助路径度量筛选可靠性更高的路径,译码结束后,采用CRC校验得到最优路径。
极化码是一种基于信道极化理论的信道编码方式。当码长不断增加,编码端通过码字构造方法后,各个子信道的信道容量呈现出两级分化的现象:一部分信道的信道容量趋于1,而另一部分的信道容量趋于0。对于信道容量趋于1即可靠度比较高的信道传输信息比特,而信道容量趋于0即可靠度较低的信道传输冻结比特。
对于给定的码长N,极化码的编码方式如下:
其中,GN(A)表示由 中元素对应的行构成的GN的子矩阵,GN(Ac)同理,⊕表示模2加。
上述的SC译码过程是串行进行的,因此容易存在错误传播现象。SCL译码算法在SC算法的基础上引入了保留L条路径的思想,对于每条路径计算路径度量(path metric,PM)[12]:
其中,l表示第l条路径索引值,表示第l条路径中第k个译码比特估计值,表示第l条路径的对数似然比,l∈ {1,2,3,…,L},在每条路径扩展后都在不可靠的路径上加上一个惩罚值因此当译码结束后得到L个译码序列,选取路径度量最小的序列为最终的译码结果。
参考文献[11]提出的基于CRC的PC码级联极化码(CRC-PC-Polar)方案,如图1所示,CRC和PC码作为外码,极化码作为内码进行编码,信息比特经过CRC编码器,得到带有C位的循环冗余校验比特的信息序列其次经过PC编码,得到 外码 码字极 化码的信息位上放置外码码字,冻结位放置冻结比特,极化码编码后得到码字
基于CRC的增强奇偶校验码级联极化码(CRC-EPC-Polar)如图2所示,其中编码主要由3部分——CRC编码、增强PC编码、Polar码编码组成,外码码字结构如图3所示。译码主要采用本文提出的增强PC辅助的CA-SCL译码算法。下文主要从编码和译码两个方面详细阐述本文提出的新型编译码方法。
图1 CRC-PC-Polar级联方案
极化码的构造是编码之前的一个重要部分。本文采取PW算法构造估计信道的可靠性,挑选可靠性较高的信道进行信息比特的传输。设极化信道序号为i,令i的二进制展开为该极化信道的极化重量被定义为:
即该信道的可靠度度量值,其中极化重量越大,表示信道可靠度越高。对任意长度N,依次计算W0,W1,…,WN-1,并按照从小到大的顺序排列,取其下标就是可靠度由低到高的信道。例如,当码长为8时,n= lb8 =3,当3.603 4。根据上述所得到的信道可靠性排序后,从中挑选M+C+Q个可靠性较高的信道传输非固定比特,其中Q=K+R,K为奇偶校验比特总数,R为增强校验比特总数,一般R=K,其余信道传输冻结比特。
其中,kp表示第k个PC校验比特在外码码字中的索引,集合Sk表示参与第k个校验方程的信息比特索引集合,本文中取从第一个信息比特到第k个PC校验比特之间所有的信息比特的集合。第r个重复校验比特编码计算式为:
其中,tr表示第r个重复校验比特在外码码字中的索引,Skr表示第r个重复校验比特对应的Sk,j为第r个校验方程中PW最小的信息比特索引,即在进行奇偶校验时所需校验方程中信道可靠性最低的信息比特。将外码码字与冻结比特混合,外码码字映射到可靠度较高的信道,其余信道为冻结位,得到长度为N的序列。根据生成矩阵对编码器的输入序列进行极化码编码,得到级联码字编码完成。
图2 CRC-EPC-Polar级联方案
图3 外码码字结构
CRC辅助的SCL译码算法只有在译码结束后进行校验,基于增强奇偶校验的级联极化码译码算法弥补了这一不足,在译码过程中通过引入PC校验比特和重复校验比特,当译码校验比特时,是根据校验比特所在的校验方程得到的,相当于一类动态的冻结比特。对于奇偶校验不通过的路径,记录该条路径的累计错误值,若该条候选路径的累计错误值达到了所有候选路径累计错误平均值,则该条候选路径被删除,相对于原有的PC码辅助的SCL译码算法降低了复杂度。其次进行重复比特校验,辅助路径度量值在译码过程中进行路径选择。假设该路径出现了偶数个译码错误,即使通过了奇偶校验,重复校验比特也有可能将该条路径判决为错误,导致该条路径的路径度量值变大,在后续的路径选择中很容易被删除,从而达到纠错的目的。基于上述分析,基于增强校验的级联极化码译码算法与CRC辅助的SCL译码算法具有近似的复杂度,并且在其译码过程中及时将错误路径进行了删除,因此复杂度几乎没有增加。基于增强奇偶校验码级联极化码译码算法流程如图4所示。
图4 基于增强奇偶校验码级联极化码译码算法流程
在编码端,CRC-EPC-Polar级联方案比CRC-PC-Polar级联方案多了增强校验比特的确定,即选择前一段信息比特中可靠性最低的比特,由于不涉及复杂的运算,所以编码复杂度只是微量地增加,相对于性能的提升是可以接受的。
在译码端,对于奇偶校验多次不通过的路径及时进行删除,提前终止错误路径的传播,从而避免了这些路径的后续译码过程,而CRC-PC-Polar的译码算法只是通过PC校验比特影响路径度量值,在整个译码过程中还是保留了L条路径,因此CRC-EPC-Polar译码算法节省了一部分存储空间,译码复杂度有所降低。
本文在加性高斯白噪声信道下对比了3种不同方案的纠错性能。仿真参数见表1。
表1 不同方案的仿真参数
其中,CRC-EPC-Polar表示本文提出的基于CRC辅助的增强奇偶校验码级联极化码方案,CRC-Polar表示参考文献[5]提出的CRC辅助的极化码方案,CRC-PC-Polar表示参考文献[11]提出的CRC辅助的基于奇偶校验码级联极化码方案。在译码过程中,保留路径L=16,保证每种方案的有效码率相同,即真实的信息比特与码长的比值相同,最后根据译码判决结果统计不同方案的误码率(bit error rate,BER)。
图5~图7分别是码长为128、256、512,码率不同时在高斯白噪声信道下的性能比较。由图5~图7可以看出,在码长相同、码率不同时,本文提出的基于增强奇偶校验级联极化码方案均体现出较优异的性能。由图5看出,在码长为128、码率为1/2、误码率为 10-3时,本文提出的新型编译码方案比基于CRC-PC码辅助的级联极化码获得了0.3 dB的增益,比CRC辅助的级联极化码获得了0.4 dB的增益;由图6看出,在码长为256、码率为1/2、误码率为 10-3时,本文提出的新型级联方法较CRC-PC级联的极化码获得了0.2 dB的增益,较CRC辅助的级联极化码获得了0.3 dB的增益;由图7看出,在码长为512,码率、误码率相同时,本文提出的CRC-EPC-Polar方案比CRC-PC-Polar、CRC-Polar方案均有着接近0.1 dB的增益,在复杂度不明显增加的情况下,本文的方案仍然可以借鉴。同时码长相同,码率越大,误码率也会越高。
图5 码长为128、码率不同时在高斯白噪声信道下的性能比较
图6 码长为256、码率不同时在高斯白噪声信道下的性能比较
图7 码长为512、码率不同时在高斯白噪声信道下的性能比较
图8是码率为1/2、码长不同时3种级联方案性能对比。由图8可以看出,同种方案下,码率相同,码长越长,信道极化效果越好,误码率相对越低。总体而言,本文提出的CRC-EPC-Polar级联方案比CRC-Polar、CRC-PC-Polar方案性能更优异。
图8 码率为1/2、码长不同时在高斯白噪声信道下的性能比较
图9是码长为256,码率分别为1/3、1/2、2/3时在二进制删除信道(binary erasure channel,BEC)中CRC-EPC-Polar级 联 方 案 和CRC-PC-Polar级联方案的性能比较,其中擦除概率取0.5。由图9可以看出,在BEC中,本文提出的级联方案相对于CRC-PC-Polar级联方案仍然具有较优异的性能。
图9 码长为256、码率不同时在BEC下的性能比较
基于CRC辅助的极化码和PC码辅助的极化码,本文提出了一种增强PC码辅助的极化码级联方案,仿真结果显示,在相同信道、相同码长码率下,本文提出的级联极化码比CRC级联极化码、CRC-PC级联极化码更优异,误码性能得到了明显的提升,为解决有限码长性能不佳的问题提供了新思路。