一种改进的Turbo 码全并行译码算法迭代停止准则*

2020-12-23 06:11赵瑞祥潘克刚王欣婷
通信技术 2020年10期
关键词:译码交织度量

赵瑞祥,潘克刚,王欣婷

(陆军工程大学 通信工程学院,江苏 南京 210001)

0 引言

Turbo 码是一种性能优异的信道编码方式,编码复杂度低,纠错性能好,通用性较强,技术成熟,在各个领域中得到了广泛应用[1]。但是,Turbo 码通用译码算法采用串行迭代的译码方式,在更高业务速率、更低传输时延的应用场景中面临巨大的挑战。

长期演进技术(Long Term Evolution,LTE)系统中Turbo 码采用分块并行译码思想,通过二次项置换多项式(Quadratic Permutation Polynomials,QPP)交织器[2]实现了整个码块的部分并行译码,但是译码算法固有的串行性使吞吐量受到了极大限制。

直到Turbo 码全并行译码算法[3]的提出,将整个码块的每个子块大小分割成了1 bit,获得了最大的并行度。对于全并行译码算法,后续又进行了深入研究和完善,包括改进的EXIT 图[4]、Turbo 均衡算法的研究以及在GPU、VLSI 等各种硬件上的实现[5]。通过对全并行译码算法硬件架构的改进,证实其可以实现超过15 Gb/s 的高吞吐量和最低0.42 μs的时延[6]。但是,全并行译码算法要达到传统译码算法的性能,需要增加约6 倍的译码迭代次数。

针对全并行译码算法迭代次数过多的问题,对比分析多种译码迭代停止准则,对基于外信息绝对值信噪比(SNR Based on the Absolute Value of Extrinsic Information,SBAE)准则[7]进行了优化,并区分不同信噪比结合符号不同率(Sign Difference Ratio,SDR)准则[8],提出了一种改进的迭代停止准则,在保证译码性能的前提下,有效降低了迭代次数。第1 节简要介绍Turbo 码的全并行译码算法和常用的迭代停止准则;第2 节详细描述改进的迭代停止准则的原理和方法;第3 节在LTE 系统条件下进行性能仿真和对比分析;最后总结全文。

1 Turbo 码的全并行译码及迭代停止准则

1.1 Turbo 码的全并行译码算法

全并行译码算法实际是Turbo 码分块并行译码算法的一种极端情况,即把每个码块的大小减小到1,然后分别对应一个译码计算单元进行译码,并将这些单元分为上下两路。编码交织器采用QPP 交织器。QPP 交织器作为一种确定型交织器,采用两个二次多项式进行交织和解交织运算。交织地址的计算可以采用递归的方式,无需乘法或者取模运算,并且数据经过QPP 交织器后的位置信息仍具有相同的奇偶性。全并行基本译码结构如图1 所示。

图1 全并行译码算法

图1 中,计算单元方块中的UP 和DOWM 分别表示上、下两路计算单元;N即为第N个计算单元;分别表示上路接收到的第k个校验位和信息位的对数似然比(Log Likelihood Ratio,LLR);表示上路向下路传递的外信息;表示上路接收到的外信息用做的先验信息;s和x分别对应上、下两路;下路的计算单元同理。

全并行译码算法关键在于迭代计算时充分利用了QPP 交织器的特性:数据经过QPP 交织器后的位置信息仍具有相同的奇偶性。于是,将整个数据分为两组:上路奇数位置和下路偶数位置的数据为一组,如图1 中白色译码块所示;上路偶数位置和下路奇数位置的数据为另一组,如图1 中阴影译码块所示。一次迭代过程分为两个半次迭代过程。在上半次迭代过程中,第一组白色译码块进行计算并交换外信息和传递状态度量值;下半次迭代过程中,第二组阴影译码块进行计算,并交换外信息和传递状态度量值,每次操作上下两路都有一半的码字进行译码。综合来看,每半次迭代就可以交换一半外部信息,而且上下两路互相交换的是固定对应位置的外部信息。相比于传统的Log-MAP 算法,全并行译码算法的译码并行度为N,大大减少了译码时延。

全并行译码算法每个算法块置信度不是依靠前向和后向递归计算传播,而是依靠足够数量的译码迭代来完成。迭代次数较少会造成状态度量值α和β的不可靠,在相同迭代次数下性能会下降。一般达到相同性能需要调用的迭代次数是Log-MAP 算法的6 倍左右。

1.2 Turbo 码译码迭代停止准则

Turbo 码译码时一般预设一个最大迭代次数,达到规定的迭代次数后译码停止,而不能根据信道条件的变化及时调整。采用合适的译码迭代停止准则可有效降低迭代次数,减小译码时延。

Turbo 码译码常用的迭代停止准则主要是基于交叉熵(Cross Entropy,CE)的迭代停止准则[9]。通过交叉熵度量来确定软输出似然比的接近程度,并利用交叉熵最小化原理近似确定译码迭代次数,但是计算复杂度较高。Shao R Y 在CE 准则的基础上进行了简化,提出了符号变化率(Sign Change Ratio,SCR)和硬判决辅助(Hard Decision Aided,HDA)迭代停止准则[10],但SCR 准则和HDA 准则均需储存前次迭代译码的信息,消耗了一定的内存。其中,SCR 准则通过判断前后两次迭代输出外信息符号变化个数来判决,HDA 准则通过检查两次迭代译码器输出软信息的硬判决值是否发生变化来判决。利用先验信息与外信息的特性,通过比较同一次迭代SISO 译码器的先验信息和外信息符号不同的比特数,Wu Y F 提出了SDR 准则[8]。Shibutani A提出了循环冗余校验(Cyclic Redundancy Check,CRC)判决准则[11],先对一帧信息进行CRC 编码,译码时通过进行CRC 校验来停止迭代,但是增加了一定的冗余,降低了带宽效率。王晓明等人对外信息准则[12]进行了改进,提出了基于外信息绝对值信噪比的迭代停止准则(SBAE)。另外,Turbo码的EXIT 图也可以用来判断迭代是否可以停止[13]。

使用全并行译码算法,在AWGN 信道、BPSK调制下对常用的迭代停止准则进行Matlab 仿真。本文采用的均为LTE 标准下的1/3 码率的Turbo 码(15/13)8,码长为480。迭代停止准则设定最大译码迭代次数均为15 次,图2 仿真了应用SCR、HDA、CRC 和SBAE 这4 种准则的全并行译码算法误码率性能,并与固定15 次迭代译码时的误码率性能进行了对比,BER 表示误码率,Eb/N0为信噪比。其中,HDA 和SDR 准则的门限系数设为0.001,SBAE 准则的判决门限值为0.8。图2 中,使用迭代停止准则后,通过设置合适的参数,译码误码性能基本相差不大。

利用图2 相同的参数条件,图3 仿真了4 种迭代停止准则译码所需的平均迭代次数。使用Turbo码全并行译码算法,SDR 准则和SBAE 准则所需的迭代次数较少。在信噪比大于1 dB 时,SBAE准则相对其他准则平均要少2 次迭代,但是在BER≥10-2时,对应的信噪比小于1 dB,较低的信噪比使得外信息交互不存在明显的正反馈,导致4种迭代停止准则判决结果取值不稳定,所需迭代次数变化没有明显规律性。其中,SBAE 准则所需迭代次数反而最多,而在已经提前收敛的情况下增加迭代次数对性能提升是无用的。

图2 4 种准则译码性能对比

图3 4 种准则平均迭代次数对比

2 改进的译码迭代停止准则

2.1 SBAE 准则的优化

SBAE 准则是对传统外信息迭代停止准则的改进。图1 中对于全并行译码算法上下两路接收到的3 路先验对数似然比LLR 值分别为:

式中,a和e分别用来对应先验信息和外信息,LLR 值定义[3]为:

以全并行算法上路第k个码块为例,其输入数据有5 路,分别为校验比特和信息比特的LLR 值下路码块外信息经解交织后传递的先验LLR 值以及相邻码块传递的前向和后向状态度量值αk-1和βk。计算单元执行译码操作后输出前向和后向状态度量值αk、βk-1和外信息。

Wiberg N 对外部信息特性进行了分析,提出用高斯密度函数来描述外部信息的统计特性[14]。随着译码迭代次数的增加,外部信息的绝对值均值逐渐趋于一个固定值,因此可将外部信息作为迭代停止准则的判决依据。以上路码块为例,定义外部信息的绝对值均值为:

其中i为迭代次数,即以连续两次迭代产生的外信息绝对值均值之比作为判决函数,设定门限Tj,小于该门限时停止迭代。图4 和图5 分别仿真了传统Log-MAP 算法和全并行译码算法在不同信噪比时外信息绝对值均值随迭代次数变化的曲线。传统Log-MAP 算法在数次迭代后,外部信息的绝对值均值很快达到一个固定值,而全并行译码算法在迭代次数增加后,外部信息的绝对值均值变为固定值的趋势不明显,因此以外信息均值作为判决条件效果不佳,使用SBAE 准则更加适合。

SBAE 准则采用了外信息绝对值对应的信噪比的定义,即将译码模块看作一个外信息信噪比增益器,定义为:

判决函数为连续两次迭代产生的信噪比的比值:

通过设定判决函数Q≤a来终止迭代,其中a为判决门限。

图4 Log-MAP 算法外信息变化

图5 全并行译码算法外信息变化

不同于传统的Log-MAP 算法,全并行译码算法的每个码块交换外信息的同时还进行了前向后向状态度量值的传递。在全并行算法改进的EXIT 图研究中,将前向、后向状态度量值的计算进行结合[4]。因此,在改进的SBAE 准则中,保留传统SBAE 准则判决依据,并加入了对前向、后向状态度量值α或β的绝对值均值的判决。图6 仿真了在不同信噪比时上路码块前向状态度量值绝对值均值随迭代次数变化的曲线,发现前向状态度量值α的绝对值均值随迭代次数的增加其增量变缓,因此设定合适的判决门限可以进行终止迭代,使SBAE 准则在低信噪比时判决性能更好。

