OFDM基带系统接收器中高性能Viterbi译码器的FPGA实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

OFDM基带系统接收器中高性能Viterbi译码器的FPGA实

吴军;钟东波
【摘要】This paper presents one new structure of high-performance Viterbi decoder applied in OFDM baseband system.The decoder uses full-parallel structure to improve speed, adopts l_norm to replace Euclidean distance as soft decision distance to save hardware cost, employs a modified method of path metric normalization efficiently to solve the overflow of PMU, and applies a blocked cyclic memory trace-back scheme to reducing the delay of decoding. The decoder is designed in Verilog language. Simulations show that the modified decoder can achieve a higher speed of decoding with lower hardware cost, which completely meets the technical requirements of IEEE 802.1 la and has higher practical value.%提出了一种应用于OFDM基带系统的高速Viterbi译码器的新结构,该译码器采用全并行结构以提高速度,采用矢量差的"1范数"代替欧氏距离作为软判决译码距离以减小硬件开销,以一种改进的归一化管理高效的解决了PMU单元的数据溢出问题,采用一种分块循环回溯算法以减少延时,并用Verilog语言具体实现.实验表明在该译码器以较少的资源实现了较快的速度,完全满足IEEE802.11a的协议标准,具有较高的实用价值.
【期刊名称】《江西理工大学学报》
【年(卷),期】2011(032)003
【总页数】4页(P61-64)
【关键词】FPGA;软判决;加比选单元;归一化处理;回溯算法
【作者】吴军;钟东波
【作者单位】江西理工大学信息工程学院,江西赣州341000;江西理工大学信息工
程学院,江西赣州341000
【正文语种】中文
【中图分类】TN911.7
伴随着无线数据传输与多媒体应用的不断发展,无线传输系统对传输速率与传输质量保证等方面的要求也相应的不断提高.正交频分复用技术(OrthogonalFrequencyDivisionMultiplexing,OFDM)作为一种新型的物理
层传输技术正越来越受到人们的重视,并视为下一代移动通信(4G)的关键技术[1].IEEE802.11a是基于OFDM技术的高速无线局域网技术标准,该标准采用采卷积码来实现传输的差错控制[2].
文章提出了一种应用于ODFM基带系统的高速Viterbi译码器新的结构,实践表
明该译码器以较少的资源实现了较快的速度,完全满足IEEE802.11a的协议标准,具有较高的实用价值.
在IEEE802.11a标准中采用(2,1,6)卷积码,其约束长度k=7,共有64个状态,生成多项式为G(x)=(1+x1+x2+x3+x6,1+x2+x3+x6+x5),表示为八进制
为G=(171,133)8,这里的x为延时因子.每个时刻输入1比特原始信息,移位寄存器根据生成多项式进行异或运算,得出2比特编码信息.移位寄存器根据输入信
息的不同有规律地进入不同的状态[3],编码器结构图1所示.
在IEEE802.11a协议中为了提高传输率和多种不同的码率,采用了删余操作,即
周期性的删除一些不重要的信息比特.在OFDM模式下有三种编码速率1/2、2/3、3/4,以达到6~54 Mbit/s不同的传输速率.
由于在调制端的卷积编码后进行了删余操作,所以在OFDM基带系统中的接收端中需要进行增信(depuncture),即在被删余的比特位上填充被删信息,以满足IEEE802.11a协议的要求.
IEEE802.11a标准中Viterbi译码器的基本结构如图2所示,包括增信单元(depuncture),分支度量单元(BMU),累计路径度量单元(PMU),加比
选单元(ACSU),幸存路径管理单元(SMU)和译码控制单元.
为了满足OFDM基带通信系统高速信息处理的要求,该Viterbi译码器应用了全并
行结构,同时对传统的Viterbi译码器的各个模块做了相应的改进.
分支度量单元(BUM)用于计算接收码元符号和期望码元符号之间的距离.软判决相比硬判决,可以多获得2~3 dB的增益.当量化电平数Q>8时获得的增益变化
很小,因此本设计采用3 bit(Q=8)量化.
虽然在AGWN信道下采用欧氏距离具有最佳的性能,但是由式(1)可以看出,
实现欧氏距离需要进行乘方和开方运算.而实现乘方和开方需要消耗FPGA的大量
资源[4].
式(1)中的Y={y0,y1,y2,…,yn-1}表示已经接收到的码字,
Cm={C0,C1,C2,…,Cn-1}表示期望接收到的码字,n表示码字所包含的比特数,m 表示第m个接收码字.
欧氏距离本质上为接收码字与可能发送码字矢量之差的“2范数”,可以采用矢量差的“1范数”作为软判决译码距离,如式(2)所示.
以到(0,1)的距离为例,由于y0,y1经过3 bit量化后,其值最多为(111),即为‘7’,故实现|Y0-7|就可以认为其是Y0的按位取反,即可以表示为Y0的补码.这样复杂的欧氏距离就转化为相对简单的汉明距离,由于距离最大值为14,所以
采用4 bit就可以满足要求.和传统的欧式距离相比,其性能上虽然有0.1~0.15
dB的损失[5],但是其硬件开销相比需要乘方和开方运算实现的欧氏距离大大降低,并且其把复杂的乘方和开方运算化简为加法运算,大大提高了运算速度,降低了功耗.
2.2.1 加比选单元算法
ACS(加比选单元)的运算过程就是在某一状态节点上,对上一时刻可能的两个状态相应的分支度量和累积路径度量相加、比较、并把选择其中的较小值作为本时刻该状态的路径度量[6].为了提高速度,本次设计采用64个ACS的全并行方案.
2.2.2 归一化处理
传统设计中的归一化方法,无论是减数法,还是移位法均需要设置一个路径度量门限,每次输的路径度量值均要和判决门限进行比较,之后再根据判决结果决定是否进行归一化处理,假设每次和判决门限比较的延时为x,则到达一次译码深度的延时为36x.这显然对ACS单元得高速性是极其不利的.文献[7]已经证明了每一时刻
路径度量的最大值和最小值满足以下关系式:
在本设计中,m=7,BMmax=14,BMmin=0,最大的路径量度和最小的路径量度之间
的最大差值为84,需要用7 bit来表示路径量度值[8],所以在开始的第一个在约束长度内,任一状态的路径度量值均不会溢出,那么便可设置一个模36计数器,分别在6的倍数时进行归一化判决,这样在译码深度之内判决延时就变为原来的1/6,大大减少了延时,提高了ACS单元的运算速度.并且具体实现时只需要利用控制译码深度的计数器即可,并不需要单独设置计数器,把64个状态度量的最高位相与作为归一化判决标志,当64个状态路径度量值最高位均为1时,由于动态度量值动态范围的限制,所有路径度量值均没有溢出,便把所有的路径度量值右移2位.
这样不仅防止了溢出,同时没有破坏度量值之间的差别.这样利用译码深度计数器
控制归一化判决的次数,只是增加了一个多路选择器,硬件开销极小,有效的减小
了延时,由于判决比较次数减少,相应的归一化次数也就减少,功耗也比传统方案有所降低.
2.3.1 存储方式的选择
在SMU单元的设计中常用的幸存路径存储方法有两种:一是RE法(寄存器交换法),二是TB法(回溯法).两种方法各有优缺点.虽然回溯法有时序设计复杂,延时较大等缺点,但是还是可以通过优化时序等手段在资源消耗较少的情况下实现较高速度的Viterbi译码器.并且其硬件开销和功耗远远小于RE法[9].故本次设计采取回溯法.
2.3.2 改进的回溯算法
本次设计回溯深度L为36,采用了一种分块循环回溯算法,以减小延时提高速度. 由于对幸存路径的读写不是同时启止的,故设置三块RAM大小为128×36(每块RAM由两块64×36单元组成),即每块RAM可以存放两个回溯深度的幸存路径,每块RAM在同一时刻分别完成数据写入、路径回溯、译码输出的功能.译码开始时间,向第一块RAM写数据,当达到译码深度时,开始回溯读数据,由于回溯需要延时36个时钟周期,输出数据时可以每次从RAM中读取两个时刻的数据.当回溯完毕准备输出第一译码信息时,第一块RAM的数据中两个译码深度的数据正好被读完.由于开始回溯和译码存在36个译码深度的时间差,故还需要一块RAM作为数据缓存.回溯操作和输出基本一致,其结构如图3所示,回溯时每次读出两个时刻的幸存路径值,分别写入一块RAM中两个64 b寄存器,并由多路选择器,每次选择两位幸存路径完成对状态寄存器的更新.这样和输出RAM构成流水,不断输出译码信息.当然还需设置一个RAM片选控制信号,用于指示哪块RAM处于工作状态,并通过译码深度控制信号,控制三块轮流RAM处于不同的工作状态. 通过RAM乒乓的轮流的读写操作,减小了延时,当达到译码深度时,可以马上进行回溯,整个回溯模块延时仅为译码深度,即36.相对与传统的单译码向量回溯算
法,译码输出速率提高了一倍.虽然有33%存储空间的闲置,并且需要增加一些额外控制信号,但是这样的资源消耗是极其有限的.
译码器采用Verilog语言编写代码,同时编写了Testbench,使用Modelsim进行仿真,用QuartusII9.0软件进行综合、布线,并在Altera公司的Cyclone EP2C35F672C6型FPGA上完成了板级验证.
图4是Modelsim的功能仿真图,从波形可以看出,时钟脉冲下,译码比特经过106个译码延时,开始了输出译码比特.在实际中通过观察波形来验证大量数据的正确性是不现实的.故在Testbench中,编写了错码率统计模块,能自动统计误码个数.三组测试向量均为100000个,其中一组无噪声的正确码字,由于(2.1.7)卷加码能最多连续纠错4个码字,故另外两组,一组测试向量中为加入若干组连续4个或者4个以下错误码字的信息组.剩下一组测试向量是加入若干组连续5个或者6个错误码字的信息组,误码统计模块截图如图5所示.其中噪声模拟在AGWN信道下误码率均设置在2%.
如图5(a)所示,当没有噪声时,译码完全正确,如图5(b)所示当噪声是4个错误码字或者以下时,也译码正确,如图5(c)所示当噪声中连续错误码字达到5个或者6个时,已经超出(2.1.7)卷积码的纠错能力,不能完全正确译码,但是误码率很低.所以该Viterbi译码器达到了(2.1.7)卷积码最多能连续纠正4个错误码字的性能.
从QuartusII9.0综合报告中可以得出,该译码器资源消耗为2968个LE,最高工作频率为135.43 MHz.在资源开销不大的情况下,较好的达到了高速的目的.表1是与几种具有代表性的,较新的高速译码器的性能比较.
对比结果分析:
(1)文献[10]采用的是量化比特数为4优于该文,但是该文回溯深度为36优于文献[10],从实际性能上讲二者的误比特率基本相当.本设计的数据吞吐量为文献
[10]的70%左右,但是其LE消耗仅为文献[10]的21%左右,在数据吞吐率下降有限的情况下,极大地减少了硬件开销.
(2)文献[11]采用的是RE算法,速度较高,其最高数据吞吐量为231 Mbit/s,在同样的芯片型号下该文的数据吞吐量虽然为文献[11]的70%,但是其资源开销
仅为前者的50%左右,由于该文采用的是3块ram轮流工作的算法,存储资源消耗大于文献[11],但是FPGA的存储比特都在百万比特以上(2号芯片的存储比特数超过了700万个),这样增加的硬件开销只有资源总数的0.6%左右,几乎可以忽略不计.
(3)文献[12]工作频率仅为80 MHz,虽然采用基4算法使其数据吞吐率达到了160 Mbit/s,但是消耗了大量的硬件资源,该文设计的数据吞吐量为文献[12]的72%左右,但是其资源消耗仅为其的18.4%,极大地减少了硬件开销.
综上所述,该文提出的Viterbi译码器,在仅消耗传统设计的20%~50%左右的
逻辑资源,却达到了传统设计约70%数据吞吐量.
文章设计的Viterbi译码器全并行和流水线结构以提高速度,采用矢量差的“1范数”代替欧氏距离作为判决距离以减小硬件开销,以一种改进移位寄存方法高效的解决了数据溢出问题,采用改进的TB(回溯)算法以减少延时,经仿真和硬件实现表明,该译码器以较少的资源实现了较高的数据吞吐量,充分满足了
IEEE802.11a的技术标准,完全可以作为一个OFDM基带系统接收端的一个子模块,具有较高的实用价值.
【相关文献】
[1]孙雪艳,李兵兵,刘鹏,等.基于IEEE802.11a标准的解码器设计[J].电子科技,2007(8):7-11.
[2]IEEE Std 802.11a-1999 Patat 11:wireless LAN Medium Access Control(MAC)and Physical Layer(PHY)Specifications[S].Sponsor:LAN/MAN Standards Committee of IEEE
Computer Society;Approved by IEEE-SA Standards Board,1999.
[3]王新梅,肖国镇.纠错码-原理与方法(修订版)[M].西安:西安电子科技大学出版社,2001.
[4]吴军,吁少锋,来昂.FPGA乘法器在电能集中采集系统中的应用[J].江西理工大学学报,2009,30(6):34-37.
[5]刘晓莹,王一,王新安.应用于无线局域网的高速维特比译码器电路[J].计算机技术与发展,2008(1):11-14.
[6]Ishitani T.A Scarce-state-transition Viterbi-decoder VLSI for Bit ErrorCorrection[J].IEEEJ Solid-stateCircuits,1987,22(4):575-582.
[7]Ungerboeck,ThaparHK.VLSIArchitecturesforMetricNormalization in the Viterbi Algorithm[C]//IEEE International Conference on 1999(3):1497-1500.
[8]张健,刘小林,匡镜明,等.高速Viterbi译码器的FPGA实现[J].电讯技术2006(3):37-41.
[9]I Kang AN.Willson1ALow2powerState2sequentialViterbide2coder for CDMA Digital Cellular Application s1 ISCAS’96[M],New York:IEEE Press,1996.
[10]金文学,刘秉坤,陈岚.低功耗软判决维特比译码器的设计[J].计算机工程,2007(5):243-245.
[11]李刚,黑勇,乔树山,等.一种高速Viterbi译码器的设计与实现[J].电子器件,2007(5):1186-1189.
[12]丁锐,杨知行,潘长勇.高速维特比译码器的设计[J].电讯技术,2004(4):51-54.。

相关文档
最新文档