《Turbo码的编译码原理及仿真(共40页).docx》由会员分享,可在线阅读,更多相关《Turbo码的编译码原理及仿真(共40页).docx(40页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上专心-专注-专业 Turbo码的编译码原理及仿真内容摘要:Turbo 码是巧妙地将两个简单分量码通过伪随机交织器并行级联来构造具有伪随机特性的长码,并通过在两个输入/输出(SISO)译码器之间进行多次迭代实现了伪随机译码。目前Turbo 码的大部分研究致力于在获得次优性能的情况下减小译码复杂度和时延,从而得到可实现的Turbo码系统。Turbo码具有极其广阔的应用前景,是信道编码界的一个重大突破,被称为二十一世纪的纠错编码。本文介绍了Turbo 码的产生背景,研究意义,研究现状(编译码技术、Turbo码的设计和分析、Turbo码在CDMA系统中的研究及应用、面向分组的
2、Turbo码、Turbo码与其它通信技术的结合),编码原理、译码原理及Turbo码的性能仿真及设计。 通过对Turbo编译码原理的介绍及性能仿真的波形、频谱图的结果,本文对系统进行性能分析,并作了进一步的改进和调试。仿真结果证明了整个设计系统的正确性。由频谱特性可以看出:Turbo码不仅能够有效地抵御加性高斯噪声,而且具有很强的抗衰落和抗干扰特性。可以看出,Turbo码在现代通信中具有较大的优越性和重要作用。关键词: turbo码 编码 译码 仿真 Turbo Code principle And SimulationAbstract: The Turbo code is ingeniousl
3、y two simple component code by pseudo random interleaver parallel cascade constructs has random characteristic of long code, and through the two input / output ( SISO ) decoder between iteration realized pseudorandom decoding. At present, most of research devoted to the Turbo code in obtaining subop
4、timal performance in the absence of reducing decoding complexity and delay, thus can realize Turbo code system. Turbo code has extremely broad application prospect, is the channel coding community a major breakthrough, known as the twenty-first Century error correction coding.This paper introduces t
5、he Turbo code generation background, research significance, research status ( compiled code technology, design of Turbo code and Turbo code analysis, in the CDMA system research and application, a packet-oriented Turbo code, Turbo code and other communications technologies ), encoding, decoding prin
6、ciple of principle and performance simulation of Turbo codes and design.Based on the Turbo compiler code principle introduction and performance simulation waveform, the result of spectrum, the system performance analysis, and made a further improvement and debugging. The simulation results prove tha
7、t the design scheme is correct. The spectral character can see: Turbo code can not only effectively against the Gauss noise, but also has strong resistance to fading and interference properties. As can be seen, the Turbo code in modern communication has more advantages and important role.Keywords: t
8、he turbo code encoding decoding simulation目 录Turbo码的编译码原理及仿真前言 随着社会、经济的快速发展,Turbo码的应用越来越广泛。Turbo码是一类全新的纠错码,是一种新颖的信道编码方法,具有目前任何其它信道编码技术无法比拟的误比特性能。因Turbo码编码思想的新颖及其码性能的优越,自提出之日起就成为通信界关注的焦点。Turbo码在编码时使用并行级联卷积码的递归编码器结构,引入交织器对进入分量编码器的信息序列进行随机交织,从而获得了近似长码的编码输出;译码时使用软输入软输出译码器进行递归迭代译码【2】。在编码器设计方面,决定Turbo码性能的
9、关键因素是分量码和交织器设计的好坏,分量码的不同级联方式也对Turbo码性能有一定影响,在实际应用中为提高通信效率,可通过删除部分校验比特来提高编码效率,而不同的删除方式对码性能会产生不同的影响,因此许多文献对分量器、交织器、删除和级联方式的设计进行了讨论。在理论研究之初,由于发明者在首篇论文中仅给出了Turbo码的基本组成和迭代编译码原理,没有给出严格的理论解释和证明,因此在Turbo码提出之初,对其基本理论的研究就被放在了首位。大量文献对其编译码的基本原理、册肚能都做了理论得研究和分析。在编码器的设计方面,确定了Turbo码性能的关键因素是分量码和交织器设计的好坏,分量码的不同级联方式对码
10、性能有很大影响,另外在实际应用中为提高通信效率,可通过删除部分校验比特来提高编码效率,而不同的删除方式对码性能也会产生不同的影响,因此许多文献对分量器、交织器、删除和级联方式的设计进行了讨论。随着社会节奏的不断加快,产品的更新速度也必须越来越快,对仿真软件的引入对系统进行仿真已经是必不可少。仿真既可通过仿真软件,也可利用高级语言编程来实现。利用软件包,建模十分方便,可大大节省编程时间,甚至有些地方还可省去编程过程。其中,MATLAB是最有影响力、最有活力的软件之一,在科学运算、自动控制、通信仿真等领域有着广泛的应用。目前已有一些研究可作为定性的参考,但大多数都只针对系统中的某一模块进行仿真。本
11、文利用MATLAB对Turbo系统进行性能的仿真,建立的系统仿真模型,能够方便、快捷、形象的描绘Turbo码的工作原理及过程;通过结果分析出各模块的特点,并能方便的指出了在仿真建模中要注重的问题。结果用于说明通信理论与整个系统设计的正确性,对大家进一步研究相关理论起着积极的作用和意义,同时能够在模拟系统过程中找出其缺点与不足,进而加以研究纠正,以便让其更好的应用到实际中。1 绪论1.1 Turbo码的研究背景及发展目前,由于技术的发展、客户的需求、市场的竞争等多方面因素,对Turbo码要求越来越高,Turbo码是一种极为复杂的信道编码技术,译码算法往往由于硬件实现的复杂度太高或者译码时延太长而
12、难以实现。本文使用软件构造Turbo码系统,使使用不同的译码算法对Turbo码性能产生影响的各个参数及相关问题进行了较全面和细致的仿真实验,验证了Turbo码理论中各种因素对译码性能的影响,同时为Turbo码的设计提供了参考依据。现目前Turbo码领域面临的主要问题是:在复杂度和时延都可以接受的前提下如何获得最佳的系统性能。本文所做的就是仿真Turbo码的研究和实际应用之间的过渡性工作,一方面对Turbo码理论问题进行相关的验证,一方面对具有可能实现的Turbo码设计具有一定的指导作用。从对Shannon信道编码定理的分析中可以得出,Shannon在对定理的证明中引用了三个基本条件【5】:(a
13、)采用随机编码、译码方式;(b)译码采用最大似然译码算法;(c)编译码长度L无穷,即码长无限。也就是说在信道传输速率不超过信道容量的计算前提,只有当代码长度无限长的代码集的随机选择的编码码字和在接收端采用最大似然译码算法,可使误差接近零利率。然而,最大似然译码复杂度作为一个功能的编码长度指数增加,当代码长度趋于无穷大,最大似然译码是不可能的。因此,构造物理可实现的编码方案,并寻求有效的译码算法是信道编码理论与技术研究中心的任务。维特比提出了卷积码的一种最大似然译码算法没有控制,从理论和实际应用的发展,促进了卷积码。爱瑞斯提出了一个卷积码克服的固有缺陷,块码,由于其编码过程不断进行,在编码过程中
14、,充分利用前、后位相关,因此性能优于相同的编码效率的分组码,并以同样的速度和相似的卷积码的纠错能力,实现代码简单的分数。Turbo码自提出之日起就成为信息论与编码理论界热切关注的焦点,人们对Turbo码的研究相继取得了一系列成果。下面对Turbo码的发展和研究现状进行简单归纳。 (a)Turbo码的理论分析 在Turbo码提出之初,由于在Turbo码中交织器的出现,使其性能分析异常困难,因此SBenedeao等人提出了均匀交织(UI,Uniform Intefleaver)的概念,并利用联合界技术给出了Turbo码的平均性能上界。Divsalar等人也根据卷积码的转移函数,给出了Turbo码采
15、用MLD时的误比特率上科,其基本理论的研究显得尤为重要。JHagenauer首先系统地阐明了迭代译码的原理,并推导了二进制分组码和卷积码的软输入软输出译码算法。对于Turbo码来说,标准联合界在信噪比较小时比较宽松,只有在信噪比较大时才能实现对Turbo码性能的度量。因此,TMDu,mRtl、ISason等人在Gallager限等已有性能界技术的基础上进行改进,扩展了Turbo码性能界的范围。DDivsalar等人还根据递归系统卷积码的特点提出了有效自由距离的概念,并说明在设计Turb0码时应该使码字有效自由距离尽可能大。LCPerez等人从距离谱的角度对Turbo码的性能进行了分析,证明可以
16、通过增加交织长度或采用本原反馈多项式增加分量码的自由距离来提高Turbo码的性能。(b)Turbo码的设计Turbo码由分量码经由交织器级联而成。因此,分量码和交织器设计的好坏是决定Turbo码性能的关键因素。SBenedetto分析了分别采用递归与非递归卷积码作为分量码时Turbo码的性能,说明分量码应采用递归结构,并使重量为2的信息序列生成码字的最小重量最大化。实际的通信系统中,为提高系统带宽效率,一种方法是通过删减部分校验比特来提高编码速率,称为删余。 对于卷积分量码来说,信息序列编码结束时的编码寄存状态通常是不确定的,由于交织器的存在,通过嵌入与编码约束长度相同的尾随比特一般无法使两个
17、分量编码器同时归零,编码器结束状态未知会使下一帧数据编码的初始状态未知,从而影响Turbo译码的性能。(c)软输出迭代译码算法 Turbo码的编码过程实际上是一个利用强约束短码构造伪随机长码的过程。Turbo码的译码算法主要有两大类。是基于最大后验概率(MAP,MaximumAPosteriod)的软输出算法,主要包括标准MAP算法、对数域上的LogMAP算法和MaxLogMAP算法、修正的MAP算法(M-MAP)、滑动窗MAP(SwMAP)算法和只有前向递推的MAP算法(OSA)。其中LogMMAP算法则是在MAP算法基础上通过减少格图搜索状态达到简化的目的。MAP算法是MAP算法的对数形式
18、,它通过将大量的乘法运算转化为加法运算来简化算法的复杂性。通过对Log-MAP算法中分支路径度量计算的简化,就得到了MaxLog-MAP算法。 (d)迭代译码流程 Turbo码的最大特点是采用了迭代译码。TRichardson从理论上对迭代译码过程进行了分析。Sten Brink利用分量译码器输出外部信息和输入采样的互信息定义了外部信息转移(ET,Exirinsie Information Transfer)图,并利用EXIT图实现对迭代译码过程的跟踪,从而估计迭代译码的收敛性。利用EXIT图还可以预测实现一定性能要求时所必须的迭代译码次数。它为分析迭代译码过程和迭代译码方案的设计提供了有力的
19、工具。(e)Turbo编码调制技术 利用TCM技术可以在不增加系统带宽要求的条件下有效地提高编码增益。很自然的想法是将Tl曲0码与TCM相结合起来实现高增益高频谱效率的编码调制方案,这种方案称为T-TCM。(f)Turbo原理的应用CSchurgers研究了通过自适应调整迭代次数实现室内无线环境下Turbo迭代译码的方案。TKeller和JEWoodard等人考察了基于Turbo码的并行Modem在个人通信中的应用问题。由于n曲0码具有接近Shannon理论极限的性能,尤其是低信噪比下的优异性能使Turbo码在许多通信系统中都有非常大的应用潜力。除了在深空通信、卫星通信以及多媒体通信等领域的应
20、用以外,Turbo码在无线移动通信系统中的应用是目前的研究热点。目前,Turbo码已经成为第三代移动通信系统的标准之一,有关其关键技术的标准化也已经出,同样Turbo码在文本传输和数据存储等方面也有应用。(g)Turbo译码器的实现 南澳大利亚大学Small Wjdd通信研究组最先开始开发Turbo编译码器并推出了Turbo码产品。AChass、DGarrett和KKoora等人也分别在不同的数字芯片上设计实现了Max-LogMAP算法和SOVA算法。高速数据传输和实时通信要求系统处理速度要快,同时移动通信终端又有低功耗要求,在Turbo编译码器的设计过程中,最主要的是考虑数据处理速度和功耗。
21、目前已有的DSP和ASIC芯片及其不断发展为提高Turbo编译码器的处理速度提供了条件译码器功耗,一个办法是减小平均译码迭代次数,根据每一帧数据的迭代次数和信噪比值来动态分配电压,同时在允许的延时范围内使译码速度放慢。此外,还应该尽可能减少对片外存储器数据的访问,用来降低功耗和提高数据读写速度。1.2 本文的论文结构安排本文对Turbo码的基本原理,编译码技术和仿真实现进行了详细的介绍,具体内容如下:a) 简单介绍了Turbo码的产生背景,研究意义,研究现状。b) 介绍了Turbo码的编码器主要组成,删除单元和交织器的工作原理。c) 介绍了Turbo码译码结构和相关算法。d) 介绍了TURBO
22、码的性能仿真及设计e) 对本文的总结与展望 2 Turbo码的编码原理2.1 Turbo码的编码器的组成Turbo码由2个循环系统卷积码并行级联而成:译码采用迭代的串行译码交织器是Turbo 码所特有的,它可以使得信息序列随机化,增加各码字间的重量,从而提高码的保护能力 。下面就Turbo码编码原理 、交织器的选择和译码原理进行讨论:Turbo码的典型编码器如图2-1所示,Turbo码编码器主要由分量删余矩阵、交织器、编码器以及复接器组成。分量码一般选择为递归系统卷积(RSC,Recursive Systematic Convolutional)码,当然也可以是分组码(BC, Block Co
23、de)、非递归卷积(NRC,Non-Recursive Convolutional)码以及非系统卷积(NSC,Non-Systematic Convolutional)码,但从后面的分析将看到,分量码的最佳选择是递归系统卷积码。通常两个分量码采用相同的生成矩阵,当然分量码也可以是不同的。删余矩阵交织器分量编码器1分量编码器2复接图2.1-1 Turbo码的编码器结构分量编码器是Turbo码编码器中的一个重要组成部分。虽然从原则上讲,任何系统码都可作为分量码,但是由于卷积码可以采用最大后验概率(MAP)判决算法进行译码,从而能够分别实现对Turbo码各编码单元的最优迭代译码,所以通常采用递归系统
24、卷积码(RSC)来实现。另一方面,Turbo码的发明者之一PTlli6mashima研究了递归系统卷积码和非递归卷积码的差错系数并进行了比较。研究表明:在信噪比较低时,递归系统卷积码的性能要比非递归卷积码的性能好。当信噪比较大时,非递归卷积码的误比特率性能要比递归系统卷积码的误比特率性能稍好。而Turbo码主要低信噪比条件下具有性能优势,因此这是选择递归系统卷积码作为Turbo码分量码的一个重要原因。Tubro码之所以利用RSC编码,因为循环编码器可以改善码的比特误码率性能。非循环卷积码编码器状态转移循环编码后,其状态图变为图个状态转移图非常相似,它们具有相同的生成矩阵、最小自由距离和网格结构
25、;但是,循环编码后输出码字的重量增加了,从而提高了比特误码率性能。卷积码编码器是通过在输入信息序列后加入m( 编码约束长度)个“0”就可以使编码状态回到全“0” 状态,使网格终止,但对于RSC 编码器,由于有反馈,RSC编码器的状态很难确定,加“0” 的策略不能达到网格终止的目的;而且,在编码器回到了全“0” 状态,由于加入了交织器 ,编码器却不一定回到全“0” 状态,所以需要寻求别的办法来终止网格。最简单的方法就是在输入端设置开关电路来实现网格的终止。另一种方法就是初始状态为全“0”在RSC编码器的信息序列后加入m 个“0”比特,使其状态回到全“0”从而使网格终止,而编码器不终止,处于开放状
26、态,可以在任何状态停止编码。 2.2 Turbo码的删余矩阵Turbo 码的删余就是通过删除冗余的校验位来调节码率。Turbo码采用两个成员编器,产生的冗余比特比一般情况多一倍,这在很多场合下并不需要,但又不能排斥任何一个编码器,折衷的办法就是按一定规律轮流选用两个编码器的校验比特。例如,采用两个1/2成员编码器时,如果不删余,信息位加两个编码器的校验位将产生1/3的码流,但如果令编码器1的校验流乘以一个删余矩阵,令编码器2的校验流乘以删余矩阵P及可,其中1代表传输此比特,0表示不传输,这样就产生了在编码器1和2之间轮流取值的效果。一般情况下,设两个编码器的校验位生成矩阵为q和q,m和m为交织
27、前后的N位信息位流,则m和q分别为lxN的校验位矢量;删余矩阵P为Nx2矩阵,其中和均为Nxl的列矢量,由0或1值组成,分别表示对两个编码器校验位的选择情况,1表示该编码比特作为输出比特传输到对端,0表示该编码比特不进行传输。借助删余可以用较简单的编译码器(如1/2卷积码)实现较高码率(如6/7码率)的编、译码。比如,在1/2卷积码的网格上,从每一状态出发或到达每一状态仅有两条路径,而直接使用6/7卷积码从一个状态出发或到达一个状态存在2“二64条路径。通常,R=kln的卷积码译码时每一状态需要进行2k次路径比较,如果用1/2编码器产生6/12码,再通过删余产生6/7码,译码时仍使用1/2的译
28、码器,比直接使用6/7的译码器要容易实现。使用两个 RSC 分量码进行编码的 Turbo 码的码率为 1/3。信道的带宽通常是有限的,提高有限带宽的利用率成为需要解决的重要问题。为了提高Turbo 码的码率,可以对Turbo 码采用删余技术。Turbo 码的删余技术是指从两个RSC 分量编码器生成的校验序列中按照一定规则周期地删除一些校验位比特,然后将得到的校验序列与输入的信息序列通过并串转换组成编码输出序列。经过Turbo 编码后得到的编码输出序列的长度为3N,其中包括由两个RSC 分量码编码器输出的长度为2N 的校验比特序列,编码后的码率为1/3。通过删余可以将码率提高到1/2,删余矩阵p
29、 为: (2.2-1) 删余矩阵p 意义为:横坐标表示由第几个分量编码器输出,纵坐标表示校验序列的奇偶位(1 表示该位不删余,0 表示该位删余),该矩阵表示删余校验序列Y1 = y1k的偶数位和校验Y2 = y2k 的奇数位。将得到的校验序列与信息序列 U k = u 复接后得到的输出序列为: (2.2-2)码率变为1/2。图2.2-1 是矩阵p 的删余示意图,阴影的部分是经过打孔去掉的删余比特。图 2.2-1 删余示意图2.3 Turbo码的交织器 交织器的作用是改变信息结构将传输过程中出现的突发错误进行的分散化和不规则化。码字的重量分布决定了Turbo 码的纠错译码性能 。交织器可以改变T
30、urbo 码的重量分布,因此,交织器对Turbo 码性能的好坏有着重要作用 。 在Turbo 码中,交织器使输入码元符号的顺序尽可能随机分布,使码元符号之间的相关性减弱,从而使进入各个子译码器的信息序列之间不相关。这使得各个子译码器彼此独立的工作,互相利用软判决信息,判决结果也因此逐渐准确。 但是,同样由于Turbo 码是以帧的形式编码,交织器的存在使得Turbo 码存在时延,帧越长,时延越大。所以,只有允许较大时延的系统,才可以充分发挥Turbo码的作用。图2.2-2 简单分组交织器线性码的纠错译码性能实质上是由码字的重量分布决定的,Turbo码也是线性码,所以其性能也是由码字重量分布决定的
31、,由于交织器实际上决定了Turbo码的重量分布。交织器是Turbo码编码器主要的组成部分,也是Turbo码的重要特征之一。所以,给定了卷积编码器后,Turbo码的性能主要是由交织器决定的。因为交织长度大时,两个子编码器接收的输入序列的相关性就可以很低,越有利于译码迭代,从而使得迭代结果越精准。在低SNR时,交织器的大小将直接影响着Turbo码的差错性能。在高SNR时,是Turbo码的低重量码字、最小汉明距离或距离谱决定着它可以达到的BER性能,所以交织器的设计显著的影响着低重量码字或距离谱,重量分布是反映纠错码性能的重要指标,所谓具有好的重量分布,就是要尽量减少低重量的码字的数量。如果没有交织
32、器的作用,Turbo码的两个子编码器的输入就相同。若其中一个经编码后产生低重量的码字,那么该序列在经过第二个字编码器输出后也会产生低重量的码字。反之,加入交织器,由于交织器对输入序列进行了置换,使得数据在进入第二个编码器之前被打乱,也就改变了原来信息的排列方式,所以Turbo码的两个子编码器同时产生低重量输出的可能性就更小了,也就是说交织器减小了Turbo码产生低重量码字的概率,从而可以使Turbo码有较好的纠错性能。彼此独立进行译码的结果是软判决信息可以互相利用,判决结果也因此逐渐准确。从而,使Turbo码译码器的性能远远好于其它类型的译码器,包括其他类型的级联译码器。在Turbo码中,交织
33、器的这种使输入码元符号的顺序尽可能随机分布的作用,将使码元符号之间的相关性减弱,使进入各个子译码器的信息序列之间不相关。这种去相关的结果使得各个子译码器可以彼此独立的工作。交织器的长度会对Turbo码的译码性能有很大的影响,交织深度越大,译码的误码率越低,传输质量越高。所以,对于那些允许有较大时延的业务,Turbo码的作用就可以得到充分的发挥。但是,对于那些不允许有较大时延的业务,Turbo码的应用却受到限制。2.4 本章小结本章主要研究了 Turbo 码编码器的各个组成部分交织器和删余的作用和构成。其中,交织器重点研究了几种常用的交织分组交织,随机交织、卷积交织、分析了它们的交织方法和对Tu
34、rbo 码性能的影响。3 Turbo码的译码原理 3.1 Turbo码的译码结构一般情况下,Turbo码编码器会使用两个分量的RSC,编码输出通常包含了信息序列(在译码端常被称为系统信息)与两个分量RSC编码器输出的校准信息序列。根据接收到的观测序列进行译码的时候,根据编码结果,把译码器分解为两个独立的译码器DECl和DEC2,分别跟两个RSC分量编码器相对应。为了得到对原始信息的最优估计,两个译码器分别对系统信息和两个校验序列进行译码时,应该相互利用校验序列所含的信息,采用迭代译码,通过分量译码器之问软信息的交换来提高译码性能,这也是Turbo码获得优异性能的根本原因之一。 17分量译码器1
35、交织器Lc交织器硬判决解交织器分量译码器2解交织器图3.1-1 Turbo码的译码结构以码率为的Turbo码为例,编码输出信号为 (3.1-1)对于BPSK调制,输出信号与编码码字 (3.1-2)之间满足关系 (3.1-3)假定接收信号为 (3.1-4)式中 (3.1-5) (3.1-6)和是服从均值为0,方差为的独立同分布高斯随机变量。在接收端,接收采样经过匹配滤波之后得到的接收序列 (3.1-7)经过串并转换后得到如下三序列:系统接收信息序列 (3.1-8)用于DECl的接收校验序列 (3.1-9)用于DEC2的接收校验序列 (3.1-10)若其中某些校验比特在编码过程中通过删余矩阵被删除
36、,则在接收校验序列的相应位置以“0”填充。上述3个接收序列、和,经过信道置信度加权后作为系统信息序列,信息序列和送入译码器。对于噪声服从分布N(0,No2)的AWGN信道来说,信道置信度定义为 (3.1-11)对于第k个被译比特,Turbo译码器中每个分量译码器都包括系统信息、校验信息和先验信息。其中先验信息由另一个分量译码器生成的外部信息经过解交织后的对数似然比值。译码输出为对数似然比,其中i=l,2。在迭代过程中,分量译码器1的输出可表示为系统信息、先验信息和外部信息之和的形式=+ (3.1-12)式中 (3.1-13)为交织映射函数。在第一次迭代时 (3.1-14)从而 (3.1-15)
37、由于分量译码器1生成的外部信息与先验信息和系统信息无关,故可以在交织后作为分量译码器2的先验信息输入,从而提高译码的准确性。同样,对于分量译码器2,其外部信息为输出对数似然比减去系统信息(经过交织映射)和先验信息的结果,即=- (3.1-16)式中= (3.1-17)外部信息解交织后反馈为分量译码器1的先验输入,完成一轮迭代译译码。随着迭代次数的增加,两个分量译码器得到的外部信息值对译码性能提高的作用越来越小,在达到一定的迭代次数后,译码性能不再提高。这时根据分量译码器2的输出对数似然比经过解交织后再进行硬判决即得到译码输出18。3.2 Turbo码的LOG-MAP算法Log-MAP算法是MA
38、P算法的一种转换形式,实现要比MAP算法简单。为推导Log-MAP算法,需要把MAP算法中的变量都转换为对数的形式,从而把乘法运算都转换为加法运算,同时译码器的输入输出相应地修正为LLR形式,再把得到的算法进行必要的修改就得到了Log-MAP算法。下面推导Log-MAP算法。在Log-MAP算法中,、和与MAP算法中的、和相对应,它们之间满足对数关系=ln (3.2-1)=ln (3.2-2)=ln (3.2-3)首先分析对数路径度量的计算。在MAP算法的推导中己知,表达式中根据是否与边e有关而取值为1或0;概率的取值由信息比特的先验信息来决定。对于噪声方差为的AWGN信道忽略常数项,有 (3
39、.2-4)对于AWGN信道,有 (3.2-5)类似地,有 (3.2-6)得到对数域上的路径度量计算式 (3.2-7)注意,式(3.2-7)仅在和之间存在传递时成立。尽管第二个分量码的系统比特序列在编码过程中没有传输,但它实际上是第一个分量码的系统比特序列经过交织后的比特序列。因为译码器的系统输入是通过对接收信号的系统比特加权得到的,故可以通过对第一个分量码的进行交织来得到第二个分量码的;这样,第一个分量码和第二个分量码对于信息比特都有其相应的和。从而在计算前向路径量度和后向路径量度时两个分量译码器可以采用相同的计算公式。由于MAP算法中和的递推运算中存在指数和计算(由在AWGN信道上的计算引入
40、),所以在Log-MAP算法中引入操作,其定义为 (3.2-8)通常可以对上述操作进行变形,对于两个变量的情况(x和y),有假定编码器的起始状态和结束状态分别为和,则对应于Log-MAP算法,前、后向路径度量的递归计算初值分别为 (3.2-9) (3.2-10)在实际数值计算时,可以用一个较大的值来代替。如果编码寄存器在编码结束时状态未知,则初值可以设为或其它常数 (3.2-11)根据上述推导,可以得到信息比特完整的对数似然比输出信息。代入的表达式,并提取通项,得到 (3.2-12)由式(3.2-12)可以看出,输出对数似然比信息是先验信息、系统信息与外部信息(剩余部分)之和。由于两个分量译码
41、器使用相同的系统信息,因此需要与处理先验信息一样,将其从中分离出来,仅以外部信息作为先验信息用于下一轮译码。类似地,也可以得到码字符号的译码输出概率对数似然比。将Log-MAP算法中的简化为通常的最大值运算,即为MAX-Log-MAP算法。3.3 SOVA 译码算法Viterbi 译码算法的实质是最大似然译码,它利用了编码网格图的特殊结构从而降低计算的复杂性。该算法包括计算网格图上在某时刻到达各个状态的路径和接收序列之间的距离。去除不可能成为最大似然选择对象的网格图上的路径。对所有状态都将进行路径选择,译码器不断在网格图上深入,通过去除可能性最小的路径实现判决。尽管Viterbi 算法可以软输
42、入( Soft Input ),但是不可以软输出(Soft Output),而Turbo码译码是通过连个分量译码器之间的软信息的迭代而实现的,因而Viterbi 算法不能直接用于Turbo 码译码。SOVA 算法正是改进的软输入软输出(Soft Input Soft Output)Viterbi 算法 (SOVA),输出的是判决置信度。SOVA算法是对传统的Viterbi算法做了两点改进:首先,在计算路径的度量时,考虑了先验信息,并且让先验信息在两个分量译码器之间传递;其次,算法可以以后验概率的形式为每一个信息比特提供软输出。Viterbi算法的基础是寻找能够使后验概率最大的状态序列,即: (
43、3.3-1)这里代表在幸存路径上的状态序列,这个状态序列在k时刻的状态为S,表示k时刻前的接收序列。由于是已知的,因此要使上式最大,只要让最大,这就是k时刻的度量。这个度量可以通过循环递推的方式计算,即k时刻的度量等于k-1时刻的度量乘以在k-1时刻的状态的已知的情况下k时刻的状态为S并且输出为的概率,即:= (3.3-2)如果令度量为log因此有:=+log (3.3-3)这样就得到了SOVA算法中的支路度量的计算公式:=log (3.3-4)最小状态。经过修改后,幸存路径和竞争路径之间的累积分支度量差被用于更新比特置信度3.4 各种译码算法的比较MAP 算法和SOVA 算法的区别在于状态转
44、移图中对路径的判决方式不同。MAP 算法和Log-MAP 算法的区别在于运算域的不同,并且由于Log-MAP 算法通过加法修正函数推导而出,因此在性能上有一定的损失。MAP 算法,Log-MAP 算法,MAX-Log-MAP 算法以及SOVA 算法的相似点在于这些译码算法都是找出某种最大度量值路径,并取度量的差值作为输出的软判决。它们的区别在于选取的路径度量和输出的软信息不同。从它们的性能上讲MAPLog-MAPMAX-Log-MAPSOVA (3.4-1)而从实现算法的复杂度上来讲MAPLog-MAPMAX-Log-MAPSOVA (3.4-2)因此,在实际选取Turbo 码译码的算法的过程
45、中需要充分考虑译码性能和实现复杂度。3.5 本章小结本章介绍了Turbo码译码器的组成结构,Turbo码利用软输入软输出进行迭代译码的思想及相关问题,详细介绍了Log-MAP译码算法以及SOVA算法。Turbo码在性能上之所以如此优越,主要是因为编译码方法充分利用了随机编码思想、软输入软输出的译码思想以及迭代译码的思想。4 Turbo码的性能仿真及设计4.1 Turbo码仿真系统的实现Turbo码是经过模拟仿真来的,而不是根据既定的设计准则得到的。许多研究者正寻找其工作机理以便更好为Turbo码的构造提供理论依据。至到现在Turbo码的研究成果很大一部分是通过对各种参数的模拟性能结果中得到的。模拟仿真时,衡量其编码性能的好坏主要以误码率BER(Bit Error Rate)来的。本章将会对Turbo码的性能作较为详细的论在加性高斯白噪声信道环境下,比较不同译码算法的不同性,与此同时为进一步的仿真和分析提供理论依据。仿真中使用加性高斯白噪声信道(AWGN)模型,因为它易于构建,也是具有代表性的信道模型之一,同时假设使用BPSK调制方式。根据Turbo码系统的结构特点,本文将
限制150内