专利名称:使用并行处理的turbo解码器的制作方法
技术领域:
本发明广义上涉及解码器,具体地是涉及一种缩短后验概率(APP)的计算的处理时间并且适用于并行处理结构的Turbo解码器。
背景技术:
通过无线电通讯信道传递的数据会遭受信道噪声、信道衰减以及来自其他信道的干扰。结果,在目的地接收到的数据通常会被信道从这些来自信号源的干扰“改变”。为了保证无错传输,数据在传输之前被信道编码器编码以使数据接收器检测或校正误差。例如,如果位0被编码为000且位1被编码为111,那么当一位误差发生时,000可能会变成100,111可能会变成101。接收器能够通过“多数规则”或汉明距离将100校正为000(位0),将101校正为111(位1)。接收器负责校正误差的部分被称之为信道解码器。
Tubor编码器和解码器用于新兴的高速电信传输系统,例如陆地数字电视通信系统,第三代无线(例如,WCDMA)通信系统。Turbo解码器已经被证实在AWGN和瑞利衰落信道都接近误差校正极限。
不管误差校正效率,然而,Turbo解码器加强了计算。为了满足实时性能(例如,几毫秒),它通常在ASIC中实现。如果一个Turbo解码器要在DSP或者CPU中运行的软件里实现,那么在软件界定的无线电通信环境下,它的实时性能会被改善。
3GPP Turbo编码器(图1)由被交织器分隔开的平行连接的两个相同的RSC(递归系统卷积)编码器组成。长度为K的信息字U由第一RSC编码器编码,被交织的信息字由第二RSC编码器编码。交织器通过重新排序至第二RSC的输入位而对输入到两个RSC的内容解相关,使得来自两个RSC的编码位不可能同时具有低权重的码字。还有,它有助于编码位应付猝发噪声。在3GPP Turbo编码器中,使用的是伪随机块交织器。两个RSC的编码字都被网格末端(trellis termination)终结。Turbo编码字由系统位和两个奇偶校验位组成(U,XP1,XP2)。
如图2所示,标准的Turbo解码器由两个级联的SISO(软输入,软输出)模块组成,系统位和奇偶校验位的每一组使用一个模块,(U′,XP1′)和(U′,XP2′),其中XP1′和,XP2′分别表示XP1和XP2的噪声模型,U′是相同的(U指的是信息字)。SISO模块是后验概率(APP)解码器也就是熟知的最大后验(MAP)解码器。这两个SISO模块被相同的交织器(作为编码器)和它的后向模块,去交织器分开。依据对来自信道的位的接收和先验信息,每个SISO模块用熟知的前向和后向算法计算每个位的对数后验比值。一旦SISO计算出所有位的对数后验比值,它根据来自全部后验值的输入分离概率实体(probabilistic entity),然后将它们传给其它SISO模块。这个概率实体通常被称作外部信息(图2中的L12和L21),为其它SISO模块用作先验信息。该两个在迭代方案中运行的SISO模块相互交换外部信息。当完成所需要数目的迭代后,根据一直到该迭代的累积的软信息做出硬判决(hard decision)。
先验概率比值的对数可以写作L(uk)=log(P(uk=+1|y)P(uk=-1|y))=log(∑s+p(Sk-1,Sk,y)/P(y)∑s-p(Sk-1,Sk,Sk+1y)/P(y)),---(1)]]>其中S+和S-表示由各自数据输入uk=+1和uk=-1产生的所有可能的状态转换的集合,y表示观察值的集合,y=(y1,…,yk),其中yk=(uk‘,xk‘),k=1,…K。注意,y∈(U’,XP1’,XP2’)。
通常,后验概率(posterior probablity)可以通过计算加权似然来获得,其中权重是由事件uk的先验概率提供的。加权似然的直接估算需要十分巨大数目的状态模式,其与序列长度K是成比例的。因为组合的复杂性,所以即使是合理长度的序列也没有计算的可行性。
为了减小计算量,经常用一种有效的方法,即众所周知的前向和后向算法。在这个算法中,后验概率P(uk|y)被分解成下面三项-前向变量,αk(.),-后向变量,βk(.),-状态转换概率,γk(.,.)。
αk(.)是在时间k观察值y1,…,yk和状态的联合概率,也就是αk(s)=P(Sk,y1,…,yk)。βk(.)代表在时间k给定状态的未来观察值的条件概率,βk(s)=P(y1,…,yk+1|Sk)。γk(.,.)是从k-1到k由uk导致的状态转换的概率,并且表达为γk(S’,S)=P(Sk=S,yk/Sk-1=S’)。
递归计算αk(s)的过程是按照αk(S)=Σs′αk-1(S′)γk(S′,S)]]>实现的。
对于βk(s),进行递归为βk(S)=Σs′βk+1(S′)γk+1(S′,S).]]>由于Turbo编码器被期望在状态1开始和终止,αk(.)和βk(.)的初始条件是已知的并且分别给成α0(s)=δ{S,1},βk(s)=δ{S,1},其中δ{γ,},表示Kroneckerδ。
作为函数f(αk(.),βk(.))的后验实体L(uk)的计算相当于P(uk|y)=ΣS*αk-1(s′)γk(S′,S)βk(S)P(y)---(2)]]>其中S*是由对应于所有由uk=+1/-1造成的状态转换的状态对的集合,P(y)是标准化常量。
前向和后向算法被概括为-计算γk(.,.),k=1,2…,K;-计算αk(.,.)前向递归,k=1,2…,K;-计算βk(.,.)后向递归,k=K,K-1,…0;-计算(2)以构成(1)发明内容本发明是一种用对数后验概率比值L(uk)解码的方法,L(uk)为前向变量α(.)和后向变量β(.)的函数。该方法包括将前向变量α(.)和后向变量β(.)分成例如p和q两个部分,这里p加q等于码字U的长度。前向部分α(.)被并行地计算,后向变量β(.)被并行地计算。利用并行地计算的α(.)和β(.)的部分计算出比值L(uk)。第一前向部分从起始于α0(.)的α1(.),…,αp(.)计算,第二前向部分从起始于估算的αp(.)的αp+1(.),…,αk(.)中计算。第一后向部分从起始于βk(.)的βk(.),…,βq+1(.)计算,第二后向部分从起始于估算的βq+1(.)的βq(.),…,β1(.)计算。
为了获得估算的起始点αp+1(.),从p-d+1迭代计算前向变量,其中d是任意时间量,并且在时间p-d+1的状态被认定为均匀随机变量。类似的,对βq+1(.)来说,后向变量从q+d计算,并且在时间q+d的状态也被认定为均匀随机变量。并没有有教益的现有技术主张将在时间p+d-1和q+d的状态认定为均匀随机变量。
任意时间量d在1到20的范围内或者可以在15到20的范围内。此外,估算概率的起始点也可以是一个预定的状态。这个预定的状态可以是一除以可能状态数。
该方法可以包括将前向变量α(.)和后向变量β(.)分成多于两个的部分,并且每个前向和后向部分都被并行地计算。
在一个包括解码器的信号接收器中执行处理。
通过以下结合附图对本发明的详细说明,本发明的这些和其它方面将会变得明显。
图1是现有技术的3GPP Turbo解码器的结构图;图2是现有技术的3GPP Turbo解码器的结构图;图3是现有技术的Turbo解码器和本发明的Turbo解码器在不同的信噪比(SNR)下的位误差率(BER)的曲线图;图4是现有技术的Turbo解码器和本发明的Turbo解码器在不同的SNR下的块误差率(BLER)或分组误差率的曲线图。
具体实施例方式
标准Turbo解码算法的一个问题是如果输入序列K的大小很大,那么计算上述的前向和后向变量的时间增加,当我们执行前向和反向算法时产生较长的等待时间。K可以达到5114位。为了减小αk(.)和βk(.)计算的时间,输入数据被分割成M个部分并且同时为M个部分计算αk(.)和βk(.)。用这种分割法会产生切断损失;然而,仿真结果表明当M=2时该损失可以忽略不计。
理论上,并行方法将计算简化到接近原始的αk(.)和βk(.)计算量的1/M(例如,M=2时是1/2)。并行计算用于计算αk(.)和βk(.),其为Turbo解码器中运算最密集的部分。
下面将以M=2为例讨论该并行算法。对于M>2,算法是类似的。该算法由以下步骤组成1.将前向和后向变量分成大小分别为p和q的两个并行的部分,在此,p+q=K。
2.通过以下四个过程同时计算这四个部分-过程1从α0(.)开始计算α1(.),…,αp(.);-过程2从估算的αp(.),假定为α‘p(.)开始计算αp+1(.),…,αk(.);-过程3从βk(.)开始计算(向后)βk(.),…,βq+1(.);-过程4从估算的βq+1(.),假定为β‘q+1(.)开始计算(向后)βq+1(.),…,β1(.)。
过程1和3用已知的起始点(具有减小的大小)进行规则的Turboα和β运算,过程2和4需要估算的起始点。
以下的算法可以用于获得过程2的α‘p(.)及过程4的β‘q+1(.)。第一次迭代从αp-d+1(.)开始,其中d是任意时间过程量。在时间p-d+的状态被看作均匀随机变量。这一点意味着发生在p-d+1的特定状态的概率是1/8,因为3GPP Turbo编码器具有8种系统状态。结果,αp-d+1(.)=1/8,βq+d(.)也这样。从这个统一的先验开始,当过程达到p时,产生估算值α‘p(.),当过程达到q+1时,产生估算值β‘q+1(.)。
从观察值中为间隔d抽取的信息量是与d成比例的。较长的d会给出较好的初始估算值。然而,由于在d步骤过程中的计算产生“开销”,所以d应该增加某一限度以上。虽然d可以在1-20的范围内,但仿真表明d=12~15时结果最佳。从第二次迭代开始,αp-d+1(.)和βq+d(.)可以以与第一次迭代相同的方式选择,或者采用前面迭代中的可用的过程1和过程3产生的值。
由信噪比(SNR)定义仿真情况。对于每个情况,随机产生2000个大小为5114比特的数据包,进行Turbo编码,并且受到AWGN噪声。被“扰乱”的数据包运行通过常规的已有的Turbo解码器和本发明的并行的Turbo解码器。对于本发明的并行的Turbo解码器,在并行算法中分割数M=2并且初始估算的长度d=20,使用之前迭代的适当值作为当前迭代的初始估算的起始点。
图3和图4比较了在不同的SNR下常规Turbo解码器和并行Turbo解码器的BER(比特误差率)和BLER(块误差率或者包误差率)。结果非常接近,在图表中无法辨别。
尽管范例中部分数M=2,但也可以采用更大数目的M。在这种情况下,方程将会有以下通式L(uk)=f(αk(.),βk(.))。估算的起始点的定义可以是αp(.),…,αw(.)和βw(.),…,βq+1(.)。前向变量的部分被如下计算α1(.),…,αp(.),起始于α0(.)αp+1(.),…,αq(.),起始于αp(.)αw+1(.),…,αk(.),起始于αw(.)后向变量的部分被如下计算βk(.),…,βw+1(.),起始于βk(.)βw(.),…,βr+1(.),起始于βw+1(.)βq(.),…,β1(.),起始于βq+1(.)。
对前向变量的起始点从如下估算αp-d+1(.),…,αp(.)和αw-d+1(.),…,αw(.);和对后向的部分从如下估算βw+d(.),…,βw(.)和βq+d(.),…,βq(.)这里,d是任意时间过程量。
还应该注意的是即使已经论述了Turbo解码器,但任何应用后验概率解码的系统都可以使用本发明。
尽管已经详地细描述和图解了本发明,但是应该清楚地理解的是,仅仅做出图解和实施例并不构成对本发明的限制。本发明的精神和范围仅通过所附权利要求来限定。
权利要求
1.一种Turbo解码器利用对数后验概率L(uk)的方法,其中L(uk)=f(αk(s),βk(s)),该方法包括将前向变量α(.)和后向变量β(.)分成M个大小为p,q…w的并行的部分,这里p+q,…+w等于码字U的长度;并行地计算前向变量α(.)和后向变量β(.)的所述部分;和利用并行地计算出的α(.)和β(.)的所述部分计算L(uk)。
2.如权利要求1所述的方法,其中前向变量部分被如下计算α1(.),…,αp(.),起始于α0(.)αp+1(.),…,αq(.),起始于αp(.)αw+1(.),…,αk(.),起始于αw(.);及后向变量部分被如下计算βk(.),…,βw+1(.),起始于βk(.)βw(.),…,βr+1(.),起始于βw+1(.)βq(.),…,β1(.),起始于βq+1(.)。
3.如权利要求2所述的方法,其中,起始点αp(.),…,αw(.)是估算的,起始点βw(.),…,βq+1(.)是估算的。
4.如权利要求3所述的方法,其中对前向变量的起始点从如下估算αp-d+1(.),…,αp(.)αw-d+1(.),…,αw(.);和对后向部分从如下估算βw+d(.),…,βw(.)βq+d(.),…,βq(.)这里,d是任意时间过程量。
5.如权利要求4所述的方法,其中d在1到20的范围内。
6.如权利要求4所述的方法,其中d在15到20的范围内。
7.如权利要求4所述的方法,其中用于被估算的状态的起始点是均匀随机变量。
8.如权利要求4所述的方法,其中用于被估算的状态的起始点是一个预定的状态。
9.如权利要求4所述的方法,这个被估算状态的起始点可以是一除以可能状态数。
10.如权利要求1所述的方法,其中所述部分的大小被相等的设置。
11.如权利要求1所述的方法,其中变量仅被分成p和q两个部分。
12.一种利用对数后验概率L(uk)的解码方法,其中L(uk)=f(αk(s),βk(s)),该方法包括将前向变量α(.)和后向变量β(.)分成两个部分p和q,这里p+q等于码字U的长度;并行地计算前向的部分α1(.),…,αp(.),起始于α0(.)和αp+1(.),…,αk(.),起始于αp(.);并行地计算后向的部分βk(.),…,βq+1(.),起始于βk(.)βq(.),…,β1(.),起始于βq+1(.);和利用并行地计算出的α(.)和β(.)的部分计算L(uk)。
13.如权利要求12所述的方法,其中,为αp+1(.)估算的起始点αp(.)是从先验概率αp-d+1(.),…,αp(.)估算的,为βq(.)估算的起始点βq+1(.)是从先验概率βq+d(.),…,βq+1(.)估算的。
14.如权利要求13所述的方法,其中d在1到20的范围内。
15.如权利要求13所述的方法,其中d在15到20的范围内。
16.如权利要求13所述的方法,其中用于被估算的状态的起始点是均匀随机变量。
17.如权利要求13所述的方法,其中用于被估算的状态的起始点是一个预定的状态。
18.如权利要求13所述的方法,这个被估算的状态的起始点可以是一除以可能状态数。
19.一种信号接收器,包括执行权利要求1所述的方法的解码器。
20.一种信号接收器,包括执行权利要求11所述的方法的解码器。
全文摘要
一种用对数后验概率比值L(u
文档编号H03M13/29GK1757166SQ200380105252
公开日2006年4月5日 申请日期2003年10月23日 优先权日2002年12月6日
发明者J·卢, J·H·春, E·赫凯内克, M·穆杜吉尔 申请人:沙桥技术有限公司