下载此文档

Turbo译码研究及其DSP实现.doc


文档分类:通信/电子 | 页数:约5页 举报非法文档有奖
1/5
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/5 下载此文档
文档列表 文档介绍
Turbo译码研究及其DSP实现
Turbo码是近年来通信系统纠错编码领域的重大突破,他以其接近Shannon限的优越性能博得众多学者的青睐。本文采用基于Max-Log-Map的优化译码算法,对状态量度归一化计算和滑动窗算法等关键技术进行优化,在满足性能要求的情况下,大大降低算法复杂度。

1
Turbo编码器采用3GPP的编码方案,由约束长度K为4,码率为1/2的RSC编码器通过1个交织器并行级联而成,为提高性能对2个译码器分别附加3个尾比特使译码器的最终状态为全0。
译码器采用反馈迭代结构,每级译码模块除了交织器,解交织器外主要包括两个级联的分量译码器;一个分量译码器的输出的软判决信息经过处理成为外信息输入另一个分量译码器,形成迭代译码,在迭代一定级数后硬判决输出。

编码网格表贯穿整个译码过程,任意时刻k~k+1的RSC网格结构如图3所示,图中编码器输入的0~7状态可以由二进制表示。
下面介绍Max-Log-Map算法。
由于需要进行大量的乘法运算和指数运算,Map算法不适用于硬件实现。ERFanian和Pasupanthy最早提出了Map算法在对数域的简化算*og-Map算法。通过转换到对数域运算,避免了指数运算,同时乘法变成加法,而加法则变成Max运算,不过由此也会带来了一定的性能损失。下面简要描述Max-Log-Map算法。设Ak(s),Bk(s),Γk(s)分别代表对数域的前向状态度量、后向状态度量和分支度量,其表达式分别可表示为:

如图3所示,每个节点状态s都对应于一个Ak(s),1个Bk(5)和2个Γk(s)。因此编码网络贯穿整个编译码过程,译码前要先按图3建立网格映射表。
2译码器实现的关键改进与优化
Turbo码译码是一个复杂的过程,之所以这么说,除了算法本身复杂外,还有两个主要的原因,一个是递推计算过程中前、反向度量不断增大给信号处理器带来的麻烦,即经常说的溢出;另一个是大存储量需求。这里,就这两个细节问题进行讨论和总结,并且给出详细解决方案。

由式(1),式(2)可注意到,随着计算的不断深入,状态量度值不断增加,为防止计算溢出和减小硬件复杂度,必须对其进行归一化处理。一种方法是减去前一时刻状态度量的最小值,这种方法在每个时刻都需要减法器和用于计算最小值的比较器,当状态数较多时,由此带来的额外的时延和硬件消耗是不能忽略的。本算法采用一种十分有效的归一化方法(以Ak(s)为例),在每个计算时刻,判断有没有状态度量值(A或B)大于某一门限值T,若有则所有节点的状态度量值(A或B)都减去T,若没有则保持原值不变。这样便大大减少了减法器使用的次数,也无需计算最小值。由于所有的节点都减去了相同的值,因此式(5)的结果不会受到影响。T值不宜设置太大,但设置得太小,归一化发生的很频繁,会增加译码时延和硬件开销。通过试验仿真,若q代表

Turbo译码研究及其DSP实现 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数5
  • 收藏数0 收藏
  • 顶次数0
  • 上传人840122949
  • 文件大小119 KB
  • 时间2018-11-14