TURBO编译码及仿真_第1页
TURBO编译码及仿真_第2页
TURBO编译码及仿真_第3页
TURBO编译码及仿真_第4页
TURBO编译码及仿真_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程设计论文目turbo码编译码及Mat lab仿真学 院物理科学与技术学院专 业通信工程年 级 2 0 10学生姓名学 号指导教师二O三年六月第1章绪论纠错码技术在过去的八年中发生了翻天覆地的改变。从1993年,Turbo码被等人提出以来,Turbo码就以其优异的性能和相对简单可行 的编译码算法吸引了众多研究者的目光.Turbo码的实质是并行级联的卷积码,它与以 往所有的码的不同之处在于它通过一个交织器的作用,达到接近随机编码的目的.它所 采用的迭代译码策略,使得译码复杂性大大降低。它釆用两个子译码器通过交换称为 外信息的辅助信息,相互支持,从而提高译码性能。外信息的交换是在迭代译码的过 程

2、中实现的,前一次迭代产生的外信息经交换后将作为下一次迭代的先验信息。人们 将Turbo码中子译码器互换信息以相互支持的思想称为“Turbo原理”。这种思想可 运用于其他场合,如信道均衡,码调制,多用户检测,信源、信道联合译码等。日前Turbo码的研究尚缺少理论基础支持,但是在各种恶劣条件下(即低SNR情 况下),提供接近Shannon极限的通信能力已经通过模拟证明。但Turbo码也存在着一 些急待解决的问题,例如译码算法的改进、复杂性的降低、译码延时的减小。作为商 用3G移动通信系统的关键技术之一,Turbo码也将逐渐获得较好的理论支持并且得到 进一步开发和完善。第2章Turbo码编码原理Tu

3、rbo码的编码结构Turbo码的典型编码器如图1所示,Turbo码编码器主要由分量编码器、 交织器复接器组成。分量码一般选择为递归系统卷积(RSC, Recursive Systematic Convolutional)码,当然也可以是分组码(BC, Block Code)、 非递归卷积(NRC, Non-Recursive Convolutional)码以及非系统卷积(NSC, Non-Systematic Convolutional)码,但从后面的分析将看到,分量码的最 佳选择是递归系统卷积码。通常两个分量码采用相同的生成矩阵,当然分量 码也可以是不同的。图1 Turbo码的编码器结构以分

