一种并行级连卷积码硬件解码装置的实现方法

文档序号:7537154阅读:244来源:国知局
专利名称:一种并行级连卷积码硬件解码装置的实现方法
技术领域
本发明属于通信技术领域,尤其涉及一种纠错码解码装置的简化实现。
传统的解码装置采用多级迭代解码,在现有的硬件实现的迭代解码算法中(Berrou,C.,Glavieux,A.And Thitimajshima,P.Near Shannon Limit Error-CorrectingCoding and DecodingTurbo Codes,Proc.Of ICC’93,1064-1070),需要存储器来存放中间状态值。当数据量比较大时,存储器的使用数量就会急剧增加,读写变得很频繁。若采用片外存储器芯片,又会使得解码器的运算速度受到限制。解码的时间延迟与待解码的数据数量成正比关系,会随着待解码数据的增多而迅速增加。
本发明的装置是Turbo码解码算法中减少存储器数据的吞吐量的具体实现,涉及硬件逻辑资源的使用方法。
本发明的装置所使用的解码算法是对数域上的最大后验概率译码准则(LOG-MAP),包括以下四个基本单元前向状态度量单元(Forward State Metric Calculator,即FSMC)、反向状态度量单元(Reverse State Metric Calculator,即RSMC)、支路度量单元(Branch Metric Calculator,即BMC)和对数似然比计算单元(Log LikehoodRatio Calculator,即LLRC)。采用在对数域的计算,可以将乘除法运算变为加减法运算,降低计算复杂度。
本发明的装置需要存储的中间状态值是前向状态度量(FSM)和支路状态度量(BM),这样可以方便的计算反向状态度量(RSM),并保证最终得到的似然比是同步输出的。
本发明的装置为了节省FSMC和RSMC对于存储器的需求,在采用现场可编程逻辑门阵列(FPGA)实现时,通过增加逻辑资源的使用来换取存储器数据吞吐量的减少。具体方法是使用两套RSMC,使用的两个RSMC同时工作,并从不同的初始时刻开始迭代,选取正确的数据输出部分,迭代初始时刻的选择不依赖于待解码数据的数量N,而选取一个数值L,满足L<<N。状态度量可以从任何时刻开始递推。若选择的初始递推时刻不是最后一个待解码数据进入解码装置的时刻,则在开始若干长度内计算出的度量值肯定不正确,但是经过一段时间的状态转移后(一般所需时间为经历几个卷积码的约束长度),度量值将和从末状态递推的情况一样是正确的,这就保证了解码算法的正确性。
本发明在实际应用时,可以根据具体性能要求采用不同的L值。L的取值越大,则存储器的使用数量就越多,吞吐量也就越大。反之,吞吐量会降低。但是应该注意的是在本发明的应用过程中,L的值不能取得过小,否则RSMC计算得到的结果会因为反向递推的次数过少而无法逼近于传统算法的性能。一般,可以是到N的整数,但一般取为2的整数次幂,常数16、32或64。
本发明有益效果本发明的优越性在于解码实现过程中存储单元的数据吞吐量不依赖于待解码数据的数量N,而仅仅取决于数值L,并且L大于成员卷积码编码器的约束长度的5倍即可满足要求。一般情况下,N>>L即可以满足要求,使用存储器的数量可以大大减少。因为同步计算原因而需要存储的FSM也相应成正比减少,使得存储器的数据吞吐量减少。本发明装置的解码时间延迟低,只要完成L个前向状态度量和反向状态度量的计算和存储,即可进行对数似然比的计算,缩短了LLRC的空闲等待时间,使得解码数据输出的时刻提前。
图6为增加两个反向状态度量单元的解码单元实现框图;图7为使用非对数域MAP算法的解码单元实现框图;图8为max-log-MAP译码算法的解码单元实现框图;图9为实现BMC的一种硬件结构;

