Turbo 码(Turbo Code)是一类应用在外层空间卫星通信和设计者寻找完成信息传输通过一个限制带宽通信链路在数据破坏的噪声面前的其它无线通信应用程序的高性能纠错码。它巧妙地将两个简单分量码通过伪随机交织器并行级联来构造具有伪随机特性的长码,并通过在两个软入/软出(SISO)译码器之间进行多次迭代实现了伪随机译码。
Shannon 编码定理指出:如果采用足够长的随机编码,就能逼近Shannon 信道容量。但是传统的编码都有规则的代数结构,远远谈不上“随机”;同时,出于译码复杂度的考虑,码长也不可能太长。所以传统的信道编码性能与信道容量之间都有较大的差距。事实上,长期以来信道容量仅作为一个理论极限存在,实际的编码方案设计和评估都没有以Shannon限为依据。
1993 年两位法国教授Berrou、Glavieux 和他们的缅甸籍博士生Thitimajshima 在ICC 会议上发表的Near Shannon limit error-correcting coding and decoding: Turbo codes”,提出了一种全新的编码方式——Turbo 码。它巧妙地将两个简单分量码通过伪随机交织器并行级联来构造具有伪随机特性的长码,并通过在两个软入/软出(SISO)译码器之间进行多次迭代实现了伪随机译码。
仿真结果表明,在AWGN 信道下,码率为1 2 的Turbo 码在达到误比特率(BER) ≤ 10?5时, 0 E N b 仅为约0.7dB (这种情况下达到信道容量的理想0 E N b 值为0db),远远超过了其他的编码方式,一时在信息和编码理论界引起了轰动。
从此以后,Turbo 码得到了广泛的关注和发展,并对当今的编码理论和研究方法产生了深远的影响,信道编码学也随之进入了一个新的阶段。
Turbo码由于其近Shannon界的突出纠错能力,成为近年信道编码理论研究的热点问题。其编码器由两个(或多个)带反馈的系统卷积码器经一交织器并行级联而成,接收端一般采用逐位后验概率译码器通过反复迭代循环来译码。
Turbo 码实际上是一种并行级联卷积码(Parallel Concatenated Convolutional Codes)。Turbo 码编码器是由两个反馈的系统卷积编码器通过一个交织器并行连接而成,编码后的校验位经过删余阵,从而产生不同的码率的码字。如图所示:信息序列u={u1,u2,……,uN}经过交织器形成一个新序列u'={u1',u2',……,uN'}(长度与内容没变,但比特位经过重新排列),u 和u'分别传送到两个分量编码器(RSC1与RSC2) ,一般情况下,这两个分量编码器结构相同,生成序列X和X,为了提高码率,序列X和X需要经过删余器,采用删余(puncturing)技术从这两个校验序列中周期的删除一些校验位,形成校验序列X,X,与未编码序列X'经过复用调制后,生成了Turbo码序列X。
香农信息论告诉我们,的译码算法是概率译码算法,也就是后验概率算法(MAP)。但在Turbo码出现之前,信道编码使用的概率译码算法是似然算法(ML)。ML算法是MAP算法的简化,即假设信源符号等概率出现,因此是次优的译码算法。Turbo码的译码算法采用了MAP算法,在译码的结构上又做了改进,再次引入反馈的概念,取得了性能和复杂度之间的折衷。同时,Turbo 码的译码采用的是法代译码,这与经典的代数译码是完全不同的。
Turbo 码的译码算法是最早在BCJR 算法的基础上改进的,我们称以MAP算法,后来又形成Log-MAP算法、Max-Log-MAP以及软输入软输出(SOVA)算法。
1.Turbo 码的译码结构如图所示. Turbo 译码器有以下的特点:
1) 串行级联
2) 迭代译码
3) 在迭代译码过程中交换的是外部信息
2. 概率译码译码原理及结构
译码时首先对接收信息进行处理,两个成员译码器之间外部信息的传递就形成了一个循环迭代的结构。由于外部信息的作用,一定信噪比下的误比特率将随着循环次数的增加而降低。但同时外部信息与接受序列间的相关性也随着译码次数的增加而逐渐增加,外部信息所提供的纠错能力也随之减弱,在一定的循环次数之后,译码性能将不再提高。
1. Max-Log-MAP算法
是在上述对数域的算法中,将似然值加法表示式中的对数分量忽略,是似然加法完全变成求值运算,这样除了省去大部分的加法运算外,还省去了对信噪比的估计,使得算法更稳健。
2. Log-MAP算法
实际上就是对标准MAP算法中的似然全部用对数似然度来表示,这样,乘法运算变成了加法运算。总的运算量成为6x2^M次加法,5x2^M次求运算和5x2^M次查表。
3. 标准MAP算法
是对bahl软输出算法做一定修正后,通过除以先验分布来消除正反馈的算法。对于约束长度为M 1的卷积码,其运算量为每比特6x3^M次乘法和5x2^M次加法。由于乘法运算量大,限制了译码的规模和速度。
4. 软输出维特比译码(SOVA)
其运算量为标准维特比算法的两倍。维特比算法是似然序列估计算法,但由于在它的每一步都要删除一些低似然路径,为每一状态只保留一条路径,它无法提供软输出。为了给他输出的每个比特赋予一个可信度,需要在删除低似然路径是做一些修正,以保留必要的信息。其基本思想是利用留存路径和被删路径的度量差,这个差越小意味着这次算去的可靠性越好。然后用这个差去修正这条路径上各个比特的可信度。
对于Turbo码的研究最初集中于对于其译码算法、性能界和独特编码结构的研究上,经过十多年来的发展历程,已经取得了很大的成果,在各方面也都走向使用阶段。Turbo码由于很好地应用了香农信道编码定理中的随机性编译码条件而获得了接近香农理论极限的译码性能。它不仅在信噪比较低的高噪声环境下性能优越,而且具有很强的抗衰落、抗干扰能力。目前,Turbo码的研究主要集中在以下几个方面:
1) Turbo 码在直扩(CDMA) 系统中的研究及应用。Turbo 码不仅在信道信噪比很低的高噪声环境下性能优越,而且还具有很强的抗衰落、抗干扰能力,因此它在信道条件差的移动通信系统中有很大的应用潜力,在第三代移动通信系统(IMT-2000)中己经将Turbo码作为其传输高速数据的信道编码标准。第三代移动通信系统(IMT-2000)的特点是多媒体和智能化,要能提供多元传输速率、高性能、高质量的服务,为支持大数据量的多媒体业务,必须在布限带宽信道上传输数据。由于无线信道传输媒质的不稳定性及噪声的不确定性,一般的纠错码很难达到较高要求的译码性能(一般要求比特误码率小于10-6e),而Turbo码引起超乎寻常的优异译码性能,可以纠正高速率数据传输时发生的误码。另外,由于在直扩(CDMA) 系统中采用Turbo 码技术可以进一步提高系统的容量,所以有关Turbo码在直扩(CDMA) 系统中的应用,也就受到了各国学者的重视。
2) Turbo码的设计和分析。主要包括交织器的设计、码的级联方式、译码算法、Turbo码的性能分析等。在性能分析中,主要对码重分布及距离谱进行分析,但由于没有相应的理论支持,这种分析只能是近似的,且仅局限于短码长、小码重的情况。
3) 编译码技术。编码方面主要包括对并行级联编码与串行级联编码的分析,以及对混合级联方式的研究;译码方面主要包括迭代译码、译码算法(后验概率算法MAP、修正的MAP算法Max-Log-MAP、软输出Viterbi 算法SOVA等)的研究。
4) 面向分组的Turbo 码。主要面向分组的Turbo 码的构造、译码及译码器的分析。
5) Turbo 码与其它通信技术的结合。包括Turbo 码与调制技术(如网格编码调制TCM)的结合、Turbo码与均衡技术的结合(Turbo码均衡)、Turbo码编码与信源编码的结合、Turbo码译码与接收检测的结合等等。Turbo码与OFDM调制、差分检测技术相结合,具有较高的频率利用率,可有效地抑制短波信道中多径时延、频率选择性衰落、人为干扰与噪声带来的不利影响。
国内在Turbo码的研究领域也取得了一定的成果和进展,西安电子科技大学综合业务网国家重点试验室在Turbo码的理论和应用研究方面取得了很多研究成果。此外,清华大学、北京邮电大学和上海交通大学等高校都在进行Turbo码相关的其它关键技术的研究方面取得一定的进展。深圳华为公司等在推动Turbo码在移动通信系统中的应用方面起了积极的作用。