一种信道译码方法及译码器的制作方法

文档序号:7679146阅读:228来源:国知局
专利名称:一种信道译码方法及译码器的制作方法
技术领域
本发明涉及信息技术领域,尤其涉及一种信道译码方法及译码器。
背景技术
在现有的以及下一代移动通信网络系统中,为保证数据和控制信令的可靠传输,咬尾卷积码作为一种高效率的编码方案被广泛应用在各种移动通信系统中。从早期的IS-54,到当前的EDGE、WiMax和LTE都用到了咬尾卷积码。咬尾卷积码之所以能被如此广泛的应用,主要是因为采用咬尾编码的方式可以有效的避免用已知比特初始化编码器所导致的码率损失,尤其在信息序列很短的情况下,这种损失是更高。比如LTE中的广播信道,在加了循环冗余校验比特之后共有40比特,如果不用咬尾方式进行编码的话,导致的码率
损失将达到13%。而对于咬尾卷积码的译码器,它并不知道咬尾编码的初始状态,所以一种直观的最优译码方案就是对每个起始状态作一次维特比译码,最后选取最好的一个结果作为译码输出,我们称这种方法为最大似然译码(Maximum Likelihood Decoding :MLD)。最大似然译码的缺点是复杂度高,计算量大。为了提高译码效率,减少计算量和译码时延,国内外的学者提出了不同的次优译码算法,这些算法主要是基于循环维特比译码的思想,如自适应迭代终止译码方案,这些方案主要是通过检测迭代中是否出现了循环现象来结束译码过程。然而,这种译码检测迭代的方法有如下两个缺点(I)需要存储的中间结果太多,而且需要作大量的计算来判断译码是否出现了循环;(2)需要特殊的回溯算法来得到最终的译码结果,增加了译码时延。针对该种情况,亦有人提出WAVA算法(Wrap Around Viterbi Algorithm),该算法应用简单终止条件(STC, Simple Termination Condition):在第一次循环得到最大似然路径(MLP, Maximum Likelihood Path)同时也是咬尾路径的时候停止迭代,但该算法主要有以下缺点(1)该算法对于在后来迭代中找到最大似然咬尾路径(MLTBP,MaximumLikelihood Tail Biting Path)的情况,该条件会失效,从而会产生大量无效的迭代;(I)该算法中用到的充分终止条件(Sufficient Termination Condition)需要在每次迭代结束的时候更新部分状态的净增量,这些状态是从第一次迭代开始到当前迭代为止都没有被咬尾路径经过的状态。这些运算增加了译码复杂度和存储空间。

