内容发布更新时间 : 2025/1/10 2:40:51星期一 下面是文章的全部内容请认真阅读。
eL12(uIk)为经交织的从dec1到dec2的外信息。整个迭代中软信息的转移过程为:
de1c?dec2?de1c?dec2??
下图是Turbo码采用标准MAP译码算法所得到的性能图(AWGN信道,3GPP交织器,迭代次数6次,分量码G = (13,15)8),从图中可以看出不同的交织器大小对码字性能的影响。
1.00E+001.00E-01标准MAP算法,交织器5114标准MAP算法,交织器14401.00E-02标准MAP算法,交织器3841.00E-03BER1.00E-041.00E-051.00E-061.00E-0700.250.50.7511.251.51.75Eb/N0(dB)
图13-8 Turbo码MAP译码算法性能曲线
MAP算法的引入使组成Turbo码的两个编码器均可采用性能优异的卷积码,同时采用了反馈译码的结构,实现了软输入/软输出,递推迭代译码,使编译码过程实现了伪随机化,并简化了最大似然译码算法,使其性能达到了逼近Shannon限。但MAP算法存在几个难以克服的缺点:(1)需要在接收到整个比特序列后才能做出译码判决,译码延迟很大。(2)计算时既要有前向迭代又有后向迭代。(3)与接收一组序列(交织器大小)呈正比的存储量等。为了克服MAP算法的缺点,一方面根据MAP算法进行简化;一方面寻找新的在性能上与MAP算法相差不太大的译码算法。常见的译码算法有以下两类。
MAP算法及改进算法:分为标准BCJR算法,对数域的LOG-MAP算法及MAX-LOG-MAP算法,减少状态搜索的M-BCJR和T-BCJR算法;滑动窗BCJR算法和只有前向递归的OSA算法均可用于Turbo码的迭代译码。
另一类是SOVA算法及其改进算法,其运算量为标准Viterbi算法的两倍,运算量低于MAP算法,但其译码增益比MAP算法要小。
四. SOVA译码算法
在工程应用中,由于SOVA算法的运算量较小,而且可以采用滑窗法,从而可以大大减小时延,因此更适合于工程应用。下面,就SOVA算法进行介绍。
SOVA算法的全称是:软输出Viterbi算法(Soft-Output Viterbi Algorithm)。Viterbi算法(以
下简称VA)在通信接收器中已经成为一个工具,在解调、译码、均衡中都有广泛的应用。在QAM和CPM等系统中,VA的级联得到了应用。在这些系统中,Viterbi接收器代替了传统的调制机制。然而在Viterbi级联系统中,存在着缺点:内VA调制产生突发错误而外VA调制又非常敏感;内VA产生硬判决限制了外VA运用接收软判决的能力。在实际应用中,这两个缺点越发明显。于是引入了SOVA算法,它采用软(硬)判决计算度量值,且输出相应判决比特和可靠性信息。
SOVA算法是Hagenauer于1989年提出的。它是Viterbi算法的改进类型。Viterbi算法是一种最大似然译码算法。它的译码过程通俗地来说是在接收序列R的控制下在码的篱笆图上走编码器走过的路径。
0s0001s011002s011003s01100114s011005s01100116s01100117s0008s0111111s1s10010s20101s30101s100s100s100s110s20101s30110s20101s30110s20101s30110s210s201s3 图 13-9 (2,1,2)码L=6时的篱笆图
图13-9所示的是(2,1,2)码(G(D)=[1+D+D2,1+D2])的篱笆图。它表示了编码器状态转移与时间的关系。VA就是在篱笆图上找寻一条具有最大“度量”路径。下面我们来分析SOVA算法。
j+1+1-1+1-1S?2v+1m=1sk-1k??k??mk?vm=-1+12k
图13-10 SOVA算法的一个例子
图13-10表示的是一个SOVA算法的例子。为了简化起见,我们考虑格图(篱笆图)上每一个节点有两个分支,状态数为2v,v为编码器寄存器个数。它以δ为时延进行一比特判决,δ足够大,使得2v个幸存路径以足够大的概率汇聚于一点。如图13-9所示,在k时刻,对于状态sk,Viterbi算法选择一条幸存路径,这是通过计算路径最小距离度量(或最大相关度
量)而得到的。同时状态sk还对应着一条待选路径。对于幸存路径,将其度量标为M1,相应的,待选路径的度量我们标为M2。于是幸存路径选错的概率为:
e?M211psk??M1?? (13.3.29)
e?e?M21?eM2?M11?e?其中,Δ= M2 – M1≥0。psk代表的则是传输不可信度。于是在e个路径1(幸存路径)与路径2(待选路径)的信息比特不等的位置处,其错误概率为psk。我们可以用下式表示:
?j?p?j(1?psk)?(1?p?j)psk, j?j1,...,je(u(j1)?u(j2)) (13.3.30)p?j表示的是已存储的路径1的错误概率。则对数似然比可以写为: 其中,p??logLj?j1?p?j?? (13.3.31), 0?L?jp结合(13.3.29),(13.3.30),(13.3.31),可以得到:
?j?f(L?j,?)?L1?log1?e??j??)(?L??Lje?e, (13.3.32)
其中,?的引入是为了防止信噪比的增加而产生溢出。?=4dfreeEs/N0。上式可近似写为:
?j,?)?min(L?j,?/?) (13.3.33)f(L于是SOVA算法可以分为以下几个步骤完成: 1 计算路径度量与度量差; 2 更新可靠性度量;
3 减去内信息,得到下一步所需的外信息值。
以上几步完成后,将所得到的外信息值带入下一个SOVA译码器中,进行下一步迭代,则可完成SOVA算法在Turbo码中译码的应用。SOVA算法,存在两种比较重要的形式。一种是HR-SOVA,一种是BR-SOVA。两种的区别在于可靠性度量的更新方法与原则: uj?uj?Lj?minL(j,?) (13.3.34)
s?usj?uc(sj,?)j?Lj?minL ?s (13.3.35)cssc(j,??Lj)?uj?uj?Lj?minLscss式(13.3.34)代表的是HR-SOVA的置换规则;(13.3.35)代表的是BR-SOVA的置换规则。可以证明,BR-SOVA与对数域上的MAP算法的简化算法MAX-LOG-MAP算法是等价的。
下图表示的是Turbo码采用SOVA译码算法的性能曲线(AWGN信道,3GPP交织器N=384,迭代次数6次,分量码G = (13,15)8)。从图中可以看出复杂度减小的代价是性能的降低。
1.00E+001.00E-01HR-SOVA算法MAP算法BR-SOVA算法1.00E-021.00E-03BER1.00E-041.00E-051.00E-061.00E-070.511.522.252.53Eb/N0(dB)
图13-11 Turbo码采用SOVA译码算法的性能曲线
五. Rayleigh衰落信道下Turbo码的译码
我们详细给出了AWGN信道上turbo码的MAP译码算法。对于Rayleigh慢衰落信道,MAP译码算法的修正主要是与信道条件有关的分支转移概率?k(s' ,s)。对于充分交织的衰落信道,信道可看作是无记忆的,如果接收机已知信道状态信息(CSI) ak,则?k(s' ,s)应修改为:
?k(s' ,s)?p(Sk?s,yk|Sk?1?s',ak )
?p(Sk?s|Sk?1?s' )?p(yk|Sk?s,Sk?1?s',ak )
?P(uk)?p(yks|uk,aks)?p(ykp|xkp,akp) (13.3.36)
pppss其中P(uk)是uk的先验概率,p(yk|uk,ak)和p(yk|xk,ak)服从高斯概率分布。因此,
有
p(yks|uk,aks)?p(ykp|xkp,akp)
?1?1sss2?ppp2??exp??[y?a(2x?1)] ?exp?[y?a(2x?1)]??? kkkkkk22?2???2???2(aksyksxks?akpykpxkp)??Bxexp?? (13.3.37) 2???Bk为常量。于是
?k(s' ,s)?Kexp?ukLe(uk)?Lcaksyksxks?Lcakpykpxkp? (13.3.38)
对于充分交织的衰落信道,如果接收机未知信道状态信息,则分支转移概率?k(s' ,s)为:
?k(s',s)?P(uk)?p(yks|uk)?p(ykp|xkp) (13.3.39)
spppppss其中,p(yk|uk)和p(yk|xk)分别是从p(yk|uk,ak)和p(yk|xk,ak)在Rayleigh衰落
幅度ak 上取统计平均获得。即
s p(yk|uk)=
??0pA(a)p(yks|uk,a)da
?a2??2ae0??1?s?(yk?a(2uk?1))2/N0e??da (13.3.40) N???0??s上式计算非常复杂,一种简化计算方法是:假定p(yk|uk)是高斯分布,则有
p(yks|uk)?exp?EA(a)(2uk?1)yks/N0? (13.3.41)
pp在一般仿真情况下,假定Rayleigh衰落的平均能量为1,于是EA(a)?0.8862。p(yk|xk)的计算与此类似。所以,最后得
?k(s' ,s)?Kexp?ukLe(uk)?LcEA(a)yksxks?LcEA(a)ykpxkp? (13.3.42)
对于相关的Rayleigh衰落信道,我们可以在turbo编码器之后附加一个信道交织器,在接收端通过解交织将Rayleigh衰落近似为不相关的,然后即可按照上述充分交织信道的译码算法进行仿真。相关衰落信道的编码器组成框图如图13-12所示。
图13-12 相关衰落信道的信道编码器组成框图
因此,我们可以统一用式(13.3.38)表示turbo码的MAP译码,并且有
sp? 未知信道状态信息:ak?ak?0.8862 sp? AWGN信道: ak?ak?1
Turbo码编码器 信道交织器 衰落信道
§13.4 Turbo码的分量码、交织器与性能限
本节介绍Turbo码中分量码以及交织器对性能的影响,并讨论了Turbo码的平均性能限。
13.4.1 分量码
Turbo码是建立在一种特殊的系统卷积码—递归系统卷积码(RSC)基础之上的,它以两个RSC码作为它的分量码,因此分量码的选取对Turbo码的性能有重要的影响。