1、个人收集整理 勿做商业用途详谈Turbo码特点及应用分析时间:2010-0809 23:42:22来源: 作者:Turbo 码。它巧妙地将两个简单分量码通过伪随机交织器并行级联来构造具有伪随机特性的长码,并通过在两个软入/软出(SISO)译码器之间进行多次迭代实现了伪随机译码。他的性能远远超过了其他的编码方式,得到了广泛的关注和发展,并对当今的编码理论和研究方法产生了深远的影响,信道编码学也随之进入了一个新的阶段。特点Turbo码有一重要特点是其译码较为复杂,比常规的卷积码要复杂的多,这种复杂不仅在于其译码要Turbo码采用迭代的过程,而且采用的算法本身也比较复杂。这些算法的关键是不但要能够对
2、每比特进行译码,而且还要伴随着译码给出每比特译出的可靠性信息,有了这些信息,迭代才能进行下去。用于Turbo码译码的具体算法有:MAP(Maximum A Posterori)Max-LogMAP、LogMAP和SOVA(Soft Output Viterbi Algorithm)算法。MAP算法是1974年被用于卷积码的译码,但用作Turbo码的译码还是要做一些修改;Max-Log-MAP与Log-MAP是根据MAP算法在运算量上做了重大改进,虽然性能有些下降,但使得Turbo码的译码复杂度大大的降低了,更加适合于实际系统的运用;Viterbi算法并不适合Turbo码的译码,原因就是没有每比
3、特译出的可靠性信息输出,修改后的具有软信息输出的SOVA算法,就正好适合了Turbo码的译码。这些算法在复杂度上和性能上具有一定的差异,系统地了解这些算法的原理是对Turbo码研究的基础,同时对这些算法的复杂度和性能的比较研究也将有助于Turbo的应用研究.Turbo码的仿真一般参考吴宇飞的经典程序。此外,要想在移动无线系统中成功的使用Turbo码,首先要考虑在语音传输中最大延迟的限制.在短帧情况下的仿真结果表明短交织Turbo码在AWGN信道和Rayleigh衰落下仍然具有接近信道容量的纠错能力,从而显示出Turbo码在移动无线通信系统中非常广阔的应用前景。Turbo码 (Turbo Cod
4、e)Turbo 码(Turbo Code)是一类应用在外层空间卫星通信和设计者寻找完成最大信息传输通过一个限制带宽通信链路在数据破坏的噪声面前的其它无线通信应用程序的高性能纠错码.有两类 Turbo 码在那里,块 Turbo 码和卷积 Turbo 码(CTCs),它们是相当不同的,因为它们使用不同的构件码,不同的串联方案和不同的 SISO 算法。研究现状对于Turbo码的研究最初集中于对于其译码算法、性能界和独特编码结构的研究上,经过十多年来的发展历程,已经取得了很大的成果,在各方面也都走向使用阶段。Turbo码由于很好地应用了香农信道编码定理中的随机性编译码条件而获得了接近香农理论极限的译码
5、性能。它不仅在信噪比较低的高噪声环境下性能优越,而且具有很强的抗衰落、抗干扰能力。目前,Turbo码的研究主要集中在以下几个方面:编译码技术编码方面主要包括对并行级联编码与串行级联编码的分析,以及对混合级联方式的研究;译码方面主要包括迭代译码、译码算法(最大后验概率算法MAP、修正的MAP算法MaxLog-MAP、软输出Viterbi 算法SOVA等)的研究。Turbo码的设计和分析主要包括交织器的设计、码的级联方式、译码算法、Turbo码的性能分析等。在性能分析中,主要对码重分布及距离谱进行分析,但由于没有相应的理论支持,这种分析只能是近似的,且仅局限于短码长、小码重的情况。Turbo 码在
6、直扩(CDMA) 系统中的研究及应用Turbo 码不仅在信道信噪比很低的高噪声环境下性能优越,而且还具有很强的抗衰落、抗干扰能力,因此它在信道条件差的移动通信系统中有很大的应用潜力,在第三代移动通信系统(IMT2000)中己经将Turbo码作为其传输高速数据的信道编码标准。第三代移动通信系统(IMT-2000)的特点是多媒体和智能化,要能提供多元传输速率、高性能、高质量的服务,为支持大数据量的多媒体业务,必须在布限带宽信道上传输数据。由于无线信道传输媒质的不稳定性及噪声的不确定性,一般的纠错码很难达到较高要求的译码性能(一般要求比特误码率小于10-6e),而Turbo码引起超乎寻常的优异译码性
7、能,可以纠正高速率数据传输时发生的误码.另外,由于在直扩(CDMA) 系统中采用Turbo 码技术可以进一步提高系统的容量,所以有关Turbo码在直扩(CDMA) 系统中的应用,也就受到了各国学者的重视。面向分组的Turbo 码主要面向分组的Turbo 码的构造、译码及译码器的分析。Turbo 码与其它通信技术的结合包括Turbo 码与调制技术(如网格编码调制TCM)的结合、Turbo码与均衡技术的结合(Turbo码均衡)、Turbo码编码与信源编码的结合、Turbo码译码与接收检测的结合等等。Turbo码与OFDM调制、差分检测技术相结合,具有较高的频率利用率,可有效地抑制短波信道中多径时延
8、、频率选择性衰落、人为干扰与噪声带来的不利影响。国内在Turbo码的研究领域也取得了一定的成果和进展,西安电子科技大学综合业务网国家重点试验室在Turbo码的理论和应用研究方面取得了很多研究成果。此外,清华大学、北京邮电大学和上海交通大学等高校都在进行Turbo码相关的其它关键技术的研究方面取得一定的进展.深圳华为公司等在推动Turbo码在移动通信系统中的应用方面起了积极的作用。编码原理Turbo 码最先是由C. Beou等提出的。它实际上是一种并行级联卷积码(Parallel Concatenated Convolutional Codes)。Turbo 码编码器是由两个反馈的系统卷积编码器
9、通过一个交织器并行连接而成,编码后的校验位经过删余阵,从而产生不同的码率的码字。如图所示:信息序列u=u1,u2,uN经过交织器形成一个新序列u=u1,u2,,uN(长度与内容没变,但比特位经过重新排列),u 和u分别传送到两个分量编码器(RSC1与RSC2) ,一般情况下,这两个分量编码器结构相同,生成序列X和X,为了提高码率,序列X和X需要经过删余器,采用删余(puncturing)技术从这两个校验序列中周期的删除一些校验位,形成校验序列X,X,与未编码序列X经过复用调制后,生成了Turbo码序列X.1。 分量码的选择Turbo 码的一个重要特点是它的分量码采用递归系统卷积码(RSC,Re
10、cursive Systematic Convolutional code) ,这也是它性能优越的一个重要原因。之所以选择RSC编码器作为Turbo码的子码主要有以下原因:首先,RSC码具有系统码的优点.这一特性使用户在译码时无需变换码字而直接对接收的码字进行译码,所以,递归系统卷积码( RSC)对于非系统卷积码( NSC )而言译码简单、快速。其次,从差错控制编码的相关文献中可知,非系统卷积码( NSC )的BER性能在高信噪比时比约束长度相同的非递归系统码要好,而在低信噪比时情况却正好相反。递归系统卷积码综合了NSC码和非递归系统卷积码的特性,且然它与NSC码具有相同的trellis结构和
11、自由距离,但是在高码率(R2/3)的情况下,对任何信噪比,它的性能均比等效的NSC码要好。由于系统递归卷积码具有以上特点,并且能改善无码率,所以通常选择RSC码作为Turbo码的子编码器。递归系统卷权码(RSC)不同于一般的卷积码器在于其结构中不仅有向前结构,还有向后反馈结构,在下图中可以看出。Turbo码RSC 编码器一般有25 级移位寄存器, 用生成多项式表示为:式中,1表示系统比特,gl 和g2分别表示编码器的前馈多项式和反馈多项式。Turbo码用RSC码构成Turbo码的分量码的码率R为:式中:R1,R2为构成Turbo 码的分量码的码率,在经删余后,分量RSC1和RSC2的码率可以不
12、同。Turbo 码的最大似然译码性能分析出,Turbo 码在高信噪比下的性能主要由它的自由距离所决定。因为Turbo码的自由距离主要由重量为2的输入信息序列所产生的码字间的最小距离所决定,用本原多项式作为反馈连接多项式的分量编码器所产生的码字的最小重量为最大,因此当Turbo码交织器的大小给定后,如果分量码的反馈连接多项式采用本原多项式,则Turbo码的自由距离会增加,从而Turbo码在高斯信噪比情况下的“错误平层(errorfloor)会降低。错误平层效应指的是在中高信噪比情况下,误码曲线变平。也就是说,即使是再增大信噪比,无码率也降不下来(一般的系统,比如说是BPSK的误码曲线,误码率随着
13、信噪比的增大是单调下降的) 。2。 交织器的设计交织器是影响Turbo码性能的一个关键因素,它可以便Turbo码的距离谱细化,即码重分布更为集中。它的特性的好坏直接关系着Turbo码的性能。编码器中交织器的使用是实现Turbo码近似随机编码的关键。交织器实际上是一个一一映射函数,作用是将输入信息序列中的比特位置进行重置,以减小分量编码器输出校验序列的相关性和提高码重。通常在输入信息序列较长时可以采用近似随机的映射方式,相应的交织器称为伪随机交织器。由于在具体的通信系统中采用Turbo码时交织器必须具有固定的结构,同时是基于信息序列的,因此在一定条件下可以把Turbo码看成一类特殊的分组码来简化
14、分析。交织是对信息序列加以重新排列的一个过程.如果定义一个集合A , A=1,2,N .则交织器可以定义为一个一一对应的映射函数(A-A):J=(i),(i,j属于A) 这里的i ,j 分别是未交织序列C 和交织序列C 中的元素标号.映射函数可以表示为N = (1),(2),(3),(N)) 。其原理如图Turbo码在交织器的设计中,基本上是遵循下列原则:1)最大程度的置乱原来的数据排列顺序,避免置换前相距较近的数据在置换后仍然相距较近,特别是要避免相邻的数据在置换后仍然相邻。Turbo码2) 尽量提高最小码重码字的重量和减小低码重码字的数量.3) 尽可能避免与同一信息位直接相关的两个分量编码
15、器中的校验位均被删除;4) 对于不归零的编码器,交织器设计时要避兔出现尾效应 图案.在设计交织器时,应考虑具体应用系统的数据的大小,使交织深度在满足时延要求的前提下,与数据大小一致,或是数据帧长度的整数倍.交织器和分量码的结合可以确保Turbo码编码输出码字都具有较高的汉明重量。在Turbo编码器中交织器的作用是将信息序列中的比特顺序重置。当信息序列经过第一个分量编码器后输出的码字重量较低时,交织器可以使交织后的信息序列经过第二个分量编码器编码后以很大的概率输出较高重码字,从而提高码字的汉明重量:同时好的交织器还可以奇效地降低校验序列间的相关性。因此,交织器设计的好坏在很大程度上影响着Turb
16、o码的性能。交织器的类型可以分为两大类,一是规则交织器,也称确定性交织器,其交织器的映射函数可以由一个确定的解析函数给出。二是随机交织器,其映射函数不能由-个确定的解析表达式给出.Turbo 码常用的交织器包括以下几种:分组交织器、随机交织器、s随机交织器等等。3. 删余技术对于数字通信领域日益紧张的带宽资源,提高码率就意味着节省带宽和降低通信费用。删余(Puncturing)是目前提高Turbo码码率的主要方法。Turbo 码中,删余器通常比较简单,因为在一般的应用中,码率都是在1/2 或者1/3 ,因此即使有删余器,它一般也只是周期性的从两个分量编码器中选择校验比特输出即可。其具体做法是:
17、从两个RSC编码生成的校验序列中周期地删除一些校验位,然后再与未编码的信息序列复用重组成最后的编码输出序列,调制后进入信道传输.若信息序列为d1 =(C11) ,长度为N ,那么两个RSC分量编码器的输出为:Turbo码图3。 6 所示示为采用了删余技术的编码结构,若取RSC1输出的奇比特和RSC2的偶比特,即采用删余矩阵P= 10,01 , 那么编码输出长度为2N,码率提高为1/2的序列为Cp.Turbo码两个分量码编码器的输出经过删余得到的序列被称为奇偶序列,是校验序列.一个好的删余算法应该符合以下几点要求:1) 不能删除信息位。删除信息位会造成较大的信息损失,从而使误码率有较大的损失;2
18、) 删余应该在时间域上均匀进行,删余同一时刻所有的比特位会造成此时刻信息损失较大,影响误码率;3) 删余应该对于各分量码均匀进行,从而使信息的损失均匀分布在各分量码上,避免由于信息损失不均匀导致分量码译码性能下降。译码原理香农信息论告诉我们,最优的译码算法是概率译码算法,也就是最大后验概率算法(MAP)。但在Turbo码出现之前,信道编码使用的概率译码算法是最大似然算法(ML)。ML算法是MAP算法的简化,即假设信源符号等概率出现,因此是次优的译码算法.Turbo码的译码算法采用了MAP算法,在译码的结构上又做了改进,再次引入反馈的概念,取得了性能和复杂度之间的折衷。同时,Turbo 码的译码
19、采用的是法代译码,这与经典的代数译码是完全不同的。Turbo 码的译码算法是最早在BCJR 算法的基础上改进的,我们称以MAP算法,后来又形成LogMAP算法、MaxLog-MAP以及软输入软输出(SOVA)算法.Turbo码Turbo 码的译码结构图1。Turbo 码的译码结构如图所示. Turbo 译码器有以下的特点:1) 串行级联2) 迭代译码3) 在迭代译码过程中交换的是外部信息2. 概率译码译码原理及结构译码时首先对接收信息进行处理,两个成员译码器之间外部信息的传递就形成了一个循环迭代的结构。由于外部信息的作用,一定信噪比下的误比特率将随着循环次数的增加而降低.但同时外部信息与接受序
20、列间的相关性也随着译码次数的增加而逐渐增加,外部信息所提供的纠错能力也随之减弱,在一定的循环次数之后,译码性能将不再提高.译码算法如前所述,turbo码需要一种软输入软输出的译码算法。软输出译码器的输出不仅应包含硬判决值,而且包括做出这种判断的可信程度。Turbo码译码算法应该考虑到三方面的问题,及外信息的引入;如何在迭代译码中充分利用各类信息,防止简单正反馈的形成,确保算法收敛;充分利用码原件的相关信息.常见的算法有一下几种:1. 标准MAP算法是对bahl软输出算法做一定修正后,通过除以先验分布来消除正反馈的算法。对于约束长度为M 1的卷积码,其运算量为每比特6x3M次乘法和5x2M次加法
21、。由于乘法运算量大,限制了译码的规模和速度。2。 LogMAP算法实际上就是对标准MAP算法中的似然全部用对数似然度来表示,这样,乘法运算变成了加法运算.总的运算量成为6x2M次加法,5x2M次求最大运算和5x2M次查表。3. MaxLogMAP算法是在上述对数域的算法中,将似然值加法表示式中的对数分量忽略,是似然加法完全变成求最大值运算,这样除了省去大部分的加法运算外,最大的好处是省去了对信噪比的估计,使得算法更稳健。4。 软输出维特比译码(SOVA)其运算量为标准维特比算法的两倍。维特比算法是最大似然序列估计算法,但由于在它的每一步都要删除Turbo码一些低似然路径,为每一状态只保留一条最
22、优路径,它无法提供软输出.为了给他输出的每个比特赋予一个可信度,需要在删除低似然路径是做一些修正,以保留必要的信息。其基本思想是利用最优留存路径和被删路径的度量差,这个差越小意味着这次算去的可靠性越好。然后用这个差去修正这条路径上各个比特的可信度。性能仿真比较目前Turbo 码的大部分研究致力于在获得次优性能的情况下减小译码复杂度和时延,从而得到可实现的Turbo码系统。1. 几种主要译码算法的性能比较Turbo码译码算法对Turbo码的影晌对MAP算法、LogMAP算法、MaxLogMAP算法和SOVA算法在加性高斯白噪声信道(AWGN)环境下进行仿真比较,系统采用的是BPSK调制方式,Tu
23、rbo 码的交织长度是1024 , RSC子码的生成多项式为(37,21) ,系统编码率为R=1/2,译码时迭代5次,结果以曲线图给出如图。 仿真结果表明,四种算法中,MAP算法性能最好,LogMAP 算法的性能跟MAP 算法在较低的SNRq时比较接近, 高信噪比时差别则较大.Max-LogMAP算法和SOVA算法的性能十分接近,一般情况下,Max-Log-MAP算法的性能,总是稍优于SOVA算法.它们跟MAP和LogMAP相比,性能下降十分明显。从算法复杂度而言,MAP算法最为复杂,LogMAP 其次,之后是Max LogMAP ,SOYA算法最简单。由此可以看出,性能优异的Turbo码译码
24、算法十分复杂,如果要使得译码容易实现而对算法进行简化或者是采用简单的算法,往往需以性能的降低为代价.2. 不同迭代次数对Turbo 码性能的影响迭代次数对Turbo码的影响Turbo码左图给出了在不同解码迭代次数下,码率为1/ 2的Turbo码的BER与Eb/N0的关系曲线。Turbo 码的交织长度是1024 ,RSC 子码的生成多项式为(37,21) ,系统编码率为R=1/2。如Turbo码译码原理中所述,两个译码器之间互相交外部信息进行迭代。Turbo码可以得到,迭代译码次数增大,译码性能增加.在第一次迭代的误比特性能都比较差,这是因为两个分量译码器之间的信息还没有被很好的相互利用.随着迭
25、代次数的增加,两个分量译码器之间的外信息被更好的利用,对信息比特的估计更接近最大似然比,判决输出的正确性就越高.迭代次数达到一定数值时,译码性能趋于稳定,再增加新的迭代对性能的改善非常小。迭代增加了译码时延,在大帧编码时尤其如此。仿真中迭代次数增大时运行时间显著增加。由于达到一定迭代次数后,新增加的迭代对性能改善不大,而法代又极大地增加译码时延,所以在实际设计Turbo码系统时,需要选择适当的迭代次数,在允许的译码时延内,达到最佳的译码性能.这种预先规定迭代次数的方式是终止译码迭代次数的方法之一。当要求的信噪比比较大,误码率要求不太高的情况,往往经过很少的几次迭代就能达到译码要求正确译码。此时
26、,如果预设迭代次数比较大,那么译码器会继续译码,一直进行到预设次数的迭代为止.后边的几次送代并没有明显地提高性能,是完全不必要的,而且多余的法代食给译码带来了额外的时延。3。 不同编码约束度K 对Turbo 码性能的影响不同的约束度对Turbo 码性能的影响采用不同子码的Turbo码的性能也有很大差别。Turbo 码的设计中首先就是选择好的RSC子码。这里只对几种常用的、较好的采用不同约束长度的RSC 做子码的Turbo 码进行仿真,以分析约束长度对Turbo 码性能的影响.可以看出,随着约束长度K增大,编码后的码元与更多个信息比特相关,因此译码纠错能力越强误比特率HER就越小。当BER102
27、e 时,增加卷积码的约束度将会改善Turbo 码HER性能。在交织器长度和码率一定时,约束度越大,Turbo 码的HER 性能越好。在3G中的应用信道编码技术可改善数字信息在传输过程中噪声和干扰造成的误差,提高系统可靠性。因而挺供高效的信道编译码技术成为3G移动通信系统中的关键技术之一。3G移动通信系统所提供的业务种类的多样性、灵活性,对差错控制编译码提出了更高的要求。WCDMA 和cdma2000方案都建议采用除与IS-95 CDMA系统类似的卷积编码技术和交织技术之外,采用Turbo编码技术。1. RSC 编码器的设计cdma2000 方案中,Turbo 码被用在CDMA系统前向、反向链路
28、信道中。反向链路信道中,子编码器(3,1,3)RSC 的生成矩阵为:Turbo码RSC编码器基于8状态的并行级联卷积码(8PCCC)。交织采用了比特翻转技术。通过删余处理,码率为1/4,1/2,1/3的Turbo码被采用.分别对两个子编码器的输出奇偶位V2和V2交替删余,可得到码率为1/4的Turbo码;对V1,V1 删余,可得码率为1/3;对V2、V2间隔几V1,V1删余,可得码率1/2.WCDMA中,对于收务服务质量需求BER介于10-3e和10-6e之间.并且允许时延较长的数据业务,RSC子编码器使用8态并行级联卷积码8PCC 。生成矩阵为:WCDMA中的turbo编码器2. 交织长度的
29、选择在3G移动通信中,业务速率由32kbit/s到2Mbit/s。10ms一帧,帧长由20 到20000 .为了提高译码器性能,在一些低速业务中,可采用多帧组成一个数据块,加大交织深度.在WCDMA中,Turbo 码交织器是可截短型块交织器。交织行数为5、10或20行,在行数确定的基础上选择列数.数据按行读入交织器,按固定模式进行行间转换,不同输入序列长度对应不同的行数和行间转换模式。行转换完成后,近行列转换。不同行对应不同列间转换参数,采取的是接近随机化的素数取模算法.数据在完成行列转换后,按列读出。cdma2000 也是基于块交织。交织行数为25=32行,列数N=2n,n为满足使32N大于
30、或等于帧长度的最小值.数据按行读人.行间转换的依据是比特翻转原则。列问转换的置换公式是:x( i+1) = x(i) + c mod N,即为同模取余法,为了更接近随机化,使每列的偏置取不同值。数据经过行列转换后,按列输出.3。 译码器的设计由于Turbo码译码算法复杂,译码延时长,所以对于时延要求高的数据业务应用受限.因而低复杂度译码器的设计成为Turbo码译码算法设计的焦点.为了换取复杂度的简化,允许次优性能译码的存在。例如3GPP中允许Turbo码的译间比标准MAP算法有1dB的增益损失。结合CRC校验来减少迭代次数,在SNR 较大时可以减少译码复杂度和译码延时。发展前景日前Turbo码
31、的研究尚缺少理论基础支持,但是在各种恶劣条件下( 即低SNR情况下),提供接近Shannon 极限的通信能力已经通过模拟证明。但Turbo码也存在着一些急待解决的问题,例如译码算法的改进、复杂性的降低、译码延时的减小。作为商用3G 移动通信系统的关键技术之一,Turbo 码也将逐渐获得较好的理论支持并且得到进一步开发和完善。Turbo码 - 接近完美的编码3G即第三代移动通信,主流制式分为三大类WCDMA , CDMA2000 和中国的TDSCDMA 。理想的3G要求必须能够支持全IP高速分组数据传输(数据速率为数十甚至数百Mbit/ s) 、支持高的终端移动性(移动速度高达每小时几百公里)
32、、支持高的传输质量(数据业务的误码率低于10- 6) 、提供高的频谱利用率和功率效率(发射功率降低10dB 以上) ,并能够有效地支持在用户数据速率、用户容量、服务质量和移动速度等方面大动态范围的变化。而为了解决这些难题,就必须有好的编码技术。具有强纠错能力的Turbo 码受到各个移动通信标准的青睐。下面是整理的关于Turbo码的文字:Turbo 码使工程师可以在一个信道里传输多得多的无误码数据,从而将成为下一代多媒体移动通信的关键 在超尘脱俗的技术研究领域,一篇深奥的论文通常很少受到嘲笑.更为罕见的是这篇论文后来竟又被证明是革命性的。而这恰恰发生在十年以前,1993 年在瑞士日内瓦举行的IE
33、EE 国际通信学会。会上两位法国电机工程师克劳德.伯劳和阿雷恩.格莱维欧克斯声称他们发明了一种数字编解码方案,可以实现事实上无误码而码率与发射功率效率超出所有专家预期的传输。Turbo 码的发明人克劳德.伯劳和阿雷恩。格莱维欧克斯,这两位法国人都是位于布莱斯特的布列塔尼国立高等电信学校的教授。他们解决了困扰通信界近40 年的一个难题。 文章作者宣称,这一方案可以在给定功率下把传输码率提高一倍,或者在给定传输速率下把信号能量减少一半 这一进展足以使某些通信公司动心来碰一下运气。克劳德。伯劳(左)和阿雷恩。格莱维欧克斯几乎没有专家相信他们的结果。这两位法国人都是位于布莱斯特的布列塔尼国立高等电信学
34、校的教授,当时在信息理论领域都是名不见经传的.一些人想当然地认为他们的计算一定有什么错误。结论看来如此不合常理以致一些专家懒得去阅读这篇文章。似乎不可思议的是,当其他研究人员开始试验重复其结果时,很快证明这些结论是正确的。于是编解码理论专家认识到这篇文章的重要。伯劳和格莱维欧克斯提出的纠错编码方案是对的,这一方案就被命名为Turbo 编码,它对纠错编码产生了革命性的影响。你买的下一代移动电话很可能就是基于这一编码方案.一开始,Turbo 码只是应用于一些特殊场合,主要是用于卫星链路。至少还有一次用于深度空间通信,现在这个技术要走上主流舞台了。当这个技术与下一代移动电话结合,成百万人就会用上它.
35、这一技术会使手机或其它移动设备有能力进行多媒体数据,如视频信号及图形图像信号的通信。由于在这种环境下通常信道噪声严重,其它技术很难满足要求.不仅如此,研究人员还在研究把 Turbo 码用于数字音频和视频广播,以及用于增强型无线互联网, 以提高数据传输速率。由于 Turbo 码的这种巨大前景, 它已经成为通信研究的前沿。在全世界各大公司和大学的成百个小组都聚焦在这个领域.其中有电信钜子如法国电信、NTT(日本电话电报公司)、DoCoMo;有高技术公司巨头如索尼、NEC(日本电气)、朗讯、三星、爱立信、诺基亚、摩托罗拉和高通(Qualcomm);有硬件和芯片制造商 如 Broadcom 、 Con
36、exant 、Comtech AHA 和STMicroelectronics;还有新兴高技术企业如Turboconcept和iCoding。Turbo 码其实只是实现了一件简单但了不起的事情 使工程师能够设计出非常接近信道容量(即在一定发射功率电平下信道可传输的每秒比特数值的绝对最大容量)的系统。 这一极限值是由当时在贝尔实验室工作的著名的电机工程师和数学家,以信息论之父闻名于世的克劳德.香农发现的。在 1948 年的一篇标志性论文中,香农(2001 年去世)证明在使用正确的纠错码的条件下,数据可以以接近信道容量的速率几乎无误码地传输,而所需的功率却十分低。 在香农这篇文章以前,工程师们认为要
37、减少误码,要么就得增加发射功率,要么就得反复发送同一段消息就好像在人声嘈杂的啤酒馆里人们得大声地反复呼叫要啤酒一样。香农从根本上证明了如果你有正确的编码方案就没有必要浪费那么多能量和时间。在他的发现之后编码理论就发展起来了,研究人员找到了相当好的编码方式.但是在 Turbo 码以前,即使最好的编码方案通常也需要香农定理要求的功率的两倍才能达到必要的可靠性这是能量的巨大浪费。在理论数值和实际要求数值之间的能量差距用对数坐标表示大约为 3.5 分贝。要想缩小这一差距工程师需要更精细的编码.这成了近四十年工程界不断努力的目标,一直到伯劳和格莱维欧克斯在九十年代初做出了他们的发现为止.1993 年他们
38、提出Turbo 码概念时展示了在误码率为十万分之一的情形下把实际功率和香农理论的差距惊人地缩小为 0.5 分贝的可能。今天 Turbo码甚至还在继续缩小这一已经很小的差距.按照香农奠基性的文章,克服困扰所有通信信道的噪声的办法是把要传输的数据划分成一段一段的比特串,在每一段加上额外的比特,称之为奇偶比特,这些码在接收端可以帮助识别和纠正误码.数据比特加奇偶比特所形成的一组比特群称之为编码词,通常表示一段字符、若干像素、一段声音取样或其他数据块。IEEE 的会士,麻省理工学院的电机系教授戴维.佛内指出: 香农证明了对于一个正确的编码词集合也就是说正确的编码,有可能达到信道容量。但是,什么编码可以
39、实现这一点?香农没有回答。香农从数学上证明了编码是达到信道容量的手段,但他没有给出如何构建这样的编码的准确方法。但香农的工作提供了宝贵的启示。香农把编码词当作(编码)空间中的一个点。例如编码词 011可以当成三维空间中坐标为x=0,y=1,z=1 的一个点。多于三个比特的编码词可以看成多维空间的点。噪声会扰动一个编码词的比特,从而扰动其在空间的坐标,使其位置发生变化.如果两个点位置靠近,其中一点被噪声影响,这点就有可能正好落到另一点上,形成解码错误。因此,编码词之间的空间距离分得越开,噪声就越难以造成误码.为了达到信道容量的传输极限,香农证明应该随机地选取无限长度的编码词。如果回到他提出的空间
40、比拟,如果你能够按照你的意愿使编码词尽可能随机、尽可能长,你就能把这些编码词在空间分布得尽可能彼此远离,自然一点错误地落到另一点上的情况就难以发生。 可惜这种随机、冗长的编码是不现实的.首先编码词的数量会是天文数字,其次这样做就要发射许多许多比特来表示一个编码词,这种编码使用起来会非常慢。然而编码的随机性对 Turbo码仍旧是关键.编码专家在开发现实世界可以使用的编码时只能把香农的理想随机码放在一边。他们很快就开始利用巧妙地选择奇偶比特,把编码词限制在一定值域来开发有效编码,使编码词彼此之间不易混淆.例如我们有一个 8 比特的编码词(7 位有效比特加一位奇偶比特) 。假设我们保持每个编码词“1
41、”的个数是偶数,并通过改变外加的奇偶比特来满足这个要求。现在如果任何一个比特,包括奇偶比特在内被噪声所干扰而发生改变,则接收端就会检测出误码,因为奇偶数不对, “1”的个数变成了奇数。这一方案可以检测出误码却不能纠错-我们无法知道是哪一个比特被改变了.为了纠错需要更多奇偶比特.编码专家提出了许多越来越复杂的产生奇偶比特的方法.区块码(block codes)、海明码(Hamming)、李德所罗门码(ReedSolomon) 和 卷 积 码(convolutional)是几种广泛使用的编码方案, 其误码率都很低。然而,在这些编码方案中计算复杂性问题困扰着编码专家。当人们估算对所收到的数据进行解码
42、所需要的计算量及由此产生的成本时,计算复杂性问题就浮现出来。越接近香农极限编解码过程就越复杂,因为需要更多的奇偶校验比特因而编码词变得越来越长。例如,对于长度为 3 个比特的编码词,所有不同词汇总量仅为23,即 8 个。要逼近信道传输极限, 就可能需要长度为 1000 比特的编码词,解码器就得遍寻一个大得无法想象的集合21000大约10301个编码词汇。而人类所能探索到的宇宙的原子总数也才是1080而已。结论只能是如果要设法用已有编码方案,即使是最好的,来达到香农极限下的可靠通信注定是不可能的.按照伊利诺伊大学电机系教授塔纳的说法,现有编码不可能达到香农极限,因为计算复杂性达到天文数字程度。看
43、不到克服这一壁垒的途径。七十年代末,不少人认为没有希望解决这一问题。 通过把编码分成若干易于处理的“组件”Turbo 码解决了计算复杂性问题.和现有多数系统在发射端只有单个编码器,接收端只有单个解码器不同,Turbo 码在一端用两个编码器另一端用两个解码器。研究人员在 60 年代末发现传输数据通过两个串接的编码器可以使传输数据具有更强的抗误码能力-在这种情形下整体大于各部分之和。Turbo 码则利用两个联合工作的编码器,不是串接而是并接.Turbo 编码过程一开始就把要传输的数据块制成三份拷贝.第一份拷贝送到两个编码器之一然后通过卷积编码器从数据比特计算出奇偶校验比特。第二份拷贝送到第二个编码
44、器,里面也有一份完全一样的卷积编码器。第二个编码器得到的比特流次序和原来不同,是经过一个交织器系统加扰的。然后由这个编码器读出经过扰动的比特流并从中计算出奇偶校验比特。最后发射器把原来数据的第三份拷贝和上面两组奇偶校验码一起沿着信道发送出去.整个过程的关键是交织器对比特顺序的重组。这一重新排列增加了编码词的参差性;用空间概念理解相当在比特空间把编码词之间的距离拉开了。按照伯劳的说法,重新排列的作用是在编码中引入某种随机行为。 换句话说,交织器在发射的信息中加入了随机特征,作用类似香农的随机码。但像其他编码词汇量很大的编码系统一样,Turbo 码也会碰到计算复杂性之墙。其实 Turbo 码通常是
45、用大约 1000 比特编码词工作,非常不利的长度。没有希望了吗?如果在接受端只有一个编码器 确实如此,可是Turbo码用两个分量解码器绕过了复杂性问题。每个解码器的作用都是获取数据,在信道噪声影响下,数据可能被破坏,所以两个解码器还要判断所收到的每一比特数据究竟更可能是“1”还是“0” 。这有点像在屋子里猜外面否在下雨,而你又无法从窗户里看到外面,也听不到外面的声音.这种情况下你没有任何“迹象作依据,也许只能靠抛硬币看那面冲上来进行猜测。可是如果你能看到天气预报,而且天气预报说要下雨,情形又如何呢?还有,要是你突然听到雷声又如何呢?这些事件都会影响你的猜测。这时情形可以比抛硬币有所改进。你也许
46、会说正在下雨的机会大一些,而且你可能带把伞出门。每个 turbo 解码器也考虑“迹象来帮助其猜测收到的比特是“0还是“1” 。首先,检验收到的比特的信号电平.许多解码方案把收到的信号直接转换成“0或“1” ,因此把非常有价值的信息抛弃了。模拟信号会产生涨落起伏,这会给我们关于每一比特的更多信息。Turbo 解码把信号转换成整数,用其可以度量信号是“0”还是“1”的可信度。此外解码器还观察奇偶校验码,从中可以得知所收到的比特是否有误码。这些分析的结果对于“猜测每一比特非常有用。 按照贝尔实验室的戴维。伽瑞特的话:Turbo码从内部看就是在比特判决过程中利用判据可靠性信息。这种比特可靠性用数字表示
47、,称之为对数似然性系数,其取值范围例如可以在-7 到+7 之间。+7 意味解码器几乎可以肯定该比特是 “1” ;而-5 意味解码器判断该比特是“0”但不是完全有把握. (实际系统常常采用更大的间距,例如从127 到+127) 尽管信号电平和奇偶校验是非常有用的“迹象”但对做出判决仍嫌不够。单一的解码器还不能保证判决总是正确 常常产生错误的码流.解码器会在编码词空间迷失,作为其数据解码结果所选择的编码词未必总是正确的.所以单一解码器不能完成任务。但一个解码器的判决可靠性信息对另一解码器也是有用的,因为两个码流的奇偶校验比特实际上是对同一组数据得出的;只不过比特顺序排列作了改变。因此两个解码器实际上是在解同一问题,但观察的视图不同。这样,两个解码器就可以用迭代的方式交换可靠性信息来改进各自的解码结果。要求就是把码流内容按照每个解码器工作的需要重新排列顺序,然后在两个解码器之间交换可靠性码流.使得一个解码器对某一特定比特做出的判决,例如强烈认为该比特为“1” ,这一信息能够对
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100