基于Matlab的Turbo码仿真研究_第1页
基于Matlab的Turbo码仿真研究_第2页
基于Matlab的Turbo码仿真研究_第3页
基于Matlab的Turbo码仿真研究_第4页
基于Matlab的Turbo码仿真研究_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

西华大学毕业设计说明书基于MATLAB的TURBO码仿真研究摘要TURBO码,它巧妙地将两个简单分量码通过交织器并行级联来构造具有随机特性的长码,并通过在译码器端采用进行多次迭代提高了其译码性能。目前,TURBO码已经成为以大容量、高数据率和承载多媒体业务为目的的第三代移动通信的信道编码方案之一,其中,具有代表性的WCDMA,CDMA2000,和我国的TDSCDMA3个标准中的信道编码方案都使用了TURBO码。此外,TURBO码在高清晰度数字电视传输系统的应用也很看好,它能使大量的数字信号准确无误的传输,真正做到高清晰度的图像质量。本次设计主要内容使用MATLAB仿真软件将信息序列经过编码器编码后,经过调制器调制,加入噪声,解调后送入到译码端进行译码。通过对各个过程对信息的性能仿真证明TURBO码的优越性。关键字TURBO码,编码,译码,交织器ABSTRACTTURBOCODE,ITWILLSUBTLYTWOSIMPLECOMPONENTCODEBYINTERTWINEDPARALLELCASCADESTRUCTUREWITHSTOCHASTICCHARACTERISTICSOFLONGCYCLECODE,ANDTHROUGHMANYTIMESATTHEDECODERENDUSESITERATIONIMPROVESTHEDECODINGPERFORMANCEATPRESENT,THETURBOCODEHASBECOMETOLARGECAPACITY,HIGHDATARATEANDBEARINGMULTIMEDIASERVICESFORTHEPURPOSEOFTHETHIRDGENERATIONMOBILECOMMUNICATIONCHANNELCODINGSCHEME,ONEOFWHICH,THEREPRESENTATIVEOFWCDMAANDCDMA2000,ANDCHINASTDSCDMA3USEDINCHANNELCODINGSCHEMEOFTHESTANDARDTURBOCODEINADDITION,THETURBOCODEINTHEAPPLICATIONOFHIGHDEFINITIONDIGITALTELEVISIONTRANSMISSIONSYSTEMALSOLOOKGOOD,ITCANMAKEALOTOFDIGITALSIGNALTRANSMISSION,ACCURATETRULYHIGHDEFINITIONIMAGEQUALITYTHISDESIGNMAINCONTENTUSINGMATLABSIMULATIONSOFTWAREAFTERENCODERCODINGSEQUENCEOFTHEINFORMATION,THROUGHMODULATIONMODULATOR,ADDINGNOISE,AFTERDEMODULATIONINTOTHEDECODERTODECODETHROUGHTHEPERFORMANCEOFEACHPROCESSINFORMATIONSIMULATIONPROVETHESUPERIORITYOFTURBOCODESKEYWORDSTURBOCODE,CODING,DECODING,INTERTWINED西华大学毕业设计说明书目录1绪论111数字通信系统的结构112TURBO码的研究现状213TURBO码系统仿真模型设计32TURBO码的编码521TURBO码编码结构522本章小结83译码931TURBO码的译码结构932基于后验概率的译码算法MAP算法933MAP算法的简化算法1334迭代译码14341算法推导15342不同迭代次数仿真1635本章小结184交织器的设计1941交织器的概述1942交织器的设计19421交织器的分析及设计19422设计过程20423S随机交织后输出2243本章小结235程序设计2451软件介绍2452TURBO码程序设计流程图2553程序仿真及结果分析276总结与体会307致谢318参考文献329附录仿真程序33第1页西华大学毕业设计说明书1绪论随着通信技术和计算机技术的迅猛发展,每时每刻都在不断涌现出新的通信和信息业务,同时各个用户对通信质量和数据传输速率的要求也不尽相同。由于传输信道本身特有的噪声和衰落的原因,信号到达接收端时难免的会受到干扰而使信号失真。现在一般采用差错控制码来检查并纠正由信道失真引起的信息传输错误。由于差错控制码主要用于实现信道纠错,所以又称为纠错码。编译码技术的日益成熟使其应用领域不断扩大,比如在众多信息交换和存储设备中的广泛应用。现代信息和编码理论的奠基人CESHANNON在1948年提出了著名的信道编码定理,在定理中SHANNON给出了在数字通信系统中实现可靠通信以及在特定信道上实现可靠通信的信息传输速率上限的方法。11数字通信系统的结构信道中传输数字信号的系统,称为数字通信系统。数字通信的基本特征是,它的消息或信号具有离散或数字的特性。其一般结构由调制器/解调器、信道、编码器/译码器等环节构成。在通信系统中是否全部采用,要取决于具体的设计条件和要求。任何通信系统中,如果发送端有调制/加密/编码,接收端应有其相对应的设备。为更好地理解信道编码在数字通信系统中的地位和作用,首先介绍通用数字通信系统的基本组成结构,如图11所示。图11数字通信系统基本组成结构信源信源编码器信道编码器数字调制器信宿信源译码器信源译码器数字解调器信道干扰调制信道第2页西华大学毕业设计说明书12TURBO码的研究现状对于TURBO码的研究最初集中于对于其译码算法、性能界和独特编码结构的研究上,经过十多年来的发展历程,已经取得了很大的成果,在各方面也都走向使用阶段。TURBO码由于很好地应用了香农信道编码定理中的随机性编译码条件而获得了接近香农理论极限的译码性能。TURBO码的优越性在于在较低的信噪比环境下也能有很好的性能。目前TURBO码主要以下研究方向。(1)编译码技术编码技术主要是对PCCC(并行级联卷积码)与SCCC(串行级联卷积码)的以及HCCC(混合级联卷积码)的分析和研究;译码技术主要包括迭代译码、译码算法(最大后验概率算法MAP、简化的MAP算法LOGMAP、软输出VITERBI算法SOVA等)的研究。(2)TURBO码的设计和分析主要包括交织器的设计、码的级联方式、译码算法、TURBO码的性能分析等。在性能分析中,主要对码重分布及距离谱进行分析,且相关理论还在研究中。在第三代移动通信系统IMT2000)中己经将TURBO码作为其传输高速数据的信道编码标准。第三代移动通信系统(IMT2000)的特点是多媒体和智能化,要能提供多元传输速率、高性能、高质量的服务,为支持大数据量的多媒体业务,必须在布限带宽信道上传输数据。由于无线信道传输媒质的不稳定性及噪声的不确定性,一般的纠错码很难达到较高要求的译码性能(一般要求比特误码率小于106E),而TURBO码引起超乎寻常的优异译码性能,可以纠正高速率数据传输时发生的误码。(3)面向分组的TURBO码主要面向分组的TURBO码的构造、译码及译码器的分析。TURBO码与其它通信技术的结合包括TURBO码与调制技术(如网格编码调制TCM)的结合、TURBO码与均衡技术的结合(TURBO码均衡)、TURBO码编码与信源编码的结合、TURBO码译码与接收检测的结合等等。TURBO码与OFDM(正交频分复用)调制、差分检测技术相结合,具有较高的频率利用率,可有效地抑制短波信道中多径时延、频率选择性衰落、人为干扰与噪声带来的不利影响。(4)在3G中的应用编辑信道编码技术可改善数字信息在传输过程中噪声和干扰造成的误差,提高系统可靠性。因而挺供高效的信道编译码技术成为3G移动通信系统中的关键技术之一。3G移动通信系统所提供的业务种类的多样性、灵活性,对差错控制编译码提出了更高的要求。WCDMA和CDMA2000方案都建议采用除与IS95CDMA系统类似的卷积编码技术和交织技术之外,采用TURBO编码技术。第3页西华大学毕业设计说明书ARSC编码器的设计RSC编码器基于4状态的并行级联卷积码(8PCCC)。交织采用了比特翻转技术。通过删余处理,码率为41,21,31的TURBO码被采用。分别对两个子编码器的输出奇偶位V2和V2交替删余,可得到码率为41的TURBO码;同理可得到码率为31和21编码器。B交织长度的选择在3G移动通信中,业务速率由32KBIT/S到2MBIT/S。10MS一帧,帧长由20到20000。为了提高译码器性能,在一些低速业务中,可采用多帧组成一个数据块,加大交织深度。不同行对应不同列间转换参数,采取的是接近随机化的素数取模算法。数据在完成行列转换后,按列读出。C译码器的设计由于TURBO码译码算法复杂,译码延时长,所以对于时延要求高的数据业务应用受限。因而低复杂度译码器的设计成为TURBO码译码算法设计的焦点。为了换取复杂度的简化,允许次优性能译码的存在。例如3GPP中允许TURBO码的译间比标准MAP基于后验概率算法有1DB的增益损失。结合CRC(循环冗余校验码)校验来减少迭代次数,在SNR(信噪比)较大时可以减少译码复杂度和译码延时。13TURBO码系统仿真模型设计图12TURBO码编译码系统模型输入信息XK为等概率的0、1序列,TURBO码编码器部分由两个分量编码器通过交织器并行级联经过删余矩阵构成码率为1/2的TURBO码(不删余则为1/3),当然也可以通过设置产生出不同的编码率。编、译码器中使用的为S随机交织器。经过编码的信息序列,经BPSK(二进制相移键控)调制为双极性信号1,1,然后传送到信道中。同时,为传送信号加入高斯白噪声NK(AWGN)。译码部分采用的是LOGMAP基于后验概率算法。最后得到的结果以BER(误码率)为标准进行判断。NTURBO码的一帧长度,即每帧所包含的信息序列的长度,也等于交织器的大小,在该信息序列中,实际发送信息长度为NMM为编码器存储器长度,还有M个拖尾比特加在实际信息之后,作用是使编码器归零。KUTURBO码编码器BPSK调制器TURBO码译码器XK0,1SK1,1,02NNKYK第4页西华大学毕业设计说明书本次设计的研究内容为从TURBO码的编码端了解信息到译码端的传输过程。主要对TURBO码编译码的各个单元模块进行认识,了解其相应的原理并运用到设计中。其中编译码端最重要的部分为交织器结构设计,它能够很好地提高TURBO码的效率。第5页西华大学毕业设计说明书2TURBO码的编码TURBO码自被提出以来,就凭借着良好的编码和纠错性能备受关注。TURBO码是用短码构造等效意义的长码,从而达到长码的纠错性能而减少译码的复杂度。21TURBO码编码结构TURBO码通常使用并行级联卷积码进行编码,即PCCC。其编码框图结构如图21所示。图21PCCC的编码器结构TURBO码编码器通常主要由两个分量编码器、交织器、删余矩阵和复接器组成。输入的信息分为三路一路直接送到复接器等待其它两路的信息的到来;一路经过分量编码器1编码后进入删余矩阵;另一路信息经过交织器交织后(交织后的信息内容不会发生改变只是对原始序列的位置进行改变)进入分量编码器2等待编码结束后和经分量编码器1编码后的信息一同进入删余矩阵删除一些校验位最后和原始信息序列一起送入复接器生成TURBO码序列然后送入到调制器端进行调制。TURBO码在编码端引入随机交织器,使码字具有近似随机的特性;通过分量码并行级联实现了由短码构成长码的方法;同时可看出交织器的重要性,其目的在于尽可能的打乱输入信息比特的位置,减小信息相互之间的相关性;增大码间的自由距离,使得纠错能力得到很大提高。对于数字通信领域日益紧张的带宽资源,提高码率就意味着节省带宽和降低通信费用。删余PUNCTURING是目前提高TURBO码码率的主要方法。删余矩阵的作用是提高编码码率,其元素取自集合0,1。矩阵中每一行分别与两个分量编码器相对应,其中“0”表示相应位置上的校验比特被删除,而“1”则表示保留相应位置的校验比特。下面举例介绍TURBO码PCCC型的编码原理。如下图所示码率为1/2的两个相同的递归系统卷积码作为分量码系统TURBO码编码器。分量编码器2复接删余矩阵分量编码器1交织器第6页西华大学毕业设计说明书图22TURBO码编码器结构图图23状态转移图P0110该删余矩阵P表示分别删除PKX1中位于偶数位置的校验比特和PNX2中位于奇数SKXDDDD交织器KXPKX1PKX20/010/00S301S2111/111/10S0000/001/001/11S1100/11第7页西华大学毕业设计说明书位置的校验比特。与系统输出SKX复接得到的码字序列为CSX0,PX10,SX1,PX21,SX2,PX12,SNX1,PNX21SKXSNX其中假设信息序列长度N为偶数。若输入信息序列为U(1011001)则上面的递归系统卷积分量码编码后的系统输出和校验输出分别为SX1011001和PX11100100若假设经过交织器交织后的输入信息序列为SX1101010则编码后的校验输出为PX21000000得到的码率为31输出码字为C111,010,100,100,010,000,100采用上述删余矩阵P删余后得到的码率为21的输出码字为C11,00,10,10,01,00,01当然通过在码字中增加校验比特的比率也能够提高TURBO码的性能。这样会使TURBO码的码率降低。以下有两种方法能够改变TURBO码的码率。(1)采用低码率的分量码如果有两个分量码组成的TURBO码,则TURBO码的码率R与两个分量码的码率R1和R2之间满足R212121RRRRRR21显然,降低R1和R2的值可以使R减小。反之,提高分量码的码率也能够获得高码率的TURBO码。(2)加大分量码的维数,实现多维TURBO码则得到的TURBO码的码率与分量码个数N之间的关系式为(无删余矩阵)R11N22当然任何码率的TURBO码都能够通过结合以上2种方法得到。第8页西华大学毕业设计说明书图23给出M维TURBO编码器的一般性结构。以下如无特殊说明,所讨论的均是指由两个分量码构成TURBO编码。图24TURBO码编码器的一般性结构22本章小结在信号传输的过程中,由于码间串扰和噪声的影响容易产生误码,良好的解决方式就是在编码端采用何种编码方式。TURBO码的编码方式有效的使短码变成长码,将编码效率大大提高,同时,交织器的加入很好地减小了原信息序列的相邻信息的相关性。最后通过对它本身结构的介绍和状态转移图的展示,将其基本原理描述出来。TURBO码同时具有强大的可扩展性如图24所示,相信以后得到大量的使用。交织器IM交织器I1交织器I2分量编码器1分量编码器2分量编码器M第9页西华大学毕业设计说明书3译码译码也成为解码,它是编码的逆过程,同时去掉比特流在传播过程中混入的噪声。利用译码表把文字译成一组组数码或用译码表将代表某一项信息的一系列信号译成文字的过程称之为译码。31TURBO码的译码结构图31给出了与图21相匹配的PCCC译码结构如图31所示图31TURBO码译码结构图TURBO码的译码结构主要由两个交织器、解交织器和分量译码器组成,其译码过程就是一个迭代循环过程。对于译码器1而言输入信息包括从信道接收并经解复用以后的信息位YS、校验位YP1和上一次译码器2送出的外部信息经解交织后作为先验信息的输入信息;译码器2的输入信息和译码器1的原理基本相同,区别在于校验位变为YP2、信息位要经过交织器后才输入和先验信息变成译码器1的外部信息经过交织器后信息。以此循环,当结果满足所需的设计性能或者迭代次数到了以后此过程结束。译码器2输出的信息经解交织后送入下一个单元。32基于后验概率的译码算法MAP算法MAP算法自被人们所了解之日起,便因其大量计算和硬件难以实现而没能够得到人们的利用和研究。直到1993年BERROU将修正的MAP算法(BCJR)运用到他最原始TURBO码迭代译码方案中,人们才开始继续研究该算法,并确定了其是实现TURBO码迭代译码最好的次最优算法。MAP算法目的是使BER尽可能的减小。分量译码器1解交织器解交织器辅助硬判决分量译码器2交织器交织器YP1YP2YS,21KEUL21KEUL12KEUL,12KEUL第10页西华大学毕业设计说明书定义LOGARITHMLIKELIHOODRATIOLLR先验对数似然比KUEL11LOGKKUPUP31后验对数似然比KUL11LOGYUPYUPKK32传输码字XX1,X2,XK331SKX,PKX1,2SKX,PKX2,SKKX,KPKX接收码字YXNY1,Y2,YK341KY,PKY1,2KY,PKY2,NKY,NPKYBJCR算法推导KULKUL,1,1LOGYPYUPYPYUPKK35UKKUKKYPYSSSSPYPYSSSSP,LOG11因为已知输出Y,再知道前一状态S和当前状态S便可以计算出UKP(S,S,Y)1KSKRS,SKS36又有KPSKS,KY1前向递推KSPKKY1SSK后向递推KRS,SPKKYSS,1SSKS和S之间的分支转移概率因为P(S,S,Y)PKKKKYYYSS111,PKKY1KKYYSS,11PKKYYSS,1137第11页西华大学毕业设计说明书PKKY1KKYYSS,11PKYS,11,KYSP11,KYSPKKY1SPKYS,SP11,KYSKSKRS,S1SK又有00010SSS0001SSSK得出KRS,SP,SYSK,SPSSP,SSPYSSPKPSSPSSYK,KUPPKKUY38222EXP2KKKCYUP222EXP22KPKKUKKPYUYUPSK,1SSSRKSKSKPS,KY11,SKYSSP11,SKKYYSSP11,SKKYSYSPP11,KYS39,SKSYSPP11,KYS,SKSSR1SK1SK,SSRSKSK1SKPSYKK310第12页西华大学毕业设计说明书SKKSSYP,SKKKSSYYP,1SKKKYSSYP,1P,SYSKSKKSYP1P,SYSK,SSRSKSKKULUKKKUKKKSSRSSSSRSS,LOG11311UKPKKUKKKKUKPKKUKKKKPYUYUPSSPYUYUPSS2121EXP1EXP1LOG11LOGKKUPUP22UKYUKPKKKUKPKKKPYSSPYSS2121EXPEXPLOG其中11LOGKKUPUPKUEL为先验信息22UKY为信道信息UKPKKKUKPKKKPYSSPYSS2121EXPEXPLOG为外部信息而KRS,S计算可以简化为KRS,SKPKCUKCKEKPYLYLULU2121EXP312这里UKP2EXPKEKULUCL22AWGN224BEAFADINGCHANNEL313第13页西华大学毕业设计说明书其中0NEB,信噪比BE信号的功率谱密度0N噪声单边功率谱密度通过以上分析可以得出MAP算法的一般求解方法是(1)计算各时刻的KRS,S的值KRS,SKPKCUKCKEKPYLYLULU2121EXP314(2)计算SKSK,SKSSR1SK(K1,2,K)31500010SSS(3)计算1SK1SK,SSRSKSK(KK,K1,2)3160001SSSK(4)计算KULKULUKKKUKKKSSRSSSSRSS,LOG11(K1,2,K)317(5)得出KUKUKULSIGN31833MAP算法的简化算法由于MAP算法具有较大的运算量和需要较大的空间存储,同时译码时延迟较大,不利于实际应用。LOGMAP算法的出现很好的解决了这一问题,LOGMAP算法是MAP算法在对数域中的实现,可以将原来的MAP算法的乘除运算转变为LOGMAP算法的加减运算,这样计算复杂度大大降低,便于实现。并且性能优于MAP算法。其一般求解方法第14页西华大学毕业设计说明书(1),SSRKKRLOGS,S21UKCKYLUKPKCPYL21LOGKUP319(2)SKLOGSK,LOG1SSRSKSK1K,LOGLOGEXPLOGSKSSRS320,EXPLOG1SKKSSRS(3)1SKLOG1SK,LOGSSRSKSK321SKKSSRS,EXPLOG(4)KULUKKKUKKKSSRSSSSRSS,LOG11UKKKSSSRS,EXPLOG1322UKKKSSSRS,EXPLOG1(5)KUKULSIGN32334迭代译码迭代法也称作辗转法,是一种不断用变量的旧值递推出新值的过程,跟迭代法相对应的是直接法。采用迭代算法解决问题,有以下三点规则(1)迭代变量,就是指必须存在一个变量能够重复由原值推导出新值,已能够使程序正常运行或者计算继续下去。(2)迭代关系式,是指怎么从设定参数的前一时刻值计算出下一个时刻值关系式。一般情况下采用顺推或倒推的方式来解决。第15页西华大学毕业设计说明书(3)迭代过程终止,当编写程序时如果算法里面有重复执行的语句必须要考虑如何使它终止。不能让其永远地执行下去,以致程序陷入死循环。迭代算法的终止方法基本分以下两种方法A、迭代次数是人为给定或设置的值,当程序运行到终止条件时自动跳出。终止其只需要设置一个终止循环的次数就能够对迭代过程进行终止;B、迭代次数不能通过设定具体的值来确定,需要对运行的结果进行分析判断比对是否满足设计要求,已构成终止条件。341算法推导对于TURBO码在进行迭代译码前必须知道以下几个条件A、知道编码的TRELLIS图;B、2;C、停止准则。(1)初始化D100010SSS0001SSSK021KEULK1,2,K(解交织的先验信息)D200020SSSALLSMSK12第二个编码器不归0(2)第N次迭代D1FORK1K,1SSRK212121KPKCUKCKEKPYLYLULU3241SK,EXPLOG1SKKSSRSFORKK211SKSKKSSRS,EXPLOG325FORK1K1KULUKKKSSSRS,EXPLOG1326第16页西华大学毕业设计说明书UKKKSSSRS,EXPLOG12212112KEUKKKEULYULUL327D2FORK1K,2SSRK212112KPKCUKCKEKPYLYLULU3282SK,EXPLOG1SKKSSRSFORKK221SKSKKSSRS,EXPLOG329FORK1K2KULUKKKSSSRS,EXPLOG1330UKKKSSSRS,EXPLOG12122221KEUKKKEULYULUL331(3)最后一次迭代FORK1KKUKULSIGN332342不同迭代次数仿真表31不同迭代次数TURBO码仿真参数帧错误终止数2编码速率1/2交织长度80信噪比03迭代次数1、3、5第17页西华大学毕业设计说明书图32S随机交织器不同迭代次数仿真图图33分组交织器不同迭代次数仿真图如图32和图33所示仿真结果,采用S随机交织器和分组交织器对比可看出,TURBO码的误比特率曲线随着迭代次数的增加不断降低并趋于收敛。第18页西华大学毕业设计说明书收敛指的是误比特率曲线达到一定的性能范围而趋于稳定的值,而且收敛后误比特率曲线会在一定范围内出现波动,因此,在迭代过程中,根据译码情况及时停止迭代可以在不影响误比特率性能或影响很小的情况下有效的降低迭代译码过程的计算量。35本章小结本章主对TURBO码的译码结构进行介绍和了解,从结构图可看出它的组成部分和相应的连接方式并通过简单的介绍将TURBO码译码原理描述出来,通过公式的推导得出TURBO码的基本算法和简化算法使程序的编写有了一定的理论参考。最后介绍了译码最重要的部分迭代译码,迭代译码的使用将TURBO码的译码性能得到了很大的提高,并通过仿真进一步得到证明。译码对整个系统来说是非常重要的一个环节,一个好的译码器能很好地减小外界或者人为的一些干扰对系统的影响。由于编、译码是一个相对应的过程所以在译码端必须考虑编码端的设计结构和参数。第19页西华大学毕业设计说明书4交织器的设计41交织器的概述交织器是TURBO码编译码的一个重要组成部分。通常将交织器放在编码器和信道之间,将发送信息序列重新排序,同样,接收端在信道和译码器之间放置解交织器。一般设计较好的交织器原则为(1)通过增加交织器的长度,可以使译码性能得到提高。(2)交织器的输入信息序列尽大化随机化,从而避免编码生成重码字的信息序列在交织后仍然生成低重码字,导致TURBO码自由距离减小。交织器实际上就是将数据序列中元素的位置进行重新排序,从而得到交织序列的过程。交织器将一帧输入信息比特写入,再按预先定义的地址顺序把整帧数据读出,使交织前后的序列相关性减小。通过交织器的作用,低重码字的输入信息序列中连续的“1”的比特被分散,这样就很好地解决了编码输出的码重。其逆过程为解交织。例如,设交织器I的输入为XX1,X2,X3,XN其中XI0,1,I1,2,3,N。交织器映射输出序列记为Y(Y1,Y2,Y3,YN)其中YJ0,1,J1,2,3,N。序列Y与序列X只是元素的位置进行了变化。交织过程可以看成从集合X到集合Y的一个一一映射过程,即IXIYJ42交织器的设计交织器的性能与交织长度成正比,因此交织长度越长交织器的性能越好。此外,TURBO码的性能另一个非常重要的因素为交织器的结构。421交织器的分析及设计交织器的主要作用是提高TURBO码的输出码重,因此将所设计的交织器检查其输出码重来判断其性能,这通常比较复杂,根据大量的实验及结果分析,可以总结出通用的交织器性能优劣的衡量标准。(1)交织前后比特之间的距离。(2)在删余TURBO码中,如果设计的交织器能够实现对系统比特的均匀保护,则有助于提高TURBO码的性能。第20页西华大学毕业设计说明书(3)交织器与解交织器是一一对应的一个过程,所以在一个系统里不能单独存在,必须使之相对应。交织器典型的通常有规则交织器和随机交织器。规则交织器一般按照一定的运算法则来实现交织,常用的有分组交织器和循环移位交织器,比较易于实现,但并不能很好地降低输入信息的相关性,限制了TURBO码性能的提高。随机交织器是指按照设定的判断方法随机生成的交织器。每个长度为N的随机交织器共有N种可能的交织形式。这样会使得其中有些元素之间的距离非常小,导致对信息序列中错误序列相关性的离散程度不够。但可以确定交织器结构设计应该满足的几点原则(1)保持交织器的随机性。(2)尽量让含有有效信息的数据块较小的输入有较高的输出码重。(3)判断对BER影响较大的输入序列,并尽可能提高其输出码重,减小误比特率。422设计过程(1)分组交织器分组交织器的输入序列为一个矩阵,输入信息按照一定的规律输入输出比如输入信息按照从左到右,输出按照从上至下,或者反之。当然也可以按照的其它的方法设置数据的写入读出。如图41列举两种方法A型B型图41分组交织器结构图(2)S随机交织器对于随机交织器,在随机生成1N之间的整数时要满足下面S距离限制,这样的交织器称为S随机交织器。通常S随机交织器的描述如下对于任何121SIIII,SII21,(41)均要满足SII21(42)X11X12X1NX21X22X2NXM1XM2XMN写入读出X11X12X1NX21X22X2NXM1XM2XMN写入读出第21页西华大学毕业设计说明书其中1II和2II为原信息序列中的位置。S随机交织器的终止条件就是当原信息序列中两个元素之间的距离小于某个设定的值S1时,经过交织后这两个元素之间的距离必须要大于给定的值S,当组成TURBO码的两个分量码完全相同时,取S1S。对于TURBO码来说,采用卷积码分量码为编码方式通常长度较短的突发错误出现的概率比较大。S随机交织器能够将错误序列中相邻比特在交织后扩散,距离至少为S,有利于卷积码纠错。因此,S随机交织器的性能要优于分组交织器。TURBO码的性能随着S距离值的增加不断提高,但S值越大,条件越不易满足。通常比较好的S随机交织器的参数满足(其中N为交织长度。当S大于这个值时一般难以收敛。)其程序流程图如图42所示。12NS(43)图42S随机交织器程序流程图生成新矩阵用于存储1N个整数产生一个随机数判断距离S记入到交织矩阵并测定其长度测定输入信息长度N生成新交织矩阵N1N开始结束返回新交织矩阵值YNYN第22页西华大学毕业设计说明书423S随机交织后输出XCOLUMNS1THROUGH201234567891011121314151617181920COLUMNS21THROUGH402122232425262728293031323334353637383940COLUMNS41THROUGH604142434445464748495051525354555657585960COLUMNS61THROUGH806162636465666768697071727374757677787980ALPHACOLUMNS1THROUGH1939143217532436954663204074473365557COLUMNS20THROUGH382273461367563776241731613885079163044COLUMNS39THROUGH572716093419177662645355811782872414COLUMNS58THROUGH761062237042485573627156449805929682551COLUMNS77THROUGH8012531852注X和ALPHA的数据为原数据的存储位置信息通过对交织后的数据分析不难看出输入信息序列中的位置进行了比较大的重置,这样极大的减小了分量编码器输出校验序列的自相关性并且提高了码重。表41不同交织器TURBO码仿真参数帧错误终止数2编码速率1/2交织长度80信噪比03迭代次数3第23页西华大学毕业设计说明书图43不同交织器仿真图如图43所示,通过对比可看出在相同的条件下S随机交织器的性能要优于其它两种交织器。所以此次设计默认使用S随机交织器这样使得结果更加可靠和接近理论值。43本章小结交织器的使用使得TURBO码的性能得到了一定的提高。本章首先对交织器的原理进行了介绍,同时交织器的使用有一定的原则,在利用交织器时一定要按照其规则进行设计。这样才会将系统的性能提高到最大化。分组交织器由于实现简单,性能不够良好所以很少得到利用。S交织器通过设定S的值使得信息序列中相邻比特的距离得到提高减小了相关性,性能优于分组码所以经常被使用。最后通过不同类型交织器的仿真比较使得结果更加明了。第24页西华大学毕业设计说明书5程序设计51软件介绍MATLAB经过二十多年的研究与不断完善,现在成为国际社会上主流的用于计算软件的工具之一。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像MAPLE等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C,JAVA的支持。用户能够直接调用,也可以将自己编写的程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都自己编写了一些经典的程序,用户直接下载就可以使用。图51MATLAB仿真界面优势特点(1高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;(2具有图形处理功能,并能够将计算结果和编程的显示出来;(3友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;第25页西华大学毕业设计说明书编程环境MATLAB由一系列窗口组成。这些窗口极大地方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。由于MATLAB的软件自身的不断优化,MATLAB的使用界面也越来越人性化,人机交互性更强,操作更简单、快捷。而且新版本的MATLAB提供了完整的帮助系统,极大的方便了使用者的使用。强处理能力MATLAB是一个包含大量计算算法的集合。其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。MATLAB的这些函数集包括从最简单最基本的函数到诸如矩阵,特征向量、快速傅立叶变换的复杂函数。函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。52TURBO码程序设计流程图现在一个系统能够良好的运行,软硬件的结合时必不可少的。制造工艺技术的快速发展使得硬件实现相比于软件较为容易,一个好的软件系统可靠性是必须追求的指标,通常一个软件系统的编写离不开它的设计模型也就是程序流程图。如图52所示为此次设计的程序流程图。第26页西华大学毕业设计说明书图52TURBO码程序设计流程图NYY结束ITER1译码输出统计一次错误LOOPLOOP1输出结果N计算EBN0DB的BERNEN1NY第27页西华大学毕业设计说明书53程序仿真及结果分析(1)不同编码速率对TURBO码性能的影响(仿真参数与表41一致)图53S随机交织器不同编码速率仿真图图53给出了两种编码速率分别为1/2,1/3仿真图从中可以看出随着编码速率的增加TURBO码的BER在减小。由于仿真信息序列较短使得结果不够接近理论值,显示不够明显。(2)不同交织长度对TURBO码性能的影响表51不同交织长度TURBO码仿真参数帧错误终止数2编码速率1/2交织长度20、50、80信噪比03迭代次数3交织器S随机交织器、分组交织器、SORT表52分组交织器仿真参数行数10列数8第28页西华大学毕业设计说明书图54S随机交织器不同交织长度仿真图图55分组交织器不同交织长度仿真图图54和图55给出了S随机交织器和分组交织器交织长度分别为20、50、80,码率为1/2,迭代次数为3次情况的下仿真结果。通过对比可看出随着交织长度的增加,TURBO码的纠错性能相应提高。但当交织长度过长时,译码复杂性将增加,因此应选择适当的交织长度以减小时延。第29页西华大学毕业设计说明书(3)不同信噪比对TURBO码性能的影响(仿真参数与表51、52一致)图56S随机交织器不同信噪比仿真图图57分组交织器不同信噪比仿真图通过对以上仿真结果分析随着信噪比的增加,整个TURBO码译码系统的误比特率在减小,或者说误比特率与信噪比成反比这个结果在一定的约束范围内并且不会随着交织器的不同或者交织长度等因素的改变而变化。第30页西华大学毕业设计说明书6总结与体会对于本次课题而言,已基本完成了设计任务TURBO码各个模块的选择设计和系统仿真和研究目的,通过使用MATLAB对TURBO码系统的仿真调试、结果分析,让我加深了对TURBO码工作原理的理解和对MATLAB仿真软件的操作更加熟练,同时对当代通信系统的科研方向有了相关的了解,并深刻的了解到迭代译码对TURBO码系统的重要性。通过仿真结果中的图形、数据等直观的显示,有助于对通信系统参数设计的把握研究。但是本设计中也存在着一定的缺陷与不足在此次毕业设计中由于对于TURBO码了解甚少加之编程经验和能力有限,所以对程序编程这一块不是很满意,比如交织器程序的编写借鉴了许多,同时对种类和作用不同交织器的程序设计很少,这样使得交织器对TURBO码编码的影响不能通过几种交织器的对比直观的显示出来,最后只是得到两种结果,可以说是一种遗憾吧。尽管在此次论文的完成过程中遇到了很多困难和不解。但到最后还是坚持下来了,结果固然很重要,相比于过程中经历的,和自己对这些的总结,理解就显的有点清淡了。这样对于自己以后工作来说是一笔丰富的财富。第31页西华大学毕业设计说明书7致谢不知不觉中,四年的大学时光已近尾声,心中有一点点的期待,同时也有一些不舍,期待的是自己终于能够走出校园,自食其力,通过自己的努力、拼搏去创造属于自己的未来;不舍是在这个陪伴我四年的大学校园里发生的一幕幕,每一个故事,每一段经历,都将成为这一生最难以忘怀的记忆。想想自己从一个刚刚踏入大学校园的青涩少年,到现在即将步入社会奋斗小青年,时间确如飞逝。在这里很感谢身边那些给予我帮助的人,同学,老师,陌生人。在这里,首先向我的指导老师蔡曦老师致以深深的谢意,没有您的帮助,我是不可能顺利做完此次毕业设计的,当然不可能顺利地通过答辩。蔡老师专业知识过硬,对我们的指导专业,准确,效率很好,总是能够切中要点,解决我们真正的难题,给予我们真正高效的帮助。同时为人和善,耐心细致,当我们迷惑不解时,总能耐心的为我们指点迷津。并且蔡老师对于我们的指导,和毕业设计整理工作的落实过程中一直采用很民主的方式,很多问题都是以和同学们商量的方式来进行的,听取大家的想法,大家也很满意。这特别值得称赞。同时,同学的帮助对我来说也是至关重要的,少了你们的协助,我的设计也不可能顺利的完成。通过本次设计,我认识到了自己的差距,我要努力向那些优秀的同学靠齐,你们不仅给予了我设计上的帮助,同时也给我的人生敲响了警钟。在做毕业设计过程中,很多时候觉得自己好无能,很多时候都会顾此失彼。期间也有很多懈怠,逃避,想放弃,不想做,到最后的不得不做,认真做,坚持下来。感谢这三个月的一路走来,让自己学到了很多,收获了很多,不管是知识上的,还是精神层面的感动,都让自己成长了很多。最后,对于蔡老师给于我此次设计的帮助和指导表示深深的谢意第32页西华大学毕业设计说明书8参考文献1望立宁、乐光新、詹菲MATLAB与通信系统仿真M北京人民邮电出版社20072王新梅、肖国镇纠错码原理与方法M西安西安电子科技大学出版社20053刘东华、唐朝京TURBO码的原理、设计与应用研究J电信技术研究,2002年第二期4樊昌信、通信原理M长沙国防工业出版社,20025刘东华、唐朝京用于TURBO迭代译码的MAP算法的简化J电子与信息学报6TIMOTHYPRATT等编,甘良才译卫星通信第二版M北京电子工业出版社,20057刘国梁等卫星通信M西安西安电子科技大学出版社,20038宋万杰、罗丰CPLD技术及其应用M西安西安电子科技大学出版社20079邓华等MATLAB通信仿真机应用实列详解M北京人民邮电出版社201010陈运、周亮、陈新编著信息论与编码M北京电子工业出版社200811张葛祥、李娜编著MATLAB仿真技术与应用M北京清华大学出版社2010第33页西华大学毕业设计说明书9附录仿真程序主程序CLEARALLWRITEDISPLAYMESSAGESTOATEXTFILEDIARYTURBO_LOGMAPTXTFRAMESIZEL_TOTALINPUTPLEASEENTERTHEFRAMESIZEINFOTAIL,DEFAULT80输入信息长度IFISEMPTYL_TOTALL_TOTAL80INFOMATIONBITSPLUSTAILBITSENDCODEGENERATORGINPUTPLEASEENTERCODEGENERATORDEFAULTG111101输入矩阵IFISEMPTYGG111101ENDFOREXAMPLEG11011111ORG1111110001N,KSIZEG返回矩阵G的行数和列数MK1尾随比特位数NSTATES2MPUNCTURE0,PUNCTURINGINTORATE1/2PUNCTURE1,NOPUNCTURING(不删余)PUNCTUREINPUTPLEASECHOOSEPUNCTURED/UNPUNCTURED0/1DEFAULT0确定删余或者不删余IFISEMPTYPUNCTUREPUNCTURE0ENDCODERATERATE1/2PUNCTUREFADINGAMPLITUDEA1INAWGNCHANNELA1NUMBEROFITERATIONSNITERINPUTPLEASEENTERNUMBEROFITERATIONSFOREACHFRAMEDEFAULT3输入迭代次数IFISEMPTYNITER第34页西华大学毕业设计说明书NITER3ENDINTERLEAVCHOSEINTERLEAVINPUTPLEASECHOOSEINTERLEAVTYPE0SINTERLEAV,1PACKET_INTERLEAV,2SORTDEFAULT0选择交织类型IFISEMPTYINTERLEAVINTERLEAV0ENDNUMBEROFFRAMEERRORSTOCOUNTASASTOPCRITERIORFERRLIMINPUTPLEASEENTERNUMBEROFFRAMEERRORSTOTERMINATEDEFAULT2输入终止帧错误数IFISEMPTYFERRLIMFERRLIM2ENDVALUEOFSNRDBEBN0DBINPUTPLEASEENTEREB/N0INDBDEFAULT03输入信噪比IFISEMPTYEBN0DBEBN0DB03ENDFPRINTFNNNFPRINTFLOGMAPDECODERNFPRINTFFRAMESIZE6DN,L_TOTALFPRINTFCODEGENERATORNFORI1NFORJ1KFPRINTF6D,GI,JENDFPRINTFNENDIFPUNCTURE0FPRINTFPUNCTURED,CODERATE1/2NELSEFPRINTFU

温馨提示

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

评论

0/150

提交评论