一种Turbo码译码器中状态度量溢出控制方法

文档序号:7504505阅读:364来源:国知局
专利名称:一种Turbo码译码器中状态度量溢出控制方法
技术领域
本发明属于通信领域或移动通信领域,特别涉及一种Turbo码译码器中状态度量溢出控制方法。
背景技术
Turbo码自从1993年被提出以来,得到了广泛的应用。其采用软输出迭代译码来逼近最大似然译码,获得了接近信道容量极限的性能。在3GPP提出的长期演进(Long Term Evolution, LTE)项目的协议中就采用了 Turbo码作为信道编码方式。Turbo译码采用软输出迭代译码,其译码器结构由两级软输入软输出(SISO)译码单元DECl和DEC2组成。译码时,DECl译码产生的软输出(即外信息)作为DEC2的输入, DEC2将此信息作为先验信息进行译码,同样得到一个软输出,将该软输出作为DECl的输入,进行下一次译码,如此多次迭代,直到软输出趋于稳定,由于实际计算过程中状态度量的量化比特数有限,因此在运算若干步后会导致状态度量的溢出,从而导致译码错误,这样就需要对状态度量进行防溢出操作,传统的防溢出方法是归一化防溢出,即在计算出状态度量后将每个状态度量减去所有状态度量的最大值,归一化后的状态度量值用于下一时刻的递推计算。这种做法在每一步都需要进行归一化操作,而且归一化操作需要等到当前时刻所有的状态度量都已计算出来才能进行,而且运算量较大,增加了延时,使得译码器的吞吐量受到很大的影响。

发明内容
为了克服上述现有技术的缺点,本发明的目的在于提供一种Turbo码译码器中状态度量溢出控制方法,使得防溢出运算变得简化,使得译码器具有高的吞吐量。为了达到上述目的,本发明采取的技术方案为一种Turbo码译码器中状态度量溢出控制方法,包括以下步骤1)、根据当前时刻k递推的η个时刻前及之前的各状态的对数度量值的大小决定当前拍的分支度量的修正值△,对数度量值即前向状态度量ak_n(s)或后向状态度量 3k+n(s),n为不小于2的整数;2)、计算当前时刻k的分支度量,并进行修正;3)、根据修正后的分支度量计算当前时刻k的状态度量,即前向状态度量α k(s) 或后向状态度量β k(s),并进行限幅,限幅是根据状态度量的量化比特数确定状态度量的范围,即最小值min和最大值max,计算结果大于最大值max时,状态度量取值为max ;计算结果小于最小值min时,状态度量取值为min,限幅后的状态度量供下一步递推使用。所述的步骤1)中根据当前时刻k的η拍前及之前的状态度量值决定修正值Δ采用以下方法前向递推时,
权利要求
1.一种Turbo码译码器中状态度量溢出控制方法,其特征在于,包括以下步骤1)、根据当前时刻k递推的η个时刻前及之前的各状态的对数度量值的大小决定当前拍的分支度量的修正值△,对数度量值即前向状态度量ak_n(s)或后向状态度量i3k+n(s), η为不小于2的整数;2)、计算当前时刻k的分支度量,并进行修正;3)、根据修正后的分支度量计算当前时刻k的状态度量,即前向状态度量Cik(S)或后向状态度量β k(s),并进行限幅,限幅是根据状态度量的量化比特数确定状态度量的范围, 即最小值min和最大值max,计算结果大于最大值max时,状态度量取值为max ;计算结果小于最小值min时,状态度量取值为min,限幅后的状态度量供下一步递推使用。
2.根据权利要求1所述的一种Turbo码译码器中状态度量溢出控制方法,其特征在于, 所述的步骤1)中根据当前时刻k的η拍前及之前的状态度量值决定修正值△采用以下方法前向递推时,C, αλ max αλ (^) + a2 max a2 (^) H-----h ak_n max ak_n (s) < T 且Λ > ηΔ=s、0, αχ max αχ (s) + α2 max α2 (^) H-----h ak_n max ak_n (s) > T 或Λ < η、SSS后向递推时,C, bx maxβΝ(s) + b2 maxβΝ—λO) + …+ bN_k_n+l maxfik+n(s)<TKk + n<NΔ=s0, \ max βΝ(s) + b2 maxβΝ_χO) + …+ bN—k—n+l max Pk+n(s)>T ^k+ n> N、sss其中T为设定的门限,C为正整数,N为码长,ai , ,…,ak_n和Id1,b2,…bN_k_n+1为加权系数, +a2+" +ak_n = 1,bi+b2+…+bN_n_k+1 = 1,其中加权系数的大小根据实际情况来分配。
3.根据权利要求1所述的一种Turbo码译码器中状态度量溢出控制方法,其特征在于, 所述的步骤幻中分支度量计算的方法如下2. 1)、确定分支度量的基础偏移量Yshift,其中基础偏移量Yshift的选择使得在未加修正值Δ时,各分支度量加上基础偏移量Yshift后,最大值不超过0 ;2. 2)、分支度量在原始的计算结果上加上基础偏移量Yshift和修正值Δ,得到最终的分支度量。
全文摘要
一种Turbo码译码器中状态度量溢出控制方法,先根据当前时刻k递推的n个时刻前及之前的各状态的对数度量值的大小决定当前拍的分支度量的修正值Δ,再计算当前时刻k的分支度量,并进行修正,最后根据修正后的分支度量计算当前时刻k的状态度量,并进行限幅,计算结果大于最大值max时,状态度量取值为max;计算结果小于最小值min时,状态度量取值为min,限幅后的状态度量供下一步递推使用,本发明能够保证Turbo码MAP译码算法过程中前后向递推过程的状态度量不会溢出,判断的操作可提前完成,支持用流水的方法实现防溢出控制,降低防溢出对状态度量递推速度的影响,从而提高硬件实现中递推的速度,提高译码的吞吐量。
文档编号H03M13/29GK102270994SQ201110078199
公开日2011年12月7日 申请日期2011年3月30日 优先权日2011年3月30日
发明者关安福, 周世东, 孙引, 张秀军, 李云洲, 肖立民, 陈翔 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1