Turbo译码器中前向递推概率获取方法技术

技术编号:6913099 阅读:362 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种Turbo译码器中获取前向递推概率的方法,目的是减少前向递推概率存储容量,并减少时间开销。技术方案是在获取每个时刻的前向递推概率时,将此时刻所有状态的前向递推概率都减去0状态的前向递推概率,保证所有时刻非0状态的前向递推概率都是偶数,同时也保证所有时刻所有状态的前向递推概率不会溢出,避免了传统方法中通过减去前向递推概率中的最大值来防溢出时所带来的存储面积开销和逻辑延迟。采用本发明专利技术可使得前向递推概率存储器容量减小为(G-1)×(B-1)×W,且使得获取一个时刻的前向递推概率的时间开销只有τsub,极大地提高了译码速率,同时,通过实验模拟仿真,本发明专利技术也可保证与传统方法一样的误码率性能。

【技术实现步骤摘要】

本专利技术涉及一种应用于turbo译码器中的前向递推概率获取方法,属于纠错码领域。
技术介绍
turbo码是一种译码性能优越的前向纠错码,自1993年由C. Berrou, A. Glavieux和P. Thitimajshiwa三人在瑞士日内瓦举办的通信国际年会(ICC)上提出以来,立刻备受关注。目前,Turbo码已经成功地应用到磁介质光介质数据存储、多媒体和有线、无线、光纤、星载通信等多个领域。Turbo译码过程如附图说明图1所示,首先对一帧长度为N的数据正向地计算前向递推概率,然后反向地计算后向递推概率,最后再反向地计算后验概率。后验概率根据前向、后向递推概率来计算,且后向递推概率和后验概率的计算顺序都是反向的,它们可以同时计算, 因此Turbo译码过程必须先正向获取前向递推概率并保存,然后供反向计算后验概率时使用。图2是3GPP LTE通信协议采用的Turbo译码网格图和编码网格图,译码是编码的逆过程,一个Turbo译码器必须有与之相应的Turbo编码器,译码网格图和编码网格图必须相同。图2中箭头方向是网格图的正向,与箭头相反的方向是网格图的反向,前向递推概率按照正向获取,后向递推概率按照反向获取。网格图中,圆圈表示每个时刻的状态,状态的个数由通信协议采用的Turbo编码器决定,状态的个数G等于2d,D是与Turbo译码器相应的编码器中寄存器单元的个数,那么每个状态可以用D位的二进制整数表示,如3GPP LTE 协议编码器中延迟单元个数是3,那么状态的个数就是8个,即000、001、……、111,也可以表示为SpS1........S7,箭头表示从k时刻到k+Ι时刻的状态跳转,称之为路径,每条跳转路径上的乂1;/ 1#4表示的是1^时刻输入为)(1;,输出为?1丨4,)(1;,?11;,?4 e {0,1}。例如,网格图中k时刻的状态是S2,假设输入&为0,那么k时刻的状态就按照)(k/PlkP4等于0/10 路径跳转到k+Ι时刻的状态^。图2中的虚线表示输入&为0,实线表示输入&为1。k+Ι时刻状态s的前向递推概率与k时刻规约到状态s的路径有关,如图2中k+1 时刻S0状态的前向递推概率就与k时刻的S0和A状态有关,因为k时刻的S0和A状态分别有一条路径规约到k+Ι时刻的^状态。设规约到k+Ι时刻状态s在k时刻的状态分别为s/和,获取k+Ι时刻状态s的前向递推概率^㈣的简化公式为Am = max ((Λa+r^kl(Α'Λ+r^k))+/iOT公式一公式一是对Turbo译码算法简化后的公式,称之为MaX*-Log-MAP算法。其中的As,k+1是k+Ι时刻状态s的前向递推概率,s e {Sq、S1........sj,A1J和^^分别是k时刻状态s/和的前向递推概率, υτ是为了补偿公式简化时丢失的精度,称之为查找表 LUT(Look-Up Table)函数,如图7中的曲线示意的就是 ·ωτ函数。是图2中每条路径的分支量度,它的计算公式为rs^k=m(Xk)L(Xk) + Lc(m(Xk)yf +m(Plk)ypkl + (巧力厂讼式二公式二中s' e{s' ”s' J,系统信息<、校验信息Λ"和>f是从无线信道接收到的信息,m(Xk)是图2输入比特&经过反相调制(0调制到1 ;1调制到-1)后的信息,m(Plk)和m(P2k)是输出比特Plk和P2k经过调制后的信息,即m(Xk),m(Plk),m(P2k) e {1,-1},Lc 是信道置信度,先验信息L(Xk)是Turbo译码时的反馈信息。对一帧长度为N的数据,根据图2网格图的正向重复计算N-I次,即完成前向递推概率的获取过程。前向递推概率存储器的宽度B有限,采用二进制补码时,前向递推概率存储器保存的前向递推概率值的范围是-沪―1 2^-1。从公式一看出获取前向递推概率是不断叠加的过程,不可避免地会导致计算的前向递推概率值超出-Ζ—1 的范围,使前向递推概率存储器保存的前向递推概率值发生错误,降低正确性。图3是传统获取前向递推概率的流程图,分为下列几个步骤。第一步初始化时刻计数值k = 0。将k = 0时刻%状态的前向递推概率式。,。设置为0,将k = ο时刻Sl、&........Sg^1状态的前向递推概率今,。、42,。、......、4@。都设置成-2B-1,B是前向递推概率值的宽度,G等于2d,D为Turbo编码器中寄存器单元的个数。第二步从k时刻开始,根据公式一获取k+Ι时刻G个状态的前向递推概率 、AiMI、......、°第三步找出第二步得到的k+Ι时刻G个前向递推概率中的最大值Max Ak+1。实现查找最大值的硬件复杂度与G有关,因为硬件查找多个值的最大值时采用的是2选1的查找逻辑分级查找,级数为log『。查找逻辑中2选1查找逻辑的级数为log『,假设一级2选1查找逻辑的延迟是 τ max,完成第二步总的延迟是log『χ rmax。如图4所示,假设G等于8,那么查找8个前向递推概率中的最大值,需要3级2选1的查找逻辑,完成第二步总的延迟是3 X τ_。第四步前向递推概率防溢出处理。将第二步得到的G个前向递推概率A0Mi > 4#+1、......、都减去第三步找出的最大前向递推概率Max Ak+1,得到k+1时刻G个新的前向递推概率“棚―么,柏、^w_ASiM1、......> new_Asoimi。设减法操作的延迟是Tsub,传统方法获取一个时刻的前向递推概率的时间开销是3X τ_+τ-。第五步保存第四步计算得到的k+Ι时刻G个防溢出处理后的新的前向递推概率 new_As<jMl , new_AhMl , ......、《棚―Am糾到前向递推概率存储器。第六步k= k+1。第七步判断k是否等于N-l,N为一帧数据长度如果不等于,转第二步;如果等于?结束ο传统获取前向递推概率的过程有两个缺点一是前向递推概率存储器必须容量大,假设每个前向递推概率值的宽度是B,那么前向递推概率存储器总容量为GXBXN。尤其是随着通信协议的不断发展,N值越来越大,前向递推概率所需要的存储空间也越来越大。第二个缺点是时间开销大,主要是第二步查找G个前向递推概率最大值需要log『级逻辑来实现,导致总的时间开销是log『xrmax +Tsub。针对传统计算方法的第一个缺点,相关学者提出滑窗算法以减少前向递推概率存储器容量,如图5所示。滑窗算法将一帧长度为N的待译码数据分成S个段,称之为“窗”, 每个窗的长度为W,即N = SW。滑窗算法的流程如图6所示,分为下列步骤。第一步初始化窗计算值j = 1。第二步初始化时刻计数值k = 0 ;将k = 0时刻S0状态的前向递推概率么,。设置为0,将k = ο时刻Sl、&........Sg^1状态的前向递推概率今,。、42,。、......、4@。都设置成-2B-1,B是前向递推概率值的宽度,G等于2d,D为Turbo编码器中寄存器单元的个数。第三步从窗j的k时刻开始,根据公式一获取k+1时刻G个状态的前向递推概率 、AiMI、......、°第四步找出A。,w、\mi ^ ......、冲的最大值Max Ak+本文档来自技高网...

