首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于DSP处理器的UMTS Turbo MAP 解码器(3)

基于DSP处理器的UMTS Turbo MAP 解码器(3)

TURBO解码器的实现
  Turbo解码器由两个MAP解码器组成,这两个解码器由一个交织器和解交织器分隔开。由于篇幅有限,我们将不讨论Turbo解码器的完全实现而只讨论性能敏感度最高的“度量计算”部分。
  1度量计算
  式(1)中LLR的值由APP求得,而APP则由式(2)和式(3)计算得到。在计算APP时,我们要用到第n级所有状态下的α (前向状态度量),β(后向状态度量)和γ(分支度量)。在第n级,γ值根据已接收到的信息和第n级的外部信息计算得到,而α用第n-1级的α和第n级的γ计算得到,β则由第n+1级的β和第n级的γ计算得到。换句话说,为了计算第n级的LLR值,我们要同时利用由前n级计算出的α值和由后N-n级计算出的β值,如图1所示。
  
  图1 第n级LLR的计算图解
  2 基于窗口的算法实现
  如图1所示,Turbo解码器工作于符号长度为N的序列或结构上。因此,Turbo解码器的实现就需要一个超大容量的存储器(用来存储所有N级的α、β、γ、LLR、外部信息、接收序列、缓存等等),但是可以通过加窗的方法降低对存储容量的要求。基于加窗口的方法就是将整个数据结构分成一些小的数据块或数据窗(有6K级窗口的重叠,K=M+1,是编码器的约束长度),每次只在一个窗口上执行解码操作。在 MAP 解码中,三个主要的算子是α估计,β估计和LLR估计。在计算当前窗的β和LLR的同时,计算下一个窗中的α,这样就可以平衡ALU和DAG(加载/存储)单元对带宽的需求,如图2所示。
继承事业,薪火相传
返回列表