短帧Turbo译码器的FPGA实现

2011-03-31 20:10:04来源: elecfans
     Turbo码虽然具有优异的译码性能,但是由于其译码复杂度高,译码延时大等问题,严重制约了Turbo码在高速通信系统中的应用。因此,如何设计一个简单有效的译码器是目前Turbo码实用化研究的重点。本文主要介绍了短帧Turbo译码器的FPGA实现,并对相关参数和译码结构进行了描述。

  1 几种译码算法比较

  Turbo码常见的几种译码算法中,MAP算法[1][3]具有最优的译码性能。但因其运算过程中有较多的乘法和指数运算,硬件实现很困难。简化的MAP译码算法是LOG-MAP算法和MAX-LOG-MAP算法,它们将大量的乘法和指数运算转化成了加减、比较运算,大幅度降低了译码的复杂度,便于硬件实现。简化算法中,LOG-MAP算法性能最接近MAP算法,MAX-LOG-MAP算法次之,但由于LOG-MAP算法后面的修正项需要一个查找表,增加了存储器的使用。所以,大多数硬件实现时,在满足系统性能要求的情况下,MAX-LOG-MAP算法是硬件实现的首选。通过仿真发现,采用3GPP的编码和交织方案[2],在短帧情况下,MAX-LOG-MAP算法同样具有较好的译码性能。

  如图1所示,帧长为128,迭代6次,BER=10-5的数量级时, MAX-LOG-MAP算法的译码性能比MAP算法差大约0.6dB,比LOG-MAP算法差0.2dB左右。所以,本文采用3GPP的交织和(13,15)编码方案,MAX-LOG-MAP译码算法进行短帧Turbo码译码器的FPGA实现与设计。

  


  2 MAX-LOG-MAP算法

  为对MAP算法进行简化,通常将运算转换到对数域上进行,避免了MAP算法中的指数运算,同时,乘法运算变成了加法运算,而加法运算用雅可比公式简化成MAX*运算[4]。

  将运算转化到正对数域进行运算,则MAX*可等效为:

  

公式

  按照简化公式(3)对MAP译码算法[1][3]的分支转移度量、前向递推项、后向递推项及译码软输出进行简化。

  分支转移度量:

  

公式

  为防止迭代过程中数据溢出,对前后向递推项(5)、(6)式进行归一化处理:

  

公式

  

公式

  3 FPGA实现关键技术

  3.1 数据量化

  在通信系统中,译码器的接收数据并不是连续不变的模拟量,而是经过量化后的数字量。接收数据的量化会引入量化噪声,从而影响译码的性能。所以,接收数据量化的精度直接影响到译码的性能。由参考文献[5~6]可知,采用3位量化精度就能得到与没有经过量化的浮点数据相近的译码性能。为了简化FPGA的设计,本文采用了统一的定点量化标准F(9,3),即最高位为符号位,整数部分8位,小数部分3位。由此,前后递推项(9)、(10)式的初始值可表示为:

  

公式

  3.2 MAX*运算单元

  由前面的MAX-LOG-MAP算法介绍可知,MAX*运算单元是整个译码的主要运算单元,它与viterbi译码的ACS(加比选)运算单元一样,先分别进行加法操作,然后对所得结果进行比较,最后将较小的一个结果作为运算结果输出。实现结构如图2所示。

  

MAX

  3.3 前后向递推运算单元

  由公式(5)~(8)可知,前后向递推单元除了需要进行MAX*与运算外,还需要进行归一化处理。为得到较快的运算速度,首先,计算上一时刻所有状态的最小值,然后对当前时刻的每一状态进行MAX*运算,并将运算结果减去上一时刻的最小状态值,即得到当前时刻递推各状态的归一化值。实现结构如图3所示。

  

前后向递推运算单元

  3.4 8状态值最小值运算单元

  由MAX-LOG-MAP算法可知,在进行前后向递推归一化处理和计算译码软输出时,均需要计算每一时刻8个状态的最小值。为了减小计算延时,采用了8状态值并行比较的结构,与串行的8状态值比较结构相比较,要少4级延时。实现结构如图4所示。

  

8状态值最小值运算单元

  4 仿真结果

  按照以上所分析的简化译码算法、FPGA实现的相关参数和结构,整个译码采用Verilog HDL语言编程,以Xilinx ISE 7.1i、Modelsim SE 6.0为开发环境,选定Virtex4芯片xc4vlx40-12ff668进行设计与实现。整个译码器占用逻辑资源如表1所示。

  

整个译码器占用逻辑资源

  MAX-LOG-MAP译码算法,帧长为128,迭代4次的情况下,MATLAB浮点算法和FPGA定点实现的译码性能比较如图5所示。

  

MATLAB浮点算法和FPGA定点实现的译码性能比较

  由MAX-LOG-MAP算法的MATLAB浮点与FPGA定点的性能比较仿真结果可知,采用F(9,3)的定点量化标准,FPGA定点实现译码性能和理论的浮点仿真性能基本相近,并具有较好的译码性能。

  综上所述,在短帧情况下,MAX-LOG-MAP算法具有较好的译码性能,相对于MAP,LOG-MAP算法具有最低的硬件实现复杂度,并且Turbo码译码延时也较小。所以,在特定的短帧通信系统中,如果采用Turbo码作为信道编码方案,MAX-LOG-MAP译码算法是硬件实现的最佳选择。

关键字:短帧Turbo译码器  FPGA

编辑:北极风 引用地址:http://www.eeworld.com.cn/FPGA/2011/0331/article_1995.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
短帧Turbo译码器
FPGA

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 

夏宇闻老师专栏

你问我答FPGA设计

北京航空航天大学教授,国内最早从事复杂数字逻辑和嵌入式系统设计的专家。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved