Turbo码的性能分析与仿真

Turbo码的性能分析与仿真
Turbo码的性能分析与仿真

目录

一、简述信道编码 (3)

1.信道编码的原理 (3)

2.信道编码的码型 (3)

2.1分组码 (3)

2.2 卷积码 (4)

2.3 格型码 (4)

2.4 Turbo 码 (4)

二、Turbo码介绍 (5)

1.Turbo的提出 (5)

2. Turbo码编译码原理 (5)

3. Turbo码仿真建模 (7)

4.仿真结果分析 (9)

三、总结 (12)

四、参考文献 (12)

一、简述信道编码

1.信道编码的原理

上了信息论与编码这门课我们知道,图像信号信源压缩编码的目的就是要去掉图像中的空间冗余和时间冗余,从而降低了总的数据率,提高了信息量的效率。这样,容许保证一定图像质量的数字信号能以较少的数据量快速传输出去。与此同时,经信源编码的去冗余而提高信源的信息熵(每个符号的平均信息量)后,数字信号的抗干扰能力明显下降了,这是不言而喻的,因为未压缩之前每个符号的信息量很低。因此,压缩后的数字信号很容易受到传输通道中引入的噪声、多径反射和衰落等的影响而造成接收端发生程度不同的误码,有的甚至无法恢复出原始数据。为解决这个问题,信道编码应运而生了。所谓信道编码就是为提高信息传输可靠性而进行的编码(在信源编码的基础上以降低传输的信息量为代价来提高可靠性)。信道编码可以检测、纠正由于传输造成的误码,所以这种编码也常称为差错控制编码。信道编码是数字通信系统中的重要组成部分,其作用是完成检错纠错,码形变换的任务,从而提高传输信道的可靠性。

信道编码的原理简言之就是要使传输符号间具有某种特定的关系,通常将要传输的信息分组,根据某种规则,使每组信息映射(映射是数学上的一个术语,源于集合论,映射又称为变换,意思是两个集中的元素有某种对应关系。)到一组信道符号,这组符号相互之间具有某种特定关系,即使其中某些符号在传输中会出错,也会发现这些错误,并进一步纠正它们。显然,要实现信源具有检错和纠错能力,必需按一定的规则在信源编码的基础上再增加一些冗余码元(又称监督码),使这些冗余码元与被传信息码元之间建立一定的关系,发送端完成这个任务的过程称为纠错编码。

2.信道编码的码型

目前,常用的信道编码的码型有两种:分组码和卷积码。如我们所熟悉的RS 码就属于分组码,当然还有一些其它码型,如TCM 和Turbo 码等,广电中现阶段己使用了分组码、卷积码和格型码,下面简要介绍目前信道编码使用的四种码型。

2.1分组码

在每组信息映射到一组符号的过程中,如果映射过程只与当前这组信息有关,相应的编码就是分组码。分组码将信息码元序列划分成段落,每一段包含若干个信息码元,然后由这若干个信息码元按一定规则产生出一些监督码元,信息码元和监督码元组合在一起形成一个码组,在每个码组中,监督码元与本码组中的信息码元有关,与其他码组

中的信息码无关。分组码在广电中应用较广泛,例如广电下传数字电视使用的64QAM 调制器信道编码就是采用的RS分组码。

2.2 卷积码

在每组信息映射到一组符号的过程中,如果映射过程中不仅与当前这组信息有关,还与以前的若干组信息有关,相应的编码就是卷积码。卷积码码组中的监督码元不仅与本码组中的信息码元有关,也与本码组相邻的前后码组中的信息码元有关。卷积码也是最常用的信道编码的码型,例如在卫星通讯DVB-S的信道编码和数字地面广播DVB-T 的信道编中就使用了卷积码。

2.3 格型码

我们知道信息传输可靠和信息传输快速两者之间是有矛盾的,要想提高信息传输的可靠性就必需牺性信道的带宽。在传输带宽受限制时,能否在不增加带宽的前提下,实现信息传输既可靠又快速呢?昂格尔博克(Ungerboeck)和今井秀树等提出的格型码(TCM,Trellis Coded Modulation))较好地解决了这个问题。所谓TCM(Trellis Coded Modulation)即信道编码的一种方法或码型,叫做格栅码。一种高级的编码调制方法,它充分利用卷积编码中所产生的冗余度和维特比解码的记忆效应,使编码器和调制器级联后产生的编码信号序列具有最大的欧氏自由距离,而它的理想解码方式应采用维特比算法实现。其特点是将编码与调制相结合的卷积码,能在不增加传输信道带宽和相同信息速率的情况下可获得3~6 dB的功率增益。编码功率增益的含义指在相同的比特率下,经TCM 编码的比如8VSB(残留边带调制)或8PSK 可比不经过TCM 编码的4VSB 或4PSK(前后两种情况下信道带宽及信息率是一样的)所需的Eb/No(Eb 是单个符号信息比特的平均信号功率,No 是单位带宽内的噪声功率)降低多少个dB,相当于有了功率增益,实际上并非真实存在,T C M 由于有功率增益,即归一化信噪比Eb/No 值低,从而提高抗干扰能力,改善了传输系统的误码性能。

2.4 Turbo 码

Turbo 是90 年代发展起来的信道编码,已经应用于第三代移动通信(3G)系统中。RS 第一代信道编码,TCM 第二代信道编码,Turbo第三代信道编码,性能接近Shannon理论限,即香农的极限(据香农的信息论,符号率不超过信道容量,则符号可以以任意小的差错率在该信道中传输,但香农并没有给出具体的编码方法)。Turbo 码,它巧妙地将两个简单分量码通过伪随机交织器并行级联来构造具有伪随机特性的长码,并通过在两个软入/软出(SISO)译码器之间进行多次迭代实现了伪随机译码。他的性能

远远超过了其他的编码方式,得到了广泛的关注和发展,并对当今的编码理论和研究方法产生了深远的影响,信道编码学也随之进入了一个新的阶段。

下面我们就Turbo码进行一些系统的介绍,然后对其性能进行分析和仿真。

二、Turbo码介绍

1.Turbo的提出

Shannon理论证明,随机码事好码,但是它的译码却太复杂。因此,多少年来随机编码理论一直是作为分析与证明编码定理得主要方法,而如何在构造码上发挥作用却并未引起人们的足够重视。直到1993年,Turbo码的发现,才较好地解决了这一问题,为Shannon随机码理论的应用研究奠定了基础。

