当前位置:智城范文网>范文大全 > 征文 > AWGN信道下Turbo码性能分析与仿真

AWGN信道下Turbo码性能分析与仿真

时间:2022-03-15 08:26:10 来源:网友投稿

摘要:随着通信技术的高速发展以及对各种传输可靠性要求的不断提高,信道编码在数字通信技术领域和数字传输系统中显得愈来愈重要。Turbo码是信道编码发展过程中的一个里程碑,它在接近香农极限的低信噪比下,仍能获得较低的误码率,近几年已经成为编码理论界研究的热门领域。对Turbo码编译码性能进行了主要的研究,用MATLAB实现了log-MAP算法和max-log-MAP算法的性能仿真,比较了在AWGN信道下采用不同的译码算法、交织长度、迭代次数等对Turbo码性能的影响。

关键词:Turbo码;AWGN信道;matlab仿真;MAP算法;信道编码

中图分类号:TP311文献标识码:A文章编号:1009-3044(2011)26-6353-03

Performance Analysis and Simulation of Turbo Codes Over AWGN Channel

LIN Li

(Department of Electronic Information and Electrical Engineering, Fujian University of Technology, Fuzhou 350108, China)

Abstract: Along with the rapid development of communication technologies as well as the increasing reliability demanding on transmission, the channel coding plays a more important role in the field of digital communications technology and digital transmission systems. Turbo codes has been regarded as the milestone on channel coding theory because they can achieve small bit error rate at a low SNR close to the Shannon limits. In the last few years, Turbo codes have become a main research field of coding theory. In this paper, the major work was the study of the coding performance and Turbo decoding based on MAP algorithm. This paper also introduced the simulated of log-MAP algorithm and max-log-MAP algorithm by MATLAB. The performance of these decoding algorithms was compared. Some parameters, such as the length of interleaver and the times of literature, were also discussed.

Key words: Turbo codes; AWGN channel; simulation based on MATLAB; MAP algorithm; channel coding

1948年,香农发表的著名论文《通信的数学理论》(A Mathematical Theory of Communication),为以后信道编码的发展指明了方向。Shannon在该文中指出[1],任一个通信信道都有一个称之为信道容量的参数C,如果通信系统所要求的传输速率R小于C,则存在一种编码方法,当码长n充分长并采用最大似然译码时,系统的错误概率可以达到任意小,这就是著名的信道编码定理。它给以后信道编码的研究指出了明确的方向,信道编码的任务就是寻找这种编码。

在1993年ICC国际会议上,C.Berrou,A.Glavieux和P.Thitimajshiwa提出了一种称之为Turbo Code的编、译码方案[2],并对它进行了计算机仿真。在交织器大小为65535情况下,迭代18次,在Eb/N0≥0.7dB时,码率为1/2的Turbo码在AWGN信道上的误码率(BER)≤10-5,接近了Shannon限。这就解决了在信道信噪比很差条件下获得高效率数字通信的难题。因此这一方案受到了从从事深空探测到开发第三代移动通信的各方面工程界人士的重视。在国际海事卫星组织最新公布的IN-MARSAT-Phone M4系统中,就是以Turbo码为核心技术来实现高速数据传输的。在3G的两种主流标准中,都采用了Turbo码技术作为其高速率信道编码技术。目前,移动通信的研究热点4G中,也把Turbo码作为一项关键技术[3]。

本文对Turbo码的产生和应用进行了介绍,并对其编译码原理进行了分析。介绍了几种常用的译码算法,由于MAP算法的性能较SOVA算法优越,所以本文将MAP算法作为主要研究的算法。用MATLAB实现了log-MAP算法和max-log-MAP算法的性能仿真,并且比较了在AWGN信道下采用不同的译码算法、交织长度、迭代次数等对Turbo码性能的影响。

1 Turbo码编码器和译码器

1.1 编码器的实现

Turbo码编码器结构如图1所示,由分量编码器、交织器、删余矩阵和复接器构成。

