Turbo译码研究及其DSP实现

发布者:CelestialSoul最新更新时间:2011-09-16 关键字:Turbo  DSP 手机看文章 扫描二维码
随时随地手机看文章
   

Turbo码是近年来通信系统纠错编码领域的重大突破,他以其接近Shannon限的优越性能博得众多学者的青睐。本文采用基于Max-Log-Map的优化译码算法,对状态量度归一化计算和滑动窗算法等关键技术进行优化,在满足性能要求的情况下,大大降低算法复杂度。

  

 

  1 Turbo编码器.译码器及算法

  Turbo编码器采用3GPP的编码方案,由约束长度K为4,码率为1/2的RSC编码器通过1个交织器并行级联而成,为提高性能对2个译码器分别附加3个尾比特使译码器的最终状态为全0。

  译码器采用反馈迭代结构,每级译码模块除了交织器,解交织器外主要包括两个级联的分量译码器;一个分量译码器的输出的软判决信息经过处理成为外信息输入另一个分量译码器,形成迭代译码,在迭代一定级数后硬判决输出。

  

RSC网格结构图

 

  编码网格表贯穿整个译码过程,任意时刻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码译码是一个复杂的过程,之所以这么说,除了算法本身复杂外,还有两个主要的原因,一个是递推计算过程中前、反向度量不断增大给信号处理器带来的麻烦,即经常说的溢出;另一个是大存储量需求。这里,就这两个细节问题进行讨论和总结,并且给出详细解决方案。

  2.1状态量度归一化问题

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

  2.2 引入滑动窗减小存储量

  由于Turbo码译码算法的迭代特性,每一级Map译码器需要大量存储器。在译码时引入滑动窗,能有效减少所需的存储量。采用滑动窗的Map译码步骤为:每次译码过程被分为若干段以间隔L(假设滑动窗的长度为L,L《N)连续进行,只需在对nL长的数据进行前向处理后,每个反向子处理过程即可执行,而未使用滑动窗时,需要对整个数据块处理后才能进行。实验证明,滑动窗大小选择7~8倍的约束长度时对误码率的性能影响几乎可以忽略。本算法中约束长度为4,选择窗口大小为32。下面给出采用滑动窗译码前后两种算法存储空间分配情况的比较。假设编码帧长为L,B表示窗口长度,L为B的整数倍。

  

 

  按照表1,这个存储空间为26L,当L=1K时,为26K。如果我们采用分块译码,按照表2,那么整个译码的存储需求为20B+8L,B一般取编码约束长度的5~10倍,对于8状态编码,取B=32,那么这个存储空间为640+8L,与表1的26L相比要小的多。

  

 

  当L=1K时,存储空间只占原来的33.2%。当编码帧长L的取更大值时,存储空间的节约更加可观,比较得知采用滑动窗后,Turbo译码能够大大节省硬件的存储资源。

  

[page]

 

    3 Turbo译码的DSP实现

  3.1 TMS320C6416简介

  TM S320C6416是TI公司推出的功能强大的DSP产品,他采用先进的VelociTI结构,将超长指令字VLIW结构和高并行性结合起来,通过增加指令级的并行性使其性能有了较大的飞跃。C6416的最高工作时钟达到1 GHz,指令周期仅为1 ns,最大处理能力可以达到9 000 MIPS,比TMS320C62系列芯片性能高出15倍之多,是当前市场上最先进的定点数字信号处理器。

  片内有8个可完全并行运算的功能模块(2个乘法器和6个算术逻辑单元),他们分为相同的两组,属于两个数据通道,每个数据通道与一组32个32位寄存器相连,不同组的两个功能模块之间的数据交换是通过两个寄存器组之间的交叉总线实现。典型片内资源还包括1 MB的片内RAM和一个32位的外部存储器接口,可以支持多类型RAM,包括同步随机访问存储器(SDRAM)和同步突发静态随机存储器SBSRAM等。 DMA控制器包括4个可编程通道和一个辅助通道,能够在内存、片内辅助资源及外部器件之间以CPU的时钟速率实现高速数据传输,这种传输发生在CPU运行后台。CPU和DMA控制器对数据存储器的操作可以按8位字节,16位半字或者32位字的长度进行。

  3.2 用DSP实现Turbo译码器的优化措施和技术

  TMS320C6416的特殊结构对编译器和软件设计结构提出了很高的要求,软件的设计与优化将成为整个系统性能的决定因素,代码的高度并行性将是获得超强性能的关键。采用流水线技术和功能模块多重化技术是开发处理器的指令级并行性的两个主要手段。C6416对指令获取、指令分配、指令执行、数据存储等阶段进行了多级流水线的划分,不同指令执行的流水延迟也不相等,因此各种指令的安排要尽量不中断指令流水执行,同时,使尽可能多的功能模块并行运行。

  由于TMS320C6416芯片的结构对于基于汇编语言的编程过于复杂,这里采用C语言编写主程序。Turbo译码采用并行算法,为提高程序执行效率,充分利用Max-Log-Map译码算法的结构特点,对程序进行寄存器级优化:把Viusal C++实现的浮点算法改为定点算法,将前后向累积路径度量计算的最内层循环展开,合理分配寄存器,使指令中参与运算的寄存器尽量属于同一个数据通道,以减少交叉数据通道冲突,对于访问频繁的变量,置成寄存器型。同时利用功能强大TMS320C6416的C语言编译器和优化器对程序进行全程优化,从而得到效率较高的代码。

  4测试结果及性能分析

  首先在Visual C++6.0上完成信息比特的产生,Turbo编码和AWGN信道加噪通过DSP的RTDX(Real-Time Data Exchange)技术,把加噪后的信息比特送到TMS320C6416的EVM板上,测试其误码率和完成译码所花费的周期。译码器的许多参数都可以改变,如编码长度,滑动窗大小,归一化门限,迭代次数等。这种灵活性便于满足不同系统的需要,可移植性好。本文系统仿真采用BPSK调制,在AWGN环境下传输,发送端Turbo编码采用约束长度为4,生成矩阵为(15,13)的分量译码器,交织算法为3GPP标准交织算法,译码算法为Max-Log- Map算法。

  4.1 不同迭代次数

  

 

  图4为采用1/3码率,交织长度为1 024,迭代3,4,5次,通过AWGN信道时的误码率曲线。从图中可以看到,随着迭代次数的增加,获得的编码增益越高,但增加迭代次数会带来系统延时和增加系统的译码复杂性。仿真充分说明了不同迭代次数对码字纠错性能的改善程度。

  4.2 不同的交织长度

  

 

  图5采用1/3码率,不同交织长度,5次迭代通过AWGN信道的误码率曲线。从图5仿真结果看,在同样的码率、生成矩阵、交织算法和迭代次数条件下,所取交织长度越长,对码字中各个比特的交织距离就越大,误码率性能就越好,且随着信噪比的增加,误码率性能改善越明显。但交织长度的增加也会带来译码延时的增大和存储量的增加,所以应根据业务的要求来采用不同交织长度。

  4.3 不同的码率

  

 

  图6为1 024交织长度,迭代译码5次,1/2和1/3码率的误码率曲线,从图中可以看出码率越低误码率性能越好,但是随着码率的降低,所需传输的冗余比特也线性增加,对于固定的信息传输率而言,会导致系统的吞吐率降低,需求的带宽增加。

  4.4译码处理时间

  采用5次迭代译码,1 024交织长度,1/3码率的Max-Log-Map算法在TMS6416EVM板上用CCS软件测试得到所需要的周期数为45 867 356个时钟周期,而TMS320C6416EVM的主频为1 GHz,计算得到所花费的时间大约为4.5 ms,而在3G系统中最小延时为10 ms,所以满足3G系统实时处理的要求。

  5结语

  本文从译码算法和硬件存储方法对Max-Log-Map算法进行优化,使他在译码性能损失满足要求的情况下,能大大降低算法复杂度,减少运算量和缓存器数量。

关键字:Turbo  DSP 引用地址:Turbo译码研究及其DSP实现

上一篇:基于TMS320C6711B DSP的中心定位算法设计
下一篇:Turbo译码研究及其DSP实现

推荐阅读最新更新时间:2024-05-02 21:34

CEVA DSP内核成全球领先无线手机IC供应商及OEM首选
CEVA DSP目前正为全球五大手机OEM厂商中的四家供货;CEVA客户的成功彰显了DSP内核从专用架构向开放式架构的根本性转移趋势 随着无线应用领域开始向开放式及可授权的信号处理解决方案转移,在这业界趋势推动之下,CEVA公司作为DSP内核授权的领先厂商现正逐渐成为全球领先的无线手机IC供应商和OEM。加上NXP Semiconductors (恩智浦半导体公司) 宣布已在其超低成本蜂窝解决方案中选用CEVA-Teak DSP,进一步印证了这个趋势的发展。 NXP是继Broadcom、智多微电子 (Chipnuts) 、EoNex、英飞凌 (Infineon)、InterDigital、瑞萨 (Renesas)、ROHM、夏
[焦点新闻]
基于定点DSP处理芯片的语音信号的识别
  近年来,高性能数字信号处理芯片DSP(Digital Signal Process)技术的迅速发展,为语音识别的实时实现提供了可能,其中,AD公司的数字信号处理芯片以其良好的性价比和代码的可移植性被广泛地应用于各个领域。因此,我们采用AD公司的定点DSP处理芯片ADSP2181实现了语音信号的识别。   1 语音识别的基本过程   根据实际中的应用不同,语音识别系统可以分为:特定人与非特定人的识别、独立词与连续词的识别、小词汇量与大词汇量以及无限词汇量的识别。但无论那种语音识别系统,其基本原理和处理方法都大体类似。一个典型的语音识别系统的原理图如图1所示。      语音识别过程主要包括语音信号的预处理、特征提
