- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
3G系统中Turbo译码改进及DSP实现
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码在3G系统中具有良好的性能和实用价值。
来源:维库开发网
上一篇:HSPA+的八大优势
下一篇:数字集群移动通信网络体制分析