发明内容
本发明的目的是针对现有技术中咬尾卷积码译码方法的存在的不足,而提出一种改善的咬尾卷积码译码方法,从而进一步提高译码效率,减少迭代次数和译码存储空间,提高信道译码的效率。为了达到上述发明目的,本发明提出了一种信道译码方法,所述方法是通过以下的技术方案实现的一种信道译码方法,所述方法包括以下步骤
S101,当i = 1,即第一次迭代时,初始化所有的起始状态的累积度量值为0,即M = 0,其中s G S。,执行修正的维特比算法;S102,如果最大似然路径等于最优咬尾路径,即皂,则停止译码,将4作为译码结果输出;否则保存使最优最大似然路径等于最大似然路径,即=Pl.如果
99
八I1A^pr — P1 Mr =Azf1
1V1MLTB ^ U rMLTB — rMLTB MLTB ~ 1V1MLTB .S103,第i > I次迭代,用上次迭代结束时终止于s状态的路径累积度量值M丨初始化本次的起始状态S,即令<⑷=AC1⑷,执行修正的维特比算法;找到
Hnet)如果有咬尾路径则找出最优的最大似然路径及其度量值.如
果从MLTB,net > MLTB 则更新即令= ^MLTB .
999S104,如果条件=从匪―或者M1mltb,-中任何一条满足,则停止译码,并执行St印6,否则继续执行S105 ;S 105,如果MjWLrs, nei更新即令 M^LrBnei .如果没有达到最大迭代次数,回到S103 ;否则执行S106 ;S106,如果存在,译码器将其作为译码结果输出;否则输出。为了实现本发明的发明目的,本发明实施例还提供了另一种信道译码方法,所述方法包括以下步骤S101,当i = 1,即第一次迭代时,初始化所有的起始状态的累积度量值M = 0为0,其中s G Stl,执行修正的维特比算法;S102,如果最大似然路径等于最优咬尾路径,即,则停止译码,将作为译码结果输出;否则保存使最优最大似然路径等于最大似然路径,即=Pl.如果
99
八/f1A^pr — P1 Mr =Azf1
1V1MLTB ^ U rMLTB — rMLTB MLTB ~ 1V1MLTB .S103,第i > I次迭代,用上次迭代结束时终止于s状态的路径累积度量值M丨-1⑷初始化本次的起始状态S,即令⑷,执行修正的维特比算法;找到
Hnet)如果有咬尾路径则找出最优的最大似然路径及其度量值.如
果从MLTB,net > MLTB 则更新即令 AfLTB = ^MLTB .
999S104,如果条件= M1mltb,net或考M1ml,net中任何一条满足,则停止译码,并执行S106,否则继续执行S105 ;S105,如果>Mmeib 更新^^^7 即令.如果没有达到最大迭代次数,回到S103 ;否则执行S106 ;S106,如果存在,译码器将其作为译码结果输出;否则输出。为了实现本发明的发明目的,本发明实施例还提供了一种信道译码器,所述译码器包括以下模块初始化模块,用来第一次迭代时,即当i = I时,初始化所有的起始状态的累积度量值(X) = O为0,其中s G Stl,执行修正的维特比算法;判断模块,用来判断最大似然路径是否等于最优咬尾路径,即,如果结果为是,则停止译码,将作为译码结果输出;否则保存,使最优最大似然路径等于最大似然路径,即 = Pml .如果> 令Pmltb = Pmltb ^mltb = ^mltb .
9999迭代模块,用来进行迭代运算,即第i > I次迭代,用上次迭代结束时终止于s状态的路径累积度量值M丨初始化本次的起始状态S,即令⑷=M丨Ix),执行修正的
维特比算法;找到如果有咬尾路径则找出最优的最大似然路径及其度量值
^J3MLTB ^MLTB,net)MLTB ,net > ^MLTB 则更新即令.
迭代判断模块,用来根据预先设定的条件,S卩如果条件M一= M^w net或者=4^中任何一条满足,则停止译码,并在存在时,进行结果输出模块的结果
输出,否则如果更新Mira即令如果没有达到最大迭代

次数,继续进行迭代模块的运算;结果输出模块,用来进行译码结果的输出,即在存在时,将作为译码结果输出,否则输出。为了实现本发明的发明目的,本发明实施例还提供了另一种信道译码器,所述译码器包括以下模块初始化模块,用来第一次迭代时,即当i = I时,初始化所有的起始状态的累积度量值(X) = O为0,其中s G Stl,执行修正的维特比算法;判断模块,用来判断最大似然路径是否等于最优咬尾路径,即,如果结果为是,则停止译码,将作为译码结果输出;否则保存,使最优最大似然路径等于最大似然路径,即 = Pml .如果 Pmltb = Pmltb Mmltb = Mmltb .迭代模块,用来进行迭代运算,即第i > I次迭代,用上次迭代结束时终止于s状态的路径累积度量值M丨初始化本次的起始状态S,即令⑷=M丨Ix),执行修正的
维特比算法;找到如果有咬尾路径则找出最优的最大似然路径及其度量值
^J3MLTB ^MLTB,net)MLTB ,net > ^MLTB 则更新即令.
迭代判断模±夹,用来根据预设的条件,如果条件M一=A^mnet或者M^net = AC-中任何一条满足,则停止译码,并在在时,进行结果输出模块的结果输出,否则如果更新Mira即令.如果没有达到最大迭代次数,则继续进行迭代模块的运算;
结果输出模块,用来进行译码结果的输出,即在存在时,将作为译码结果输出,否则输出。与现有技术相比,本发明实施例新的译码方法和译码器明显的降低了译码复杂度,减少了迭代次数,降低了译码的复杂度,而且节省了译码过程中的存储空间;新的信道译码方法和译码器不仅对咬尾卷积码有效,而且对普通的可以用咬尾格形图表示的分组码也是有效的。


