版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、信息编码理论小论文 Turbo码的编译码实现及Log-MAP算法性能仿真 摘要:Turbo码是信道中的一种编码方式,可以改善数字通信的可靠性。它是并行级联递归系统卷积码RSC,在接近Shannon限的低信噪比下能获得较低的误码率。因为其优越的性能,现在已经被许多通信系统所采用。本文对近年来的研究热点Turbo码进行分析。在阐明了Turbo码基本原理的基础上,采用MATLAB工具实现了随机信息序列的Turbo码的编译过程,以及仿真了在加性白噪声干扰信道情况下Log-MAP算法译码表现出的性能。 关键词:Turbo码 ,Log-MAP算法 ,迭代译码 Abstract: Turbo code is
2、 a kind of channel encoding,that can improve the reliability of digital communications. It is a parallel concatenated and recursive systematic convolutional codes(RSC). With a low SNR , nearing the Shannon limit ,can get a lower error rate. Because of its superior performance, it has now been applie
3、d in many communication systems. In this paper, we accomplish the analysis of Turbo codes, which is the research hotspot in recent years. After elucidating the basic principle of the Turbo codes, we use MATLAB to implement Turbo encoding ande decoding for the random message sequence and simulate the
4、 performances of Log-MAP decoding algorithm with a white noise channel.Key words: Turbo codes, Log-MAP algorithm, iterative decoding一、引言1993年Turbo码由C.Berrou等人最先提出,它在编码端用两个或更多子编码器并联构成,译码端采用基于软判决信息输入/输出的反馈迭代结构。Turbo码自提出以来1,就以其优越的译码性能倍受关注。它在误码率为时与香农的理论极限仅相差0.5dB,且对信道变化不敏感,所以近几年成为编码理论研究的重点方向,并广泛应用于3G2通信
5、体系中。目前对Turbo码的研究主要集中在译码算法、交织器设计和译码结构等方面。Turbo码的译码算法总体上可分为MAP和SOVA两类主要算法3MAP类算法主要包括MAP算法、LOG-MAP算法、MAX-LOG-MAP算法。其中MAP算法是一种最佳后验率算法,LOG-MAP是MAP算法在对数域上的计算方式,MAX-LOG-MAP算法是对LOG-MAP算法简化后的次优算法。SOVA类算法主要包括软输出的维特比算法(SOVA)和连续列表输出维特比算法(SLVA)。由于Turbo码接近于随机码2,有很好的距离特性,因而有很强的抗衰落和抗干扰能力,这使得它在信道条件较差的移动通信系统中有很大的应用潜力
6、。Turbo码的编译码器中交织器的长度都一般比较长,这是因为码长是决定Turbo码性能的一个重要因素。但是,采用较长的码长必然会带来较大的延时。因此,延时对Turbo码的应用有一定的限制作用。码长较长以及对延时要求不高的情况是Turbo码最佳的适用情况。所以Turbo码最早被应用于深空通信等对码率要求很低、但信道环境恶劣的场合,以及磁记录的纠错编码等非实时场合。但随着迭代译码算法的改进、大规模集成电路工艺的改进,Turbo码渐渐被用到实时通信当中,从卫星通信到网络到广播到个人通信等等。现在Turbo码已经成为3G以及4G的信道编码标准的一部分4。MAP算法是一种基于码元的最大后验概率译码算法,
7、对于线性块编码的卷积码,它能使比特错误率最小。也是最早应用于Turbo码中的译码算法5。但是采用此算法计算量大,译码复杂度高。针对这些译码算法的复杂性,人们对其进行了修正和改进。对Turbo码的译码算法的简化、复杂度的降低、内存的减少,并在理论上对Turbo码进行解释一直是人们研究的热点。其中,LOG-MAP 是在MAP算法的基础上改进而得到的,是MAP算法的对数形式,通过将大量的乘法运算转化成加法来简化复杂性。 二、Turbo码译码实现原理Turbo码在一般译码复杂度下获得较高的编码增益。在发送端,编码器采用并行级联编码技术,用简单的码构造长码;在接收端,译码器把长码化成短码,利用软输入/软
8、输出迭代译码算法进行译码。Turbo码的性能距离Shannon 限已相当接近。62.1 Turbo码编码器 图2-1是标准的Turbo码编码框图。它由2个(也可多个)R=1/2的子编码器C1和C2 ,1个N-bit交织器和1个凿孔功能模块组成。C1和C2并行级联,均属递归系统卷积编码器(RSC),其结构一般是相同的,也可以不同。假设输入编码器的信息序列为u=(u1, u2,、un,它一方面直接输入C1进行编码,生成系统序列和校验序列。另一方面经交织后,输入C2进行编码,产生一个经交织的系统序列和另一个校验序列,和仅存在交织关系,因此,只保留即可。显然,若没有凿孔单元,编码器速率为1 /3即N为
9、比特信息输入,3N为编码比特输出。为了得到较高的码率,可采用凿孔的方法,按一定的格式,对和删除一些校验位。例如删除所有的奇比特和偶比特,子编N-bit交织器RSC1:g2(D)/g1(D)RSC2:g2(D) /g1(D)凿孔单元u=xsX1p X2p图 2-1 Turbo码编码框图码器的码率为= 2 / 3,整个编码器的码率为R= 1 /2,当然,我们也可以使C1和C2具有不同的码率,整个编码器码率R与子编码器码率和的关系为: (2-1) 下面将逐一讨论编码器各组成部分。(1)递归系统编码器 码率为1 /2的递归系统编码器的生成矩阵可表示为: (2-2)显然,输入序列能被g1(D)除尽时,输
10、出码字序列才具有有限的重量,可得出如下两个推论: (1)重量为1的输入将产生无限大重量的输出(这样的输入不可能被g1(D)整除)。(2)对任一非平凡的g1(D),存在一组重量为2,形式为Dj(1+D(q-1),j0,能被g1(D)整除的输入,其产生的输出为有限重量。当g1(D)为阶数M的既约多项式时q=2m;通常g1(D)产生的伪随机序列长度为(q一1)。 在码的网格图中,推论1意味着对于重量为1的输入,将产生一个从全0开始,但再不会合的路径。推论2表明,重量为2的数据序列总能产生一个开始时有分支,但能会合的网格路径。 选用并联时,必然首选系统码形式的子编码器。这样,只发送一个编码器的系统序列
11、,从而提高码率。RSC码当前码元的生成与当前时刻之前的所有码元有关系。要证明这点比较复杂,有个明显的例子,就是有限输入码重很可能产生无限输出码重。编码约束长度越长,性能就越好,因此RSC对Turbo码很合适。 (2)交织器 交织器的功能是将每一组N比特数据重新组织,再送往第一个编码器进行编码。在译码端,对于某一个子译码器来说不可纠的错误事件,在另一子译码器中被打散,成为可纠差错。交织方式主要有规则交织、不规则交织和随机交织3种。规则交织就是通常所说的行写列读的交织方法,它的效果比较差;随机交织指交织格式是随机分配的,理论上它的性能最好,但若采用真正的随机交织,势必要将整个交织位置信息传送给译码
12、器,降低了编码效率;不规则交织是一种伪随机交织,它对每一编码块采用固定的交织方法,但块与块之间的交织器结构不同。不规则交织器的构造方式有很多,例如:假定i和j,ir和jr分别为交织前后某位数据所处的行和列,交织方式如下式所示: (2-3) 式中,P()是一组质数,交织后的数据在每一行的位置由P()决定,具有伪随机性。random是一个与L 互质且小于L的随机正整数,在每个编码块开始之前随机取值,并在此次编码中保持不变。每块的random值需传送到译码器,由于它仅取值范围有限的正整数,所以对整个系统编码效率影响极小。(3) 凿孔对于太空应用,适用低码率的码。而在其它环境下,如在卫星通信中,优先选
13、择1 /2或更高一些码率。Turbo码的凿孔器周期性地删除一些特定的比特,以减小编码开销。对采用迭代译码的情形,最好仅删除图1中所示的校验比特,但这不能保证码字间的最小距离最大化。例如为获得一个1 /2码率的码,我们可以删除上位编码器输出的所有偶校验比特和下位编码器输出的所有奇校验比特。2.2 Turbo码的译码器 图2-2是采用迭代译码的译码框图。Turbo码的编码部分由两个子编码器组成,在其译码部分也就相应有两个子译码器。一般情况下,两个子译码器可采用多级级联结构。由于Turbo码第二个子编码器的信息位没有输出,第一个子译码器只能利用第一个子译码器译出的信息序列进行译码。软判决译码比硬判决
14、译码性能提高23dB,因此每一子译码器都用软输入软输出译码器。译码器工作原理如下:由于接收序列为串行数据,首先要进行数据的串并转换,同时将凿孔的比特位填上“虚拟比特”,(不影响译码判决的值如0)。将经过串并转换后的和送入了译码器1译码,并产生可靠性信息,将和交织后作为子译码器2的软输入,子译码器2根据译码算法对、和译码产生可靠性信息,经过反交织后,与和作为子译码器1的软输入,经子译码器1译码再次得到可靠性信息送给了译码器2。如此循环进行,直到译码性能不再提高。 采用这种迭代译码器的好处是,每个译码器不仅能利用本译码器的信息比特和校验比特,还能利用前一译码器提供的信息进行译码,从而提高译码的准确
15、性。Turbo码的译码算法建立在卷积码算法基础上,较典型的算法有MAP和SOVA两种。MAP是为每个符号计算一个后验概率,并选择符号差错概率最小的作为输出。它不是序列差错概率最优,而是符号差错概率最优,这种算法在每一时刻都要考虑到所有路径,比较复杂。 N-bit反交织器译码器1N-bit反交织器N-bit反交织器译码器2 图2-2 采用两个MAP译码器的迭代译码器框图2.3 译码算法Turbo码译码算法基于最大后验概率(MAP)算法或者是软输出维特比(SOVA)算法。MAP算法是最小化符号或比特差错概率,SOVA算法是最小化序列差错概率。在低SNR环境下,MAP算法比SOVA算法的性能有一定改
16、善,。MAP是Turbo码译码的最优算法。MAP算法采用对数似然比函数(LLR,也即后验概率APP的比值的对数值)作为其软判决的输出,但是MAP算法在每一时刻都要考虑所有路径,并且其运算是乘法和指数运算,比较复杂,需要大量的运算,限制了译码的规模和速度。下面对Log-MAP算法做个详细的说明。由于Turbo码的译码由多级迭代译码实现,译码单元之间采用软输入软输出(SISO)译码器,它能为每一译码比特提供对数似然比输出。Log-MAP是MAP算法在对数域上的计算方式。假设MAP译码器的输入序列为为RN,L(dk)是关于信息序列的先验信息,L(dk)是关于对数似然比7。它的定义为: (2-4) (
17、2-5)MAP算法从联合概率分布计算译码比特的先验概率(APP),的定义为:: (2-6)译码比特的先验信息为: (2-7) 则(2-5)可写为: (2-8) 通过进行判决,判决式如下: 若 若 (2-9)而利用利用BAYES定律,引入引入前向递归量a,后向递归量p,转移分支度量Y等参数可求得: (2-10)3 Turbo码的实验仿真和分析运用Matlab对Turbo码的性能进行计算机仿真分析,可以得到Turbo码译码算法中一些关键参数对误码率性能的影响方式和影响程度。要对Turb码性能进行仿真测试,就必须构造出其编码器,对由信源产生的随机信息比特分组进行编码,然后将编码后的码字经过加性高斯白
18、噪声信道发送到接收端,利用Log-MAP算法进行相应的译码而得到解码后的信息比特分组,最后比较编译码前后的信息比特分组,计算不同信噪比情况下的误码率,并做出曲线加以分析。仿真框图图3-1所示:随机信源编码信道译码BER计算图3-1 Turbo码性能仿真框图本次仿真译码方法采用Log-MAP算法。下面分别介绍各个模块的功能:随机信源:用于产生“0”和“1”随机分布的消息比特组,比特组个数为K,可看成为一帧。编码器:用于对信源输出的消息比特组进行Turbo编码。信道:用于产生加性高斯白噪声,对编码器输出的码字进行干扰。在仿真工程中,信道的噪声功率谱密度应该为可调的。译码:译码器采用了Log-MAP
19、译码算法,译码器的性能和其迭代次数iter有关系,因此这边iter设置为可调。Log-MAP译码算法在对数域实现,计算可以更加简单。BER计算:将原本的信息比特组同译码后的信息比特组逐一比较,从而进行系统误码率的计算。仿真一:在有扰信道中,不同信噪比下,简单地仿真MAP译码算法的Turbo码下的性能。该仿真由LogMAP.m实现,其仿真结果如图3-2: 图3-2 信噪比与误比特率关系图 观察曲线,很明显地,随着信噪比的增加,信道的误码率也跟随着下降。另外,由曲线可知采用Log-MAP译码Turbo码可使在信噪比比较小的情况下,得到较低的误码率,比如Eb/No=4dB时,误码率只为0.00075
20、。仿真二:数据帧(程序每帧设置为400bit,即为比特组)在有扰信道传输时,采用Turbo码进行编译码,并在固定信噪比时,仿真Log-MAP译码算法在不同迭代次数下的性能。该仿真程序流程图3-3所示:仿真输入变量为帧长400比特的随机信息序列,经过随机交织,用Tubro码进行编码,经过加性高斯白噪声信道,采用Log-MAP算法进行译码,迭代译码的最大迭代次数设为5,当出现15帧传输错误时终止程序运行。仿真的输出变量为比特流在译码迭代次数不同时,经过信道后的误比特率和误帧率。最终用图形的形式显示结果。由于信噪比对误比特率和误帧率均有影响,因此,该仿真也将其考虑进来,可设置不同的信噪比来进行实验仿
21、真。下面分别信噪比为2.0dB和1.0dB情况下的仿真结果。YN初始化各种变量,错误帧数ferrlim=0产生随机的400比特信息序列信息序列交织并编码,输出删除校验序列,设定码率R=1/2加入噪声产生,译码输出译码输入复用作为信息序列选择译码算法进行译码计算误比特率和误帧率错误帧数规定值?结束图3-3 主程序流程图图3-4是信噪比为2.0dB时,Turbo译码迭代次数不同时,相对应的误帧率;图3-5是信噪比为2.0dB时,Turbo译码迭代次数不同时,相对应的误比特率;图3-6为,信噪比为1.5dB时,Turbo译码迭代次数不同时,相对应的误帧率;图3-7是信噪比为1.5dB时,Turbo译
22、码迭代次数不同时,相对应的误比特率。图3-4 SNR=2.0dB,误帧率与迭代次数关系图图3-5 SNR=2.0dB,误比特率与迭代次数关系图 图2 图3-6 SNR=1.5dB,误帧率与迭代次数关系图 图3-7 SNR=1.5dB,误比特率与迭代次数关系图通过以上仿真曲线图可以看出,在相同的信噪比下,只进行一次循环迭代时,即译码单元只计算一次,Turbo码的性能非常差。经过几次迭代后,误比特率和误帧率下降十分明显。但是在4至5次循环迭代后的译码性能的改善就很微小了,考虑到每一次迭代所带来的额外时延,这时再增加迭代次数就显得没有必要了。一般认为,Turbo 码在510 次循环迭代之间达到饱和。
23、将图1与图3,图2与图4进行对比,不难发现,译码迭代次数相同时,信噪比为2.0dB下的误帧率和误比特率均小于信噪比为1.5dB时的值,比如迭代次数为3时,信噪比为2.0dB的误码率为0.004小于信噪比为1.5dB下的0.013,这表明信噪比的增加可以降低误码率或误帧率。曲线也反映了采用Log-MAP算法译码的Turbo码性能的优越,在信噪比要求不高时,就可以做到较低的误码率。比如本仿真采用的1.5dB,经过一次迭代时,误码率为0.37左右,但经过5次迭代后,其误码率仅为0.0025。这个若用其他码来编译的话,是比较不容易做到的。另外,曲线中很明显地,大概前30帧,误比特率和误帧率地统计是不平
24、稳的,即变化比较大,这是因为刚开始传输时,传输的比特总数偏少,对总的误比特率缺乏科学性。随着传输帧的增加,传输的比特数也跟着增加,此时的统计才是科学的,图行所显示的误比特率才可以反映此时Log-MAP算法的性能。最后,在实验仿真过程中发现,整个运算花费时间比较长,随着迭代次数的增多,运算量增大,运算时间也增长。这是因为:(1)Log-MAP译码算法在计算中求对数似然比和中间变量的迭代过程中存在着大量的指数、乘法和加法运算;(2)译码时需要与接收序列大小成正比的存储量(3)需要接收完整的序列才能获得信息位软输出。因此,在实际应用中,采用Turbo码时,需考虑其译码时延的问题,对算法进行研究改善。4 结束语Turbo码的出现为编码理论和实践带来了一场革命。在理论上,Turbo码不仅有着不同于以往的结构,而且它给我们带来了迭代译码的思想,使通过可译编码逼近信道容量成为可能。目前,Turbo码已作为第三代移动通信系统的信道编码方案之一;而且,在国际海事卫星组织最新公布的INMARSAT-phoneM4中,就是以Turbo码为核心技术来实现压缩频带的高速数据传输的;由于Turbo码的译码采用了迭代译码的思想,因此可以把它推广到CDMA多用户检测中,实现基于Turbo码译码原理的CDMA多用户检测接收机。可以说,只要时延和复杂度允许,Turbo 码可在各种恶劣条件下提供接近极限的通信能力
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 合作项目回顾与未来规划函6篇范文
- 市场营销数据分析可视化操作手册
- 酒店客房管理与服务质量提升指南手册
- 烹饪美食的食谱制作手册
- 项目进度延误应对方案预案
- 可再生能源与清洁技术推广指南
- 文明礼貌做合格学生小学主题班会课件
- 跨境电商平台产品上架审核标准与操作手册
- 企业经营管理实战案例分析指南
- 关于2026年度部门营销策略优化的公告(6篇)
- 机械设备的润滑课件
- 国开电大本科《理工英语4》机考总题库
- 二升三暑期奥数培优(学生教材)
- 门式启闭机主梁下主梁1工艺设计卡
- 管理者如何带好团队
- 人教版四年级下册数学期末测试卷(模拟题)
- 人教版数学必修一课后习题答案
- YS/T 1018-2015铼粒
- GB/T 27941-2011多联式空调(热泵)机组应用设计与安装要求
- 2023年天津市高考语文模拟试卷试题原创(含答案详解)
- 工程总承包EPC项目组织机构及其运作是
评论
0/150
提交评论