Turbo码,又称并行级联卷积码(PCCC),是由C.Berrou等在ICC’93会议上提出的。它巧妙地将卷积码和随机交织器结合在一起,实现了随机编码的思想;同时,采用软输出迭代译码来逼近最大似然译码。模拟结果表明,如果采用大小为65535的随机交织器,并且进行18次迭代,则在/ 0.7dB时,码率为1/2的Turbo码在AWGN信道上的误码比特率(BER),达到了近Shannon限的性能(1/2码率的Shannon限时0dB)。因此,这一超乎寻常的优异性能,立即引起信息与编码理论界的轰动。

2. Turbo码编译码原理

2.1 Turbo编码

由于Turbo码有多种编码方式,在进行比较之后我们选择了与TD - SCDMA 标准相同的编码技术。这样使得设计出来的编解码器更具有通用性。它使用了约束度为4的并行级联卷积码( PCCC) ,图1中给出了Turbo码编码器的一般性结构。图中dk是输入进行编码的数据块,加入尾随比特的作用是使在一个数据块编码结束之后,保证成员编码器的寄存器回到全零状态,这样的Turbo码就等同于线性分组码,从而通过分析这类分组码的特性来计算Turbo码的译码性能上界,对其性能进行估计与分析。编码器中的第一个输出xk是输入信息比特和加入的尾随比特。输入信息比特和尾随比特经过交织器交织后分别送入第1,2,……,M个成员编码器进行编码,得到M个校验输出序列y1,y2……yM,这M个校验序列经过删除器的压缩(以得到不同的编码速率)后,与信息序列xk一起经并/串变换并调制后发送出去。在发送端,其编码的随机性是通过编码器中的交织器以及并行级联方式来实现的;其中交织器设计的好坏和成员编码器的选择是决定码字性能关键因素之一。

通常Turbo码的编码器由两个成员编码器通过交织器并行级联而成。即对于每一个输入信息比特,编码器输出两个校验比特,若不经过压缩,则总的编码速率为1/3。从理论上来说,可以编成任意码率的Turbo码。

图1Turbo码编码器原理框图

2.2 Turbo译码

2.2.1 Turbo码的迭代译码原理

由于Turbo码是由两个或多个分量码经过不同交织后对同一信息序列进行编码,对任何单个传统编码,通常在译码器的最后得到硬判决译码比特,然而Turbo码译码算法不应局限于在译码器中通过的是硬判决信息。为了更好的利用译码器之间的信息,译码算法所用的应当是软判决信息而不是硬判决。一个由两个分量码构成Turbo码的译码器是由两个与分量码对应的译码单元和交织器与解交织器组成的,将一个译码单元的软输出信息作为下一个译码单元的输入;为了获得更好的译码性能,将此过程迭代数次。这就是Turbo码译码器的基本工作原理。

2.2.2 Turbo码的译码结构

如图2所示,来自信道带噪声的系统比特序列(与相对应)和校验序列(与相对应)以及先验信息一起输入到分量译码器1进行译码,得到逐比特的软信息。由该软信息得到分量译码器2的先验信息,它和经过交织后和(与相对应)一起输入到分量译码器2进行译码,得到逐比特软信息,完成一次迭代译码过程。然后该软信息经解交织后反馈回分量译码器1,进行下一次的迭代译码。经过几次迭代后进行硬

判决,输出译码序列。分量译码器采用易于用硬件实现的LOG - MAP算法,其性能与BCJR - MAP算法基本相同。

从Turbo码的编译码器结构可以看出, Turbo码的性能和以下几个因素有关:交织器、编码器、删余矩阵、译码算法等。

图2(a) Turbo-code迭代译码器结构(反馈型)

图2

Turbo码译码器结构

3. Turbo码仿真建模

3.1 Turbo码译码算法

Turbo码有一重要特点是其译码较为复杂,比常规的卷积码要复杂的多,这种复杂不仅在于其译码要采用迭代的过程,而且采用的算法本身也比较复杂。这些算法的关键是不但要能够对每比特进行译码,而且还要伴随着译码给出每比特译出的可靠性信息,有了这些信息,迭代才能进行下去。Turbo码的纠错能力包括两个含义:一个是这种码本身的能力,另一个则是在特定译码算法下的纠错能力。从Turbo码的译码器结构也可以看到,两个软入软出子译码器是其核心,子译码器的一个重要问题则是如何对三个软输入进行处理,以获得信息比特d k的外信息Λe(d k)及其软输出Λ(d k)。自Turbo码出现以来,这方面的研究颇受关注,目前主要有四种方法:

(1)MAP算法:在最初提出Turbo码时所采用的译码算法是修正的Bahl算法,也叫做最大后验概率(MAP)算法,它是Turbo码译码的最优算法。MAP算法采用对数似然比函数(LLR,也即后验概率〔APP〕的比值的对数值)作为其软判决的输出,但由于需

要大量的运算,限制了译码的规模和速度。对于比特u k ,其后验概率表示为: Pr{ u k =i/Y }, i=0,1 ,

软判决输出可表示为:

其中,u k 为信息序列,R 为观察序列。 若Λ(u k )>1, 判发u k =1 ; 反之判发u k =0。

(2)Log-MAP 算法:实际上是把MAP 算法中似然值运算全部用对数似然值表示,这样将乘法运算就变成加法运算,而加法运算变成了

)

(),max()

