您的位置 首页 新品

根据可编程状态机的Turbo译码器规划

介绍了基于常变量可编程状态机(KCPSM)的Turbo译码器的设计。在该设计中采用Xilinx公司的嵌入式处理器IP核作为主控单元,使译码器的译码参数可根据使用情况通过程序进行调整,并在对硬件结构分析

1993年Berrou C. 等学者提出的Turbo码将卷积编码和随机交错结合在一起完结了随机编码的思维[1],而且选用了软输入软输出(SISO)迭代译码的最大似然译码算法,然后使其译码功用挨近于Shannon理论的极限。现在,Turbo码的运用已推行到深空通讯、卫星通讯和移动通讯等范畴,并被确认为第三代移动通讯的信道编码方案之一。

在不同的运用环境中,出于对译码功用和译码杂乱度的考虑,一般选用不同的译码参数。其间直接影响到译码功用的要害参数有帧长、交错表和迭代次数等。本文介绍的依据KCPSM的Turbo译码器在规划中引进嵌入式处理器单元,经过存储于外部RAM中的程序操控译码进程,可依据不同的运用需求修正程序代码以适用于各种不同的译码状况。

1 Turbo译码原理

Turbo码的特色:编码器中引进了交错器,削弱了信息序列的相关性,有用地完结了随机性编码;在译码时采取了迭代译码的思维,使其功用能够挨近香农理论的极限。

Turbo码的迭代反应译码结构如图1所示[2]。图中,SISO Decoder 1和SISO Decoder 2是别离对应于编码发生的两组重量码的软输入软输出译码器。两个SISO译码器经过重复的交错重复译码核算完结对输入信息序列的译码。SISO Decoder 1的软输出信息交错后作为SISO Decoder 2译码的先验信息。假如迭代完毕,SISO Decoder 2的译码成果硬判定输出;不然,SISO Decoder 2的软输出信息反交错后作为SISO Decoder 1下一次迭代译码的先验信息。

在Turbo码的译码算法中,MAP算法的功用最好,但核算量巨大,硬件完结的杂乱度高,译码时延大。所以在硬件规划中选用的是在对数域上简化的Log-MAP算法,这样能够有用地下降硬件规划的杂乱度。在Log-MAP译码算法中,需求先从数据序列结尾向始端做反向状况概率β的递推核算,之后再从序列的始端向结尾开端递推核算前向状况概率α并得到对数概率似然比。为了削减译码的等候延时,在译码时可将原先的一帧数据序列按特定的分组长度分解为数段,别离核算每段的软输出。在每段序列的核算中,仍然是先反向递推核算β值,再正向递推核算α值。其间,α值递推的初始值由上一段的核算成果给出。关于β值的递推,则需由下一段序列供给部分软信息。

图2表述了分段译码的思维。选用分段译码时,用于寄存中心成果的存储器规划取决于分组长度,不再与帧长成正比。关于不同帧长的译码只需改动交错表的巨细,而译码单元不必改动。这样的译码器能够更方便地用于各种码长的译码。

2 Turbo译码器的规划

依据KCPSM的Turbo译码器根本可分为两个部分:TurboDec译码模块和KCPSM主控模块。

TurboDec译码模块的结构如图3所示。它由Trace译码单元、存储单元和交错器组成。Trace译码单元的作用是依据Log-MAP算法,对分组后的每段序列做前向或反向的递推核算。存储单元包含ZRAM(用于寄存在运算进程中需求交流的外信息)、Input Buffer和Output Buffer(别离用于输入输出的缓存)。交错器的作用是完结对数据序列的交错和反交错,它主要是一块存有交错表的RAM,而交错表内寄存有每位数据交错后对应的地址。Trace译码单元经过查找该交错表得到的地址作为以交错次序读取或写入数据的地址。这块RAM中的交错表可在译码前由外部改写,以满意不同的译码需求。

KCPSM主控模块选用的是Xilinx公司供给的PicoBlaze嵌入式处理器规划方案[3]。该模块中主要有两部分:担任数据信号处理及对外信号输入输出的PicoBlaze处理器单元和用于贮存程序指令代码的Block Memory。PicoBlaze规划方案的结构如图4所示。

在时钟信号的驱动下,PicoBlaze处理器单元依据当时的8位地址从Block Memory中读取对应的16位指令代码,再依据此指令代码完结运算操作,一起发生下一步指令的地址。依据不同指令的要求,在IN_PORT端和OUT_PORT端别离读入或输出核算的数据,并在PORT_ID端指明对应的I/O端口地址。READ_STROBE端和WRITE_STROBE端则在履行读写操作时输出脉冲信号,该脉冲信号一般用于操控外围电路的读写。

3 KCPSM操控体系的规划

3.1KCPSM规划的特色

KCPSM是常变量可编程状况机的简称,其主要组成部分为嵌入式处理器单元,用于完结依据常量的状况机主控单元。与传统的依据时序电路的状况机操控规划比较,运用KCPSM作为主控单元有以下特色:

