基于DSP处理器的UMTS Turbo MAP 解码器
图 2 基于窗口的Turbo解码器的高效实现
在这一部分,将讨论Turbo MAP解码器中复杂的度量计算如何在ADI Blackfin处理器上实现,并充分利用Blackfin处理器提供的专用特性高效实现Turbo解码器。
1 状态度量计算实现
图3 第n+1级和第n级计算的蝶形算法
状态度量α和β可由式(4)和式(5)求得,该状态度量的计算可用图3所示的方法得以实现。α由正向(从左到右)计算得到,而β则由反向(从右到左)计算得到。图中,实线和虚线分别对应于输入“1”和“0”的编码。虽然通过分支度量(γ),可以由两个输入状态度量计算出两个输出状态度量(α和β),但这两个度量的输出状态却根据它们各自的输入状态而有所不同。在执行过程中,这一输入和输出状态度量的位置改变,在将数据从ALU寄存器存入存储器和将数据从存储器载入ALU寄存器时,可以通过加载/存储(DAG)模块解决。
图4 UMTS Turbo解码器状态度量估计的高效实现
UMTS Turbo解码过程中,α和β计算在Blackfin处理器上的高效实现如图4。由于Blackfin处理器能以向量模式运行,在单个指令周期执行四个16位加/减操作或两个16位求最大值操作,每一级α的计算需要8个循环周期来完成,而每一级β的计算则需要另外8个周期来完成。
评论