译码数据字的方法

文档序号:7507012阅读:192来源:国知局
专利名称:译码数据字的方法
技术领域
本发明涉及译码领域,尤其涉及但不限于维特比(Viterbi)译码和前向纠错。
背景技术
维特比算法是卷积码译码的一种常用方法。维特比算法本质上是进行最大似然译码;其可以利用码网格(code trellis)内的特殊结构来减少计算量。与蛮力计算(brute-force)译码相比,维特比译码的优势在于,维特比译码器的复杂性与码字序列内的符号数目无关。
该算法包括计算相似性的规则,或者某时间的接收信号和此时进入各个状态的所有网格路径间的距离。维特比算法不会考虑那些不可能作为最大似然选择侯选者的网格路径。当两条路径达到相同的状态时,选择具有最佳长度的路径,该路径称为幸存(surviving)路径。尽早丢弃不可能的路径降低了译码的复杂性。但维特比算法的计算量仍然比较大。
此外,维特比卷积译码算法用于前向纠错。前向纠错(FEC)的目的是通过向经信道传输的数据增加一些冗余信息,提高信道的容量。增加该冗余信息的过程称为信道编码。卷积编码是信道编码的主要方式。卷积编码处理一串数据,同时处理一位或几位。利用维特比译码进行卷积编码的FEC技术特别适用于无线通信信道。
本发明的目的是提供一种对接收的数据字进行译码的改进方法。

发明内容
本发明的这些目的和其他目的通过应用各个独立权利要求中限定的特征基本得以实现。本发明的优选实施方式在从属权利要求中给出。
本发明首先基于当接收数据字时并不总是需要纠错译码的事实。为了确定纠错译码是否需要,检查接收的数据字是否无误(或具有不可检测的差错)或者信息消息是否有恢复的机会,即接收的数据字中是否有太多的差错。
如果接收的数据字没有差错或有不可检测的差错,则进行译码而无需预先纠错。如果信息消息是不可恢复的,则该帧在译码前被丢弃。
然而,在大多数情况下,必须对帧进行译码。在这种情况下,复杂性的降低是通过进行FEC实现的,其所用的方式比传统译码更高效。维特比算法用于估计传输误差而不仅是信息消息。采用这类译码可以避免在无差错区域内大量状态间的重复。
这种方法的优势为,在确定了接收的数据字没有差错、有不可检测的差错或太多差错的情况下,可以避免计算量很大的纠错过程。
这种方法的优势还有,当需要FEC时,通过避免维特比译码时大部分状态间的重复,将复杂性大大降低。
确定是否需要纠错的一个方法是基于奇偶校验矩阵。奇偶校验矩阵在编码理论中还可以称为校验矩阵或控制矩阵。编码C的奇偶校验矩阵H具有生成矩阵G,满足GHt=0,如现有技术中所知。
根据本发明的优选实施方式,针对给定的编码方案一次计算得到奇偶校验矩阵,并存储在接收器中。在数据字被接收时,将数据字与预先计算得到的奇偶校验矩阵相乘,以便确定是否需要进行纠错。
根据本发明的另一优选实施方式,接收的数据字与奇偶校验矩阵相乘的结果用来确定是否需要进行纠错。
●如果接收数据字与奇偶校验矩阵相乘结果的非零系数的数目为0,则接收数据字无误(或者说差错是不可检测的)而不需要纠错。
●如果接收数据字与奇偶校验矩阵相乘结果的非零系数的数目大于某个阈值,由于接收数据字被认为是不可纠错的,因此不进行纠错和译码。这样做的优点在于避免对不可纠错数据字进行无用的处理。
然而,如果FEC必须执行,则传统的维特比算法可以用来估计原始信息消息。
然而,如果FEC必须执行,维特比算法可以用来估计传输差错而不仅是信息消息。接收数据字与奇偶校验矩阵的相乘结果给出了潜在差错的大致位置,并且维特比算法仅仅适用于这些标识的区域,从而避免在无差错区域的大量重复。
最后将估计的传输差错从接收的数据字中减去,并且采用代数译码估计发送的信息消息。
确定纠错是否需要以及快速纠错过程是基于奇偶校验矩阵,其能够针对任意卷积编码速率,如1/2、1/3、2/3的卷积编码速率工作(随后将有进一步举例)。然而,在卷积编码速率为1/2的情况下,一些简单的多项式处理也能够得到接收数据字与奇偶校验矩阵相乘的结果。事实上,可以示出,在卷积编码速率为1/2的情况下,接收数据字与奇偶校验矩阵的相乘结果也可通过使用在附录3中描述的简单多项式处理而得到。