(1)结构简略,占用资源少。以Xilinx公司推出的8位嵌入式微处理器IP核PicoBlaze为例,其逻辑模块仅占用Spartan-IIE的76个slice,相当于最小的XC2S50E器材可用资源的9%,或XC2S300E器材可用资源的2.5%。关于较大规划的规划简直能够疏忽这样的资源占用。尽管该IP核占用的硬件资源很少,但它的运算功用能够到达40MIPS。因其占用资源少,在实践规划中能够一起运用多个KCPSM以完结杂乱的操控功用。

(2)运用灵敏,易于调试。关于KCPSM单元,操控状况的转化及相关信号的处理都是以程序指令的方式存储于Block RAM单元中,不涉及到IP核的逻辑模块单元。运用时只需求依据不同的意图编写相应的指令代码就可完结不同的功用。特别是在对电路进行调试时,易于完结特定的非正常运转状况。

(3)指令周期相对较长。KCPSM选用的是从Block RAM单元读取指令的操作方式,每步操作的完结包含确认RAM地址和读取指令两步,需求花费两个时钟周期。与由时序电路组成的状况机比较,KCPSM的运转功率较低,不合适用于对时钟沿灵敏状况下的操控需求。

由上面几点能够看出,KCPSM作为可编程的操控单元,合适用于状况比较杂乱但对时刻要求不高的体系级操控,特别是有很多操控参数需求核算调整的状况。相关于由时序单元组成的操控电路,它在节约硬件开支的一起,下降了规划的杂乱性,增强了规划的灵敏性。

3.2Turbo译码的操控规划

依据Turbo码的迭代译码原理,KCPSM操控体系的根本流程如图5所示。从图中能够看出,该操控体系依据Turbo译码器当时的作业状况检测对应的操控信号并改动输出参数。当译码器没有处于译码状况时,KCPSM会周期性地检测译码发动信号。该信号有用后,Turbo译码器进入译码状况,KCPSM向TurboDec译码模块输出第一次反向递推译码核算的开端地址、译码段长度等参数和操控信号,一起预备下一次前向递推的相关参数。译码器进入译码状况后,KCPSM改为检测TurboDec译码模块的译码完结信号。当TurboDec完结递推译码核算后,KCPSM依据迭代次数决议是否还需求进行下一次的递推核算。若迭代译码进程没有完毕,KCPSM会操控TurboDec译码模块开端新一次的递推核算,并为下次的递推核算相关参数。迭代译码完毕后,KCPSM使TurboDec译码模块输出译码成果,并操控Turbo译码器退出译码状况。

在整个译码进程中,KCPSM将Turbo译码器的状况以编码的方式存储在内部的寄存器中,并依据译码的要求和递推核算的次数确认下次递推译码的参数。TraceDec译码单元对前向状况概率的核算与对反向状况概率的核算是替换进行的,在每次译码操作后都要改动下次译码递推的方向。译码的开端地址和译码段的长度由译码方向和已完结的译码长度确认。对坐落帧尾的最终一段序列,译码的开端地址和译码段的长度需依据剩下的序列长度进行调整。因为只要一个TurboDec译码模块作为SISO译码器,在完毕一次MAP译码后,下一次的MAP译码需选用不同的校验序列,以完结对两组校验信息的充分利用。

在Turbo译码进程中,KCPSM要将多个参数传递给TurboDec译码模块,为此需求一起运用OUT_PORT和PORT_ID两个输出端口。将这些参数别离看作KCPSM的不同“虚拟端口”,为每个输出参数设定一个特定的PORT_ID。KCPSM输出数据后,TurboDec译码模块依据PORT_ID的数值判别当时OUT_PORT端输出的是什么参数。

4 功用剖析

本规划选用Xilinx公司的Spartan-IIE系列作为方针器材,选用Xilinx ISE作为开发环境。依据规划的归纳状况,在硬件资源方面,该Turbo码译码器的逻辑模块占用了829个slice,而存储模块则占用了56Kbit的BlockRAM,最高时钟频率约到达50MHz。依据RAM单元的运用状况,该译码器可完结对最大帧长为3 084位的输入序列的译码。

从以上数据能够看出,在运用相对较少硬件资源的状况下,依据KCPSM的Turbo译码器供给了很好的译码功用,一起因在规划时就考虑了灵敏性的问题,使其能够很方便地依据实践运用调整译码参数,扩展了运用规模。

本文介绍了依据KCPSM的Turbo译码器规划,并结合该规划说明了依据嵌入式处理器单元的体系规划办法。经过引证Xilinx公司供给的嵌入式处理器IP核,该规划在供给杰出译码功用的一起,在运用上也具有很好的灵敏性。

跟着通讯技能的开展,对译码电路的功用要求也将不断提高。本文提出的规划方案也可作为有用ASIC芯片规划方案的参阅。依据嵌入式处理器的规划思维可使AS%&&&&&%规划芯片具有很好的通用性。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/196585.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部