一种基于FPGA的快速Turbo码译码方法.pdf
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 一种 基于 FPGA 快速 Turbo 译码 方法
- 资源描述:
-
总第206期
舰船电子工程
Vol 31 No8
2011年第8期
Ship Electronic Engineering
95
种基于FPGA的快速 Turbo码译码方法
王宗谦王云飞
(州海格通信集团股份有限公司广州510663)
摘要文章提出了一种适合FPGA实现的快速 Turbo码译码方法,通过优化设计大幅度提高系统眷吐率,详细说明
了快速译码的设计过程,并在实际系统中验证了其性能
关键词 Turbo;FPGA;译码器
中图分类号TN914.42
A Rapid Turbo Decode Method Based on FPGA
Wang Zongqian Wang Yunfei
(Guangzhou Iaige Communications Industry Group Co, Ltd, Guangzhou 510663)
Abstract In this paper, a rapid method for Turbo decoding based on FPGA is proposed, with which the system
throughput is greatly improved. The detailed description of the rapid decoding method is presented, and its performance of
the method is verified in actual system
Key Words Turbo, FPGA, decoder
Class Number TN914 42
1引言
A
Turbo码以其优异性能,在各类无线通信系
leaver
统中得到了广泛应用,也是LTE通信系统的信道
编码方案之一。然而,由于其迭代译码的复杂性,
实现时必须综合考虑复杂度、时延及资源三者之间
的折中关系,尤其在高吞吐率的情况下,快速Tur
Puncturing
bo码译码尤为重要。
虽然 Turbo码具有很高的性能,但其译码具
图1 Turbo编码器原理框图
有很高的复杂性,在当前的器件发展水平条件下,两个二输入三输出的循环递归卷积编码和交织组
数据传输率高达十兆以上时采用FPGA/ASIC3成?。生成多项式如下:
实现译码是较好的选择。本文提出了一种便于
Gw(D)-1+D2
FPGA/ASIC实现的 Turbo码 Max-log-map?
G,(D)=1+D2+D3
译码器的设计方法,在xinx公司的xc4vsx35
Gw(D)=1+D+D2+D3
10ff668芯片上进行了验证。
多种码率调整通过打孔实现。
2 Turbo编码结构
3 Turbo译码原理
文中以图1的 Turbo编码器为例,编码器有
Turbo迭代译码过程如图2所示:首先对未
收稿日期:2011年2月18日,修回日期:2011年3月26日
作者简介:王宗谦,男,硕士,研究方向:数字信号处理。王云飞,男,硕土,研究方向:数字信号处理。
万方数据
王宗谦等:一种基于FPGA的快速 Turbo码译码方法
总第206期
交织的信息序列(A,B,Y,W,V)进行译码,译码器交织器传递给子译码器DEC2作为先验信息。然后译
DEC接收信道输出的系统比特软信息(A,B)和校验码器DF2对交织后的信息序列进行译码,译码过程
比特软信息(Y,W,V),以及从第二级子译码器DBC2与子译码器DEC1完全一样。这样经过多次迭代译
传递过来的先验信息(第一次迭代时为0)进行译码,码,最后对子译码器DF2的输出信息比特的后验对
译码后输出信息比特的后验对数似然比外信息,经过数似然比进行解交织和硬判决得到译码结果。
e201
译码器Lel_10外信息
符号译码器1210外信息
W EDCI
计算
EDC21e2_11
计算
解交织
バxi1,8192)
A1B1rw?r
比特映射
符号
0->1
交织
解交织
硬判决
译码输出
0/O1/10/11
图2 Turbo译码器原理
4 Turbo译码器的FPGA实现
gamma由软信息和外信息计算所得,在实现
中可实时计算, alpha(0)为初始状态不用计算,如
Turbo译码器中计算的模块有 gamma、beta、图3, ganina(k)在 alpha(k+1)的前一个周期计算
alpha、交织器/解交织器和判决模块,主要运算集出,排流水实现。
中在 alpha和beta的计算图, alpha、bcta计算的快
外信息
慢是决定译码器吞吐率的最重要因素,所以提高译
11ro) Ii(1)lir(2)
Ir(N
DEC1软信息/DEC2软信息
码器的吞吐率需从 alpha、beta的计算入手,gam
din(o) din(l)ldin2)」
din(N
ma、交织/解交织和判决模块会伴随着 alpha/beta[ amma(@? gamma(1)gamma(2】… gamma(N-?
的计算流水处理,近乎零开销,文中将对主要模块
alpha() alpha(1) alpha(2)alpha(n-1)alphag
实现过程分别介绍
初始状态
下一初始状态
1)交织器/解交织器
图3 gamma, alpha流水计算
交织器的实现就是将ram中顺序存放的数据
3) alpha,bcta的计算
按交织表的顺序依次取出。在 Turbo译码中,交织
alpha和beta的计算在所有模块中复杂度最
是伴随着 alpha的计算流水进行,不会引入额外的高,实现时模块中的组合逻辑较多,延时较大,下面
处理时延。解交织器是将数据依次写入ram中交将给出 alpha、beta优化计算叩的详细过程,通过此
织器所对应的地址,然后按顺序读出,译码过程中方法可以减小组合逻辑延时大幅度提高译码吞吐
解交织是伴随着beta、外信息的计算流水进行的。率。beta的计算与 alpha的计算类似,文中只给出
文中以交织器MOD(f1xi+f2*i2,8192)为例,i∈ alpha的优化过程,见式(1)~(5)。其中式(1)
(0,1,2,,8191),f1,f2为参数,如f1=113,f2=(3)是传统译码方法的设计流程,式(4)~(5)是优
52。在FPGA实现中交织器/解交织器可通过实化后的等效方式
时计算,以流水的方式处理,不会带来时钟消耗.
式(1)中 alpha(k+1)是由 alpha(k)和 gamma
如图2中的交织器,只是在交织的开始引人了乘法(k)求和所得。 gamma(k)是一个32x1的向量,al
和ram的延时(4个clk),对于8192个数据来说,pha(k)是一个8x1的向量,结果 alphax(k+1)是
可忽略,这样可以缩短译码时间,提高吞吐率。
四个8x1的向量, gamma(k)与 alpha(k)加法的排
2) gamma的计算
列组合由编码器结构决定。
万方数据
展开阅读全文
文档分享网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。



链接地址:https://www.wdfxw.net/doc89916430.htm