图6 前向状态度量值变化

令上路码块前向状态度量值判决函数为:

优化后的SBAE 准则中,式(8)和式(9)根据不同条件可以分别进行判决,增加了SBAE 准则判决的准确性,避免了在低信噪比条件下判决的迭代次数变化过大的问题。

2.2 优化的SBAE 准则+SDR 准则

在高信噪比的条件下,利用外部信息作为迭代停止准则可以达到很好的译码效果,但是在低信噪比时判决函数取值变化浮动较大,判决终止的迭代次数较多[15]。图3 中,对于Turbo 码全并行译码算法,低信噪比时SDR 准则拥有较好的性能,因此将优化后的SBAE 准则与SDR 准则进行结合,实现迭代停止准则性能的最优化。

符号不同率(SDR)准则由Wu Y F 提出,是对SCR 准则的延伸。在Turbo 码译码过程中,两路数据的先验信息和外信息互相传递,令D(i)表示第i次迭代后上路码块外信息和先验信息之间符号不同的个数。随着迭代次数的增加,D(i)的值逐渐减少,得到SDR 准则判决函数为:

这里q为判决参数,N为码长,满足该判决函数将停止迭代。SDR 准则统计的实际为同一次迭代两个外部信息的符号差别数,计算量同SCR 准则相当,但是不需要额外储存前一次的外部信息。与SBAE 准则相同的是,SDR 准则同样也是利用外部信息进行判决。

通过分析译码迭代次数对Turbo 码性能的影响,可将BER性能曲线划分3 个区域[16]:在BER≥10-2时,迭代次数对BER的性能影响较小,大量增加译码迭代次数对提高性能影响不大;在10-5≤BER≤10-2时,BER性能曲线随着迭代次BER≤10-5时,一般在迭代2~3次时就趋于收敛,数的增加而迅速下降,在一定次数后趋于收敛;在再进行迭代增益变得非常小。

改进后的迭代停止准则是优化的SBAE 准则与SDR 准则相结合,满足SDR 准则或优化后的SBAE准则一方条件即可终止迭代,实现不同信噪比条件下译码次数最小化。在误码率BER ≥10-2时,对应较低的信噪比,式(9)或式(10)一方达到判决门限时终止迭代,为降低计算量不需用式(8)进行判决;在误码率BER ≤10-2时,对应较高的信噪比,此时以式(8)和式(10)作为判决标准,一方达到判决门限时终止迭代。可见,改进后的迭代停止准则能够更好地适应不同信噪比的条件,实现译码迭代次数的最小化。

3 仿真对比

在AWGN 信道、BPSK 调制下进行Matlab 仿真,采用LTE 标准下的1/3 码率的Turbo 码(15/13)8,使用全并行译码算法,码长为480,对优化SBAE+SDR 准则、SBAE 准则和SDR 准则3 种迭代停止准则的译码误码性能和译码迭代次数进行对比。其中,SBAE 准则的门限值a设为0.8,SDR 准则的门限参数q设为0.001,改进的迭代停止准则设置fα(i)的门限值Tα为1.13,Q的门限值a为0.8,门限参数q为0.001。

从图7 的仿真结果来看,改进的迭代停止准则与SBAE 准则和SDR 准则性能相差不大。图则8 仿真了不同信噪比情况下的译码迭代次数。在信噪比为0~1 dB 时,改进算法迭代次数明显减少,分别比SDR 准则和SBAE 准则约少2 次迭代,保证了低信噪比条件下较低的译码迭代次数;在信噪比为1~2.5 dB 时,改进准则的平均迭代次数同样最少,比SDR 准则平均要少3.5 次迭代,实现了不同信噪比条件下始终保持较少的译码迭代次数。综合来说,在达到相同的性能时,改进的迭代停止准则有效减少了全并行译码算法的迭代次数。

图7 译码性能对比

图8 平均迭代次数对比

4 结语

本文提出的优化SBAE+SDR 准则,结合了SBAE准则和SDR 准则的优点,满足不同信噪比条件下的Turbo 码全并行译码算法的译码性能。仿真结果表明,该准则有效减少了Turbo 码全并行译码算法的译码迭代次数,提高了译码吞吐量,降低了译码时延,能够更好地应用于不同场景。

猜你喜欢
译码交织度量
极化码自适应信道译码算法
鲍文慧《度量空间之一》
“新”与“旧”的交织 碰撞出的魅力“夜上海”
基于扩大候选码元范围的非二元LDPC加权迭代硬可靠度译码算法
分段CRC 辅助极化码SCL 比特翻转译码算法
基于校正搜索宽度的极化码译码算法研究
交织冷暖
代数群上由模糊(拟)伪度量诱导的拓扑
突出知识本质 关注知识结构提升思维能力
度 量