输入信息分为三条支路,第一条是未作任何处理的信息码,它直通到复接器;第二条通过分量编码器1以及删余处理后进入复接器,其中删余矩阵和复接器的作用是从整体上实现编码效率的提高[4];第三条经过交织,分量编码器2以及删余处理后进入复接器,这里交织的目的是随机化,将输入的信息比特进行位置的重新排列,从而使得分量编码器输出校验位之间的相关性减小,同时提高序列码重。当交织器充分大时,Turbo就具有近似长码的特性,这样就更接近Shannon信道编码定里证明时的假设条件——采用随机性编译码。

在发送端,其编码的随机性是通过编码器中的交织器以及并行级联方式来实现的,其中成员编码器的选择和交织器设计的好坏是决定码字性能关键因素之一。任何系统码都可以作为分量编码器,但实践证明,递归系统卷积码(RSC)能更好地满足各分量码中的信息互相利用,总的码重更集中于平均码重附近,所以被大多数的设计方案选用[3]。交织器在Turbo码中起着极其重要的作用,在发送端交织器使2个RSC编码器的编码过程趋于独立;在接收端, 由于交织和解交织的作用,才能使Turbo码能充分利用外部信息在子译码器间进行多次迭代译码来增强纠错能力。随着交织长度的增大会带来很大的时延和对存储量的要求,因此,在一些低速业务的场合,可以将几帧组成1个数据块,加大交织深度;在一些高速业务的场合,可以将1帧分成几个数据块[5]。

1.2 译码器的实现

图2是Turbo码经典译码器结构,它主要由两个子译码器DEC1、DEC2通过交织器,解交织器串行级联而成,两个子译码器分别对应于编码器中的两个分量编码器(即RSC编码器),交织器与编码器中所使用的交织器相同。每个子译码器都采用软输入、软输出(Soft In Soft Out)的译码算法。

信息从编码器输出后,经信道到达译码器,首先进行数据分离,将数据流还原成三路,发送端的RSC编码器1、2的校验位由于删余并没有全部传送过来,所以在接收端应当根据删余规律进行内插,将串行的数据流转换成适合译码的并行数据,分解成系统信息xk,两个由分量码编码器分别输出的校验信息y1k、y2k。第一个译码器DEC1是以y1k、xk、以及第二个译码器DEC2输出的先验信息L2(dk)为输入(第一次迭代时L2(dk)为零),对第一个分量码进行最佳软判决,估计出信息序列后验概率的对数似然比Λ1,减去先验信息和系统信息后的信息为外信息L1(dk),作为第二个译码器DEC2的先验信息。第二个译码器以经过交织器的系统信息(经交织器)、第二个分量码输出的校验信息y2k,以及先验信息L1(dn)(经交织器)作为输入。同DEC1,第二个译码器得到外信息L2(dn),作为第一个译码器DEC1的先验信息。这样经过多次迭代,随着DEC1或DEC2的外信息趋于稳定,似然比渐近值逼近于对整个码的最大似然译码,然后对此似然比进行硬判决,即可得到信息序列的每一比特的最佳估值序列dk,即Turbo码译码器的最终译码结果。

综上所述:一个译码器用另一个译码器的软输出提供的外信息进行译码,然后将自己的软输出作为另一个译码器的先验信息反馈回另一个译码器,整个译码过程可以看做是两个译码器一次次的信息交换与迭代译码,类似涡轮机的工作原理,故称这种码为Turbo码。

需要说明的是,图中的Lc是信道的可靠性值。另外,输入第二个译码器DEC2的信息在编码时有经过交织器,因此作为输入的系统信息xk和先验信息L1(dk)也必须经过交织器。

2 Turbo码译码算法介绍