4、量码为RSC为例,分量编码器为递归系统卷积码(RSC)编码器。第 一个RSC之前不使用交织器,后续的每个RSC之前都有一个交织器与之对应。 一个Turbo编码器中原则上可采用多个RSC,但通常只选用2个,因为过多 的RSC分量编码器将使得译码非常复杂而难以实现。通常的Turbo码编码器中,长度为N的信息序列心在送入第一个分量编码器的同时作为系统输出 屋直接送至复接器,同时你经过一个N位交织器,形成一个新序列(长度与内容没变,但比特位置经过重新排列。濟与匕讣分别传送到两 个分量码编器(RSC1与RSC2)。一般情况下,两个分量码编码器的结构相同, 生成分量码校验序列计和。你伉与未编码的信息序列任

5、;经过复 接后,生成Turbo码序列匕,将编码序列调制后,即可发射进入信道传输。递归系统卷积码(RSC)纠错编码是将k位的输入信息码元编成n位的输出信道码元,在编码中, 可以采用一定的算法,使输出码元中的k位与输入码元一致。这样,输入码 元与输出码元有明显的对应关系,这种码称为系统码幕系统码中一致的这k 位数据称为信息位,输出码元其余的n-k位称为校验位,不满足这种关系的 码称为非系统码。同样的,卷积码可以分为系统卷积(SC, Systematic Convolutional)码与非系统卷积(NSC, Non-Systematic Convolutional)码 两大类。以下图2的(2,1,2

6、)卷积码为例,设时刻k的输入码元为心,输出码 元为X女和蜕,则输出码元与输入码元的关系为;-(X女(2-1)K-lYk +d-2 =g2_i(2-2)式中,8u G的系数,g2j G?的系数。非递推系统卷积码,约束长度胆3,但码生成多项式为Gl=4, G2=5o它 的输出码元与输入码元的关系为X* 詁(2-3)K-1Yk =心 + 心-2 =为 gMk-i(2-4)/-0系统码的结构比非系统码的简单,模2加法器和连线的数量都比非系统 码的要少。RSC码是由一个NSC码编码器通过反馈,并使X&等于输入信息比特而 构成的。对RSC编码器,移位寄存器输入不再是数据比特纵,而是一个新的二元变量匕。如果

7、X广必,输出人为式(2-4),其中如由代替务,而山由下式递推计算K-15 =仇+工皿/-I(2-5)式中ri = gu(2-6)式(2-5)可写为K-1dk =0%/-0(2-7)下面讨论为什么选择RSC编码器作为Turbo码的子编码器。首先,RSC码具有系统码的优点。因为系统码在从码字恢复出信息序列 时无需求逆,这一特性使用户在译码时无需变换码字而直接对接收的码序列 进行译码。所以,RSC码对于NSC码而言译码简单、快速。其次,还可以从Turbo码重量分布的角度给予解释。通过观察递归卷积 码与非递归卷积码的低重量信息序列所产生的码字的分布情况,可以发现二 者之间有明显的不同,低重量的输入信息

8、序列经过非递归卷积编码器之后, 只能产生低重量的监督码元序列,低重量码字的增加将严重影响Turbo码的 性能,而低重量的信息序列经过递归卷积编码之后,输出的监督码元的重量 分布在一个很宽的范围之内,这是由其反馈特性所造成的。因此,用非递归 卷积码所构造的Turbo码的性能比较差,Turbo码需要递归卷积码实现。最后,从差错控制编码的相关文献中也可知,在对比实验中,非系统卷 积码(NSC)的BER性能在高信噪比时比约束长度相同的非递归系统码要好,而 在低信噪比时情况却正好相反冏。递归系统卷积(RSC)码综合了NSC码和系统 码的特性,虽然它与NSC码具有相同的trellis结构和自由距离,但是在

9、高码 率(R 2/3)的情况下,对任何信噪比,它的性能均比等效的MSC码要好。由 于系统递归卷积码具有以上特点,并且能改善误码率,所以通常选择RSC码 作为Turbo码的子编码器。NSC的可由生成算子g| =111和g2=101来描述,也可将其表示为矩阵 形式G = g|,g2 RSC可以表示为G = l,g2/gJ。NSC中的第一个支路输出被 反馈到了输入端,从而引起了生成矩阵形式上的变化。RSC的矩阵表达式中, 1对应着输出的系统信息序列,g2对应着编码器的前馈输出,小对应着反馈 到输入端的成分。研究指出RSC的原始生成多项式的基础上加上适当的反馈,往往能获得 好码,因为应用了反馈之后,可

10、以获得最大长度的编码序列,根据分组码的 知识,我们知道这给码序列增加了随机性,从而能获得更好的误比特率。交织器交织器其实是通信系统中进行数据处理而采用的一种技术,交织器从其 本质上来说就是一种实现最大限度的改变信息结构而不改变信息内容的器 件,也就是使在信道传输过程中所突发产生集中的错误最大限度的分散化, 不规则化我们设X为交织器的输入,Y为交织器的输出,I就是交织器,所 以r = /(x)o 一般的应用交织器往往都是有延时的,我们有必要引入一个新 的概念:交织器的延时,它是指在时刻几输出的兀与此时此刻或以前的输 入有关,且/(/)0,相应的 min = min(, - /(/)为交织器的最小

11、延时。0r/交织器是Turbo码编码器主要的组成部分,也是Turbo码的重要特征之 一。线性码的纠错译码性能实质上是由码字的重量分布决定的,Turbo码也 是线性码,所以其性能也是由码字重量分布决定的,由于交织器实际上决定 TTurbo码的重量分布,所以,给定了卷积编码器后,Turbo码的性能主要是 由交织器决定的。在低SR时,交织器的大小将直接影响着Turbo码的差错性 能。因为交织长度大时,两个子编码器接收的输入序列的相关性就可以很低, 就越有利于译码迭代,从而使得迭代结果越准确。在高SNR时,是Turbo码的 低重量码字、最小汉明距离或距离谱决定着它可以达到的BER性能,所以交 织器的设

12、计显著的影响着低重量码字或距离谱,重量分布是反映纠错码性能 的重要指标,所谓具有好的重量分布,就是要尽量减少低重量的码字的数量。 如果没有交织器的作用,Turbo码的两个子编码器的输入就相同。如果其中 一个经编码后产生低重量的码字,那么该序列在经过第二个字编码器输出后 也会产生低重量的码字。反之,加入交织器,由于交织器对输入序列进行了 置换,使得数据在进入第二个编码器之前被打乱,也就改变了原来信息的排 列方式,所以Turbo码的两个子编码器同时产生低重量输出的可能性就更小 了,也就是说交织器减小了 Turbo码产生低重量码字的概率,从而可以使 Turbo码有比较好的纠错性能。在Turbo码中,

13、交织器的这种使输入码元符 号的顺序尽可能随机分布的作用,将使码元符号之间的相关性减弱,使进入 各个子译码器的信息序列之间不相关。这种去相关的结果使得各个子译码器 可以彼此独立的工作。彼此独立进行译码的结果是,软判决信息可以互相利 用,判决结果也因此逐渐准确。从而,使Turbo码译码器的性能远远好于其 它类型的译码器,包括其他类型的级联译码器。但是,由于交织器的存在,使得Turbo码存在一定的时延,数据帧越长, 延时越大。而且交织器的长度会对Turbo码的译码性能有很大的影响,交织 深度越大,译码的误码率越低,传输质量越高。所以,对于那些允许有较大 时延的业务,Turbo码的作用就可以得到充分的

14、发挥。但是,对于那些不允 许有较大时延的业务,Turbo码的应用却受到了限制。仿真用来如下三个寄存器的递归卷积编码器,生成多项式表示为讥1 0 1 1,1 1 0 1图3第3章Turbo码译码Turbo码的译码结构通常情况下,Turbo码编码器使用两个分量RSC,编码输出包含了信息序 列(在译码端常常被称为系统信息或系统比特)和两个分量RSC编码器输出的 校验信息序列。对接收到的观测序列进行译码的时候,根据编码结果,把译 码器分解为两个独立的译码器DEC1和DEC2,分别跟两个RSC分量编码器相对 应。为了得到对原始信息的最优估计,两个译码器分别对系统信息和两个校 验序列进行译码时,应该相互利

15、用校验序列所含的信息,采用迭代译码,通 过分量译码器之问软信息的交换来提高译码性能,这也是Turbo码获得优异 性能的根本原因之一.解交织器解交织器分鱼译码器1交织器硬判决Lc图4 Turbo码的译码结构 以码率为1/3的Turbo码为例,编码输岀信号为Xk =G;,球)(3-1)对于BPSK调制,输出信号与编码码字ck =(c;,cf)(3-2)之间满足关系X, =V;(2C,-1)(3-3)假定接收信号为yk =(%,*)(3-4)式中y; =4 +4(3-5)(3-6)L和条是服从均值为o.方差为N/2的独立同分布高斯随机变量。在接收端,接收采样经过匹配滤波之后得到的接收序列R =(尺9

16、心99 R)(3-7)经过串并转换后得到如下三序列:系统接收信息序列(3-8)用于DEC1的接收校验序列丫卸,财,岀)(3-9)用于DEC2的接收校验序列厂P =(,/,yF)(3-10)若其中某些校验比特在编码过程中通过删余矩阵被删除,则在接收校验 序列的相应位置以“0”填充。上述3个接收序列厂、0P和厂P,经过信道 置信度厶加权后作为系统信息序列A (cP/),信息序列A(c1/)和八(c;/)送 入译码器。对于噪声服从分布n(0, No/2)的AWGN信道来说,信道置信度定 义为4 =4/N0(3-11)对于第k个被译比特,Turbo译码器中每个分量译码器都包括系统信息 亠0;/)、校验