通过下面结合附图对其示例性实施例进行的描述,本发明上述特征和优点将会变得更加清楚和容易理解。图I为本发明实施例I 一种咬尾卷积码的格形图;图2为本发明实施例一种实现咬尾卷积码译码的方法流程图;图3为本发明实施例一种实现咬尾卷积码译码的译码器组成示意图;图4为本发明实施例和WAVA算法在信息比特长度L = 24时的误块率性能比较曲线图; 图5为本发明实施例和WAVA算法在信息比特长度L = 24时的平均迭代次数性能比较曲线图;图6为本发明实施例和WAVA算法在信息比特长度L = 64时的误块率性能比较曲线图;图I为本发明实施例和WAVA算法在信息比特长度L = 64时的平均迭代次数性能比较曲线图;图8为本发明实施例和WAVA算法对咬尾格形图表示的分组Golay码译码的误块率性能比较曲线图;图9为本发明实施例和WAVA算法对咬尾格形图表示的分组Golay码译码的误块率性能比较曲线图。
具体实施例方式下面结合附图对本发明作进一步详细说明。为了更好的描述本发明实施例的技术方案,下面我们给出本发明实施例描述中用到的变量及其含义。熟悉本领域的技术人员可以知道,该说明仅为了帮助理解和说明,并不在于限制本发明,其中,名词术语部分为本领域常用或为本领域一般技术人员可以理解的用法,而并不构成对本发明的实施方式的限制。对于咬尾卷积码来说,编码器的初始状态是用信息比特的最后几位来初始化的,这样当编码结束的时候,编码器的结束状态和初始状态是一致的,这就是“咬尾”。如图I描绘了一个码率为1/2,生成多项式为{7,5}的咬尾卷积码的格形图。如图I所示,左边是一个长度为8的咬尾卷积码所对应的咬尾格形图,其生成多项式用八进制表示为{7,5};右边是该码对应的蝶形图,其中实圈旁边的数字是状态值,线上的数字是编码输出值。咬尾格形图在每个位置k有2V个状态,其中L-l,v为编码寄存器的个数,L为信息序列的长度。用Sk表示位置k处的状态空间。该方法每循环一次都会得到一条最大似然路径(码字)Pml,有时Psa并不是最优的咬尾路径,所以需要进入下一次迭代。循环会一直进行直到预设的终止条件被满足。在第i次迭代中,Q)表示的是在位置k处进入到状态s的幸存路径的累积度量值,同时它也是状态s在第i次迭代中位置k处的累积度量值。
此处用0 (S)表示结束于状态s的幸存路径的起始状态,这里规定s G Sp
在第i次迭代中,幸存路径尸(J3(^ / )的净增量表示为M:et (/ (V ),它表
示本次迭代中该路径上所有分支的度量值之和,即(/ (/)),这样最大似然路径^^(/ ⑷4)和最大似然咬尾路径^^,(/ 00,0的净增量分别为(P(s\s) = M1l⑷-M10(P(s)) M1mnetifiis'),s') =M[(s')-M10{J3(s'))此处需要注意
o
的是,不是每次迭代都能找到咬尾路径。本发明实施例利用(PmlMrml )来记录到当前迭代为止找到的最优的最大似然路径
及其度量值,用来记录到当前迭代为止找到的最优的最大似然咬尾路径及其度量值。最后设允许的最大迭代次数为N。
由于在基于循环维特比译码(CVA, Circular Viterbi Algorithm)的执行过程中,会出现循环的现象,即两次迭代得到的幸存路径是相同的。当循环发生的时候,继续迭代并不会得到更好的译码输出,所以我们用以下两个条件中的任何一条来检测是否有循环产生I ) ^AdLTB,net ~ MLTB2) MlML,net=Mlil,net上述条件可以有效的检测循环的发生,并及时的终止迭代。当没有循环发生的时候,我们用条件3)来终止迭代3)=m1MLTB,net基于上述条件,本发明实施例给出一种更高效率的信道咬尾卷积码译码方法(Early-terminated CVA :ET_CVA),下面给出所述方法的以下具体步骤S101,当i = 1,即第一次迭代时,初始化所有的起始状态的度量值为0,即从;⑷=0,其中 s G S。;执行修正的维特比算法(Modified Viterbi Algorithm MVA) [7]。S102,如果,则停止译码,将尸1作为译码结果输出;否则保存
Pml ~ Pml .如果> 〇令Pmltb = Pmltb ^mltb = Mmltb
oS103,第i > I次迭代,用上次迭代结束时终止于s状态的路径累积度量值MpQ)初始化本次的起始状态S,即令=Mr1⑷,执行MVA ;找到(匕,^!_),如果有咬尾路
径则找出.如果更新Ara 即令P=LTB =PLltb
999oS104,如果条件A/:,,=从匪―或者M1mltb,-中任何一条满足,则停止译码,并执行St印106,否则继续执行S105(ET-CVA I);如果条件A/:,,=从匪,ne處考M1ml,net中任何一条满足,则停止译码,并执行S106,否则继续执行S105(ET-CVA 2);SI05,如果Wmeib,ne, > Wmeib 更新即令.如果没有达到最大迭代次数,回到S103 ;否则执行S106。S106,如果存在,译码器将其作为译码结果输出;否则输出。
为了更清楚的描绘上述方法,我们给出对应的程序流程图如图2所示。为了实现本发明的发明目的,如图3所示,本发明实施例还提供了一种信道译码器,所述译码器包括以下模块初始化模块,用来第一次迭代时,即当i = I时,初始化所有的起始状态的累积度量值(X) = O为0,其中s G Stl,执行修正的维特比算法;判断模块,用来判断最大似然路径是否等于最优咬尾路径,即,如果结果为是,则停止译码,将作为译码结果输出;否则保存,使最优最大似然路径等于最大似然路径,即 = Pml .如果> 令= Pmltb Mmltb = Mmltb .迭代模块,用来进行迭代运算,即第i > I次迭代,用上次迭代结束时终止于s状态的路径累积度量值M丨初始化本次的起始状态S,即令⑷=M丨Ix),执行修正的 维特比算法;找到如果有咬尾路径则找出最优的最大似然路径及其度量值
^J3MLTB ^MLTB,net)MLTB ,net > ^MLTB 则更新即令.迭代判断模块,用来根据预先设定的条件,S卩如果条件M一= M^w net或者=4^中任何一条满足,则停止译码,并在存在时,进行结果输出模块的结果
输出,否则如果更新Mira即令如果没有达到最大迭代次数,继续进行迭代模块的运算;结果输出模块,用来进行译码结果的输出,即在存在时,将作为译码结果输出,否则输出。为了实现本发明的发明目的,如图3所示,本发明实施例还提供了一种信道译码器,所述译码器包括以下模块初始化模块,用来第一次迭代时,即当i = I时,初始化所有的起始状态的累积度量值(X) = O为0,其中s G Stl,执行修正的维特比算法;判断模块,用来判断最大似然路径是否等于最优咬尾路径,即,如果结果为是,则停止译码,将作为译码结果输出;否则保存,使最优最大似然路径等于最大似然路径,即 = Pml .如果 Pmltb = Pmltb Mmltb = Mmltb .迭代模块,用来进行迭代运算,即第i > I次迭代,用上次迭代结束时终止于s状态的路径累积度量值M丨初始化本次的起始状态S,即令⑷=M丨Ix),执行修正的
维特比算法;找到,如果有咬尾路径则找出最优的最大似然路径及其度量值
^J3MLTB ^MLTB,net)MLTB ,net > ^MLTB 则更新即令.迭代判断模±夹,用来根据预设的条件,如果条件M一=A^mnet或者M^net = AC-中任何一条满足,则停止译码,并在在时,进行结果输出模块的结果输出,否则如果更新Mira即令如果没有达到最大迭代次数,则继续进行迭代模块的运算;结果输出模块,用来进行译码结果的输出,即在存在时,将作为译码结果输出,否则输出。与现有技术相比,本发明实施例新的译码器明显的降低了译码复杂度,减少了迭代次数,降低了译码的复杂度,而且节省了译码过程中的存储空间;新的信道译码方法和译码器不仅对咬尾卷积码有效,而且对普通的可以用咬尾格形图表示的分组码也是有效的。下面通过两个具体的仿真实例来说明本方法的性能。此处仿真基于加性高斯白噪声(Additive White Gaussion Noise AWGN)信道,信道输入是QPSK调制的符号。第一个仿真针对咬尾卷积码。仿真中采用LTE中的卷积码,生成多项式用八进制表示为{133,171,165} [5],最大迭代次数为20。为验证本方法对中等长度咬尾卷积码和长咬尾卷积码都是有效的,仿真中分别令信息比特长度L = 24和L = 64。下面给出本方法和WAVA[I]算法的误块率性能(Block Error Ratio BLER)和平均迭代次数(Average Numberof Iterations ANI)性能比较曲线。
从图4到7的仿真结果可以看得出来,在不同的码长条件下,ET-CVA(1和2)算法都能提供近于最优的性能。而且,新的译码方法明显的降低了译码复杂度,减少了迭代次数。第二个仿真针对可以用咬尾格形图表示的分组码。下面我们以Golay码为例。对于(24,12)的Golay码,我们使用ET_CVA(1和2)和WAVA算法进行译码,得到的误块率性能(Block Error Ratio BLER)和平均迭代次数(Average Number of Iterations ANI)性能如图8和9所示。从图8和9的仿真结果可以看到,新的咬尾卷积码译码法不仅对于降低了译码的复杂度,减少了迭代次数,而且节省了译码过程中的存储空间;新方法不仅对咬尾卷积码有效,而且对普通的可以用咬尾格形图表示的分组码也是有效的。需要注意的是,以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施方式
仅限于此,在本发明的上述指导下,本领域技术人员可以在上述实施例的基础上进行各种改进和变形,而这些改进或者变形落在本发明的保护范围内。
权利要求
1.一种信道译码方法,其特征在于,所述方法包括以下步骤 5101,当i= 1,即第一次迭代时,初始化所有的起始状态的累积度量值为O,即M = 0,其中S e S。,执行修正的维特比算法; 5102,如果最大似然路径等于最优咬尾路径,即4,则停止译码,将/^作为译码结果输出;否则保存使最优最大似然路径等于最大似然路径,即如果 99Λ/f1 ^ O A^Pr — P1 Mr =Azf11V1MLTB ^ rMLTB — rMLTB MLTB ~ 1V1MLTB . S103,第i > I次迭代,用上次迭代结束时终止于s状态的路径累积度量值Mpb)初始化本次的起始状态S,即令M^=Mr1⑷,执行修正的维特比算法;找到(匕,^_),如果有咬尾路径则找出最优的最大似然路径及其度量值.如果>MrMltb则更新CLb即令pLtb =PUtb. 99 S104,如果条件A/:# = M1mltb,-或考M1mltb,- =MIib中任何一条满足,则停止译码,并执行St印6,否则继续执行S105 ; S105,如果更新Mira即令4^如果没有达到最大迭代次数,回到S103 ;否则执行S106 ; S106,如果存在,译码器将其作为译码结果输出;否则输出。
2.一种信道译码方法,其特征在于,所述方法包括以下步骤 S101,当i = 1,即第一次迭代时,初始化所有的起始状态的累积度量值Mj(S) = O为O,其中s e Stl,执行修正的维特比算法; S102,如果最大似然路径等于最优咬尾路径,即,则停止译码,将/^作为译码结果输出;否则保存使最优最大似然路径等于最大似然路径,即如果 99Λ/f1 ^ O A^Pr — P1 Mr =Azf11V1MLTB ^ rMLTB — rMLTB MLTB ~ 1V1MLTB . S103,第i > I次迭代,用上次迭代结束时终止于s状态的路径累积度量值Mpb)初始化本次的起始状态S,即令M^=Mr1⑷,执行修正的维特比算法;找到(匕,^_),如果有咬尾路径则找出最优的最大似然路径及其度量值.如果>MrMltb则更新CLb即令pLtb =PUtb. 99 S104,如果条件A/:- = M1mltbjk咸考M1ml,net =MG-中任何一条满足,则停止译码,并执行S106,否则继续执行S105 ; S105,如果更新Mira即令4^如果没有达到最大迭代次数,回到S103 ;否则执行S106 ; S106,如果存在,译码器将其作为译码结果输出;否则输出。
3.一种信道译码器,其特征在于,所述译码器包括以下模块初始化模块,用来第一次迭代时,即当i = I时,初始化所有的起始状态的累积度量值(4 = 0为0,其中s e Stl,执行修正的维特比算法;判断模块,用来判断最大似然路径是否等于最优咬尾路径,即,如果结果为是,则停止译码,将作为译码结果输出;否则保存,使最优最大似然路径等于最大似然路径,即AiL = Pml .如果>Pmltb = Pmltb Mmltb = ^mltb . 迭代模块,用来进行迭代运算,即第i > I次迭代,用上次迭代结束时终止于s状态的路径累积度量值M丨- 初始化本次的起始状态S,即令⑷=M丨Ix),执行修正的维特比算法;找到如果有咬尾路径则找出最优的最大似然路径及其度量值^J3MLTB ^MLTB,net)MLTB ,net > ^MLTB 则更新即令 Αω7Β = Αω7Β .迭代判断模块,用来根据预先设定的条件,即如果条件或者=4^中任何一条满足,则停止译码,并在存在时,进行结果输出模块的结果输出,否则如果更新Mira即令如果没有达到最大迭代99 次数,继续进行迭代模块的运算; 结果输出模块,用来进行译码结果的输出,即在Pjire存在时,将/^^作为译码结果输出,否则输出4。
4.一种信道译码器,其特征在于,所述译码器包括以下模块初始化模块,用来第一次迭代时,即当i = I时,初始化所有的起始状态的累积度量值(4 = O为O,其中s e Stl,执行修正的维特比算法; 判断模块,用来判断最大似然路径是否等于最优咬尾路径,即,如果结果为是,则停止译码,将作为译码结果输出;否则保存,使最优最大似然路径等于最大似然路径,即 AiL = Pml .如果Mml7b > 令= Pmltb Mmltb = Mmltb . 迭代模块,用来进行迭代运算,即第i > I次迭代,用上次迭代结束时终止于S状态的路径累积度量值M丨- 初始化本次的起始状态S,即令⑷=M丨Ix),执行修正的维特比算法;找到如果有咬尾路径则找出最优的最大似然路径及其度量值^J3MLTB ^MLTB,net)MLTB ,net > ^MLTB 则更新即令 Αω7Β = Αω7Β . 迭代判断模块,用来根据预设的条件,如果条件=M-或考M^net =M^net中任何一条满足,则停止译码,并在存在时,进行结果输出模块的结果输出,否则如果M1mltb^ >Mrmltb更新Mira即令如果没有达到最大迭代次数,则继续进行迭代模块的运算; 结果输出模块,用来进行译码结果的输出,即在Pjire存在时,将^^^作为译码结果输出,否则输出4。
全文摘要
本发明公开了一种信道译码方法及译码器,用于信息技术领域,针对现有技术中咬尾卷积码译码方法存在的不足,而提出一种改善的咬尾卷积码译码方法,基于循环维特比译码(CircularViterbiAlgorithmCVA)的思想通过多次迭代来寻找最优译码输出。译码过程中,本方法能够检测是否有循环发生,从而自适应的结束迭代;新算法大大提高了译码效率,降低了译码复杂度。与现有技术相比,本发明实施例新的译码方法和译码器明显的降低了译码复杂度,减少了迭代次数,而且节省了译码过程中的存储空间;新的信道译码方法和译码器不仅对咬尾卷积码有效,而且对普通的可以用咬尾格形图表示的分组码也是有效的。
文档编号H04L1/00GK102801492SQ201110141150
公开日2012年11月28日 申请日期2011年5月27日 优先权日2011年5月27日
发明者王晓涛, 钱骅, 徐景, 杨旸, 王芳 申请人:上海无线通信研究中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1