Turbo码的译码算法总体上可分为MAP(Maximum A Posteriori,最大后验概率算法)和SOVA(Soft-Output Viterbi Algorithm软输出维特比算法)两类。Viterbi系列算法是针对序列进行译码的算法,运算量较小,采用滑窗后还可以减小时延,易于工程实现。MAP类算法是针对比特进行译码的算法,运算量较大,但是性能比Viterbi算法好。MAP类算法主要包括MAP算法、log-MAP算法、max-log-MAP算法。log-MAP是MAP算法在对数域上的计算方式,max-log-MAP算法是对log-MAP算法简化后的次优算法。

2.1 SOVA算法

SOVA算法是在维特比算法基础上,使其具有提供软判决输出和利用外部信息能力的一种算法。其运算量为标准维特比算法的两倍,基本思想是利用最优留存路径和被删路径的度量差,这个差越小意味着这次选取的可靠性差,然后利用这个差去修正这条路径上各比特的可信度。

SOVA算法是一种次优算法。在AWGN信道中,它的性能与MAP算法相比下降0.5 dB,但由于它算法较为简单,计算量和存贮量都比MAP算法小,所以在通信领域中应用广泛[6]。

2.2 MAP算法

Turbo码的基本特征是迭代译码,迭代译码需要子译码器不仅能够进行软译码,而且能够给出软信息。在MAP算法中,用LLR(Logarithm of Likelihood Ratio,对数似然比)作为这种译码软判决输出量的度量:

(1)