17、信息和先验信息心仏)。其中先验信息A加(心)由 另一个分量译码器生成的外部信息八-,(以)经过解交织后的对数似然比值。 译码输出为对数似然比A沃(”;O),其中i=l, 2。在迭代过程中,分量译码器1的输出aM“;o)可表示为系统信息 亠(疋;/ )、先验信息A帀(“ J和外部信息A * J之和的形式Au (“; 0)= A, (c5仏)+ A上仏)(3-12)式中A|“()=人2(你)(3-13)/依)为交织映射函数。 在第一次迭代时八2血)=。(3-14)从而入血)=0(3-15)由于分量译码器1生成的外部信息A”仏)与先验信息A帀仏)和系统信 息无关,故可以在交织后作为分量译码器2的先验

18、信息输入,从而 提高译码的准确性。同样,对于分量译码器2,其外部信息为输出对数似然比A2a (:O)减去系统信息A心)(c;/)(经过交织映射)和先验信息A,(心)的结 果,即(3-16)人2血)=八2& (;。)- A/(灯(H; /)-A2fl (妆)式中A 2a(J=A】,(你灯)(3T7)外部信息A(你)解交织后反馈为分量译码器1的先验输入,完成一轮迭 代译码。随着迭代次数的增加,两个分量译码器得到的外部信息值对译码性能提 髙的作用越来越小,在达到一定的迭代次数后,译码性能不再提高。这时根 据分量译码器2的输出对数似然比经过解交织后再进行硬判决即得到译码输 出。译码中软信息的确定首先我

19、们来讨论硬判决和软判决的概念和区别。硬判决和软判决是指译 码的时候对接收到的比特进行量化的两种形式。硬判决译码中,从信道接收 到一个比特,即对其进行量化,判断其观测值是0或者1,然后进入译码器进 行译码计算。软判决译码中,接收到一个比特的信息,并不立即对其进行量 化而得到观测值,而是根据多个比特依照它们之间的相关性而进行判决。理 想的软判决译码中,量化是基于无限比特的,而且从信道接收到的序列值立 即进入信道译码器参与译码计算。假设信息序列经过信道编码得到编码序列,采用BPSK调制方式,如果码 元为0,则调制成-1发送,若码元为1,调制成+1。调制后的-1/+1序列在信 道中传输,由于噪声的影响

20、,序列的值会发生变化。如果我们在接收端接收 到3V和两个脉冲电压,硬判决方式会将这两个脉冲都判决为二进制信息1, 尽管第二个比特看起来离二进制1的判断标准还差很远。硬判决不可避免地 会产生一些不恰当的判决,一旦作出判决,结果是不能更改和修正的。软判 决则避免了这种情况,从信道接收到的序列不经过判决,直接进入译码器, 由译码器分离岀信息的先验概率参与译码,通过多个码元之间的相关性,计 算得到一个软输出,再根据这个软输出作出最后的判决,得二进制译码比特。Turbo码译码时使用的是SISO(Soft In Soft Out)译码器,即译码器输 入输出都为软信息,对软信息这一概念有两种解释:假设输出比

21、特为1的概率是/7(1) = 0.7,而为0的概率是p(0)=0.3这些 概率信息即称为软信息。由于p(l)(0),故可判定此输出比特为1。(2)软信息的另一种定义为信道输出的非量化模拟值。假设在0, 1之间, 若信道输出值为,可以判定此输出比特为1的可能性要大于为0的可能性,在 实际应用中为硬件实现提供了方便,通常将信道输出的模拟值进行一定级数 (通常大于2)的量化。例如信道输出的模拟量经过A/D变换的量化输出值即代 表了信道输出为1和为0的概率,用3个比特来代表0-7级量化电平,如果输出 实数值靠近第7级量化电平,即可判定此输出信息为1的概率很高,而为0的 概率却很低,反之亦然。上边两种解

22、释的实质是一样的,都利用了信道提供的传输可靠性信息, 即信息的先验槪率。利用这种软信息进行译码判决的技术即称为软判决技 术,软信息能够为译码器提供由信道产生的附加可靠性信息。以二进制信息 传输为例,如果在解调器输出端即对解调信息进行判决为0或为1,并将此判 决送给译码器,即采用硬判决译码方式。硬判决方式没有充分利用信道提供 的可靠性信息,而是将其完全忽略,故其译码性能远不如软判决译码。译码输出端也存在软信息的问题,编码端的级联结构使得译码器包含两 个或者多个成员译码器,各成员译码器之间通过译码信息的传递来进行级联 的译码,如果成员译码器能够输出软信息,就可以提供给另一个成员译码器 作为输入软信

23、息,通过软信息的相互传递而使译码性能提高。Turbo码采用软输入软输出的译码结构。图5是软输入软输出译码器的示 意图。从信道接收到的观测序列经过分解得到系统信息和校验信息,与先验 信息(由另一个成员译码器提供)一起进入成员译码器参与译码,得到信息比 特的对数似然比LLR,再据此作最后的判决得到译码序列。图5软输入软输出译码示意图Turbo码的译码算法Turbo码的一个重要特点就是在译码时采用了迭代译码的思想,迭代译码的复杂性仅是随着信息序列的大小增加而线性增长。与译码复杂性随码字 长度增加呈指数形式增长的最优MID相比,迭代译码具有更强的可实现性。 已有研究表明,基于最优译码算法的迭代译码与M

24、ID相比,是一种次最优译 码。但采用迭代方式的Turbo码译码可以达到接近Shannon理论极限的性能。 实际上,这类并行级联码之所以成为Turbo码,就是因为在译码器中存在反 馈,类似于涡轮机的工作原理。在迭代进行过程中,通过分量译码器之间互相交换软比特信息来提髙译 码性能oForney等人已经证明了最优的软输出译码器应该是后验概率(APP,A Posteriori Probab订ity)译码器,它是以接收信号为条件的某个特定比特 传输概率。Turbo码的译码算法主要分为基于最大后验概率(MAP)的算法和基于软 输出Viterbi译码算法两大类。MAP系列包括MAP算法、对数域Log-MAP

25、算法以 及其简化算法Max-Log-MAP算法。Viterbi系列算法包括Viterbi算法、改进 的SOVA算法、采用滑窗的SOVA算法等。Viterbi系列算法是针对序列进行译 码的算法,运算量较小,采用滑窗后还可以减小时延,易于工程实现。MAP 类算法是针对比特进行译码的算法,运算量较大,但是性能比Viterbi算法 好。Log-MAP 算法Log-MAP算法是MAP算法的一种转换形式,实现要比MAP算法简单。为推 导Log-MAP算法,需要把MAP算法中的变量都转换为对数的形式,从而把乘法 运算都转换为加法运算,同时译码器的输入输出相应地修正为LLR形式,再 把得到的算法进行必要的修改

26、就得到了 Log-MAP算法。下面推导Log-MAP算 法。(3-18)(3-19)(3-20)在Log-MAP算法中,M&(e)、比($)和/($)与MAP算法中的儿)、匕($) 和几(s)相对应,它们之间满足对数关系($)=ln 讥)伙(s)=ln 仅(s)首先分析对数路径度量的计算。在MAP算法的推导中己知,儿(e)表达式中/7(X,|e)根据心是否与边e有关而取值为1或0;概率桩何) 的取值由信息比特的先验信息A,你)来决定。对于噪声方差为M)/2的AWGN信道忽略常数项,有S P(r,|X,)=宇 + 2畔=容卜;(2c; 一 1)+ 艸(2cf -1) (3-21)NnNa N(、

27、对于AWGN信道,有(3-22)./4=v|y:)_. /4| = K) nb:岡y;)(曲一叵)类似地,有八欠(0;/) = In几(cf i;/)_4V瓦 侧=0;” 叫(3-23)得到对数域上的路径度量计算式M() = In 九)= In 卩(吐(”;()+In p(岭区)(3 - 24)注意,式(3 - 24)仅在$f(e)和s;(e)之间存在传递时成立。尽管第二个分量码的系统比特序列在编码过程中没有传输,但它实际上 是第一个分量码的系统比特序列经过交织后的比特序列。因为译码器的系统 输入是通过对接收信号的系统比特加权得到的,故可以通过对第一 个分量码的A,Xc5;/)进行交织来得到第

28、二个分量码的A2,(;/);这样,第 一个分量码和第二个分量码对于信息比特都有其相应的A,(;/)和 亠(严;/)。从而在计算前向路径量度人(s)和后向路径量度乞(s)时两个分量 译码器可以釆用相同的计算公式。由于MAP算法中乙(s)和几(s)的递推运算中存在指数和计算(由办(。)在 AWGN信道上的计算引入),所以在Log-MAP算法中引入max*()操作,其定义 为(3-25)max (/()= In 工e通常可以对上述max()操作进行变形,对于两个变量的情况(x和y), 有 max*(x,y) = ln(ex + ev) = max(x, y) + In(1 + ey) = max(x

29、,y) + fc(|x- y|)假定编码器的起始状态和结束状态分别为S()和,则对应于Log-MAPO.S = So- S,其他Bn(s)=v算法,前、后向路径度量的递归计算初值分别为(3-26)(3-27)在实际数值计算时,可以用一个较大的值来代替00。如果编码寄存器在编码结束时状态未知,则初值可以设为Bn(s)=0或其它常数(3-28)根据上述推导,可以得到信息比特完整的对数似然比输出信息。 代入M/e)的表达式,并提取通项,得到A,(m;O)= Ai(w,)+A,(cj;Z)+ 腓i A:)+轨(詁;加 -1)+乞佻)(3-29)-删爲心($;)+入(讯;丿)(2來一1)+瓦(彳(e)由

30、式(3-29)可以看出,输出对数似然比信息(“;O)是先验信息 A你)、系统信息Ak(csj)与外部信息(剩余部分)之和。由于两个分量译码器使用相同的系统信息八疋;/),因此需要与处理先 验信息A。(你)一样,将其从入(”;0)中分离出来,仅以外部信息作为先验信 息用于下一轮译码。类似地,也可以得到码字符号的译码输出概率对数似然 比。将Log-MAP算法中的max)简化为通常的最大值运算,即为 MAX-Log-MAP 算法。软输出Viterbi算法SOVASOVA算法也称为软输出的维特比算法(Soft-Output Viterbi Algorithms),它是在Viterbi算法的基础上改进而

