技术领域
[0001] 本发明涉及极化码的译码技术,具体涉及一种基于移位修剪的多比特移位的SCL译码算法,可以在低信噪比下提高SCLF译码方法的误码性能,并减少延迟。
相关背景技术
[0002] 极化码的性能随着码长的无限增加可以逼近香农极限,被广泛应用于5G移动通信系统。但是在码长有限长的情况下,串行消除(SC)译码器的纠错性能不如Turbo码和低密度奇偶校验码(LDPC)。
[0003] 为了解决这个问题,提出了连续消除列表(SCL)译码,其在高SNR下产生与最大似然(ML)译码相当的纠错性能。通过将循环冗余校验(CRC)比特与极化码级联,获得了进一步的改进。比特翻转是一种在译码失败时,通过在额外的译码尝试中翻转低可靠性比特来提高SC译码器纠错性能的方法。译码失败的主要原因是由于信道噪声导致的比特中的单个错误而发生的。因此,通过找到第一个错误位并翻转它,可以避免错误传播。通过采用不同的方案选择低可靠性比特和多比特翻转算法,进一步改进了这一思想。这些方法的误码性能可以接近平均列表大小的SCL解码的误码性能,而不是CRC辅助SCL解码的误码性能。
[0004] Y.Yongrun等人(Y.Yongrun,P.Zhiwen,L.Nan and Y.Xiaohu,“Successive Cancellation List Bit‑flip Decoder for Polar Codes,“10th International Conference on Wireless Communications and Signal Processing(WCSP),Hangzhou,2018,pp.1‑6.)提出将比特翻转方法用于CA‑SCL译码,当码长为256和512,码率为1/2时,纠错性能提高了0.15‑0.25dB。自适应CRC辅助SCL解码通过在解码失败时将列表大小(L)增加两倍来提高性能。但是,增加列表大小不仅会增加复杂性,而且还需要足够的硬件资源来支持它。
[0005] 上述方法要么无法在列表数较大的情况下优于CRC辅助的SCL解码,要么需要更大的硬件资源。需要一种不需要额外硬件资源就能显著提高性能的低复杂度解码方案。通过改变修剪规则以避免正确路径的消除,而不是在CRC辅助SCL解码中翻转低可靠性位以避免错误传播。由于列表译码过程的特性,本发明可以避免比特估计中的多重错误。因此,它可以以更少的尝试次数胜过比特翻转方法,从而降低复杂性。与比特翻转方案类似,当译码失败时,需要进行额外的译码尝试。
具体实施方式
[0034] 下面将结合本发明实施例中的附图,对本发明实施的技术方案进行清楚的、完整的描述,以下给出基于移位修剪的多比特移位的SCL译码算法的具体实现步骤。采用极化码码长N=1024,码率R=0.5,移位偏移值为L/2,最大移位修剪次数T=20,来说明本发明的具体实施方案。
[0035] 1.结合附图1说明,利用AWGN信道BPSK调制,基于移位修剪的多比特移位的SCL译码算法具体实现方法如下:
[0036] 在第一个log2 L未冻结的位,所有路径都保存在列表中,这些位的集合被标记为包含所有信息位的集合标记为 在译码过程中计算每一位信息比特生成的移位修剪度量值
[0037]
[0038] 该度量值由事件 ( 且 ( 即为 ))和事件X(连续冻结位处PM值排名第一到L/2位发生变化)联合求解得到,β的最优值随着信噪比的减小而减小,通过蒙特卡罗模拟来确定最佳为1.05,Xnum_j为事件X发生了j次,[0039] 将译码过程中属于事件X的信息比特位组成集合Ω,x的值应该处于大于等于1的状态,如下面公式所示:
[0040]
[0041] 当译码时出现第三次事件X,将两个对应的信息比特位更新度量值以及Xnum_j=3,即在第k~k+1之间的冻结位发生事件X,如果 则更新或者 更
小的一部分,如果 则不更新度量值。
[0042] 如果最后的CRC校验未通过则启用MSP‑SCL译码算法,移位修剪集S具有恒定的大小T,但在每次重译码尝试后都会更新。集合S由T个子集组成,即S={S0,...,St,...,ST‑1},其中集合St记录了第t次额外译码尝试的所有移位修剪操作索引。根据当前的噪声实现y,位移位修剪列表S包含T个具有最低 值的移位修剪操作位SCL(St),集合S包含所有初始的order‑1移位修剪索引位,在之后的每一次重译码会通过 更新集合S,该过程可能包含order‑2及以上的移位修剪位集合。重译码过程中也会涉及事件X的出现,所以 在事件X影响下出现的概率是:
[0043]
[0044] 事件X的记录是在当前重译码的移位修剪位集合最大索引位之后进行,而不是第一次SCL译码时跳过第一段冻结位就开始记录,按照order‑1移位修剪译码中使用的近似方案,更新后的度量为:
[0045]
[0046] 执行基于MSP‑SCL的重译码,重译码过程顺序移位修剪MSP‑SCL中的比特,每次重译码仅移位修剪一个比特;如果重译码过程通过了CRC校验,则输出正确的译码路径,否则通过计算得到的 更新现有的翻转集St并进行下一次重译码并有可能进行多位移位修剪操作,当重译码次数达到T=20次时还未得到正确的译码序列,则输出首次CA‑SCL译码中PM值最小的译码路径。