下面,将参考附图对本发明的优选实施方式进行更加详细的描述,其中图1是通信系统的方框图,图2示出本发明方法的实施方式的流程示意图。
图3示出在硬件译码器输入情况下,速率为1/3的卷积码的复杂性的降低。
图4示出在软件译码器输入情况下,速率为1/3的卷积码的复杂性的降低。
图5示出在硬件译码器输入情况下和软件译码器输入情况下,速率为1/3的卷积码的性能的下降。
图6示出在硬件译码器输入情况下,速率为2/3的卷积码的复杂性的降低。
图7示出在软件译码器输入情况下,速率为2/3的卷积码的复杂性的降低。
图8示出在硬件译码器输入情况下和软件译码器输入情况下,速率为2/3的卷积码的性能的下降。
具体实施例方式
图1示出了通信系统,该通信系统具有发送器1,用于通过信道3发送信息消息m1,m2,…,mk给接收器2。发送器1包括编码器4,用于通过生成多项式矩阵G={gij}进行信息消息编码,以便提供经编码的码字c1,c2,…cn。注意到,信息消息数目k和编码码字数目n可以是任意的,即系统工作在不同的卷积码速率k/n。
经编码的码字c1,c2,…cn在有噪信道3上传输。在有噪信道3上的传输导致差错e1,e2,…en的迭加。结果接收器2接收的消息为r1,r2,…rn,其中r1=c1+e1r2=c2+e2…rn=cn+en其中c1=g11m1+g12m2+...+g1kmkc2=g21m1+g22m2+...+g2kmk…cn=gn1m1+gn2m2+...+gnkmk接收器2的译码器5具有纠错能力,以便从接收信息中消除差错向量{e1,e2,…,en},得到原始的信息消息。
可以通过数学式示出,具有n个等式和k个未知多项式即m1,m2,…,mk的上述系统可以分为●通过代数译码,为得到k个未知多项式m1,m2,…,mk所必须的k个等式。例如c1=g11m1+g12m2+...+g1kmkm1=p11c1+p12c2+...+p1kck
c2=g21m1+g22m2+...+g2kmk→m2=p21c1+p22c2+...+p2kckck=gk1m1+gk2m2+...+gkkmkmk=pk1c1+pk2c2+...+pkkck其中多项式pij是生成多项式的线性组合。
●n-k个“控制等式”,与m1,m2,…,mk无关c1h11+c2h21+...+cnhnl=0c1h12+c2h22+...+cnhn2=0…c1h1,n-k+c2h22+...+cnhn,n-k=0其中多项式hij是生成多项式的线性组合。多项式hij的例子在附录1中提供。这里的n-k个控制等式可以用一个矩阵等式表示。该等式以下被称为“控制等式” 理论上,至少有一个矩阵H如C是码字 H或Ht通常被称为奇偶校验矩阵由于复杂性的原因(参见附录2),优选地是选择具有最小阶数的奇偶校验矩阵。我们称qik为多项式hik(x)的阶数;当生成多项式符合以下特性{gij(x);1≤i≤N}对于所有j不具有公因子,(1)则可以看到,存在多项式集合{hik}如Σk=1N-Kqk=M-1,]]>其中qk=Max1≤i≤N(qik),]]>并且M是编码的限制长度(生成多项式的最大长度)。通过搜索具有最小阶数的多项式hik(x)得到这些多项式,其符合H(x).G′(x)=0的系统。
注意到,如果j列不符合特性(1),则通过用多项式{gij(x);1≤i≤N}的最大公因子去除该列,可以得到具有最小存储量的编码。
控制等式用来估计差错矢量。设E`=(e′1,...,e′n)t为总差错估计矢量,R=(r1,...,rn)t为总信息消息矢量。
相应的译码方法在图2中通过例子示出。
步骤20中,接收器接收数据字。步骤21中,该数据字与奇偶校验矩阵相乘。步骤22中,确定乘积结果的所有系数是否全部为0。如果是这种情况,则控制跳转到步骤23,对接收的数据字进行无纠错的译码。
否则,控制跳转到步骤24,确定乘积结果的非0系数的数目是否小于预定阈值。如果是这种情况,则在步骤25对接收数据字进行纠错,以去除差错矢量。接着,经过纠错的数据字在步骤26进行译码。
如果在步骤24,确定乘积结果的非0系数的数目超过预定阈值,则控制跳转到步骤27,确定该数据字为不可恢复的。
该方法实现了如下算法1.计算RHt2.如果RHt的非0系数数目大于预定阈值,则丢弃该帧,跳转到4,否则如果RHt为0E′=0,跳转到3否则使用在附录2中描述的快速前向纠错算法,得到E′,如1.(R+E′)Ht=02.E′有最小的权值(最大似然)跳转到33.代数译码,例如解出线性系统以估计多项式m1,m2,…,mk,例如r1=g11m1+g12m2+...+g1kmk+e′1r2=g21m1+g22m2+...+g2kmk+e′2…rk=gk1m1+gk2m2+...+gkkmk+e′k
4.结束在以下几个步骤中降低复杂性●如果估计帧的差错概率(RHt的非零系数数目相关)超过预定阈值,则该帧被恢复的可能性极低。在译码前将其丢弃。
●如果RHt为0,则原始误码率为0,或者差错是不可检测的,则不需要进行FEC。
●在帧必须进行译码时,RHt用来降低译码复杂性。维特比算法用于估计差错矢量,而不是信息消息(附录2)。在这种情况下,可以避免某些不必要的重复(附录2)。
采用所提出的算法,在大量降低复杂性的同时,几乎可以得到最佳的性能。图3-8示出在硬件译码器输入情况下和软件译码器输入情况下,对于速率为1/3和2/3的两种卷积码的复杂性的降低和性能的下降。复杂性标准为所执行的“加-比-选(Add Compare Select,ACS)”操作数目与传统维特比的ACS数目的百分比。性能标准为译码器输出端的帧误码率(FER)。
速率为1/3的卷积码g11(x)=1+x2+x3g21(x)=1+x+x3 g31(x)=1+x+x2+x3G=(1+x2+x31+x+x31+x+x2+x3)在硬件和软件情况下,当SNR高于3.5dB,所需的ACS小于10%。此外,硬件情况下所需ACS的最大数目始终低于43%,相应软件情况为65%。所有情况下,性能的降低保持在低于0.5dB。
速率为2/3的卷积码
在硬件和软件情况下,当SNR高于4dB,所需的ACS小于10%。此外,硬件情况下所需ACS的最大数目始终低于12%,相应软件情况为27%。硬件情况下性能的降低保持在低于0.5dB,相应软件情况为低于0.3dB。
标号列表------------------------------------------------------------1发送器2接收器3信道4编码器5译码器200 接收器202 程序模块204 程序模块208 程序模块209 程序模块212 程序模块附录1控制矩阵举例多项式“p(X)”在下边称为“p”,由于所有多项式p的系数属于{0,1},所以我们有p+p=01/2卷积码 ⇒g2C1+g1C2=g2g1m1+g2g1m1]]>⇒g2C1+g1C2=0]]> 3/5卷积码
其中G11=g11;G12=g12;G12=g12G22=g11g22+g12g21;G23=g21g13+g23g11G32=g11g32+g12g31;G42=g11g42+g12g41;G52=g11g52+g12g51G33=(g11g22+g12g21)(g31g13+g33g11)+(g21g13+g23g11)(g11g32+g12g31)G43=(g11g22+g12g21)(g41g13+g43g11)+(g21g13+g23g11)(g11g42+g12g41)G53=(g11g22+g12g21)(g51g13+g53g11)+(g21g13+g23g11)(g11g52+g12g51)
附录2快速前向纠错(硬件译码器输入情况)必须找到具有最小权值的字e′(x)=Σi=1Nxi-1ei′(xN),]]>如 为0。可以数学式示出以下等价关系 为码字其中 e′(x)的搜索可以通过维特比算法取消矩阵E(x)来实现。
Ej(x)=ΣiEj,ix′;1≤j≤N-K]]>维特比算法所使用的网格,由对应不同状态的节点组成。这些节点通过支路连接。连续支路称为路径,路径的长度为路径的特征。
状态有2M-1个状态,其中M-1为编码的存储量。每一状态Sk与矩阵ESk(x)相关联。状态Sk在n时刻的值,由如下矩阵ESk(x)的M-1个元素给出EjSk(x)=ΣiEj,iSkx′;1≤j≤N-K]]>Sk={V1V2...VN-K}其中 初始状态Sk,0与E(x)相关联。
支路支路代表n时刻的一个状态(当前状态)和n+1时刻的状态(后续状态)之间的转换。称为et,n′ ∶ej′的系数n系数集合{e1,n′,...,eN,n′}与每一个支路相关联。在时刻n,建立序列集合{Zi(x)} 其中Zj,i(x)=Σl=0Mj-1Zj,ilxn+l;1≤i≤2n]]>其中第一系数Zj,i0满足条件Zj,i0=Ej,nSk]]>其中1≤j≤N-K设Sk为n时刻的当前状态,设Si为Sk的后续状态(在n+1时刻),设ESi为相关的多项式。我们得到EjSi(x)=EjSk(x)+Zj,i(x)]]>其中1≤j≤N-K 该过程导致对矩阵ESk的迭代取消。
长度(metrics)提出的译码技术的原理为,寻找最小权重的序列e′(x),用以删除矩阵E(x)。可以得到n时刻定义的支路长度Δ(n)=Σi=1Nei,n′]]>注意在软译码情况下,Δ(n)=Σi=1N|Ri,n|ei,n′,]]>其中Ri,n为接收的软符号。
路径长度mk(n)是支路长度的累加。当几个路径达到相同的状态时,将保留具有最小路径长度的路径。在处理结束时,保留的路径将在状态S0={0 0...0}结束,S0是使得ESk(x)所有元素都为0的唯一状态。与保留路径的每一支路相关联的集合{e1,n′,...,eN,n′}组成译码差错矢量e′(x)。
e′(x)=Σi=1(Σi=1Nxi-1ei,n′)xNn]]>“FEC无用”区域如果在n0步骤同时满足性质(P1)和(P2),则不需要继续进行维特比算法。保留路径是在迭代n0到达状态S0={0 0...0}的路径,并且在这个节点后保持这个S0状态。
mk(n0)≥m0(n0)对k≠0 (P2)此外,假设n-n1时刻,满足条件(P2),则所有的EjSk(x)矢量符合{Ej,0Sk,Ej,1Sk,...,Ej,n-n1-1Sk}={0,0,...,0}]]>{Ej,n-n1Sk,Ej,n-n1+1Sk,...,Ej,n-n1+Mj-2Sk}=Vj]]>{Ej,n-n1+Mj-1Sk,Ej,n-n1+MjSk,...,Ej,nSk}={0,0,...,0}]]>Ej,n+1Sk=1]]>如果在E(x)中至少有n1个连续的0,该结构就会出现。理论上,如果n1大于取决于编码器的某个阈值,则维特比算法在n-n1和n-M+1间的步骤不需要执行。维特比算法在步骤n-M+1重新开始,以S0为初始状态。
注意在软件译码情况下,维特比算法必须在步骤n-A+1重新开始,对A值的选择考虑复杂度降低和性能降低间的平衡。
最终估计r(x)+e′(x)。
最后的译码信息序列m′(x),通过对码字r(x)+e′(x)的代数译码给出。
附录3校验1/2速率卷积编码m(x)信息字g1(x),g2(x)生成多项式C1(x)=m(x).g1(x)多项式g1生成的码字C2(x)=m(x).g2(x)多项式g2生成的码字r1(x)=C1(x)+e1(x)接收字1r2(x)=C2(x)+e2(x)接收字2利用奇偶校验矩阵最小奇偶校验矩阵

对于任意的码字

有CHt=0如果我们称Rt=(r1r2)为总接收数据字,则有


R.Ht=0+e1g2+e2g1

利用简单多项式处理我们称G为等价生成多项式,C为总结果码字,定义如下G(x)=g1(x2)+x.g2(x2)C(x)=C1(x2)+x.C2(x2)=m(x2).G(x)我们可以将C(x)G(x)表示为偶数多项式等式C(x).G(x)=m(x2).G(x).G(x)=m(x2).G(x2)如果我们称差错多项式为e(x),接收多项式为r(x),定义如下e(x)=e1(x2)+x.e2(x2)r(x)=C(x)+e(x)则r(x).G(x)=C(x).G(x)+e(x).G(x)r(x).G(x)=C(x).G(x)+e1(x2).g1(x2)+x2.e2(x2).g2(x2)+x.(e1(x2).g2(x2)+e2(x2).g1(x2))所以奇部{r(x)G(x)}=e1(x2).g2(x2)+e2(x2).g1(x2)与R.Ht相同的系数最后,多项式r(x)·G(x)奇部的系数和接收数据字与奇偶校验矩阵相乘的结果相同。
权利要求
1.一种方法,用于对经无线通信信道传输的接收数据字(R)进行译码,相应发送的信息消息(m)被编码为码字(c),该方法包括以下步骤用奇偶校验矩阵(H(x))乘以接收的数据字,当乘积结果为0时,则对接收数据字进行代数译码而无需纠错。
2.根据权利要求1所述的方法,还包括在乘积结果不为0的情况下,通过估计传输差错,从接收数据字中减去估计的差错,并对相减的结果执行代数译码来进行纠错。
3.根据权利要求2所述的方法,其中,通过使用维特比类型的方法执行前向纠错来寻找如下差错(R+E′)Ht=0,且E′有最小的权重(最大似然),这里E′为总差错估计矢量,R是总信息消息矢量,H为奇偶校验矩阵。
4.根据权利要求3所述的方法,其中,R.Ht用于标识潜在差错的大致位置,并且维特比算法仅在这些位置应用,从而避免在无差错区域的重复。
5.根据权利要求1所述的方法,其中,在相乘结果的非零系数数目超过阈值的情况下,接收数据字被确定为不可恢复的。
6.根据权利要求1所述的方法,其中的多项式集合{hik}通过搜索具有最小阶数的多项式hik(x)确定,所述具有最小阶数的多项式hik(x)确定系统H(x).Gt(x)=0,在这里G为生成矩阵,包括生成多项式gij,,{gij(x);1≤i≤N}对于所有的j没有公因子,qik是多项式hik(x)的阶数;多项式hik(x)是生成多项式gij的线性组合,并且Σk=1N-Kqk=M-1,]]>其中qk=Max1≤i≤N(qik),]]>M是编码的限制长度。
7.根据权利要求1所述的方法,其中卷积编码的速率为k/n,其中,n和k为任意整数。
8.根据权利要求1所述的方法,其中卷积编码速率为1/2,并且接收数据字与奇偶校验矩阵相乘的结果通过计算r(x).G(x)的奇部得到,其中m(x)信息字g1(x),g2(x)生成多项式G(x)=g1(x2)+x.g2(x2)等价生成多项式C1(x)=m(x).g1(x)多项式g1生成的码字C2(x)=m(x).g2(x)多项式g2生成的码字r1(x)=C1(x)+e1(x)接收字1r2(x)=C2(x)+e2(x)接收字2r(x)=r1(x2)+x.r2(x2)接收多项式
9.一种计算机程序产品,特别是数字存储介质,用于对经无线通信信道传输的接收数据字(r)进行译码,相应发送的数据字(m)被编码为码字(c),该计算机程序产品包括用于执行以下步骤的程序装置用奇偶校验矩阵乘以接收的数据字,当乘积结果为0时,则对接收数据字进行代数译码而无需纠错。
10.一种无线通信网络接收器,包括用于对经无线通信信道(3)传输的接收数据字(r)进行译码的装置(5),相应发送数据字(m)被编码为码字(c),还包括纠错装置(5),该装置适合执行以下步骤进行译码用奇偶校验矩阵乘以接收的数据字,当乘积结果为0时,则对接收数据字进行代数译码而无需纠错。
全文摘要
本发明公开了一种方法,用于对经无线通信信道传输的接收数据字(r)进行译码,相应发送的信息消息(m)被编码为码字(c),该方法包括以下步骤用奇偶校验矩阵(H(x))乘以接收的数据字,当乘积结果为0时,则对接收数据字进行代数译码而无需纠错,否则通过估计传输差错进行纠错,从接收数据字中减去估计的差错,并对相减结果执行代数译码,其中R.H
文档编号H03M13/29GK1607759SQ200410074130
公开日2005年4月20日 申请日期2004年8月31日 优先权日2003年9月1日
发明者尼科拉斯·保罗, 热罗姆·布鲁埃, 雅克·安托万, 利昂内尔·于松, 阿梅勒·沃捷, 让·克洛德·达尼 申请人:阿尔卡特公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1