基于modelsim的turbo编译码器的设计学士学位论文(编辑修改稿)内容摘要:
urbo 码出现以来这方面的研究也引起了许多学者的关注。 Hagenauer 等利用对数似然比对存在的软输入 /软输出算法进行分析。 这些方法包括逐符号最大后验概率译码 (Maximum A Posteriori; MAP)算法或称 BCJR 算法 ; 软输出 Viterbi(Soft Output Viterbi Algorithm; SOVA)算法以及相应的次最优算法等。 MAP 算法是一种基于码元的最大后验概率译码算法,对于线性块编码的卷积码,它能使比特错误率最小。 也是最早应用于 Turbo 译码中的译码算法。 但是采用此算法计算量大,译码复杂度高,在实际中应用起来比较困难。 这主要是因为 ; 在算法中求对数似然比和中间变量的迭代过程中存在着大量的指数,乘法和加法运算 ; 随着状态数与分组序列长度的增长,中间变量所需的内存呈指数性增长 ; 需要接收完整的序列才能获得信息位的软输出。 针对这些译码算法的复杂性,人们对其进行了修正和改进。 在实际应用中,无论采用数字信号处理 (DSP)还是可编程门阵列 (FPGA)等其它芯片实现,算法中大量的指数和乘法运算的存在都将会严重制约处理速度,势必会为迭代译码增加延时,且不利于信息传输速率的提高。 因此,如何消除 MAP 算法中的指数和乘法运算成为简化算法的首要任务。 而最为有效的方法就是利用对数函数的单调性,对算法中的变量统一取对数,将其中的乘法运算化为加法运算并消除部分指数运算。 另外,由于状态变量向后递归迭代的需要, MAP 算法要接收到完整的序列才能得到信息位软输出,译码过程缺乏连续性,且编码器必须终止于某一确定状态(如零状态),这意味着每传送一帧(编码分组)数据就必须在末尾 添加一些额外的“迫零比特”。 如果信息序列的编码分组 ( 帧 ) 比较短,则将会严重的降低实际编码效率 ; 相反,如果为保证编码效率而一味扩大帧长,则采用 MAP 算法又会因中间变量过度膨胀而带来难以忍受的内存需求。 实际上,为简单起见,采用迭代译码的 Turbo 码信息位帧长度一般与 5 交织器的交织深度一致,而交织深度的选取多半根据所需支持的通信业务的性质及其要求达到的误码率等因素决定。 为此,受有限译码约束长度维特比算法的启发,人们提出了准最佳的活动窗 BCJR 算法 ; 或把长帧的信息分成 W 段用 W 个并行子译码算法同时进行译码。 Turbo 码译码算法的复杂度还表现在向前和向后迭代运算中,由于减少迭代次数可以有效地减少向前和向后迭代运算,也就会降低译码复杂度。 因此如何减少迭代次数或对信息符号及早判决成为人们研究的热点,针对这种 情况,人们提出了各种改进的算法。 由于 Turbo 码是面向第三代移动通信的纠错编码,因此需要高速率的传输数据信息并且功率消耗要小,针对高码率的 Turbo 码,有相应的译码方法,同时人们对如何减小译码的功率损耗也提出了相应的译码算法 [4]。 由于 Turbo 码的译码过程中,每一个系统都为 SISO 算法。 软判决值(通常为对数似然比)送 入下一级。 最后一级软输出反馈至第一级,作为第二次迭代的初始值。 目前正研究将 Turbo译码思想进一步推广到更为广泛的检测和译码结构中,如串行级联译码、均衡、编码调制、多用户检测、联合信源与信道译码等。 相比之下, Turbo 码译码中,软输出维特比译码 (SOVA)算法计算简单,存储量小,易于硬件实现的优点,受到人们广泛的关注。 但由于它的输出不是对 MAP 算法结果的一个近似,因此是次最优算法,它在性能上与 MAP 算法相差 1dB 左右 [5]。 论文的安排 各章的内容安排如下: 第 1 章为绪论部分,主要介绍了 Turbo 码的产生背景,现阶段国内外研究现状 ,以及论文内容的安排。 第 2 章 介绍 Turbo 码编译码 原理以及 算法。 第 3 章介绍了编码器的设计与实现。 第 4 章介绍了译码器的设计与实现。 第 5 章介绍了系统仿真。 6 2 Turbo 码编译码器的原理及算法 Turbo 码编码原理 Turbo 码 编码器 包含一个交织器分成的两组卷积码,由图 所示,生成的码是两组同码率的二进制组合码。 图 Turbo 码编码器原理框图 Turbo 码将卷积码和随机交织器结合在一起,巧妙地实现了随机编码的思想,同时采用软输出迭代译码来逼近最大似然译码。 计算机仿真结果表明,采用交织深度为 65536的随机交织器,迭代次数选为 18 次,码率为 1/2 的 Turbo 码在 AWGN 信道上当 Eb/No ≥ 时的误比特率 BER≤ 105,达到了近 Shannon 限的性能。 正是由于 Turbo 码超乎寻常的性能,它的出现立即引起了编码学界的极大轰动,围绕 Turbo 码的研究也成为了通信系统研究中的一个热点。 Turbo 码的出现对信道编码理论和技术的研究产生了深远的影响,结束了长 期以来将信道截止速率作为实际容量限的历史,从原先的基于代数的构造和译码方法转变为基于概率的软判决译码方法,从之前的编码方法之间的相对比较变成了与 Shannon 限进行比较等等。 Turbo 码编码器的实现框图如图 所示。 其中,编码器 1 和编码器 2 均为递归系统卷积码 (RSC)编码器,整个编码器采用并行级联卷积码 (PCCC)的形式。 编码器的输出比特经过删除 (Puncturing)和复用 (Multiplexing)可形成不同码率的 Turbo 码。 两个分量编 7 码器采用的都是 RSC( 递归系统卷积 )码。 RSC 码由前馈多项式和反馈多项式共同决定。 反馈变量 ∑ , 校验输出 ∑ , 为编码器输入比特。 课题采编码框图如图 所示。 交织器的使用是实现 Turbo 码近似随机编码的关键。 图 ( 7,5)递归系统卷积码的编码框图 交织器 交织器是一个单输入、 单输出的信号处理器,输入序列经过交织器之后,所得到的输出序列的顺序将发生改变。 长度为 N 的交织器可以用 N 个整数 π(0), π(1), π(2),„„π(N1)来表示,交织的过程可以理解为:交织器在第 s 时刻的输出等于第 π(s)时刻的输入信号。 目前,常用的 Turbo 码交织器有分组交织器 , 伪随机 S 交织器和 分组螺旋 交织器等。 规则交织器 分组交织器的一种结构如表 所示。 由表可见,经过这种交织器的置换,信息序列中首尾比特位置在交织前后保持不变。 当分量编码器不归零时,由于分量译码器对一帧数据中的最后几比特译码的可信度较低,这样如果原数据帧中的最后几比特交织后仍然处于帧数据的尾部,则整个 Turbo 码性能的提高就受到了限制,这种现象称为尾效应(tail effect)。 为了避免这个问题,在交织器的设计中应该将原数据帧中的最后几比特置换到编码器二的输入序列的非尾部位置。 当分量编码器归零时,则不存在尾效应。 ΣΣΤ ΤD kA kX kY kC k 8 表 行写列读的分组交织器 分组螺旋交织器也是规则交织器的一种,其交织过程为:在一个 m*n 的矩阵中,将原始序列按行的顺序写入,然后从矩阵的左上角开始读数,每读下一行的同时右移一位读取数据,读完为止。 同样,数据也可从交织矩阵的左下角开始向右上角读取,即每读上一行数据的同时,右移一位,图 (a) (b) 分别为两种读取数据方式的分组螺旋交织器的交织过程。 图 分组螺旋交织器 此类交织器便于硬件的实现,交织与解交织工作可用同一个模块来完成。 与分组交织器相比,由于其交织后相邻码元之间产生的距离较大,则在去相关性方面更优于分组交织器。 伪随机交织器 关于伪随机交织器,目前所公认的性能较好的是伪随机 S 交织器,即每一个随机产生的置换位置 π(i)均与它前面的 S 个值, π(i1), π(i2),„„ π(is) 进行比较,如果距离| ( ) ( )| , j=1,2,3,„„ s 则 π(i)被拒绝,必须重新产生。 除此之外,伪随机 S 交织器的设计同随机交织器。 如果 Turbo 码不进行删余,则码率为 1/3,这样的低码率对于深空通信场合是适合的,但是对于卫星通信,个人移动通信等对带宽利用率要求较高的场合,希望有更高的编码效率。 所以这时有必要引入删余机制,周期性的删除选定的比特,以减少编码信息0 1 2 3 4 5 6 7 8 9 的冗余度,提高码率。 对于迭代译码的情况,一般只删除校验位,特别的,对于 1/2 删节,一般可以删除 RSC1 的所有偶数校验比特,删除 RSC2 的所有奇数校验比特。 对于码率大于 1/2 的情况,选择别的删余方案可以获得更优异的性能。 删余 矩阵的作用是提高编码效率,其元素取自集合 {0, 1}。 矩阵中每一行分别与两个分量编码器相对应,其中 “ 0” 表示相应位置上的校验比特被删除,而“ 1”表示保留相应位置上的校验比特。 根据删余矩阵的不同形式,就可以得到不同码率的 Turbo 码。 在信息论当中,交织器在 Turbo 码编码器中起到了随机性编码的作用。 伪随机交织器的采用使得交织后的序列随机性增大,更加切合随机性编码的原理,因此伪随机交织器是最佳交织器,模拟结果证明在交织长度较长的情况下伪随机交织器的优势确实非常明显。 伪随机交织器的映射规则不是具体的而是随机生成的。 对于一个交织长度为 N 的伪随机交织器,那么它的交织形式可有 N!种,则设计伪随机交织器的步骤如下: (1) 以随机的方式在集合 * +中选择一个整数 ,则其被取到的概率为 ( )= ⁄ ,将 放入新的集合 中,记为 I(0),并将其从原有的集合 S 中删除。 (2) 在第 k 步,以随机的方式在集合 ={ S, , „„ }中选择一个整数 ,其被取到的概率为 ( ) ( ),将 放入新的集合 中,记为 I(k),并将其 从 原有的集合 中删除。 (3) 当 k=N 时,即相应得到 I(N),其选取概率为 p( )=1,此时 =Φ。 完成交织过程。 课题中采用对编码器输出信号混入噪声的方法来模拟通信信道,如图 所示。 其中 S(t)为编码器输出序列; n(t)为加性高斯白噪声; r(t)为接收端收到的混有噪声的序列。 编码器输出 { , , }经过加性高斯白噪声 (AWGN)信道模型后接收到的数据流为 ={ , }={ , , }, 其中 = (2 1) + , = (2 1) +。 和 是两个独立同分布的高斯噪声样值,并且它们的均值为 0,方差为 δ2=。 10 图 AWGN 信道模拟 系统卷积码编码器 Turbo 码中级联的两个编码器必须是系统码。 然而 Forney 等己经证明过,对于经典前馈型的卷积码而言,在同样记忆长度和较大信噪比 SNR 条件下,非系统卷积码 (NSC, Non Systematic Convolutional)比系统码有着更大的自由距离和更低的误比特率 BER。 这个结论导致目前实用的前馈型卷积码绝大多数是非系统卷积码。 为此 1993年提出 Turbo 码的同时提出了一类新的递归型系统卷积码 (RSC, Recursive Systematic Convolutional ),该码在高码率时比最好的 NSC 还要好。 Turbo 码既然要求采用系统码,理所当然地选择了递归型系统卷积码 RSC 在截余形式下,递归型系统卷积码 RSC 比非递归系统卷积码 NSC 具有更好的重量谱分布和更佳的误码率性能,并且在码率越高,信噪比越低的时候其优势越明显。 截余是通过删除冗 余的校验位来调整码率, Turbo 码由于采用两个编码器,产生的冗余比特比一般情况多一倍,这在很多场 合下并不需要。 但又不能排斥两个编码器中的任何一个,于是折衷的办法就是按一定规律轮流选用两个编码器的校验比特。 举例来说,采用两个码率 R=1/2 的系统卷积码时,如果不采用截余,系统信息位加两个编码器的各一个校验位将产生码率 R=1/3的码流。 但如果令编码器 1 的校验比特序列乘以截余矩阵,而让编码器 2 的校验比特序列乘以截余矩阵,就产生了在编码器 1, 2 之间轮流取值的效果。 此时,虽然 1 位比特信息仍产生 2 位校验,但发送到信道上的只是 1 位系统信息位和 1 位轮流取值的校验位,于是码率被调整为 R=1/2。 +T u r b oE n c o d e rS ( t )n ( t )r ( t ) 11 Turbo 码 译码原理 Turbo 码获得优异性能的根本原因之一是采用了迭代译码,通过分量译码器之间的软信息的交换来提高译码性能。 对于 Turbo 码这样的并行级联码,如果分量译码器的输出为硬判决,则不可能实现分量译码器之间软信息的交换,从而限制了系统性能的进一步提高。 从信息论的角度来看,任何硬判决都会损失部分信息,因此,如果分量译码器(内码译码器)能够提供一个反映其输出可靠性的软输出,则其它分量译码器(外码译码器)也可以采用软判决译码,从而系统的性能可以得到进一步提高。 为此,人们提出了软输入软输出译码 (SISO)的概念和方法。 Turbo 码的。基于modelsim的turbo编译码器的设计学士学位论文(编辑修改稿)
相关推荐
..............................................................20 图 系统功能流程设计 ...................................................................................23 图 系统平台功能模块 ..........................
的生料浆质量相互间有波动,但通过相互混合可基本满足质量要求,则将几个 A槽的生料浆相互混合后入 B槽,进行二次调配; 9对于 24个 B槽的生料浆,通过三次调配进行微调后可基本认为合格,送往熟料窑烧结。 生料浆配料是氧化铝生产过程的重要工序,也是氧 化铝生产的能耗大户,在要求生料浆配料稳产、高产和质优的基础上,降低碱耗,节约电能,对提高企业的经济效益与社会效益有着十分重要的意义。
....................................................................................20 图 系统功能流程设计 ...................................................................................23 图 系统平台功能模块 ....
B 的 FlexRAM。 FlexNVM 能够被分区以支持额外的程序闪存(例如引导加载程序)、数据闪存 ( 例如存储大表 ) 或者 EEPROM 备份。 FlexRAM 支持 EEPROM 字节写 / 字节擦除操作,并且指示最大 EEPROM 空间 ④ EEPROM 最高超过一千万次的使用寿命 ⑤ EEPROM 擦除 /写速度远高于传统的 EEPROM 图 K60 最小系统 安徽新华学院
可以对实时数据进行可视化处理。 实时数据库是 MCGS 嵌入版系统的核心实时数据库相当于一个数据处理中心,同时也起到公用数据交换区的作用。 MCGS 嵌入版使用自建文件系统中的实时数据库来管理所有实时数据。 从外部设备采集来的实时数据送入实时数据库,系统其它部分操作的数据也来自于实时数据库。 实时数据库自动完成对实时数据的报警处理和存盘处理,同时它还根据需要把有关信息以事件的方式发送给
:总结与展望。 总结本课题所实现的光纤预制棒生产管理系统的优缺点。 第二章 相关理论与技术 5 第二章 相关理论与技术 B/S 结构 B/S结构在系统设计开发和实现方面具有一定的优势,基于 B/S结构的信息系统具有良好开放性和扩展性, B/S 结构在模块化设计管理方面具有容易实 现的特性。 B/S 结构是目前最受企业和开发者欢迎的开发模式, 80%的产品都使用 B/S 工作模式