式中,p(dk=i|R1N为dk=i(i=0,1)的后验概率,R1N为接收码组[7]。

Λ(dk)的绝对值代表硬判决可信度,绝对值越大,表示硬判决的结果越可信,用对数似然比替代硬判决值作为译码输出就是软输出。其符号是本征的判决信息,其绝对值可作为一种额外的参考信息(即外信息)。为了通过在Trellis树中寻找最佳路径来求得上面的LLR,可以用Trellis树中各转移状态和接收序列的联合概率表示为:

(2)

在上式中定义了三个变量因子γk(·),αk-1(·),和βk(·),分别称为分支转移概率,前向递推概率和后向递推概率,其中前向递推概率和后向递推概率均可以用递推表达式求得。只要先算出它们,代入式中就可以求得译码软输出Λ(dk)。

MAP算法是Turbo码的最佳译码算法,可以计算每个信息位精确的后验概率估计值,但是MAP算法的运算复杂度很高及所需存储空间较大,使得译码时延较大,算法中的非线性运算也不利于硬件实现。实际中采用的是MAP算法在对数域中的两种简化算法:log-MAP算法和max-log-MAP算法。

log-MAP算法是将MAP算法中的似然全部用对数似然度来表示,这里的对数可以用一个加法运算和一个查表运算来实现,这样乘法运算变成加法运算,减少了计算复杂度,但相比于MAP算法译码性能有所下降。

max-log-MAP算法(最大值算法)是对log-MAP算法简化后的次优算法。它将似然值加法表示式中的对数分量忽略,使似然加法完全变成求最大值运算,进一步简化了算法,但付出的代价是性能的下降。

3 Turbo码性能仿真比较

根据Turbo码的编译码原理,采用的Turbo码的码率为1/3,信道采用AWGN信道模型,交织器采用3GPP标准交织器,利用MATLAB语言环境通过软件编程进行仿真。

3.1 Turbo码两种译码算法的比较:log-MAP和max-log-MAP

首先对log-MAP算法和max-log-MAP算法在加性高斯白噪声(AWGN)环境下进行仿真比较,两种算法使用相同的生成多项式,采用相同的3GPP标准交织器,在码率为1/3,交织长度为1024,译码时迭代3次,结果如图3所示。

从图中可以看出,log-MAP算法的性能较好,当信噪比较低时,两种算法的误比特率较接近,当随着信噪比的增大差别较大。但log-MAP算法的较max-log-MAP复杂的多,由此可以看出,性能较优异的Turbo码译码算法也相对更复杂,如果要使得译码容易实现而对算法进行简化,往往要以性能的降低为代价。

3.2 Turbo码译码算法中不同迭代次数的比较

循环迭代译码结构是Turbo码具有良好译码性能的一个重要原因。采用相同的3GPP标准交织器,在码率为1/3,交织长度为1024,用max-log-MAP译码算法对不同循环迭代译码次数的Turbo码的译码性能进行了计算机模拟,仿真结果如图4所示。

当信噪比为0dB或0.5dB时,迭代次数的增加对译码性能的改善相对较小,当信噪比为0.5dB至2.5dB时,误比特率下降十分明显,但第3次较第2次迭代,误比特率的下降得相对缓慢。所以在一般的应用中,迭代次数通常在5~8次即可达到比较理想的解码性能[8]。这是因为随着迭代次数的增加,外信息的相关性越来越大,提供的有用信息越来越少,在一定次数的循环迭代之后,译码性能将不再提高。另外,考虑到每次迭代所带来的额外时延,要得到比较理想的解码性能要综合考虑。

3.3 Turbo码译码算法中不同交织长度的比较

交织器是Turbo码编码器主要组成部分,也是Turbo码的重要特征之一。在给定了卷积编码器后,Turbo码的性能主要是由交织器决定的。采用相同的3GPP标准交织器,在码率为1/3,迭代次数为2次,用max-log-MAP译码算法,仿真结果如图5所示。

由仿真结果得出:Turbo码的编码性能随着交织长度的增加而有明显的改善。交织使编码产生随机度,使交织前后的序列相关性减小,起着对码重量整形的作用,直接影响Turbo码的性能。交织的长度越大,交织器对码字中各信息比特交织距离就越大,码字的随机性也就越大,相应的纠错效果就越好。但是交织长度越大,时延也越大,所以在设定交织长度时,要视情况而定,并非越长越好。因此在实际通信应用中应根据系统对实时性的要求来折衷选择交织长度。

4 结论

Turbo码的出现是差错编码领域的一个里程碑。它在中高噪声的应用环境中的性能比以往其它的信道编码要好,且在固定码长下可以非常接近香农的无限码长的性能。本文用MATLAB实现了log-MAP算法和max-log-MAP算法的性能仿真,并且比较了在AWGN信道下采用不同的译码算法、交织长度、迭代次数等对Turbo码性能的影响。除了以上几个参数对Turbo码性能的影响之外,还有编码约束长度、码率、编码生成多项式、归零处理等对Turbo码的性能有影响的参数可以进行讨论。另外,Turbo码的迭代译码和交织器会引入较大的时延,所以对于实时性要求很高的场合,Turbo码直接应用会受到限制。因此,通过对交织器、译码算法的改进解决Turbo码的时延性问题还有待深入研究。

参考文献:

[1] Shannon C E.A mathematical theory of communication. Bell System Technology,1948,27:379-423,623-656.

[2] Berrou C, Glavieux A, Thitimajshima P. Near Shannon limited error correcting coding and decoding:Turbo codes. International Conference on Communications, Geneva: Switzerland,1993:1064-1090.

[3] 吕安强,尹成群.新一代纠错编码技术——Turbo码[J].电力系统通信,2004,11:41-44.

[4] 马建,邵朝.Turbo码及其译码算法研究[J].西安邮电学院学报,2010,9,15(5):38-42,56.

[5] 覃团发,黄旭方,陈跃波. 基于AWGN信道下Turbo码的性能仿真及分析[J].广西科学,2003,10 (2):94-96,106.

[6] 于修文,葛万成.Turbo码译码性能的研究[J].通信技术,2008,7(41):12-15.

[7] 曹素华,肖扬.Turbo码LOG-MAP解码算法及性能仿真[J].信息技术,2005,7:14-16,20.

[8] 邱金刚,陈自力,何金义.AWGN信道中Turbo码的性能和仿真[J].军械工程学院学报,2004,17(2):73-75.

推荐访问: 信道 仿真 性能 分析 AWGN

版权所有:智城范文网 2010-2025 未经授权禁止复制或建立镜像[智城范文网]所有资源完全免费共享

Powered by 智城范文网 © All Rights Reserved.。粤ICP备20058421号