SCCC中两种不同外信息交换方式的比较
2009-02-03
作者:潘振岗 毕光国
摘 要: 提出了一类新的串行级联卷积码解码算法中外信息交换方法,并通过计算机仿真的方法比较了它与传统外信息交换方法的性能表现,显示了它的优越性。
关键词: 串行级联卷积码(SCCC) MAP算法 外信息交换
1993年,C.Berrou提出了Turbo Code(并行级联卷积码)这一全新的编码方式,得到了逼近香浓极限的误码性能表现。之后,许多学者对这种新型的码作了大量的研究,对它进行了多方面不断的改进,最大可能的挖掘它的纠错潜力。在分量码解码上分别出现了MAP、SOVA、Log-MAP、Max-Log-MAP等算法;分量码的选择上有卷积码、RS码、线性分组码等;解码结构有C.Berrou结构和P.Robertison结构。1996年,S.Benedetto把“Turbo”的解码概念引入传统的级联码中得到了一类SCCC(串行级联卷积码),在文献[1][2]中分别给出了理论分析和计算机仿真结果,认为SCCC有着比Turbo Code更优越的性能表现。本文的重点不在于这两者之间的比较,而是通过改变SCCC解码算法过程中的外信息交换方式使其性能有更进一步的提高。
1 SCCC的编解码结构
类似于Turbo Code,SCCC码编码器也是由分量码编码器和交织器组合而成,只是结构上有区别。图1是它们的示意图。
图1中SCCC码的速率为1/3。一般的,编码器1是普通的非系统非递归卷积码,称为外码;编码器2是系统递归卷积码,称为内码。编码器1以1/2速率进行编码,输出码字经过交织器作为信息码字输入编码器2进行2/3编码。有时,为了得到高速率的码,在两个编码器之间会加入一个穿孔器。
S.Benedetto在文献[2]中给出了基于SISO的SCCC解码器结构,如图2所示。
图2中SISO是分量码的解码器,具体的解码算法可以是MAP、Log-MAP、Max-Log-MAP、SOVA等。本文中使用的是MAP算法。P(U;I)是输入信息字似然值,P(C;I)是输入码字似然值,P(U;O)是输出信息字似然值,P(C;O)是输出码字似然值。从图中可以看出,SCCC码的解码结构是一种非对称的结构。所以在解码的过程中分量码解码器的功能会有所不同。SISO1是内码解码器,它接收解调器输出作为码字似然值的输入,结合外信息进行解码;输出信息字似然值通过解交织器作为外信息量输入给SISO2——外码解码器的输入码字似然值端口,输出码字似然值再回环给SISO1作为外信息量。下面给出SISO内的解码算法和两种不同的外信息量计算方式。
2 两种不同的外信息量计算方式
P.Robertson在文献[3]中详细地论述了MAP算法,我们这里就不再重复,只是给出了在推导过程中要用到的一些公式:
定义
其中Rk是接收码字,不妨设Rk=(xk,yk),αk(m)是前向迭代系数,βk(m)是后向迭代系数。这里要特别一提的是对SISO1来讲Rk是接收的解调器输出;对SISO2来讲Rk是SISO1的解码输出,是Uk的重新组合。为了论述方便,这里不加以区分,由前所述,两个分量码解码器的功能不一样。对SISO1,我们关心的是它的输出信息字似然值:
当输入外信息Z1(k)作为先验概率代入计算公式时(4)式中的L(uk)可表示为:
(5)式中的第一项作为本次解码产生的外信息量传给SISO2。实际上,对SISO2来讲,接收的是码字序列,它在计算输出信息字似然值的同时,要进行码字似然值的刷新。即要计算输出码字似然值:
其中wt是本次解码增加的信息量,σ12是所估计的方差,mt是所估计的均值。从分析可以看出,wt完全是由内码的编码约束产生的。在迭代的初期,随着迭代次数的增加wt应该是递增的。但如果迭代是收敛的,wt应该趋于一个稳定的值。我们认为,怎样从L(tk)中抽取一个合适的量作为本次迭代产生的外信息量决定了解码算法的性能。文献[2]中把wt作为外信息量传给SISO1,而SISO1直接把wt作为先验信息代入本次迭代,我们称之为简单交换法。文献[2]中仿真的结果都是在长帧和低信噪比的情况下得到的,性能要比PCCC好,很重要的一点是消除了(或者说是降低了)PCCC的错误平台效应。但在我们要寻找一种更适合实际应用、帧长较短的SCCC码的时候,发现短帧SCCC码在信噪比较高的时候,迭代算法有不收敛的现象。即在迭代次数增加的时候,误码率反而会增加。分析认为,解码算法中把SISO2的输入认为是高斯分布的,解码中要进行均值估计和方差估计。由于帧长较短,估计中造成一定的偏差,几次迭代以后,分布会发生变化,导致估计的进一步偏差,导致wt收敛过程中的波动现象。这要求外信息的交换方法能够抑制单次外信息对迭代过程的影响。我们提出一种平均交换法,即SISO2把wt传给SISO1,而SISO1把历次的wt进行平均后作为本次迭代的先验信息。
3 计算机仿真
计算机仿真主要是比较两种方法下wt的收敛过程。其实就是在不同SNR的情况下BER随迭代次数的增加而变化的情况。包括收敛速度的快慢、收敛的稳定性、是否有正反馈等。同时,比较两种方法能达到的纠错性能下限,以确定那种方法更有纠错潜力可挖。
仿真在AWGN信道进行,SCCC码的编码速率是1/4。外码采用1/2的非系统非递归卷积码,约束长度为3,编码多项式为(5,7);内码为1/2的系统递归卷积码,约束长度为4,反馈多项式为015,前馈多项式为017;交织器采用比特翻转交织器;一帧的信息比特长度是690,外码加2个尾比特,则交织器的长度为1384,内码编码不加尾比特,则编码后的长度是2768。因为是在AWGN信道,仿真中没有用到信道交织。它的编码示意图如图3所示。
下面图4、图5分别是信噪比为1.5dB和2.0dB交换方式的误码率随迭代次数的变化曲线。
从图中可以看到,当迭代次数达到一定的门限时(1.5dB时为5次;2.0dB时为4次),迭代次数的增加对误码率的降低已无明显的效果。但总的来说,没有正反馈的现象。同时我们看到,在相同的信噪比下,平均交换方式的纠错能力要比简单交换方式好。
图6、图7分别是信噪比为2.5dB和3.0dB交换方式的误码率随迭代次数的变化曲线。
从图中可以看出,在大信噪比的时候,通过很少的迭代次数(3次)就能达到很好的误码率。在实际应用中有利于实时的解码处理。但简单交换方法存在严重的正反馈现象。相比而言,平均交换方法要好多了,特别是在2.5dB的时候,已无正反馈现象。但在更大信噪比的时候,还是有一定的正反馈存在。同样,平均交换方式的纠错性能下限要比简单交换方式好一个数量级左右。
从前面的分析可以看出,平均交换在误码性能上要比简单交换好。在小信噪比的时候,两者都无正反馈现象。在大信噪比的时候,两种方法都经过较少次数的迭代就能得到较好的误码率,有利于实际应用;缺点是两者都存在正反馈现象(特别是在3.0dB时)。很重要的一点是,外信息平均交换方法提供了一个比简单交换方法优越的误码率性能下限,更有纠错潜力可挖。当结合采用动态迭代方法,及时检测到正反馈的发生而终止迭代过程时,平均交换方式是一种非常好的方法。
参考文献
1 S.Benedetto,D.Divsalar,G.Montorsi, F.Pollara.A Soft-Input Soft-Output Maximum A Posteriori(MAP) Module to Decode Parallel and Serial concatenated Codes.TDA Progress Report,1996;(15):42~127
2 S.Benedetto,D.Divsalar,G.Montorsi,and F.Pollara.Serial concatenation of Interleaved Codes: Performance Analysis, Design, and Iterative Decoding.TDA Progress Report, 1996;(15):42~126
3 J.Hagenauer,P.Robertson.Iterative (″TURBO″) Decoding of Systematic Concolutional Codes with the MAP and SOVA Algorithms.