31、来的。由于在Turbo码出 现之前,Viterbi算法已经广泛应用于工程之中,因此和其他几种算法相比, SOYA算法更适用应用于工程中。SOVA算法是Hagenauer在1989年出来的。他将Viterbi算法进行了改进, 改进后的算法不仅能得到最大似然路径,而且能计算出每个信息比特的后验 概率,这样就使Viterbi算法可以级联使用叫SOVA算法是对传统的Viterbi算法做了两点改进:首先,在计算路径的 度量时,考虑了先验信息,并且让先验信息在两个分量译码器之间传递;其 次,算法可以以后验概率的形式为每一个信息比特提供软输出。Viterbi算法的基础是寻找能够使后验概率最大的状态序列,即:

32、 呛;|兀 k)= P(S;,j k)/P(yj k(3-30)这里S;代表在幸存路径上的状态序列,这个状态序列在&时刻的状态为 S, k表示&时刻前的接收序列。由于yjk是已知的,因此要使上式最大,只要让P(Syjk)最大,这就是斤时刻的度量。这个度量可以通过循环 递推的方式计算,即k时刻的度量P(Sy.Log-MAPMAX-Log-MAPSOVA的结论。SOVA算法虽然性 能是几种算法中最差的,但复杂性较低易于实现。在实际运用中,要结合具 体的情况,权衡硬件的复杂度和性能要求,选择合适的译码算法。图6不同译码算法对Turbo码的影响迭代次数1214118222410-*10-210图7迭代次数对

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论