图10为实现FSMC的一种硬件结构。
附图1.传统对数域上的最大后验概率译码算法的实现框图。其中1为支路度量单元BMC,2为前向状态度量单元FSMC,3为反向状态度量单元RSMC,4为对数似然比计算单元LLRC,5为存储器单元,存储器的大小和待解码的数据长度N相同。
为描述方便作如下约定待解码数据中原始信息比特部分xk,待解码数据中校验信息比特部分yk,对数似然比输出Lk。
附图2.本发明使用的实现框图。其中3_I和3_II为两个反向状态度量单元RSMC,6也是存储器单元,但是和附图1中的存储器单元5是有区别的,其存储容量和L值相同。也就是说存储单元6的容量一般远小于存储单元5的容量。
传统算法中,要等到所有N长度的待解码数据对应的FSMC和RSMC计算并存储之后,才能启动Lk的计算,译码的延时大。具体的时序关系图参见附图3。
本发明中在原有的结构基础上,增加了一组反向状态度量单元3,并同时工作。解码的时序关系参见附图4所示xk和yk输入到本单元,通过支路度量单元1计算支路度量值并存储,延迟2L个时刻,启动前向状态度量单元2从初始状态计算前向状态度量值,其计算结果始终是正确的;现有两个反向状态度量计算单元3,单元3_I在2L时刻启动,读出BM(2L)---BM(0)值计算反向状态度量RSM_I,注意从RSM_I(2L)---RSM_I(L)是不可靠的,在图中用虚线表示,单元3_II在3L时刻启动,读出BM(3L)--BM(L)值计算反向状态度量RSM_II,而RSM_II(3L)---RSM_II(2L)是不可靠的,在图中用虚线表示。从3L时刻开始,从RSM_I、RSM_II中选择可靠的一方作为反向状态度量RSM,取该时刻前已计算好并存储的前向状态度量FSM,计算输出对数似然比Lk。本发明因为增加了一个反向状态度量计算单元,换来存储器使用的大幅减少。
下面以WCDMA中下行384k的业务为例,在一个解码单元中,存放BM需要4L×32=128L bit存储空间,存放FSM需要2L×64=128L bit存储空间,取L=32,则一共需要8192 bit存储空间。可以看出,该简化算法有如下优点考虑输入编码数据6bit量化,仿真结果参见附图5,可以表明本发明得到的中间变量与普通LOG-MAP算法无异,没有影响解码性能,但却可以节省大量存储空间,因此可以在单片FPGA中实现,不需要受访问外存的速度限制,可以极大地利用FPGA的硬件速度,提高解码速率;似然比Lk可以连续输出,仅仅延迟3L个时刻,在另一方面节约了时间,速度提高了将近一倍。
在WCDMA系统中实现Turbo解码,本发明在解码单元内部解卷积码时采用上述修正的LOG-MAP算法,时间上高速重复利用解码单元完成四级解码。只需得到数据块大小N的指示,根据协议提出的Turbo码内部交织方案实时计算产生解码所需的交织图案。实施例的实现采用了一片Altera公司的APEX20K400,输入的编码后数据为6bit,BM、FSM、RSM和Lk值都为8bit,共用了4795个逻辑单元和167680bit存储器。片内采用30M时钟,对于成员卷积码的8个状态采用并行处理方式,即一个时钟处理一个数据的8个状态值,时间上重复利用解码单元做完四级解码,因此解码能够达到的最大数据速率为30M/(4×2)=3.75M bit/s,达到了WCDMA规定的数据速率2M bit/s的要求。
针对WCDMA协议中384k业务,数据块大小为4224,在AWGN信道,各个给定信噪比的条件下对硬件解码器进行Turbo解码性能的仿真,一共仿真了4224×1000=4224000个数据。仿真结果如附图5所示。可以看出来,随着解码级数增加,解码性能得到显著提高。我们所实现的四级解码,在信噪比1.8dB时,解码后的误比特率为7.5758e-006。
需要说明的是本发明可以应用于对数域上的最大后验概率译码算法(LOG-MAP),也可以应用于其它类似的使用存储器存储中间状态的译码算法,当采用其它Turbo码译码算法进行解码,只要算法中同样涉及到使用存储器完成中间状态的存储时,本发明的装置就可以继续使用。例如工程上广泛使用的变形算法max-log-MAP算法,就是一例。由于对数域的MAP算法计算量仍旧较大,所以可以做进一步的简化,采用了数学上的一个近似ln(Σiex1)≈maxi(xi)]]>这样将对数运算转化为求最大值运算,运算的复杂度降低了,也就是说各个状态度量都变为求最大值的运算。但是,与对数域MAP算法类似,此算法仍旧需要存储中间计算得到的前向状态度量(FSM)和支路状态度量(BM)。附图6给出了max-log-MAP算法的实现框图。其中,支路度量单元7,前向状态度量单元8,反向状态度量计算单元9和似然比计算单元10都应用了max-log-MAP算法。存储器单元6就是本发明中所使用的存储器,整体结构没有大的变化。
本发明提出的解码装置中增加了一个反向状态度量单元,大大减少了存储器的吞吐量。可以增加更多的反向状态度量单元,进一步减少存储器单元的效率。但是增加的数量不能过多,否则会使硬件逻辑的复杂度加大,时序控制也变得繁琐。一般来说,使用两个反向度量的结果已经是比较满意的。附图7给出了增加了两个反向状态度量单元的实现框图。图中具体单元的实现与附图2中的相应部分一致。
本发明提出是基于对数域的,目的在于减少计算复杂度,利于工程实现。但是从原理上说,本发明的结构完全适用于非对数域上的解码实现(这种算法可以称之为非对数域MAP算法),只是计算复杂度高。附图8给出了在非对数域内完成解码的框图。
本发明可以适用于时间上高速重复利用解码单元的解码流程,也可以适用于非复用的解码流程。
下面给出一种适用于本发明的各个度量单元的具体实现,以作为具体完成解码单元的参考。附图9给出支路度量单元(BMC)的一种实现方案,其中|xk|和|yk|分别是对输入xk和yk完成取绝对值运算,BMki,j(i,j∈{0,1})为计算得到的支路度量(BM)。附图10给出了前向状态度量单元(FSMC)的一种实现方案,其中min单元为求最小值运算,E单元是将对应的BM和FSM相加后,再通过查表完成对数求值。从图中可以清楚看到FSM迭代的过程,即如何从k-1状态的FSM求得k状态的值。反向状态度量单元(RSMC)的实现与FSMC的实现非常类似,要注意的是应该从k状态的RSM反推得到k-1状态的值。对数似然比计算单元(LLRC)当中也是使用E单元和min单元来判决输出最终的似然比,在此就不再绘制RSMC和LLRC的实现框图。
权利要求
1.一种并行级连卷积码硬件解码装置的实现方法,其特征在于采用在传统解码装置的基础上使用两套反向状态度量单元,两套单元同时工作,并从不同的初始时刻开始迭代,选取正确的数据输出部分,迭代初始时刻的选择不依赖于待解码数据的数量N,而选取一个数值L,满足L<<N;
2.如权利1要求所述的一种并行级连卷积码硬件解码装置的实现方法,其特征在于所述L的取值可以是1到N的整数,但一般取为2的整数次幂,经常采用的值是16、32和64;
3.如权利1要求所述的一种并行级连卷积码硬件解码装置的实现方法,其特征在于可以应用于对数域上的最大后验概率译码算法(LOG-MAP),也可以应用于其它类似的使用存储器存储中间状态的译码算法;
4.如权利1要求所述的一种并行级连卷积码硬件解码装置的实现方法,其特征在于增加的反向状态度量单元可以不止一个,可以增加两个或者两个以上的反向状态度量单元,换取存储器使用的进一步减少,但是增加的数量不能过多,否则会使硬件逻辑的复杂度加大,时序控制也变得繁琐。一般来说,使用两个反向度量的结果已经是比较满意的;
5.如权利1要求所述的一种并行级连卷积码硬件解码装置的实现方法,其特征在于不仅可以适用于对数域的解码算法,也可以适用于非对数域的解码算法;
6.如权利1要求所述的一种并行级连卷积码硬件解码装置的实现方法,其特征在于各个内部单元如1、2、3和4的具体实现是不唯一的,可以采用各种适用的方式来实现;
7.如权利1要求所述的一种并行级连卷积码硬件解码装置的实现方法,其特征在于可以适用于时间上高速重复利用解码单元的解码流程,也可以适用于非复用的解码流程。
全文摘要
本发明的装置为了节省FSMC和RSMC对于存储器的需求,在采用现场可编程逻辑门阵列(FPGA)实现时,通过增加逻辑资源的使用来换取存储器数据吞吐量的减少。具体方法是使用两套RSMC,使用的两个RSMC同时工作,并从不同的初始时刻开始迭代,选取正确的数据输出部分。其优越性在于解码实现过程中存储单元的数据吞吐量不依赖于待解码数据的数量N,而仅仅取决于数值L,并且L大于成员卷积码编码器的约束长度的5倍即可满足要求。一般情况下,N>>L即可以满足要求,使用存储器的数量可以大大减少。因为同步计算原因而需要存储的FSM也相应成正比减少,使得存储器的数据吞吐量减少。
文档编号H03M13/00GK1378345SQ02100429
公开日2002年11月6日 申请日期2002年1月30日 优先权日2002年1月30日
发明者卫国, 黄源良, 赵春明 申请人:信息产业部电信传输研究所, 中国科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1