首页 Turbo码详解解析

Turbo码详解解析

举报
开通vip

Turbo码详解解析Turbo码详解解析第十三章Turbo码Shannon理论证明,随机码是好码,但是它的译码却太复杂。因此,多少年来随机编码理论一直是作为分析与证明编码定理的主要方法,而如何在构造码上发挥作用却并未引起人们的足够重视。直到1993年,Turbo码的发现,才较好地解决了这一问题,为Shannon随机码理论的应用研究奠定了基础。Turbo码,又称并行级连卷积码(PCCC),是由C.Berrou等在ICC’93会议上提出的。它巧妙地将卷积码和随机交织器结合在一起,实现了随机编码的思想,同时,采用软输出迭代译码来逼近最大似然...

Turbo码详解解析
Turbo码详解解析第十三章Turbo码Shannon理论证明,随机码是好码,但是它的译码却太复杂。因此,多少年来随机编码理论一直是作为分析与证明编码定理的主要方法,而如何在构造码上发挥作用却并未引起人们的足够重视。直到1993年,Turbo码的发现,才较好地解决了这一问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 ,为Shannon随机码理论的应用研究奠定了基础。Turbo码,又称并行级连卷积码(PCCC),是由C.Berrou等在ICC’93会议上提出的。它巧妙地将卷积码和随机交织器结合在一起,实现了随机编码的思想,同时,采用软输出迭代译码来逼近最大似然译码。本章首先介绍Turbo码的提出与构成原理;介绍迭代反馈译码算法(包括AWGN信道与Rayleigh衰落信道下的译码);然后针对Turbo码编译码特性,对几个问题进行了说明;最后介绍Turbo码在3GPP中的具体应用。§13.1Turbo码的提出Turbo码,又称并行级连卷积码(PCCC),是由C.Berrou等在ICC’93会议上提出的。它巧妙地将卷积码和随机交织器结合在一起,实现了随机编码的思想,同时,采用软输出迭代译码来逼近最大似然译码。模拟结果 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 明,如果采用大小为65535的随机交织器,并且进行18次迭代,则在ENb/0≥0.7dB时,码率为1/2的Turbo码在AWGN信道上的误比特率(BER)≤-105,达到了近Shannon限的性能(1/2码率的Shannon限是0dB)。因此,这一超乎寻常的优异性能,立即引起信息与编码理论界的轰动。图13-1中给出了Turbo码及其它编码 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 的性能比较,从中可以看出Turbo编码方案的优越性。由于Turbo码的上述优异性能并不是从理论研究的角度给出的,而仅是计算机仿真的结果。因此,Turbo码的理论基础还不完善。后来经过不少人的重复性研究与理论分析,发现Turbo码的性能确实是非常优异的。因此,turbo码的发现,标志着信道编码理论与技术的研究进入了一个崭新的阶段,它结束了长期将信道截止速率0R作为实际容量限的历史。需要说明的是,由于原Turbo编译码方案申请了专利,因此在有关Turbo码的第一篇文章中,作者没有给出如何进行迭代译码的实现细节,只是从原理上加以说明。此后,P.Robertson对此进行了探讨,对译码器的工作原理进行了详细说明。人们依此进行了大量的模拟研究。Turbo码的提出,更新了编码理论研究中的一些概念和方法。现在人们更喜欢基于概率的软判决译码方法,而不是早期基于代数的构造与译码方法,而且人们对编码方案的比较方法也发生了变化,从以前的相互比较过渡到现在的均与Shannon限进行比较。同时,也使编码理论家变成了实验科学家。图13-1AWGN信道中的码率与Shannon限关于Turbo码的发展历程,C.Berrou等在文[4]中给出了详细的说明。因为C.Berrou主要从事的是通信集成电路的研究,所以他们将SOVA译码器看作是“信噪比放大器”,从而将电子放大器中的反馈技术应用于串行级联的软输出译码器,并且为了使两个译码器工作于相同的时钟,以简化时钟电路设计,就提出了并行级联方式,这导致了Turbo码的发明。尽管目前对Turbo码的作用机制尚不十分清楚,对迭代译码算法的性能还缺乏有效的理论解释,但它无疑为最终达到Shannon信道容量开辟了一条新的途径,其原理思想在相关研究领域中具有广阔的应用前景。目前,Turbo码被看作是1982年TCM技术问世以来,信道编码理论与技术研究上所取得的最伟大的技术成就,具有里程碑的意义。§13.2Turbo码编码器的组成Turbo码编码器是由两个反馈的系统卷积码编码器通过一个随机交织器并行连接而成,编码后的校验位经过删余阵,从而产生不同码率的码字。见图13-2。图13-2所示的是典型的Turbo码编码器框图,信息序列u={u1,u2,…,uN}经过一个N位交织器,形成一个新序列u1=},...,,{''2'1Nuuu(长度与 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 没变,但比特位置经过重新排列)。u与u1分别传送到两个分量码编码器(RSC1与RSC2),一般情况下,这两个分量码编码器结构相同,生成序列Xp1与Xp2。为了提高码率,序列Xp1与Xp2需要经过删余器,采用删余(puncturing)技术从这两个校验序列中周期地删除一些校验位,形成校验位序列Xp。Xp与未编码序列Xs经过复用调制后,生成了Turbo码序列X。例如,假定图13-2中两个分量编码器的码率均是1/2,为了得到1/2码率的Turbo码,可以采用这样的删余矩阵:P[10,01],即删去来自RSC1的校验序列Xp1的偶数位置比特与来自RSC2的校验序列Xp2的奇数位置比特。图13-2Turbo码编码器结构框图例13.1一个码率为1/3的Turbo码:图13-3一个码率为1/3的Turbo码编码器图13-3所示的是基于(2,1,4)RSC(递归卷积系统码)的Turbo码编码器。分量码是码率为1/2的寄存器级数为4的(2,1,4)RSC码,其生成矩阵为:]11,1[)(4324DDDDDDG+++++=(13.2.1)我们假设输入序列为:)1011001(=c(13.2.2)则第一个分量码的输出序列为:)1110001()1011001(10==vv(13.2.3)假设经过交织器后信息序列变为:)1101010(~=c(13.2.4)第二个分量码编码器所输出的校验位序列为:12)1000000(2=v(13.2.5)则Turbo码序列为:)110,000,000,100,110,010,111(=v(13.2.6)§13.3Turbo码的译码一.Turbo码的迭代译码原理由于Turbo码是由两个或多个分量码对同一信息序列经过不同交织后进行编码,对任何单个传统编码,通常在译码器的最后得到硬判决译码比特,然而Turbo码译码算法不应限制在译码器中通过的是硬判决信息,为了更好的利用译码器之间的信息,译码算法所用的应当是软判决信息而不是硬判决。对于一个由两个分量码构成Turbo码的译码器是由两个与分量码对应的译码单元和交织器与解交织器组成,将一个译码单元的软输出信息作为下一个译码单元的输入,为了获得更好的译码性能,将此过程迭代数次,这就是Turbo码译码器的基本的工作原理。二.Turbo码译码器的组成Turbo码译码器的基本结构如图13-4所示。它由两个软输入软输出(SISO)译码器dec1和dec2串行级连组成,交织器与编码器中所使用的交织器相同。译码器dec1对分量码RSC1进行最佳译码,产生关于信息序列u中每一比特的似然信息,并将其中的“外信息”经过交织送给dec2,译码器dec2将此信息作为先验信息,对分量码RSC2进行最佳译码,产生关于交织后的信息序列中每一比特的似然比信息,然后将其中的“外信息”经过解交织送给dec1,进行下一次译码。这样,经过多次迭代,dec1或dec2的外信息趋于稳定,似然比渐近值逼近于对整个码的最大似然译码,然后对此似然比进行硬判决,即可得到信息序列u的每一比特的最佳估值序列u。图13-4Turbo码译码器的结构假定Turbo码译码器的接收序列为),(psyyy=,冗余信息py经解复用后,分别送给dec1和dec2。于是,两个软输出译码器的输入序列分别为:dec1:),(1psyyy1=,dec2:),(2psyyy2=为了使译码后的比特错误概率最小,根据最大后验概率译码(MAP)准则,Turbo译码器的最佳译码策略是,根据接收序列y计算后验概率(APP)),|()(21yykkuPuP=。显然,这对于稍微长一点的码计算复杂度太高。在Turbo码的译码方案中,巧妙地采用了一种次优译码规则,将1y和2y分开考虑,由两个分量码译码器分别计算后验概率),|(1ekuPLy1和),|(2ekuPLy2,然后通过dec1和dec2之间的多次迭代,使它们收敛于MAP译码的),|(21yykuP,从而达到近Shannon限的性能。这里,e1L和e2L为附加信息,其中e1L由dec2提供,在dec1中用作先验信息,e2L由dec1提供,在dec2中用作先验信息。关于),|(1ekuPLy1和),|(2ekuPLy2的求解,目前已有多种方法,它们构成了Turbo码的不同译码算法。下面将以BCJR的前向-后向MAP软输出算法为例来讨论Turbo码的译码。三.分量码的最大后验概率译码(MAP算法)考虑图13-5所示的软输入软输出(SISO)译码器,它能为每一译码比特提供对数似然比输出。图13-5软输入软输出译码器框图图中MAP译码器的输入序列为yy==112NkNyyyy(,,,,),其中yyykkskp=(,)。Luek()是关于uk的先验信息,Luk()是关于uk的对数似然比。对于BPSK调制,它们的定义如下:(1)()ln(1)ekkkPuLuPu=+≡=-(13.3.1)11(1|)()ln(1|)NkkNkPuLuPu=+≡=-yy(13.3.2)假定发送端RSC编码器的存储级数为v,约束长度为K,编码器在k时刻的状态为Saaakkkkv=--+(,,,)11,编码输出序列为xxx=(,)sp。传输信道模型如图13-6所示。从图13-6可知,(12ssssssskkkkkkkyacnaxn=+=-+(13.3.3)(12pppppppkkkkkkkyacnaxn=+=-+(13.3.4)图13-6信道模型式中pkskaa和为信道衰落因子,对于AWGN信道,1==pkskaa。nnkskp和是两个独立同分布的高斯噪声样值,它们的均值为0,方差σ202=N/。MAP译码器的任务就是求解式(13.3.3),然后按照下列规则进行判决:0,()0ˆ1,()0kkkLuuLu≥⎧=⎨<⎩(13.3.5)下面利用BCJR算法对式(13.3.2)的计算方法进行推导。根据Bayes规则,式(13.3.2)可以写为:1111(1,)/()()ln(1,)/()NNkkNNkPupLuPup=+==-yyyy111(,)1111(,)1(,,)/()ln(,,)/()kkNNkkssuNNkkssupSsSsppSsSsp-'=+-'=-'==='==∑∑yyyy(13.3.6)上式中,求和是对所有由uk=+1即xk=0(或uk=–1即xk=1)引起的SSkk-→1的状态转移进行的。根据BCJR算法[12],pSsSskkN(',,)-==11y可以按下式计算:skpkspkaspknpsspspsyspsNkkkN(',,)(',)(,|')(|)yyy1111=⋅⋅-+=⋅⋅-αγβkkkssss1(')(',)()(13.3.7)其中,αkkkspSs()(,)≡=y1为前向递推,βkkNkspSs()(|)≡=+y1为后向递推,γkkkksspSsySs(',)(,|')≡==-1为s’和s之间的分支转移概率。下面求αβγkkkssss(),()(',)和。由定义得αkkkksspSsSs()(,',)'===-∑11y==⋅==----∑pSspSsySskkkkkks(',)(,|',)'111111yy(13.3.8)考虑到RSC编码器等效于一个马尔可夫源,在状态Sk-1已知时,k-1时刻以后发生的事件与以前输入无关。因此,从式(13.3.8)可得前向递推公式ααkkkkkssspSsySs()(')(,|')'=⋅==--∑11=⋅-∑αγkkssss1(')(',)'(13.3.9)同样,βks()可按下式反向递推得到βkkkNksspSsSs--===∑11(')(,|')y==⋅==+-∑pSspSsySskNkkkks(|)(,|')y11=⋅∑βγkkssss()(',)(13.3.10)至于分支转移概率γkss(',),从其定义可得γkkkkkksspSsSspySsSs(',)(|')(|,')===⋅==--11=⋅Pupyukkk()(|)(13.3.11)其中Puk()是uk的先验概率,pyukk(|)由信道转移概率决定。考虑到式(13.3.11)是从连续随机变量的概率密度计算得到,γkss(',)的值可能大于1,这会使得式(13.3.9)、(13.3.10)产生溢出,导致整个算法不稳定。因此,有必要对αβkkss(),()进行归一化处理。令~()()/()ααkkkssp=y1~()()/(|)ββkkkNkssp=+yy11(13.3.12)因为ppSskkks()(,)yy11==∑,所以~()()/()αααkkkssss=∑(13.3.13)将式(13.3.9)代入上式,并且分子分母同除以pk()y1,得到~()(')(',)/()(')(',)/()''ααγαγkkkkskkksssssspsssp=----∑∑∑111111yy=--∑∑∑~(')(',)~(')(',)''αγαγkkskkssssssss11(13.3.14)对于~()βks,考虑到ppppkNkkNkkk(|)(|)()/()yyyyyy1111111-+-=,于是有)|()'()'(~1111---=kNkkkpssyyββ=∑+-βγkkskNkkksssppp()(',)(|)()/()yyyy11111=+-∑∑βγαkkkNkskskssspsp()(',)/(|)()/()yyy1111=∑∑∑--~()(',)(')(',)/()'βγαγkkskskksssssssp111y=∑∑∑-~()(',)~(')(',)'βγαγkksksksssssss1(13.3.15)合并式(13.3.7)和(13.3.12)得pssspssspNkkkkkNk(',,)~(')()(',)~()(|)yyyy111111=⋅⋅--+αγβ=⋅⋅⋅--~(')(',)~()()()/()αγβkkkkNkssssppp11111yyy=⋅⋅⋅--~(')(',)~()()/(|)αγβkkkNkkssssppy1111yy(13.3.16)将上式代入式(13.3.6),并且分子分母同乘以因子pykk(|)y11-,便得最终计算公式1(,)11(,)1()(,)()()ln()(,)()kkkkkssukkkkssussssLussssαγβαγβ-'=+-'=-''⋅⋅=''⋅⋅∑∑(13.3.17)这样,就完成了分量码的MAP译码算法的推导。~()~()αβkkss和的递推运算示意于图13-7,其中~()αks的初始条件为(假定RSC编码器的初始状态为零状态):~(),~()αα00100=≠=0s(13.3.18)如果编码器在每帧编码完成之后通过结尾(termination)处理也回到零状态,那么~()βks递推的初始条件为:~(),~()ββNs0100=≠=N(13.3.19)否则,应设定为:~()/βNssv=∀12(13.3.20)图13-7~()~()αβkkss和的递推示意图利用Bayes规则,从式(13.3.2),可以看出11(|1)(1)()lnln(1)(|1)NkkkNkkpuPuLuPupu=+=+=+=-=-yy11(|1)ln()(|1)NekkNkpuLupu=+=+=-yy(13.3.21)其中Luek()是关于uk的先验信息。在以往的译码方案中,通常认为先验等概,因而Luek()=0。而在迭代译码方案中,Luek()是前一级译码器作为外信息给出的。为了能使迭代继续进行,当前译码器应从式(13.3.21)的第一项中提取出新的外信息并且提供给下一级译码器,作为下一级译码器接收的先验信息。式(13.3.1)可以写为:(1)(1)()lnln(1)1(1)ekkkkkPuPuLuPuPu=+=+===--=+(13.3.22)从上式,可得()exp[()/2]ekkkkPuAuLu=(13.3.23)其中,1exp[()/2]exp[()/2]keekkALuLu=+-,为常量。α)'')(Sαk对于p(yk|uk),根据),(pkskkyyy=,),(),(pkkpkskkxuxxx==,可得]2)(2)(exp[)|(2222σσpkpkkskkkxyuyuyp----∝=]exp[]2exp[222222σσpkpkskkpkpkkskyxyuxyuy+⋅+++-=]exp[2σpkpkskkkyxyuB+结合式(13.3.11),可得(13.3.24)定义]exp[),'(21pkpkckexyLss=γ,定义信道可靠性值0/4NaELsc≡,对于AWGN信道上的BPSK传输,LNNc==42020/,/而σ,于是式(13.3.24)可以写为]))((exp[),'(2121pkpkcskckekkxyLyLuLuss++∝γ),'()])((exp[21ssyLuLuekskckekγ⋅+=(13.3.25)结合(13.3.17)与(13.3.25),可得⎪⎪⎪⎭⎫⎝⎛⋅⋅⋅⋅⋅⋅=∑∑--+-skkekkskkekkkCssssCssssuL)(~),'()'(~)(~),'()'(~log)(11βγαβγα⎪⎪⎪⎭⎫⎝⎛⋅⋅⋅⋅++=∑∑--+-skekkskekkkeskcssssssssuLyL)(~),'()'(~)(~),'()'(~log)(11βγαβγα(13.3.26)此式中,第一项叫做信道值;第二项代表的是前一个译码器为第二个译码器所提供的关于uk的先验信息;第三项代表的是可送给后续译码器的外部信息。对于图13-3所示的Turbo译码器,如果分量码译码器dec1和dec2均采用上述MAP译码算法,则它们在第i次迭代的软输出分别为:dec1:LuLyLuLuikcksekieki121112()()()()[()][()]=++-(13.3.27)dec2:LuLyLuLuiIcIseIieIikkkk21221()()()()[()][()]=++(13.3.28)其中Luek21()是前一次迭代中dec2给出的外信息LueIk21()经解交织后的信息,在本次迭代中被dec1用作先验信息;Luek12()是dec1新产生的外信息,即式(13.3.26)中的第三项;LueIk12()为经交织的从dec1到dec2的外信息。整个迭代中软信息的转移过程为:decdecdecdec1212→→→→下图是Turbo码采用 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 MAP译码算法所得到的性能图(AWGN信道,3GPP交织器,迭代次数6次,分量码G=(13,15)8),从图中可以看出不同的交织器大小对码字性能的影响。1.00E-071.00E-061.00E-051.00E-041.00E-031.00E-021.00E-011.00E+000.250.50.7511.251.51.75Eb/N0(dB)BER图13-8Turbo码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-OutputViterbiAlgorithm)。Viterbi算法(以下简称VA)在通信接收器中已经成为一个工具,在解调、译码、均衡中都有广泛的应用。在QAM和CPM等系统中,VA的级联得到了应用。在这些系统中,Viterbi接收器代替了传统的调制机制。然而在Viterbi级联系统中,存在着缺点:内VA调制产生突发错误而外VA调制又非常敏感;内VA产生硬判决限制了外VA运用接收软判决的能力。在实际应用中,这两个缺点越发明显。于是引入了SOVA算法,它采用软(硬)判决计算度量值,且输出相应判决比特和可靠性信息。SOVA算法是Hagenauer于1989年提出的。它是Viterbi算法的改进类型。Viterbi算法是一种最大似然译码算法。它的译码过程通俗地来说是在接收序列R的控制下在码的篱笆图上走编码器走过的路径。65432187图13-9(2,1,2)码L=6时的篱笆图图13-9所示的是(2,1,2)码(G(D)=[1+D+D2,1+D2])的篱笆图。它表示了编码器状态转移与时间的关系。VA就是在篱笆图上找寻一条具有最大“度量”路径。下面我们来分析SOVA算法。vS2=-kmkks+1图13-10SOVA算法的一个例子图13-10表示的是一个SOVA算法的例子。为了简化起见,我们考虑格图(篱笆图)上每一个节点有两个分支,状态数为2v,v为编码器寄存器个数。它以δ为时延进行一比特判决,δ足够大,使得2v个幸存路径以足够大的概率汇聚于一点。如图13-9所示,在k时刻,对于状态sk,Viterbi算法选择一条幸存路径,这是通过计算路径最小距离度量(或最大相关度量)而得到的。同时状态sk还对应着一条待选路径。对于幸存路径,将其度量标为M1,相应的,待选路径的度量我们标为M2。于是幸存路径选错的概率为:∆----+=+=+=eeeeepMMMMMsk111112212(13.3.29)其中,Δ=M2–M1≥0。psk代表的则是传输不可信度。于是在e个路径1(幸存路径)与路径2(待选路径)的信息比特不等的位置处,其错误概率为psk。我们可以用下式表示:skjskjjppppp)ˆ1()1(ˆˆ-+-←,ejjj,...,1=()2()1(jjuu≠)(13.3.30)其中,jpˆ表示的是已存储的路径1的错误概率。则对数似然比可以写为:,ˆˆ1logˆjjjppL-=∞<≤jLˆ0(13.3.31)结合(13.3.29),(13.3.30),(13.3.31),可以得到:,1log1),ˆ(ˆˆ)ˆ(jjLLjjeeeLfLααα++=∆←∆∆+(13.3.32)其中,α的引入是为了防止信噪比的增加而产生溢出。α=4dfreeEs/N0。上式可近似写为:)/,ˆmin(),ˆ(α∆=∆jjLLf(13.3.33)于是SOVA算法可以分为以下几个步骤完成:1计算路径度量与度量差;2更新可靠性度量;3减去内信息,得到下一步所需的外信息值。以上几步完成后,将所得到的外信息值带入下一个SOVA译码器中,进行下一步迭代,则可完成SOVA算法在Turbo码中译码的应用。SOVA算法,存在两种比较重要的形式。一种是HR-SOVA,一种是BR-SOVA。两种的区别在于可靠性度量的更新方法与原则:),min(∆=⇒≠sjsjcjsjLLuu(13.3.34)⎩⎨⎧+∆=⇒=∆=⇒≠),min(),min(cjsjsjcjsjsjsjcjsjLLLuuLLuu(13.3.35)式(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-071.00E-061.00E-051.00E-041.00E-031.00E-021.00E-011.00E+000.511.522.252.53Eb/N0(dB)BER图13-11Turbo码采用SOVA译码算法的性能曲线五.Rayleigh衰落信道下Turbo码的译码我们详细给出了AWGN信道上turbo码的MAP译码算法。对于Rayleigh慢衰落信道,MAP译码算法的修正主要是与信道条件有关的分支转移概率),'(sskγ。对于充分交织的衰落信道,信道可看作是无记忆的,如果接收机已知信道状态信息(CSI)ak,则),'(sskγ应修改为:),'|,(),'(1kkkkkasSysSpss===-γ),',|()'|(11kkkkkkasSsSypsSsSp==⋅===--),|(),|()(pkpkpkskkskkaxypauypuP⋅⋅=(13.3.36)其中Puk()是uk的先验概率,),|(skkskauyp和),|(pkpkpkaxyp服从高斯概率分布。因此,有),|(),|(pkpkpkskkskaxypauyp⋅⎭⎬⎫⎩⎨⎧---⋅⎭⎬⎫⎩⎨⎧---∝2222)]12([21exp)]12([21exppkpkpkskskskxayxayσσ⎭⎬⎫⎩⎨⎧+=2)(2expσpkpkpkskskskxxyaxyaB(13.3.37)Bk为常量。于是{}pkpkpkcskskskckekkxyaLxyaLuLuKss++=)(exp),'(γ(13.3.38)对于充分交织的衰落信道,如果接收机未知信道状态信息,则分支转移概率),'(sskγ为:)|()|()(),'(pkpkkskkkxypuypuPss⋅⋅=γ(13.3.39)其中,)|(kskuyp和)|(pkpkxyp分别是从),|(skkskauyp和),|(pkpkpkaxyp在Rayleigh衰落幅度ak上取统计平均获得。即)|(kskuyp=daauypapkskA⎰∞),|()(daeNaeNuayaksk⎰∞----⎥⎥⎦⎤⎢⎢⎣⎡=0/))12((002212π(13.3.40)上式计算非常复杂,一种简化计算方法是:假定)|(kskuyp是高斯分布,则有)|(kskuyp()0/)12)((expNyuaEskkA-∝(13.3.41)在一般仿真情况下,假定Rayleigh衰落的平均能量为1,于是8862.0)(=aEA。)|(pkpkxyp的计算与此类似。所以,最后得{}pkpkAcskskAckekkxyaELxyaELuLuKss)()()(exp),'(++=γ(13.3.42)对于相关的Rayleigh衰落信道,我们可以在turbo编码器之后附加一个信道交织器,在接收端通过解交织将Rayleigh衰落近似为不相关的,然后即可按照上述充分交织信道的译码算法进行仿真。相关衰落信道的编码器组成框图如图13-12所示。图13-12相关衰落信道的信道编码器组成框图因此,我们可以统一用式(13.3.38)表示turbo码的MAP译码,并且有●未知信道状态信息:8862.0==pkskaa●AWGN信道:1==pkskaa§13.4Turbo码的分量码、交织器与性能限本节介绍Turbo码中分量码以及交织器对性能的影响,并讨论了Turbo码的平均性能限。13.4.1分量码Turbo码是建立在一种特殊的系统卷积码—递归系统卷积码(RSC)基础之上的,它以两个RSC码作为它的分量码,因此分量码的选取对Turbo码的性能有重要的影响。一.分量码的选择从差错控制编码的有关文献中我们可知,非系统卷积码(NSC)的BER性能在高信噪比时比约束长度相同的递归系统码要好,而在低信噪比时情况却正好相反。递归系统卷积(RSC)码综合了NSC码和系统码的特性,虽然它与NSC码具有相同的trellis结构和自由距离,但是在高码率(Rc≥23/)的情况下,对任何信噪比,它的性能均比等效的NSC码要好。因此,在Turbo码中采用RSC码作为分量码。一个生成多项式为(37,21)的16状态RSC编码器结构如图13-3所示。图13-13递归系统卷积码编码器(g1,g2)=(37,21)用RSC码构成的Turbo码的码率R为:121111-+=RRR(13.4.1)R1、R2为构成Turbo码的分量码的码率,在经删除后,分量码RSC1与RSC2的码率R1、R2可以不同。Turbo码的最大似然译码性能分析指出,Turbo码在高信噪比下的性能主要由它的自由距离所决定。因为Turbo码的自由距离主要由重量为2的输入信息序列所产生的码字间的最小距离所决定,用本原多项式作为反馈连接多项式的分量编码器所产生的码字的最小重量为最大,因此当Turbo码交织器的大小给定后,如果分量码的反馈连接多项式采用本原多项式,则Turbo码的自由距离会增加,从而Turbo码在高信噪比下的“错误平层(errorfloor)”会降低。错误平层效应,指的是在中高信噪比,误码曲线变平,也就是说,即使是再增大信噪比,误码率也降不下来。(一般的系统,比如说是BPSK的误码曲线,误码率随着信噪比的增大是单调下降的。)具体结果如图13-14所示。图中turbo码的码率为1/2,迭代次数为6次,N为交织长度。由图可见,在低信噪比区域,使用非本原反馈多项式的turbo码的性能要优于采用本原多项式的turbo码;而在高信噪比区域,却正好相反,本原turbo码具有很低的错误平层。因此,为了兼顾turbo码在两个区域的性能,一个分量码可以采用本原分量码,另一个为非本原分量码这种非对称编码图13-14采用本原反馈多项式与非本原反馈多项式的turbo码性能的比较二.归零处理对Turbo码性能的影响在MAP译码算法中,前向递推)(skα与反向递推)(skβ的初始值一般是根据分量编码器的初始状态和终止状态进行初始化的。对于普通的非系统卷积编码器,很容易将其初始状态和终止状态置为一已知状态,比如零状态。而对于turbo编码器,由于采用了递归结构,其分量编码器需要额外的结尾处理(trellistermination)才能达到终止于零状态,而且由于交织器的存在,将两个编码器同时归零就更为困难。为此,对)(skα和)(skβ的初始化一般采用如下几种方法:表13.2)(s编码器的归零处理对turbo码性能的影响如图13-6所示,仿真中turbo码的码率为1/2,分量码为16状态,生成多项式G1=G2=(37,21),迭代次数为6次,使用BCJR译码算法。由图可见,当交织器的长度小于4096比特时,分量编码器终了状态的归零处理对turbo码的性能略有改善,并且随着交织长度的增加,这种改善逐渐减小。当交织长度大于4096比特时,分量码的归零处理所带来的性能改善已可以忽略。由此我们得出,当交织长度大于4096比特时,turbo码不必进行归零,这样也有利于码率的匹配。一种将两个分量编码器均归零的解决方案如图13-16所示。图13-15归零处理对turbo码性能的影响图13-16RSC编码器的一种归零方法G=(13,15)813.4.2交织器在Turbo码的生成中,交织器扮演着重要的角色。交织器虽然仅仅是在RSC2编码器skpk之前将信息序列中的N个比特的位置进行随机置换,但它却起着关键的作用,在很大程度上影响着Turbo码的性能。通过随机交织,使得编码序列在长为2N或3N(不使用删余)比特的范围内具有记忆性,从而由简单的短码得到了近似长码。当交织器充分大时,Turbo码就具有近似于随机长码的特性。所以交织器的设计是Turbo码设计中的一个重要方面。不同交织器对Turbo码性能有着不同的影响。一.交织器的描述方法交织器是一个单输入单输出设备,它的输入与输出符号序列有相同的字符集,只是各符号在输入与输出序列中的排列顺序不同。即它是整数Z上的置换:ZZ→:π(13.4.2)如果交织器在第i时刻的输出为)(iπ,对于周期为T的交织器,它满足下列方程:iTiTi∀-=-),()(ππ(13.4.3)并且可以采用下列集合描述:⎪⎪⎭⎫⎝⎛1-T10110πππT-(13.4.4)目前,Turbo码交织器有多种设计方法和具体实现形式,常用的有伪随机S-交织器、分组交织器(blockinterleaver)和BG非均匀交织器等。其中分组交织器的一种结构如图13-17所示:图13-17行写列读的分组交织器由图可见,经过这种交织器的置换,信息序列中的首尾比特位置在交织前后保持不变。当分量编码器不归零时,从MAP或SOVA等算法的译码原理可知,分量译码器对一帧数据中的最后几比特译码的可信度较低,这样如果原帧数据中的最后几比特交织后仍处于帧数据的尾部,则整个turbo码性能的提高就受到了限制,我们称此为尾效应(taileffect)。为了避免这个问题,在交织器的设计中应该将原帧数据中的最后几比特置换到RSC2的输入序列的前部(非尾部位置)。当分量编码器均归零时,则不存在尾效应。关于伪随机交织器,目前所公认的性能较好的是伪随机S-交织器,即每一个随机产生的置换位置)(iπ均与它前边的S个值:)(,),2(),1(siii---πππ进行比较,如果距离sjsjii,2,1,|)()(|=<--ππ,则)(iπ被拒绝,必须重新产生。在本部分中的仿真数据除特别说明外,均采用的是S-交织器。读不同交织器长度时的S-交织器与分组交织器比较结果如图13-18和图13-19所示,其中Turbo码的码率为1/2,两个分量编码器均归零。图13-18分组交织器与随机交织器的性能比较(16状态NP16-NP16)图13-19分组交织器与随机交织器的性能比较(4状态P4-P4)从图13-18可以看出,对于16状态的Turbo码,当交织长度大于420比特时,S-随机交织器的性能要好于同样大小的分组交织器;而当交织长度小于192比特时,分组交织器的性能要好于S-交织器。同时图13-19表明,同样的交织长度192比特,对于4状态的Turbo码,S-随机交织器的性能仍优于分组交织器,直至交织长度低至80比特时,分组交织与随机交织的性能才基本一致。由此可以看出,S-交织器与分组交织器性能的差异与分量码有关,即其性能分界点取决于分量码的约束长度。为什分组交织器与随机交织器的性能会有差别?这可以从下面的“有效码字长度”的概念加以说明。二.有效码长的概念在传统的信道编码中,所使用的交织器一直是分组交织器或卷积交织器,其目的主要是抗信道突发错误,即将信道或级联码内码译码器产生的突发错误随机化,把由于受到噪声干扰而导致具有相关性的数据恢复成相互独立的输入数据。而在Turbo码中,目前认为两个RSC编码器之间的交织器除了具有上述功能外,还具有一个十分重要的核心作用---改变码的重量分布,使得Turbo码的编码输出序列中,重量很轻的码字和重量很重的码字都尽可能少,即使“重量谱窄化(thin)”,从而控制编码序列的距离特性,使Turbo码的整体纠错性能达到用户所要求的误码率。例如,假定在图13-2中,输入信息序列u导致RSC1编码器输出轻重量的码字,那么由于交织器的存在,将RSC2编码器的输入序列中的比特分布模式适当改变,就避免了在RSC2编码器的输出端再产生轻重量的码字,从而提高了Turbo码的整体性能。由此可见,交织器的引入改变了输入序列的距离特性。以上这些都是基于传统的码字之间的最小汉明距离来分析Turbo码的性能与交织器的作用的,这在一定程度上可以解释Turbo码的性能,但我们认为这并没有充分反映交织器的作用,在Turbo码中,码字之间的最小汉明距离究竟起到多少作用还需要进一步研究。还存在一种如下的逆序交织器:iTi-=)(π,即⎪⎪⎭⎫⎝⎛--01211210TTT-T-(13.4.5)从上述讨论的改变码的重量分布来看,这个交织器应该也起到了一定的改变重量分布的作用,Turbo的性能应该不错,但是仿真结果表明,使用该交织器的Turbo码性能并不比不交织的Turbo码(即单一分量码)的性能好。为此,让我们从另外一个角度来解释交织器。如果分量码的约束长度为K,则从卷积码的编码理论与MAP译码原理来看,对每一信息比特而言,它与其前边约L(大于6K)个比特、后边约L个比特的相关性较大,这一窗口内的接收数据对当前信息比特的译码起着主要作用,并且随着与当前译码比特相距位置的增大其作用逐渐减弱,这也是滑窗MAP译码算法的基础。对于简单的逆序交织器,与当前信息比特i最相关的数据在两个分量译码器的译码窗口内的排列次序都相同,因此其效果等同于一个分量编码器。L(a)(b)图13-20与比特i相关的信息位数对于普通分组交织器,参考图13-20(a),在格图上译码时,在第一个分量码的译码器中,对当前译码比特i有较大影响的码字比特集中横坐标上大小为2L的窗口内;在第二个分量码的译码器中,对当前译码比特i有较大影响的码字比特集中在纵坐标上大小为2L的窗口内,这样通过迭代译码,比特i的可信度就与周围(2L*2L)=4L2个比特有关。而这4L2个比特中的每一比特又都与一个相应的2L*2L译码窗口相联系,对于分组交织器,这些窗口大部分重叠在一起,虽然整个Turbo码的码字很长,但是对当前译码比特有贡献的码字比特数却限制在(4L2+L*2L+L*2L)=8L2内(参见图13-20(b))。而在随机交织器中,通过随机置换,比特i的2L*2L译码窗口内可能包含距离比特i较远的信息比特(如第8000个位置),这样与每一比特相对应的译码窗口可能不会完全重叠,从而与当前译码比特有紧密关系的码字比特数就会远大于8L2。交织器越大,这种效果越明显。所以当交织阵较大时,随机交织器要优于分组交织器。基于上述分析,在Turbo码中,交织器的作用主要是使信息比特之间尽可能具有长的关联,从而构成长码。考虑到最小汉明距离的概念是诞生于硬判决译码,采用最小欧氏距离是基于软判决译码算法的所用度量,所以现在有一个问题就是基于MAP译码算法,如何定义一种适合于Turbo码的有效距离或长度,目前还未找到很好的解决方法。这里我们初步定义在长为N的信息序列中,采用迭代译码时,与每一译码比特有密切联系的不同信息比特数目为“有效码字长度”。三.交织器设计准则综上所述,提出以下交织器设计准则:●最大程度地置乱原数据排列顺序,避免置换前相距较近的数据在置换后仍相距较近,特别是避免置换前相邻数据在置换后再次相邻。●尽可能避免与同一信息位直接相关的两个分量编码器中的校验位均被删余。●对于不归零的编码器,交织器设计时要避免出现“尾效应”图案。●在满足上述要求的交织器中再选择一个好的交织器,使码字之间的最小距离(或自由距离)dmin尽可能大,而重量为dmin的码字数要尽可能少,以改善turbo码在高信噪比时的性能。此外,从图13-2可以看出,由于交织器的存在,Turbo编码是面向帧数据的,即以帧或块(Block)为单位进行编译码。因此,在设计交织器时,应考虑具体应用系统的数据帧的大小,使交织深度在满足时延要求的前提下,与数据帧大小相一致,或是数据帧长度的整数倍。四.删余器删余的目的是为了得到一定码率的码字。Shannon在他的信道编码定理中很明确地指出了码率与信道容量的问题,我们的目的是在于尽量提高码率而达到小错误概率的传输。一般情况下,删余之后Turbo码的码率为1/2、1/3。相对应的删余阵为P=[10,01]和P=[11]。13.4.3Turbo码的平均性能限(界)一.联合限(界)对一种编码方案进行性能分析、评价,一般有两种方法:计算机仿真与标准联合限(界)技术。在低信噪比情况下,由于误码率较大,计算机仿真所需时间较短,而且在信噪比低于信道截止速率R0时标准联合限(Unionbound)发散,因此通常采用计算机仿真的方法。而在高信噪比时,计算机仿真误差较大,一般采用联合限(界)技术来得到码的平均性能上限(界)。对于turbo码的性能分析,也遵循这两种方法。联合限技术就是基于概率论中:∑≤⋃iiiEPEP)()(这一论断,来得到采用最大似然(ML)译码时的平均译码错误概率上限(界):∑=≤NdddedPAPmin)(2(13.4.6)式中dA为与码字集合中距离为d的码字数,因为是线性码,所以dA也就是汉明重量为d的码字总数,)(2dP是两个码字之间的错误概率,即成对错误概率。从式(13.4.6)可见,为了得到turbo码的性能限(界),首先需要计算出所考虑信道下码字的成对错误概率,与turbo码的重量谱。二.成对错误概率(Pairwiseerrorprobability)为了得到衰落信道上的成对错误概率,可以考虑二进制编码的M元信号传输问题。假定采用BPSK调制,则相应于第i个n维码矢][21iniiiccc=c的发送信号可以等效为一个n维矢量Misssiniii,2,1],[21==s,其中⎪⎩⎪⎨⎧=-==01iksiksikcEcEs当当(13.4.7)从通信理论可知,对于AWGN信道,当发送信号为si,而接收机却判决为sj的判决错误概率为⎪⎪⎭⎫⎝⎛=→0222)(NdQPijjiss(13.4.8)其中22||jiijdss-=(13.4.9)如果si和sj有d个分量不同(即ddjiH=),(cc),则有()ssnkjkikijdEEdssd42)(2122==-=∑=(13.4.10)将上式代入(13.4.8),得⎪⎪⎭⎫⎝⎛=→022)(NdEQPsjiss(13.4.11)对于充分交织的Rayleigh衰落信道,如果接收机具有信道状态信息,则∑∑===-=dkksnkjkikikijaEssad121224)]([(13.4.12)于是我们得到条件成对错误概率⎪⎪⎭⎫⎝⎛=→∑=dkksjiaNEQP12022)|(ass(13.4.13)在a上取集合平均得{})|()(22assssjiajiPEP→=→=ddkksaaddadaaNEQaaapd1120212),,,(1⎪⎪⎭⎫⎝⎛∑⎰⎰=(13.4.14)并且有∏==dkkdapaaap121)(),,,((13.4.15)为方便起见,我们以后记)(2jiPss→为)(2dP。Q函数一般没有闭形式的解,但可以利用它的一些性质来简化)(2dP的计算或得到一些上限(界)。从性质1:⎰-=2/0)sin2/(221)(πθθπdexQx(13.4.16)得到●AWGN信道:⎰-=2/0)sin2/()/2(2201)(πθθπdedPNdEs(13.4.17)●衰落信道:⎰⎪⎪⎭⎫⎝⎛+=2/02022sin/sin1)(πθθθπdNEdPds(13.4.18)从性质2:0,21)(2/2≥≤-xexQx(13.4.19)得到●AWGN信道:0/221)(NdEsedP-≤(13.4.20)●衰落信道:∑≤⎪⎪⎭⎫⎝⎛=-=∑dkksNEdkkseNEQ120)/(120212ααdsNEdP-⎪⎪⎭⎫⎝⎛+≤02121)((13.4.21)三.重量枚举函数为了得到turbo码的重量分布,必须求出分量码的重量分布。从纠错码理论知道,这可以通过重量枚举函数来得到。因为一个卷积码归零后可以等效于一个分组码,因此下面以分组码为例来定义重量枚举函数。对一个[N,K]线性分组码C,它的重量枚举函数(WEF)定义为:∑==NiiiXAXA0)((13.4.22)其中Ai是码字集合中汉明重量为i的码字数。对于系统编码器,定义它的输入冗余重量枚举函数(IRWEF)为:∑∑=-==KwKNzzwzwZWAZWA00,),((13.4.23)式中zwA,是码字集合中信息位重量为w、校验位重量为z的码字数。显然,有下列等式成立:∑∑=-=+==iwwiwizwzwiAAA0,,(13.4.24)为分析方便起见,根据信息位的重量w将码字分成K组,并对每组定义条件重量枚举函数(CIRWEF)为:∑-==KNzzzwwZAZA0,)((13.4.25)从式(13.4.23)和(13.4.25)可以看出,输入冗余重量枚举函数和条件重量枚举函数有下述关系:∑==KwwwZAWZWA0)(),((13.4.26)),(!1)(=∂∂⋅=WwwwWZWAwZA(13.4.27)例13.2(7,4)汉明码的重量枚举函数:一个(7,4)系统汉明码的生成矩阵如:10001100100011()00101110001101GD⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦(13.4.28)其重量枚举函数为:743771)(XXXXA+++=(13.4.29)输入输出重量枚举函数为:31),(XWXWXWXWXWWXWXXWA+++++++=(13.4.30)将码字重量分为信息位重量和校验位重量,可获得其输入冗余重量枚举函数:3432232)31()33()3(1),(ZWZWZZWZZWZWA+++++++=(13.4.31)条件重量枚举函数为:343223210)(31)(33)(3)(1)(ZZAZZAZZZAZZZAZA=+=+=+==在此基础上,我们需要得到两个分量码级联后的重量枚举函数,以便对turbo码进行性能分析。对于一个特定的交织器,这很困难,因为第二个分量码的校验位不仅与turbo码编码器的输入信息序列有关,而且还依赖于交织阵。但是我们可以在所有交织器上取一个平均性能。为此,S.Benedetto等引入了均匀交织器的概念[28],其定义如下:一个长度为K的均匀交织器是一种概率设备(probabilisticdevice),它将重量为w的输入序列等概地置换为⎪⎪⎭⎫⎝⎛wK种不同输出序列之一。由此出发,便容易得到turbo码的重量枚举函数。令)(1ZACw和)(2ZACw分别是分量码编码器RSC1和RSC2的条件重量枚举函数,则turbo码整体的条件重量枚举函数为:⎪⎪⎭⎫⎝⎛⋅=wKZAZAZACwCwCwP)()()(21(13.4.32)现在,就可以通过联合界技术求出turbo码的平均性能上界。四.联合界(Unionbound)考虑一个],[KN线性码的ML译码的平均译码错误概率上界。应用联合界技术,得到在发送特定码字c时的译码错误概率为∑≠→≤ccPeP'2)'()|(ccc∑==NddcddPAmin)(2|(13.4.33)式中cdA|是与码字c的距离为d的码字数,dmin为码字的最小汉明距离,对于卷积码,有fdd=min。因此,平均码字错误概率为∑==ceePPePP)|()()(cc∑=≤NddddPAmin)(2(13.4.34)式中dA是码字集合中距离为d的码字数,因为是线性码,所以dA也就是汉明重量为d的码字总数。对于],[KN系统码,设码的信息位重量为w,校验位重量为z,则平均比特错误概率为∑=≤NwwwbwPAKP12)(δ∑∑=-=+=KwKNzzwzwPAKw102,)((13.4.35)式中wδ是重量为w的码字中信息位的平均重量,并有zwd+=。由式(13.4.32)和式(13.4.35)即可得到turbo码在所有交织器上的平均性能限(界)。对于AWGN信道,将式(13.4.20)代入(13.4.35),得∑∑=-=--≤KwKNzNzEzwNwEbsseAeKwP10/,/0021∑===-=KweZWwwNsEZAWKw10/)(21(13.4.36)对于Rayleigh衰落信道,将式(13.4.21)代入(13.4.35),得∑∑=-=--++≤KwKNzzszwwsbNEANEKwP100,0)/1()/1(21∑=+===KwNEZWwwsZAWKw1/10)(21(13.4.37)五.性能仿真例13.3Turbo码平均译码错误概率上限(界):一个1/3码率,分量码生成矩阵为⎥⎦⎤⎢⎣⎡+++=2211,1)(DDDDG,交织器大小为500,其平均译码错误概率上限(界)结果如图所示:图13.21Turbo码的平均译码错误概率上限(界)§13.5Turbo码在实际通信系统(3GPP)中的应用Turbo码就目前而言,从出现到发展已经有了7年多的历程。许多科学家都在研究Turbo码的理论依据,取得了不少成果。Turbo码已经
本文档为【Turbo码详解解析】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_721103
暂无简介~
格式:doc
大小:557KB
软件:Word
页数:0
分类:
上传时间:2021-08-30
浏览量:48