1log(),max()log(1221211

221Λ-Λ+ΛΛ=++ΛΛ=+Λ-Λ-ΛΛc f e

e e

这里)(?c f 是一个相关函数,可预先做成表,利用查表来完成运算。

(3)Max-Log-MAP 算法:在对数域算法中,将加法表示式中的对数分量忽略掉,采用近似式),max()log(2121ΛΛ≈+ΛΛe e ,使加法完全变成求最大值运算,进一步简化了算法,但付出的代价是性能的下降。

(4)SOV A 算法:对标准Viterbi 算法进行了修正,在删除低似然路径时保留必要的信息,以给每个输出比特提供一个可信度,其基本思想是利用最优路径和被删路径的度量差,差值越小意味着这次选取的可靠性越低。

四种译码算法中SOV A 算法运算量最小、最简单,但是性能却最差,因此,实际应用中应该在性能与复杂度之间权衡。 3.2 仿真模型的建立

仿真模型包括信源、编码器、信道、译码器和信宿五大部分。在模型中,可以改变的参数值为:

N :交织器的大小,即Turbo 码的分组长度,也即每个分组所包含的信息序列的长度。 信道类型选择:程序中固定设计为加性高斯白噪声(AWGN )。 译码算法选择:Log-MAP ,Max-Log-MAP 两种算法。 信噪比(SNR ):信号与噪声强度比值。

迭代次数:迭代次数的不同对译码器输出有一定的影响。

3.2 仿真程序设计流程 (1)Turbo 码编码模块

Turbo 编码器采用两个相同的分量编码器通过交织器并行级联而成。分量编码器是码率为R=1/3的循环系统卷积码。 (2)信道模块

信道模块包括有调制模块、信道及噪声模型、解调模块。调制方式采用QPSK ,噪声模型设置为加性高斯白噪声(AWGN).

(3)Turbo 译码模块

Turbo 码的编码部分由两个子编码器组成,因此在其译码部分也就相应有两个子译码器。该模块可以调用Log-MAP 译码子程序、Max-Log-MAP 算法译码子程序模块。 4.仿真结果分析

(1)Log-MAP ,迭代次数为3,码率为1/3,比较不同交织长度(400、600、1024)的误码率。

结果分析:图中红色

的是交织长度为400,蓝色和绿色的分别为600、1024.由图可知,交织长度越大误码率越小,从而系统性能越好。

图3编译码流程图

结果分析:由输出结果可以看出,误码率随着信噪比的增加而降低;在信噪比较小时误码率降低的速率较小,随着信噪比的增大,误码率减小速率变大;在交织长度为400时输出曲线没有1024的输出曲线平滑,适当加大交织长度可以得到更平滑的曲线,但是其计算量大大增加,运行时间也将变得很长;最上一条曲线是迭代次数为1的输出误码率曲线,中间的是迭代次数为2的输出误码率曲线,最下面的是迭代次数为3的输出误码率曲线,由此可知,迭代的次数越大,误码率越小。

结果分析:由输出结果可以看出,误码率随着信噪比的增加而降低;在信噪比较小时误码率降低的速率较小,随着信噪比的增大,误码率减小速率变大;在交织长度为400时输出曲线没有1024的输出曲线平滑,适当加大交织长度可以得到更平滑的曲线,但是其计算量大大增加,运行时间也将变得很长;最上一条曲线是迭代次数为1的输出误码率曲线,中间的是迭代次数为2的输出误码率曲线,最下面的是迭代次数为3的输出误码率曲线,由此可知,迭代的次数越大,误码率越小。

(5)迭代次数为3,码率为1/3,交织长度400,比较Log-MAP和MAX-Log-MAP的性能

结果分析:图中蓝色的曲线是MAX-Log-MAP算法的输出误码率曲线,红色的是Log-MAP 的输出去码率曲线,由图可知,MAX-Log-MAP算法的性能比Log-MAP算法的性能差。三.总结

由这次的仿真学习,我了解到了每一样技术的实现是有多种方法的,每种方法相互之间有联系,但各自又有其优缺点,就拿Turbo码的算法来说,其算法有很多种,每种算法的有相似之处,Log-MAP是在MAP的基础上将乘法变成加法,从而减少计算量;而MAX-Log-MAP算法又是简化版的Log-MAP算法。它们各有利弊,后者相对前者的计算量小,但是准确度降低了。

要真正的了解各种信道编码,除了要了解个钟编码的原理外,还必须学习各种算法,只有加强自己的知识面,认真的分析,才能对各种技术的原理及实现了如指掌,甚至发现新途径,使其实现更简便。

三.参考文献

[1] 信息论与编码曹雪虹张宗橙编北京邮电大学出版社

[2] 移动通信章坚武编著西安电子科技大学出版社

关于信道编码中Turbo码的原理与实现

Turbo码的编码原理及实现 摘要 纠错码技术作为改善数字通信可靠性的一种有效手段,在数字通信的各个领域中获得极为广泛的应用。Turbo码是并行级联递归系统卷积码,在接近Shannon 限的低信噪比下能获得较低的误码率,现已被很多系统所采用。本文分析了Turbo码编码译码的原理,为了使Turbo码仿真更容易,研究并建立了基于Matlab 中Simulink通信模块的Turbo码仿真模型。使用所建立的模型进行仿真,结果表明,在信噪比相同的情况下,交织长度越大、迭代次数越多、译码算法越优,Turbo码性能越好,设计实际系统时,应综合考虑各因素。 关键词:Turbo码;Simulink仿真;交织长度;迭代次数 Abstract As an effective means to improve the reliability of digital communication, error correcting code technology is widely used in the field of digital communication.Turbo code is a parallel concatenated recursive systematic convolutional code, which can obtain lower bit error rate in the low SNR near Shannon limit,which is now used by many systems.In this paper,the principle of Turbo coding and decoding is analyzed,in order to make the Turbo Code simulation easier,a Turbo code simulation model based on Simulink module of Matlab is studied. Simulation result using the established model shows that the longer interleaving length,the more iteration times and the better decoding algorithm bring the better Turbo code performance with the same SNR value. Keywords:Turbo code;Simulink simulation;Interleaving length;Iteration times;

Turbo码详解

第十三章 Turbo 码 Shannon 理论证明,随机码是好码,但是它的译码却太复杂。因此,多少年来随机编码理论一直是作为分析与证明编码定理的主要方法,而如何在构造码上发挥作用却并未引起人们的足够重视。直到1993年,Turbo 码的发现,才较好地解决了这一问题,为Shannon 随机码理论的应用研究奠定了基础。 Turbo 码,又称并行级连卷积码(PCCC),是由C. Berrou 等在ICC ’93会议上提出的。它巧妙地将卷积码和随机交织器结合在一起,实现了随机编码的思想,同时,采用软输出迭代译码来逼近最大似然译码。本章首先介绍Turbo 码的提出与构成原理;介绍迭代反馈译码算法(包括AWGN 信道与Rayleigh 衰落信道下的译码);然后针对Turbo 码编译码特性,对几个问题进行了说明;最后介绍Turbo 码在3GPP 中的具体应用。 §13.1 Turbo 码的提出 Turbo 码,又称并行级连卷积码(PCCC),是由C.Berrou 等在ICC ’93会议上提出的。它巧妙地将卷积码和随机交织器结合在一起,实现了随机编码的思想,同时,采用软输出迭代译码来逼近最大似然译码。模拟结果表明,如果采用大小为65535的随机交织器,并且进行18次迭代,则在E N b /0≥0.7dB 时,码率为1/2的Turbo 码在AWGN 信道上的误比特率(BER )≤-105 ,达到了近Shannon 限的性能(1/2码率的Shannon 限是0dB )。因此,这一超乎寻常的优异性能,立即引起信息与编码理论界的轰动。图13-1中给出了Turbo 码及其它编码方案的性能比较,从中可以看出Turbo 编码方案的优越性。 由于Turbo 码的上述优异性能并不是从理论研究的角度给出的,而仅是计算机仿真的结果。因此,Turbo 码的理论基础还不完善。后来经过不少人的重复性研究与理论分析,发现Turbo 码的性能确实是非常优异的。因此,turbo 码的发现,标志着信道编码理论与技术的研究进入了一个崭新的阶段,它结束了长期将信道截止速率0R 作为实际容量限的历史。 需要说明的是,由于原Turbo 编译码方案申请了专利,因此在有关Turbo 码的第一篇文章中,作者没有给出如何进行迭代译码的实现细节,只是从原理上加以说明。此后,P. Robertson 对此进行了探讨,对译码器的工作原理进行了详细说明。人们依此进行了大量的模拟研究。 Turbo 码的提出,更新了编码理论研究中的一些概念和方法。现在人们更喜欢基于概率的软判决译码方法,而不是早期基于代数的构造与译码方法,而且人们对编码方案的比较方法也发生了变化,从以前的相互比较过渡到现在的均与Shannon 限进行比较。同时,也使编码理论家变成了实验科学家。

Turbo码原理简介

Turbo 码原理简介 1993年C.Berrou 、A.Glavieux 和P.Thitimajshiwa 首先提出了称之为Turbo 码的并行级联编译码方案。Turbo 码性能取决于码的距离特性。线性码的距离分布同于重量分布,如果低重量的输入序列经编码得到的还是低重量的输出序列,则距离特性变坏。该特性对于块码来说不存在问题;然而对于卷积码,则是个非常严重的问题。因为卷积码的距离特性是影响误码率的一个非常重要的因素。 在Turbo 码中,利用递归系统卷积码(RSC)编码器作为成员码时,低重量的输入序列经过编码后可以得到高重量的输出序列。同时交织器的使用,也能加大码字重量。实际上,Turbo 码的目标不是追求高的最小距离,而是设计具有尽可能少的低重量码字的码。Turbo 码由两个递归系统卷积码(RSC)并行级联而成。译码采用特有的迭代译码算法。 1 Turbo 码编码原理 典型的Turbo 码编码器结构框图如图2所示:由两个反馈的编码器(称为成员编码器)通过一个交织器I 并行连接而成。如果必要,由成员编码器输出的序列经过删余阵,从而可以产生一系列不同码率的码。例如,对于生成矩阵为g=[g1,g2]的(2,1,2)卷积码通过编码后,如果进行删余,则得到码率为1/2的编码输出序列;如果不进行删余,得到的码率为1/3。一般情况下,Turbo 码成员编码器是RSC 编码器。原因在于递归编码器可以改善码的比特误码率性能。 2 编码 方案中使用的Turbo 码为1/3码率的并行级联码,它的编码器由两个相同的码率为1/2的RSC 编码器及交织器组成,如图4所示。 由于与非递归卷积码相比,递归卷积码产生的码字重量更大,所以这里采 图7 Turbo 码编码器 输入信 息数据 编码器I I 编码器II 删 余 复接 器 编码 输出 图2 Turbo 码编码原理图

Turbo码的各种译码算法及比较

Turbo 码的各种译码算法及比较 Turbo 码有一重要特点是其译码较为复杂,比常规的卷积码要复杂的多,这种复杂不仅在于其译码要采用迭代的过程,而且采用的算法本身也比较复杂。这些算法的关键是不但要能够对每比特进行译码,而且还要伴随着译码给出每比特译出的可靠性信息,有了这些信息,迭代才能进行下去。用于Turbo 码译码的具体算法有:MAP(Maximum A Posterori)、Max-Log-MAP 、Log-MAP 和SOV A(Soft Output Viterbi Algorithm)算法。MAP 算法是1974年被用于卷积码的译码,但用作Turbo 码的译码还是要做一些修改;Max-Log-MAP 与Log-MAP 是根据MAP 算法在运算量上做了重大改进,虽然性能有些下降,但使得Turbo 码的译码复杂度大大的降低了,更加适合于实际系统的运用;Viterbi 算法并不适合Turbo 码的译码,原因就是没有每比特译出的可靠性信息输出,修改后的具有软信息输出的SOV A 算法,就正好适合了Turbo 码的译码。这些算法在复杂度上和性能上具有一定的差异,系统地了解这些算法的原理是对Turbo 码研究的基础,同时对这些算法的复杂度和性能的比较研究也将有助于Turbo 的应用研究。 MAP 算法 MAP 算法最初是用来估计无记忆噪声下的马尔可夫过程的,它是一种最优的算法。Bahl 等人于1974年把它用于线性分组码和卷积码的译码中,在用于卷积码的译码时,对于给定接收序列Y ,它不像Viterbi 算法那样以栅格路径上的比特组错误最少为目的, 而是以译码出来的符号i x 的错误最少为目的。即, (){}arg m ax i i i x x P x Y = (1.1) 不过在大多情况下,它和Viterbi 算法的作用是一致的。 由于在卷积码的译码中,MAP 算法要考虑栅格图中的所有可能路径,这样运算量就非常大,实际系统中很少用到。这样虽然MAP 算法早在1974年就被提出,但一直未

turbo码结构和编码方法

摘要:Turbo码,由于性能接近Shannon理论限,在低信噪比的应用环境下比其他编码好。因而第三代移动通信系统多种方案中,考虑将Turbo码作为无线信道的编码标准之一。本文介绍了Turbo码的结构和编解码方法,及其在第三代移动通信系统中的应用。 关键词:信道编码;Turbo码;RSC编码器;交织器;迭代译码;第三代移动通信 Abstract: Turbo codes,because of it’s outstanding performance in channel coding,has been considered by IMT-2000 as a plan of application. This paper introduces the principle of basic structure of Turbo codes.Also,the paper introduces the mainly application in 3G(3ird Generation) mobile telecomminucation systems. Key words: channel coding; Turbo codes; RSC; interleaver; recursive algorithm; 3G(the 3ird generation)mobile telecommunication systems 一、引言 信息论诞生50多年以来,人们一直努力寻找更加接近Shannon限、误差概率小的的编码方法。在1993年ICC国际会议上,C.Berrou,A.Glavieux和P.Thitimajshiwa提出了一种称之为Turbo Code的编、译码方案,并在交织器大小为:情况下,迭代18次,对它进行了计算机仿真。仿真结果表明,当归一化信噪比时,。其编码增益比Shannon信道容量的差距小于1dB。[1] 从第三代移动通信系统候选方案来看,普遍要求提供中速或者高速的数据业务,一般的数据业务信道为64kbps,144kbps,384kbps。在信噪比低的无线信道中,Turbo码的性能要优宜的多,比较用于第二代移动通信中的级联RS加卷积码,Turbo码性能可提高1dB以上。所以IMT-2000多种方案中,已经将Turbo 码做为传输高速数据的信道编码标准之一。[3] [4] 本文了介绍Turbo码的基本结构和编译码原理,以及Turbo码在第三代移动通信中的应用。 二、Turbo码的编、译码原理 Turbo码的编码 从编码器原理图可以看出,编码是由三部分组成的:两个RSC子编码器RSC1、RSC2,一个Nbit交织(Interleaving)器,一个删余(puncturing)单元。 2.1 编码器的设计 假设输入信息编码器的信息单元为,它一方面直接输入RSC1进行编码,生成校验序列x1p。另一方面经过交织后,产生一个经交织的系统序列u’和另一个校验序列x2p。当码率R大于2/3时,在任何大小信噪比情况下,由于系统递归卷积编码器RSC(Recursive SystematicConvolutional)的自由距离都比非系统卷加码NSC(Nonsystematic Convolutional)大,BER比其小,显出更好的性能,因而Turbo码中采用了RSC编码器[1]。其编码矩阵可以表示成:其中。编码器由个存储单元构成,其输入为信息比特。为使编码器初始状态置于全零

Turbo码编码的研究现状

一.T urbo码的提出 尽管每一次便译码方案的更新都会更加接近香农容量,但到1990年为止,对于二进制调制,即使在很好的信道上(如AWGN信道),编码性能在理论和实际上也存在大约3dB的差异。也就是说,应用于移动电话、卫星系统和其他应用领域的实际编码所需要的能量是理论值的两倍。对于衰落信道,这个差距将会更大。 在1993年的国际通信会议(ICC93)上,法国不列颠通信大学的Claude Berrou教授等人提出了Turbo码方案。Turbo码由于很好地应用了shallnon信道编码定理中的随机性编译码条件而获得了几乎接近ShallIlon理论极限的译码性能。仿真结果表明,在65536的比特交织长度下,Turbo码可以达到距shannon极限仅差0.7dB的优异性能。到目前为止,Turbo 码在现有的信道编码方案中是最好的,尚未有任何一种编码方案能与其相比拟。Turbo码的出现在编码理论界引起了轰动,成为自信息论提出以来最重大的研究成果。 Turbo码的提出,对信道编码领域产生了意义深远的影响。首先,Turbo码提供了一种在低信噪比条件下性能优异的级联编码方案和次最优的迭代译码方法;其次,它改变了研究者设计好码的思路,即从最大化码字最小距离转化为最小化低重码字个数,同时也改变了判断好码的准则,即从与截止速率比较转向了与Shannon理论极限进行比较;第三,Turbo迭代的思想为实现迭代信道估计、迭代均衡以及信号检测提供了新的思路。 二.T urbo码编码的研究现状 自从Turbo码提出以来,编码领域掀起了一股研究热潮,也取得了不少的成果。1995年,R.Podemskiski等给出了计算汉明距离谱(HDs)的算法,并利用最小汉明距离对Turbo 码的性能进行了分析,分析结果与模拟结果相当接近。此后,Svirid引用分组码的性能分析方法分析了交织器的设计与Turbo码的性能,给出了误比特率(BER)的联合界,并指出了交织器的设计原则是使Turbo码的最小重量尽可能大。Perez等从距离谱的观点分析了Turbo 码在低信噪比时的优异性能,在Turbo码的编码器中,指出交织器起着“谱窄化"的作用,使得Turbo码的小重量的码字数目减少,从而提高译码性能。Perez等还通过距离谱解释了Turbo码译码性能中出现的误码底限现象。 1996年,S.Belledetto和G.MontorSi引入了均匀交织器的概念,给出了Turbo码的一个BER联合性能上界,并指出好的交织器是存在的。1998年,他们对众多的RSC子码进行了研究,提出了一些性能优秀的RSC成员码。这些研究为构造优秀的Turbo码提供了参考。 另外,在Turbo码迭代译码器方面的研究也是层出不穷。在MAP类译码算法和SoV A 类译码算法的研究中,主要集中研究的问题又两类译码算法的比较、译码算法的次优简化、译码结构的局部改进、译码时延的改进、定点译码器实现时数据量化对译码性能的影响等等。 Turbo码迭代译码的思想还逐渐被应用于其他领域,诸如迭代均衡技术、迭代与多用户检测相结合、迭代与高效调制技术的结合,此外迭代译码技术还可以应用于信道编码与有记忆调制的级联系统。Turbo码本身也出现一些变体,1996年,MacKav提出了低密度校验码(LDPC)。 2001年,Li Ping提出了“Turbo(单校验)码”,它的译码复杂度比Turbo码低得多。 目前的研究表明,Turbo码急需解决的问题有:交织方法的选择、译码算法的改进以及相应终止技术。这些都妨碍了Turbo码能够应用于实际生产、生活中,是Turbo码研究的几个重要方向。

turbo码翻译

Turbo cod e 综述 Turbo编码器如下图1,它使用双比特循环递归系统卷积码。前导突发后面的第一个字节的MSB比特被分配到A,再其后的第二个比特分配给B,剩下的突发内容依次分配下去。 图1 turbo编码器 将k比特块或者N对块送入编码器中()。N是4的倍数(k是8的倍数)。 用于定义连接的多项式可以使用八进制或者符号记法表示如下: 对反馈支路:15(用八进制表示),等价的符号记法: 对Y校验比特:13,等价符号记法: 对W校验比特:11,等价符号记法: A端口输入的比特连接移位寄存器的“1”;B端口输入的比特连接移位寄存器的“1”,D和. 首先,送入编码器(使用循环状态进行初始化)的序列是自然正常顺序(开关打在位置1处),它有增加的地址.这第一个编码器称作。 其次,送入编码器(使用循环状态进行初始化)的序列是交织顺序(开关打在位置2处),它有增加的地址.这第一个编码器称作。函数

Turbo码排列描述 在两个等级水平上进行排列,首先在内部对上(level1),其实是对之间(level2):设置排列参数P0, P1, P2 和P3 j = 0, ...N – 1 level1 如果j mod. 2 = 0, 则让(A,B) = (B,A),即进行对翻转。 level2 下面的表1给出了使用的默认参数组合。这些参数能够通过TCT进行更新。交叉关系满足奇/偶规则(即当j是偶数的时候,i就是奇数,反正同理)这样就允许两个编码器有相同的打孔图样。 表1 循环状态的决定 编码器的状态表示为:S (0 ≤S ≤7) 其中S = 4 × + 2 ×+ (见图1)循环状态

TURBO码的编译码原理及matlab仿真

Turbo码的编译码原理及MATLAB仿真

摘要 纠错码技术作为改善数字通信可靠性的一种有效手段,在数字通信的各个领域中获得极为广泛的应用。Turbo码是并行级联递归系统卷积码,在接近Shannon限的低信噪比下能获得较低的误码率,现已被很多系统所采用。本文分析了Turbo码编码译码的原理,为了使Turbo码仿真更容易,研究并建立了基于Matlab中Simulink通信模块的Turbo码仿真模型。使用所建立的模型进行仿真,结果表明,在信噪比相同的情况下,交织长度越大、迭代次数越多、译码算法越优,Turbo码性能越好,设计实际系统时,应综合考虑各因素。 关键词:Turbo码;Simulink仿真;交织长度;迭代次数 Abstract As an effective means to improve the reliability of digital communication, error correcting code technology is widely used in the field of digital communication.Turbo code is a parallel concatenated recursive systematic convolutional code, which can obtain lower bit error rate in the low SNR near Shannon limit,which is now used by many systems.In this paper,the principle of Turbo coding and decoding is analyzed,in order to make the Turbo Code simulation easier,a Turbo code simulation model based on Simulink module of Matlab is studied. Simulation result using the established model shows that the longer interleaving length,the more iteration times and the better decoding algorithm bring the better Turbo code performance with the same SNR value. Keywords:Turbo code;Simulink simulation;Interleaving length;Iteration times;

Turbo码的性能分析与仿真

目录 一、简述信道编码 (3) 1.信道编码的原理 (3) 2.信道编码的码型 (3) 2.1分组码 (3) 2.2 卷积码 (4) 2.3 格型码 (4) 2.4 Turbo 码 (4) 二、Turbo码介绍 (5) 1.Turbo的提出 (5) 2. Turbo码编译码原理 (5) 3. Turbo码仿真建模 (7) 4.仿真结果分析 (9) 三、总结 (12) 四、参考文献 (12)

一、简述信道编码 1.信道编码的原理 上了信息论与编码这门课我们知道,图像信号信源压缩编码的目的就是要去掉图像中的空间冗余和时间冗余,从而降低了总的数据率,提高了信息量的效率。这样,容许保证一定图像质量的数字信号能以较少的数据量快速传输出去。与此同时,经信源编码的去冗余而提高信源的信息熵(每个符号的平均信息量)后,数字信号的抗干扰能力明显下降了,这是不言而喻的,因为未压缩之前每个符号的信息量很低。因此,压缩后的数字信号很容易受到传输通道中引入的噪声、多径反射和衰落等的影响而造成接收端发生程度不同的误码,有的甚至无法恢复出原始数据。为解决这个问题,信道编码应运而生了。所谓信道编码就是为提高信息传输可靠性而进行的编码(在信源编码的基础上以降低传输的信息量为代价来提高可靠性)。信道编码可以检测、纠正由于传输造成的误码,所以这种编码也常称为差错控制编码。信道编码是数字通信系统中的重要组成部分,其作用是完成检错纠错,码形变换的任务,从而提高传输信道的可靠性。 信道编码的原理简言之就是要使传输符号间具有某种特定的关系,通常将要传输的信息分组,根据某种规则,使每组信息映射(映射是数学上的一个术语,源于集合论,映射又称为变换,意思是两个集中的元素有某种对应关系。)到一组信道符号,这组符号相互之间具有某种特定关系,即使其中某些符号在传输中会出错,也会发现这些错误,并进一步纠正它们。显然,要实现信源具有检错和纠错能力,必需按一定的规则在信源编码的基础上再增加一些冗余码元(又称监督码),使这些冗余码元与被传信息码元之间建立一定的关系,发送端完成这个任务的过程称为纠错编码。 2.信道编码的码型 目前,常用的信道编码的码型有两种:分组码和卷积码。如我们所熟悉的RS 码就属于分组码,当然还有一些其它码型,如TCM 和Turbo 码等,广电中现阶段己使用了分组码、卷积码和格型码,下面简要介绍目前信道编码使用的四种码型。 2.1分组码 在每组信息映射到一组符号的过程中,如果映射过程只与当前这组信息有关,相应的编码就是分组码。分组码将信息码元序列划分成段落,每一段包含若干个信息码元,然后由这若干个信息码元按一定规则产生出一些监督码元,信息码元和监督码元组合在一起形成一个码组,在每个码组中,监督码元与本码组中的信息码元有关,与其他码组

Turbo码编解码

实验五Turbo码编码实验指导 一、实验目的 1、掌握TURBO码的编解码原理。 2、掌握TURBO码的软件仿真方法。 3、掌握TURBO码的硬件仿真方法。 4、掌握TURBO码的硬件设计方法。 二、预习要求 1、掌握TURBO码的编解码原理和方法。 2、熟悉matlab的应用和仿真方法。 3、熟悉Quatus的应用和FPGA的开发方法。 三、实验原理 1、Turbo码编码原理 Turbo码是1993年法国人Berrou提出的一种新型编码方法。它巧妙的将卷积码和随机交织器结合在一起;同时,采用软输出迭代译码来逼近最大似然译码。 Turbo码编码原理框图如图所示: a、编码器 图中编码器的结构图如图 输入为10010001时,输出为1110010 1、寄存器为00:输入为1,反馈位为1,状态为100,输出为1; 2、寄存器为10:输入为0,反馈位为1,状态为110,输出为1; 3、寄存器为11:输入为0,反馈位为0,状态为011,输出为1; 4、寄存器为01:输入为0,反馈位为1,状态为101,输出为0; 5、寄存器为10:输入为1,反馈位为0,状态为010,输出为0; 6、寄存器为01:输入为0,反馈位为1,状态为101,输出为0; 7、寄存器为10:输入为0,反馈位为1,状态为110,输出为1;

8、寄存器为11:输入为1,反馈位为1,状态为111,输出为0; 图中,两个方框为移位寄存器,⊕为异或器。 b、交织器 交织可以将长的突发错误分散到每个行码中去。以最常用的交织器-行列交织器为例,它的交织方式是采用行顺序写入、列顺序读出的方式,而解交织列顺序写入,行顺序读出。 交织时,输入序列为: a11 a12 a13 a14 a21 a22 a23 a24 a31 a32 a33 a34 a41 a42 a43 a44 通过行列交织后变为: a11 a21 a31 a41 a12 a22 a32 a42 a13 a23 a33 a43 a14 a24 a34 a44 上述序列为四组长度为四的码组。假设每组码的纠错能力为1位,设码组1:a11,a12 ,a13,a14在传输信道中遇到突发错误,a12,a13,a14出错。那么,码组一将不能正确纠错。如果输入码组在输入突发信道前先交织,则遇到相同突发错误后,a21,a31,a41出错,在数据收到并解交织后,错误分散到了各码组中(二、三、四组),因此错误可以正常识别和纠正。因此,通过交织器将信道中产生的突发错误随机化,信道抗突发错误的能力得到了增强。通过交织,原有的只能纠随机错误的码,可以纠正较长的突发错误或突发错误与随机错误的组合。 c、开关单元 开关单元输入为两个编码器的编码输出,通过开关器件用于选择输出某一路或两路编码输出。当码率为1/3时,将两路编码输出一起输出;当码率为1/2时,轮流输出两路编码输出。 d、复接器 复接器将两路或三路信号,串接起来变为一路信号,码率为原来码率的1/2或1/3。设:编码器输入为:a1,a2,a3……;编码器1输出为b1,b2,b3……;编码器2输出为c1, c2, c3 ……。当码率为1/2时,开关电路的输出为:b1,c2,b3,c4……复接器的输出为:a1,b1,a2,c2,a3,b3,a4,c4……当码率为1/3时,开关电路的输出为:b1,c1,b2,c2……复接器的输出为:a1,b1,c1,a2,b2,c2,a3,b3,c3,a4,b4,c4……。 2、Turbo码的译码原理 由于Turbo码是由两个或多个分量码经过不同交织后对同一信息序列进行编码,Turbo码译码算法为

Turbo码的编译码算法仿真讲解

电子信息类实践课III 通信系统仿真 题目Turbo码的编译码算法仿真 专业 学号 姓名 日期 注:本报告仅供参考

1、课程设计目的(黑体小三,段前段后个一行) 通过完成在在衰落信道下采用不同调制信号进行Turbo码编译码的编程实现,进一步了解了Turbo码的编码解码过程,以及在不同调制方式不同信道下的性能比见。通过对卷积和交织器的设计,深入了解卷积和交织的作用。以及熟悉了通信仿真的整体流程。 2、课程设计内容 具体叙述课程设计的主要内容和原理。 表1 主要课程设计内容列表 在进行本次Turbo仿真时,采用了两种不同编程方式。在程序一中是直接调用matlab Communications System Toolbox中的Turbo编码和解码工具箱,通过配置参数进行仿真。而在程序二中则根据Turbo码编译码原理编写。如果程序一更像是一个黑匣子,只能知道通过编解码模块前、后的数据,而具体做了哪些则不得而知。 a.编码 图1 Turbo码编码器结构 典型的Turbo码编码器结构框图如图所示:由两个反馈的编码器通过一个交织器并行连接而成。如果必要,由成员编码器输出的序列经过删余阵,从而可以产 1

生一系列不同码率的码。例如,对于生成矩阵为g=[g1,g2]的(2,1,2)卷积码通过编码后,如果进行删余,则得到码率为1/2的编码输出序列;如果不进行删余,得到的码率为1/3。一般情况下,Turbo码成员编码器是RSC编码器。原因在于递归编码器可以改善码的比特误码率性能。 通俗理解1/2码率就是信号中有一半都是“无用信号”,这些“无用信号”就是两个分量编码器的生成的校验码,而删余则是各删除一部分校验码,把剩下的再和信息比特合在一块,形成编码好的矩阵。 b.译码 图2 Turbo译码结构 Turbo码获得优异性能的根本原因之一是使用了迭代译码,通过与分量编码器对应的分量译码器之间软信息的交换来提高译码性能。对于 Turbo 码这样的并行级联码,如果分量译码器的输出为硬判决,则不可能实现分量译码器之间软信息的交换,从而限制了系统性能的进一步提高。从信息论的角度来看,任何硬判决都会损失部分信息,因此,如果分量译码器能够提供一个反映其输出可靠性的软输出,则其他分量译码器也可以采用软判决译码,从而系统的性能可以得到进一步提高。为此,人们提出了软输入软输出译码(SISO)的概念和方法。Turbo 码的分量码 SISO 译码算法总体上可分为MAP和SOV A 两类主要算法。其中MAP算法是一种最佳后验概率算法。SOV A类算法主要包括软输出的维特比算法(SOV A)和连续列表输出维特比算法(SLV A)。 SOV A算法实际上就是veterbi算法的扩展,保留的路径数不是两条而是和状态数有关从所有可行的路径中找最优的是最大似然序列检测。 d.衰落信道 由于多径和移动台运动等影响因素,使得移动信道对传输信号在时间、频率 2

Turbo码原理及仿真

Turbo 码原理及仿真 1993年C.Berrou 、A.Glavieux 和P .Thitimajshiwa 首先提出了称之为Turbo 码的并行级联编译码方案。Turbo 码性能取决于码的距离特性。线性码的距离分布同于重量分布,如果低重量的输入序列经编码得到的还是低重量的输出序列,则距离特性变坏。该特性对于块码来说不存在问题;然而对于卷积码,则是个非常严重的问题。因为卷积码的距离特性是影响误码率的一个非常重要的因素。 在Turbo 码中,利用递归系统卷积码(RSC)编码器作为成员码时,低重量的输入序列经过编码后可以得到高重量的输出序列。同时交织器的使用,也能加大码字重量。实际上,Turbo 码的目标不是追求高的最小距离,而是设计具有尽可能少的低重量码字的码。Turbo 码由两个递归系统卷积码(RSC)并行级联而成。译码采用特有的迭代译码算法。 1 Turbo 码编码原理 典型的Turbo 码编码器结构框图如图2所示:由两个反馈的编码器(称为成员编码器)通过一个交织器I 并行连接而成。如果必要,由成员编码器输出的序列经过删余阵,从而可以产生一系列不同码率的码。例如,对于生 成矩阵为g=[g1,g2]的(2,1,2)卷积码通过编码后,如果进行删余,则得到码率为1/2的编码输出序列;如果不进行删余,得到的码率为1/3。一般情况下,Turbo 码成员编码器是RSC 编码器。原因在于递归编码器可以改善码的比特误码率性能。 2 编码 方案中使用的Turbo 码为1/3码率的并行级联码,它的编码器由两个相同的码率为1/2的RSC 编码器及交织器组成,如图4所示。 由于与非递归卷积码相比,递归卷积码产生的码字重量更大,所以这里采 图7 Turbo 码编码器 图2 Turbo 码编码原理图

Turbo码详解

第十三章 Turbo 码 Shannon 理论证明,随机码是好码,但是它的译码却太复杂。因此,多少年来随机编码理论一直是作为分析与证明编码定理的主要方法,而如何在构造码上发挥作用却并未引起人们的足够重视。直到1993年,Turbo 码的发现,才较好地解决了这一问题,为Shannon 随机码理论的应用研究奠定了基础。 Turbo 码,又称并行级连卷积码(PCCC),是由C. Berrou 等在ICC ’93会议上提出的。它巧妙地将卷积码和随机交织器结合在一起,实现了随机编码的思想,同时,采用软输出迭代译码来逼近最大似然译码。本章首先介绍Turbo 码的提出与构成原理;介绍迭代反馈译码算法(包括AWGN 信道与Rayleigh 衰落信道下的译码);然后针对Turbo 码编译码特性,对几个问题进行了说明;最后介绍Turbo 码在3GPP 中的具体应用。 §13.1 Turbo 码的提出 Turbo 码,又称并行级连卷积码(PCCC),是由C.Berrou 等在ICC ’93会议上提出的。它巧妙地将卷积码和随机交织器结合在一起,实现了随机编码的思想,同时,采用软输出迭代译码来逼近最大似然译码。模拟结果表明,如果采用大小为65535的随机交织器,并且进行18次迭代,则在E N b /0≥0.7dB 时,码率为1/2的Turbo 码在AWGN 信道上的误比特率(BER )≤-105 ,达到了近Shannon 限的性能(1/2码率的Shannon 限是0dB )。因此,这一超乎寻常的优异性能,立即引起信息与编码理论界的轰动。图13-1中给出了Turbo 码及其它编码方案的性能比较,从中可以看出Turbo 编码方案的优越性。 由于Turbo 码的上述优异性能并不是从理论研究的角度给出的,而仅是计算机仿真的结果。因此,Turbo 码的理论基础还不完善。后来经过不少人的重复性研究与理论分析,发现Turbo 码的性能确实是非常优异的。因此,turbo 码的发现,标志着信道编码理论与技术的研究进入了一个崭新的阶段,它结束了长期将信道截止速率0R 作为实际容量限的历史。 需要说明的是,由于原Turbo 编译码方案申请了专利,因此在有关Turbo 码的第一篇文章中,作者没有给出如何进行迭代译码的实现细节,只是从原理上加以说明。此后,P. Robertson 对此进行了探讨,对译码器的工作原理进行了详细说明。人们依此进行了大量的模拟研究。 Turbo 码的提出,更新了编码理论研究中的一些概念和方法。现在人们更喜欢基于概率的软判决译码方法,而不是早期基于代数的构造与译码方法,而且人们对编码方案的比较方法也发生了变化,从以前的相互比较过渡到现在的均与Shannon 限进行比较。同时,也使编码理论家变成了实验科学家。

Turbo码原理简介

Turbo 码原理简介 1993 年 C.Berrou 、A.Glavieux 和 P.Thitimajshiwa 首先提出了称之为 Turbo 码的并行级联 编译码方案。 Turbo 码性能取决于码的距离特性。线性码的距离分布同于重量分布,如果低 重量的输入序列经编码得到的还是低重量的输出序列, 则距离特性变坏。 该特性对于块码来 说不存在问题; 然而对于卷积码, 则是个非常严重的问题。 因为卷积码的距离特性是影响误 码率的一个非常重要的因素。 在 Turbo 码中,利用递归系统卷积码 (RSC) 编码器作为成员码时,低重量的输入序列经 过编码后可以得到高重量的输出序列。同时交织器的使用,也能加大码字重量。实际上, Turbo 码的目标不是追求高的最小距离,而是设计具有尽可能少的低重量码字的码。 Turbo 码由两个递归系统卷积码 (RSC)并行级联而成。译码采用特有的迭代译码算法。 1 Turbo 码编码原理 图 7 Turbo 码编码器 由于与非递归卷积码相比,递归卷积码产生的码字重量更大,所以这里采 用了两个相同的系统递归卷积码 (RSC )。信息序列分成相同的两路,第一路 典型的 Turbo 码编码器结构框图如图 2 所示:由两个反馈的编码器 (称为成员编码器) 通过一个交织器 I 并行连接而成。如果必要,由成员编码器输出的序列经过删余阵,从而可 以产生一系列不同码率的码。例如,对 于生 成矩阵为 g=[g1,g2] 的(2,1, 2)卷 积码通过 编码后,如果进行删余,则得 到码率为 1/2 的编码输出序列;如果不 进行删余,得到的 码率为 1/3。一般情 器是 RSC 编码器。原因在于递归编码器可 以改善码的比特误码率性能。 2 编码 方案中使用的 Turbo 码为 1/3码率的并行级联码, 它的编码器由两个相同的 码率为 1/2 的RSC 编码器及交织器组成,如图 4 所示。 图 2 Turbo 码编码原

相关主题
相关文档
最新文档