【技术保护点】
1.一种Turbo译码器中前向递推概率获取方法,其特征在于包括以下步骤:第一步:初始化窗计算值j=1;第二步:初始化时刻计数值k=0,将k=0时刻s0状态的前向递推概率设置为0,将k=0时刻s1、s2、......、sG-1状态的前向递推概率都设置成-2B-1,B是前向递推概率值的宽度,G等于2D,D为Turbo译码器相应的Turbo编码器中寄存器单元的个数。第三步:从窗j的k时刻开始,根据公式一获取k+1时刻G个状态的前向递推概率公式一中的fLUT因子量化成偶数QLUT,即(math)??(mrow)?(msub)?(mi)A(/mi)?(mrow)?(mi)s(/mi)?(mo),(/mo)?(mi)k(/mi)?(mo)+(/mo)?(mn)1(/mn)?(/mrow)?(/msub)?(mo)=(/mo)?(munder)?(mi)max(/mi)?(mrow)?(msup)?(msub)?(mi)s(/mi)?(mn)1(/mn)?(/msub)?(mo)&prime;(/mo)?(/msup)?(mo),(/mo)?(msup)?(msub)?(mi)s(/mi)?(mn)2(/mn)?(/msub)?(mo)&prime;(/mo)?(/msup)?(mo)&RightArrow;(/mo)?(mi)s(/mi)?(/mrow)?(/munder)?(mrow)?(mo)((/mo)?(mrow)?(mo)((/mo)?(msub)?(mi)A(/mi)?(mrow)?(msup)?(msub)?(mi)s(/mi)?(mn)1(/mn)?(/msub)?(mo)&prime;(/mo)?(/msup)?(mo),(/mo)?(mi)k(/mi)?(/mrow)?(/msub)?(mo)+(/mo)?(msub)?(mi)&gamma;(/mi)?(mrow)?(msup)?(msub)?(mi)s(/mi)?(mn)1(/mn)?(/msub)?(mo)&prime;(/mo)?(/msup)?(mo)&RightArrow;(/mo)?(mi)s(/mi)?(mo),(/mo)?(mi)k(/mi)?(/mrow)?(/msub)?(mo))(/mo)?(/mrow)?(mo),(/mo)?(mrow)?(mo)((/mo)?(msub)?(mi)A(/mi)?(mrow)?(msup)?(msub)?(mi)s(/mi)?(mn)2(/mn)?(/msub)?(mo)&prime;(/mo)?(/msup)?(mo),(/mo)?(mi)k(/mi)?(/mrow)?(/msub)?(mo)+(/mo)?(msub)?(mi)&gamma;(/mi)?(mrow)?(msup)?(msub)?(mi)s(/mi)?(mn)2(/mn)?(/msub)?(mo)&prime;(/mo)?(/msup)?(mo)&RightArrow;(/mo)?(mi)s(/mi)?(mo),(/mo)?(mi)k(/mi)?(/mrow)?(/msub)?(mo))(/mo)?(/mrow)?(mo))(/mo)?(/mrow)?(mo)+(/mo)?(msub)?(mi)f(/mi)?(mi)LUT(/mi)?(/msub)?(/mrow)?(/math)公式一公式一中的As,k+1是k+1时刻状态s的前向递推概率,s∈{s0、s1、......、sG-1},和分别是k时刻状态s1’和s2’的前向递推概率,s1’和s2’是规约到k+1时刻状态s在k时刻的状态,fLUT是为了补偿公式简化时丢失的精度,称为查找表LUT函数,γs′→s,k是Turbo译码网格图中每条路径的分支量度,计算公式为:(math)??(mrow)?(msub)?(mi)&gamma;(/mi)?(mrow)?(msup)?(mi)s(/mi)?(mo)&prime;(/mo)?(/msup)?(mo)&RightArrow;(/mo)?(mi)s(/mi)?(mo),(/mo)?(mi)k(/mi)?(/mrow)?(/msub)?(mo)=(/mo)?(mi)m(/mi)?(mrow)?(mo)((/mo)?(msub)?(mi)X(/mi)?(mi)k(/mi)?(/msub)?(mo))(/mo)?(/mrow)?(mi)L(/mi)?(mrow)?(mo)((/mo)?(msub)?(mi)X(/mi)?(mi)k(/mi)?(/msub)?(mo))(/mo)?(/mrow)?(mo)+(/mo)?(msub)?(mi)L(/mi)?(mi)c(/mi)?(/msub)?(mrow)?(mo)((/mo)?(mi)m(/mi)?(mrow)...

【技术特征摘要】

【专利技术属性】
技术研发人员:陈书明刘威孙永节郭阳万江华许邦建陈胜刚
申请(专利权)人:中国人民解放军国防科学技术大学
类型:发明
国别省市:43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1