[嵌入式]
MCU+DSP嵌入式平台的i机接口与引导设计
1 引言       自动化控制要求实时采集数据,快速控制,多样分析,通信灵活,虽然采用单个处理器构成的硬件平台不能满足要求。采用以MCU+DSP双处理器为核心的硬件平台则是较合理的设计方案。利用DSP实现数据实时采集、分析、计算;MCU完成管理、通信、人机接口等异步系统控制功能。该硬件平台的MCU与DSP接口设计与数据传输是系统设计的重要部分,将直接影响系统性能和数据传输效率。数据传输通常采用双端口RAM、串行通信、并行主机等接口方式。其中,并行主机接口的方式可以满足大量数据实时传输要求。这里以MCF5272型和ADSP-BF527型数字信号处理器构建一种MCU+DSP双处理器的嵌入式平台,详细论述DSP通过主机DMA端口(Ho
[嵌入式]
CEVA宣布推出CEVA-MM3101
全球领先的硅产品知识产权 (SIP) 平台解决方案和数字信号处理器(DSP)内核授权厂商CEVA公司宣布提供基于CEVA-MM3000™架构的首款图像和视觉图像和视觉平台。CEVA-MM3101™是完全可编程的低功耗平台,专为满足智能手机、平板电脑和智能电视等各种带照相功能的产品先进的高级图像和视觉处理需求而开发。 与现有的由多个处理器引擎分别实现图像和视觉管道、图像增强、嵌入式视觉应用及图像编码功能的方案不同,CEVA-MM3101平台同样集成了视觉和成像功能,但CEVA-MM3101并不是在某固定的功能引擎或在主应用处理器上运行这些功能,而是采用特殊架构在单一处理器上实现,因此与基于CPU的解决方案相比,其功耗得以降低20倍。
[家用电子]
基于ARM+DSP进行应用开发
  针对当前应用的复杂性,SOC芯片更好能能满足应用和媒体的需求,集成众多接口,用ARM做为应用处理器进行多样化的应用开发和用户界面和接口,利用DSP进行算法加速,特别是媒体的编解码算法加速,既能够保持算法的灵活性,又能提供强大的处理能力。德州仪器(TI)继第一系列Davinci芯片DM644x之后,又陆续推出了DM643x,DM35x/36x,DM6467,OMAP35x,OMAPLx等一系列ARM+DSP或ARM+视频协处理器的多媒体处理器平台。众多有很强DSP开发经验的工程师,以及应用处理开发经验的工程师都转到使用达芬奇或OMAP平台上开发视频监控、视频会议及便携式多媒体终端等产品。基于ARM+DSP的芯片架构,如何进行开发
[单片机]
MAP-CA宽带数字信号处理器的原理及其应用
摘要:介绍赤道公司(Equator)的MAP-CA宽带数字信号处理器,提出了一种宽带应用中高性能的单芯片解决方案,给出一个应用实例。 关键词:宽带信号处理机 超长指令字 媒体加速处理器 作为消费类电子设备市场上综合宽带数字通讯和媒体处理器核心设备的主要供应商,赤道(Equator)技术公司推出了一款高速宽带数字信号处理器MAP-CABSP,在300MHz的时钟周期运行速度下,其处理能力为30 GOPS(每秒300亿次整数运算),处理速度相当于Pentium III的6.4倍,是其它解决方案的10倍以上。其核心功能是通过软件为高性能、大视频流的宽带应用而设计的。可编程序的芯片允许服务提供者展开更多的服务和功能,如time-shi
[应用]
基于FPGA+DSP的多通道单端/差分信号采集系统设计
在信号处理过程中,经常采用 DSP + FPGA 协同处理的方法。是因为DSP虽然可以实现较高速率的信号采集,但其指令更适于实现算法而不是逻辑控制,其外部接口的通用性较差。而FPGA时钟频率高、内部延时小,全部控制逻辑由硬件完成,速度快、效率高,适合于大数据量的传输控制,可以集成外围控制、译码和接口电路,在高速数据采集方面有着DSP以及单片机无法比拟的优势,但缺点是难以实现一些复杂的算法。因此,若采用DSP+FPGA协同处理的方法,便可以使DSP的高速处理能力与FPGA的高速、复杂的组合逻辑和时序逻辑控制能力相结合,达到互补,使系统发挥最佳性能。 在目前的信号采集及测试系统中,由于应用背景的复杂,经常需要对多路信号进行采集,有的甚
[嵌入式]
基于FPGA+<font color='red'>DSP</font>的多通道单端/差分信号采集系统设计
基于客户端DSP的数字电话系统
引 言   目前,模拟电话机产品占据电话终端的主导地位,但模拟电话只能传输语音信号;而数字电话具有高保密、可存储、信号质量好等优点。模拟电话机向数字电话机的过渡是电话终端发展的必然。本文研制出以美国TI公司的客户端数字信号处理器(DSP)为核心的数字电话系统,配置音频AD和DA以及电话线侧信号处理芯片,实现对语音信号的采集和输出、调制和解调、处理和存储等功能。语音信号的处理包括回音相消、自动增益调整(AGC)、自动功率调整(APC)以及数字滤波等功能。该系统具有数字化、小型化和价格低的特点,可以应用于各种保密场合、强噪声现场通信以及各种数据业务。 1 客户端处理芯片   系统的客户端处理采用TMS320C54CST和SI301
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved