咬尾卷积码译码方法与装置的制作方法

文档序号:7521839阅读:246来源:国知局
专利名称:咬尾卷积码译码方法与装置的制作方法
技术领域
本发明涉及通信技术领域,特别是涉及ー种咬尾卷积码译码方法与装置。
背景技术
随着通信技术的发展,数字通信已逐步取代模拟通信成为通信技术的主流。然而,数字信息在信道中传输时,会受到噪声的干扰,误码的产生总是不可避免的。为了在已知信噪比的情况下达到一定的误码率指标,在合理设计基带信号,选择调制、解调方式,并采用频域均衡或时域均衡措施的基础上,还应该采用差错控制编码等信道编码技术,使误码率进ー步降低。卷积码和分组码是差错控制编码的两种主要形式,在编码器复杂度相同的情况下,卷积码的性能优于分组码,因此卷积码被应用在许多无线通信的标准之中。
通常使用的卷积码是零尾(zero-termination)卷积码,但是零尾卷积码需要额外的零尾比持,带来额外的开销,而咬尾(tail-biting)卷积码很好的克服了这个问题,且可以在不牺牲性能的条件下避免码率的损失,从而具有比零尾卷积码更好的性能。咬尾卷积码是建立在卷积码基本原理基础之上的,与通常使用的零尾卷积码不同,咬尾卷积码没有使用零比特收尾的过程,为了避免缺少尾巴导致接近网格末尾的信息位比网格中更早的比特得到更少差错保护(非对称错误保护),咬尾卷积码要求编码器从和終止状态相同的状态开始,且该状态可以通过信息序列确定。咬尾卷积码的这ー限制使其网格表现出不同于零尾卷积码的対称性,可以用循环网格来表述,它环绕着每个末状态并把该末状态连到所对应的初状态,从而形成一个循环的结构。且由于初状态不再如零尾卷积码那样是已知信息(零状态),其译码的算法与传统的卷积码相比需要额外的复杂度。目前常用的咬尾卷积码译码方法都利用的网格的循环特性,使用前一次度量计算的结果初始化下一次度量计算的初状态,具体方法请參考图1,并描述如下I)将所有状态的度量值(量度)设为0,做一次维特比(Viterbi)迭代,即从所有状态量度为O的初始条件下作第一次迭代(采用Viterbi译码方法);2)如果得到的最大似然解是咬尾的(即初状态与末状态相同),则结束译码并输出结果;如果不是咬尾的,则继续执行步骤3);3)对于第i (i > I)次迭代,用第i_l次迭代的末状态的状态量度作为初始状态做一次Viterbi译码,如果第i次迭代的最大似然解是咬尾的,则结束解码并输出结果;如果不是咬尾的,则继续执行步骤4);4)重复步骤3),直到解码被中止或者i达到设定的上限N ;5)对所有末状态进行回溯,如果最后一次循环存在咬尾解,则输出状态量度最大的咬尾解。如果不存在咬尾解,则译码失败。其中N为预设的最大迭代次数,通常N设为2就能获得较好的译码效果。上面的流程图是理想情况下的最优算法,因为步骤5)中考虑了所有可能的解,即当i达到设定的上限N时,需要对所有末状态进行回溯,而在实际应用中,实现所有末状态回溯的复杂度非常高。以LTE标准使用的咬尾卷积码为例,其约束长度为7,网格状态数为64,所有可能的64个末状态作回溯,其时延过大不可接受,所以必须对上述算法作简化。常见的简化方法是对所有状态度量值进行排序,只对其中部分度量值较大的解进行回溯,在这部分解中寻找度量值最大的咬尾解,如果在这部分解中不存在咬尾解,就认为译码失败,这种方法可以节省不少计算量,但进行回溯的状态数也不能太少,否则会影响译码性能。另外ー种简化方法是利用Viterbi译码器的特性,即当编码块长度超过编码器约束长度约4 5倍(该长度设为τ)之后,所有状态回溯的留存路径在τ个长度之前以接近于I的概率合并为同一路径,即所有状态回溯后的初状态以接近于I的概率相等来減少回溯量度数,在编码块大于一定长度时,先回溯最大量度的状态得到初状态,再使用该初状态回溯得到咬尾解,该方法的缺点在于 (I)对码块长度有一定的要求;(2)仅回溯最大量度作咬尾尝试,减小了时延但牺牲了一部分性能.。可见,理想的咬尾卷积码译码方法由于译码时延过大无法采用,而现存的各种简化方法都偏重于性能和时延中的一方面,没有达到较优的折中及较好的鲁棒性。

发明内容
有鉴于此,本发明提供ー种咬尾卷积码译码方法与系统,以解决现有译码方法偏重于性能和时延中的一方面,没有达到较优的折中及较好的鲁棒性的问题。为解决以上技术问题,本发明提供ー种咬尾卷积码译码方法,包括从所有状态量度为O的初始条件作第一次迭代;而后依次利用第i-Ι次迭代的末状态的状态量度作为初始状态做第i次迭代,其中I < i < N,N为预设的最大迭代次数;其间,如果迭代得到的结果是咬尾的,则结束译码并输出结果;其特征是,若以上迭代过程中得到的结果不是咬尾的,则还包括以第N-I次迭代的末状态的状态量度作为初始状态作第N次迭代;从第N次迭代的末状态中选取多个最大状态量度对应的末状态,构成状态集;按状态量度由大到小的顺序设置状态集中的末状态优先级;按优先级高低依次回溯状态集中的末状态,其间,如果回溯的结果是咬尾的,则结束解码并输出结果;如果回溯的结果不是咬尾的,且回溯得到的初状态在所述状态集中,则将该初状态设为最高优先级,优先回溯该初状态;如果回溯的结果不是咬尾的,且回溯得到的初状态不在所述状态集中,则将该初状态加入所述状态集,并设为最低优先级;如果回溯达最大回溯次数,则译码失败。进ー步的,所述最大回溯次数小于等于2M,其中L为咬尾卷积码编码约束长度。进ー步的,所述最大回溯次数小于等于8。进ー步的,所述状态集的中的末状态的数量小于等于2M,其中L为咬尾卷积码编码约束长度。本发明还提供ー种咬尾卷积码译码装置,包括初始状态模块、前向迭代模块、回溯模块、状态集生成模块以及译码输出模块,其中初始状态模块内预设有状态量度为O的初始状态;前向迭代模块以初始状态模块内预设的初始状态作为初始条件作第一次迭代,而后依次利用第i_l次迭代的末状态的状态量度作为初始状态做第i次迭代,其中I く i<N,N为预设的最大迭代次数,其间,回溯模块对每次迭代的结果进行回溯,判断是否咬尾,如果是,译码输出模块输出结果,否则,前向迭代模块以第N-I次迭代的末状态的状态量度作为初始状态作第N次迭代;状态集生成模块从第N次迭代的末状态中选取多个最大状态量度对应的末状态,构成状态集,其中状态集中的末状态按状态量度由大到小的顺序设置优先级;回溯模块按优先级高低依次回溯状态集中的末状态,其间,如果回溯的结果是咬尾的,译码输出模块输出结果;如果回溯的结果不是咬尾的,指示状态集更新,即若回溯得到的初状态在所述状态集中,则将该初状态设为最高优先级,优先回溯该初状态,若回溯得到的初状态不在所述状态集中,则将该初状态加入所述状态集,并设为最低优先级;如果回溯达最大回溯次数,则译码失败。进ー步的,所述最大回溯次数小于等于2M,其中L为咬尾卷积码编码约束长度。进ー步的,所述最大回溯次数小于等于8。进ー步的,所述状态集的中的末状态的数量小于等于2M,其中L为咬尾卷积码编码约束长度。
可见,以上咬尾卷积码译码方法与装置根据最后一次迭代得到的末状态对应的量度生成可能的初状态集,而后对该初状态集中的状态进行回溯,在回溯过程中更新初状态集,且根据回溯的结果调整优先级,优先回溯已在状态集中的状态,以尽量減少回溯次数,进而达到減少时延的效果。同时,优先搜索最可能成为咬尾解初状态的状态,而不单纯地以末状态的状态量度或者一次迭代的结果作为考量的依据,达到了性能和时延较优的折中效果,具有较好的鲁棒性。


图I为ー种现有的咬尾卷积码译码方法流程示意图;图2为本发明一实施例所提供的咬尾卷积码译码方法的流程示意图;图3为本发明一实施例所提供的咬尾卷积码译码装置的功能方块图。
具体实施例方式为让本发明的上述特征和优点能更明显易懂,下文特举示例性实施例,并配合附图,作详细说明如下。考虑到实际应用中,编码块长度一般都在约束长度的3倍以上,故而本发明对不同长度的编码块使用同一种处理方法,而不失一般性。在本发明中考虑到所有度量计算后的状态,生成ー个可能的初状态集,然后从这个初状态集中捜索可能的咬尾解。在尽量减少时延,減少回溯次数的同时,优先搜索最可能成为咬尾解初状态的状态,不单纯地以末状态的状态量度或者一次迭代的结果作为考量的依据,而是使用状态集的方法综合这两种衡量标准,在減少时延的同时尽量保持相比最优算法的性能损失,达到了性能和时延较优的折中效果,具有较好的鲁棒性。具体,设N为最大迭代次数,从所有状态量度为O的初始条件作第一次迭代;而后依次利用第i-Ι次迭代的末状态的状态量度作为初始状态做第i次迭代,其中I < i < N ;其间,如果迭代得到的结果是咬尾的,则结束译码并输出結果;若以上迭代过程中得到的结果不是咬尾的,则以第N-I次迭代的末状态的状态量度作为初始状态作第N次迭代-J人第N次迭代的末状态中选取多个最大状态量度对应的末状态,构成状态集;按状态量度由大到小的顺序设置状态集中的末状态优先级;按优先级高低依次回溯状态集中的末状态,其间,如果回溯的结果是咬尾的,则结束解码并输出結果;如果回溯的结果不是咬尾的,且回溯得到的初状态在所述状态集中,则将该初状态设为最高优先级,优先回溯该初状态;如果回溯的结果不是咬尾的,且回溯得到的初状态不在所述状态集中,则将该初状态加入所述状态集,并设为最低优先级;如果回溯达最大回溯次数,则译码失败。可见,以上过程在前向迭代的过程与现有技术相同,但在得到所有可能的解后,不再对所有解全部进行回 溯,而是建立起ー个最可能状态集,然后从这个状态集中捜索可能的咬尾解。如此,在尽量减少时延,減少回溯次数的同时,尽量保持了相比最优算法的性能损失,达到了性能和时延较优的折中效果,具有较好的鲁棒性。具体,结合图2,进行详细描述,如图所示,该方法包括如下步骤S210 :从所有状态量度为O的初始条件下作第一次迭代(采用Viterbi译码方法),即将所有状态的度量值设为0,做一次Viterbi迭代;S220 :判断得到的最大似然解是否咬尾(即初状态与末状态相同),该判断方法是通过回溯得到的最大似然解,以得到对应的初状态,进而判断初状态与末状态是否相同来进行判断的。如果得到的最大似然解是咬尾的,则译码成功,结束译码并输出结果;如果不是咬尾的,则继续做步骤S230 ;S230 :对于第i (I < i < N)次迭代,用第i_l次迭代的末状态的状态量度作为初始状态做一次Viterbi译码。其间进行步骤S220,即判断得到的最大似然解是否咬尾,如果第i次迭代的最大似然解是咬尾的,则译码成功,结束解码并输出结果;如果不是咬尾的,则继续做步骤S230和S240 S230 :对于第N次迭代,用第N-I次迭代的末状态的状态量度作为初始状态做一次Viterbi 译码。S240 :从第N次迭代的末状态的状态量度找出K个最大状态量度(度量值),将这K个末状态加入状态集,并依量度由大到小的顺序设置状态集中的状态量度的优先级;S250 :按优先级依次回溯这些状态量度对应的末状态,其间,S260 :判断回溯结果是否咬尾;如果回溯的结果是咬尾的,则结束解码并输出结果;如果回溯的结果不是咬尾的,则进行步骤S270 ;S270 :判断是否达到最大回溯次数M ;如果达到最大回溯次数M,则译码失败。如果未达到最大回溯次数M,则进行步骤S280 ;S280 :判断回溯得到的初状态是否在状态集中,如果在,则进行步骤S290 :将该初状态设为最高优先级,优先回溯该初状态;如果不在,则进行步骤S300 :将该初状态加入状态集,并设为最低优先级。以上可以看出,如果第N次迭代生成的状态集已回溯完毕且没有咬尾解,则认为译码失败。那么,状态集的元素数量K和最大回溯次数M的设定就决定了在译码时延和译码性能之间的折中效果。较佳的,设咬尾卷积码编码约束长度为L,则设定最大回溯次数2m。即在实际应用中,可以根据编码约束长度L来设定最大回溯次数,但这种设定不是绝对的,本领域技术人员可根据需要进行设定,只要可以获得较好的译码效果即可。本发明人经研究发现,最大回溯次数设定在8以内便可以基本满足译码要求。而K的设定也可以根据根据编码约束长度L来设定,较佳的,K < 2M,同样,该设定也不是绝对的,本领域技术人员可根据需要进行设定,只要可以获得较好的译码效果即可。下面通过一具体实例,来详细描述以上回溯过程,以便于本领域技术人员更好的理解本发明的实质。设状态集中元素个数K设为4,最大回溯次数M设为6。对于约束长度为7的TBCC编码,每个时刻都会有26 = 64个状态,对应于每个状态都有其量度(度量值)。那么在本实施例中,经过最后一次迭代后,有64个末状态。由于K设为4,需从64个末状态的状态量度中取出最大的四个,并按由大到小的顺序将对应的末状态加入状态集。假设在第N次迭代后,最大的四个状态量度分别为M(25) > M(Il) >M(33) >M(7) >L,则状态集即为{25,11,33,7}。第一次回溯,从状态25开始回溯,假设得到其对应的初状态18,由于状态集中没有状态18,则将状态18加到末尾,状态集变为{11,33,7,18}。第二次回溯,从状态11开始回溯,假设得到其对应的初状态7,由于状态集中有状态7,所以将状态7的优先级提至最高,状态集变为{7,33,18}。第三次回溯,从状态7开始回溯,得到其对应的初状态7,该解为咬尾解,结束回溯过程,将第三次回溯得到的结果作为正确的译码结果输出。
·
如果以上过程做到第6次回溯(最大回溯次数M设为6)仍然没有找到咬尾解,则认为译码失败。可见,利用以上译码方法根据最后一次迭代得到的末状态对应的量度生成可能的初状态集,而后对该初状态集中的状态进行回溯,在回溯过程中更新初状态集,且根据回溯的结果调整优先级,优先回溯已在状态集中的状态,以尽量減少回溯次数,进而达到减少时延的效果。同时,优先搜索最可能成为咬尾解初状态的状态,而不单纯地以末状态的状态量度或者一次迭代的结果作为考量的依据,达到了性能和时延较优的折中效果,具有较好的鲁棒性。下面详细描述对应的卷积码译码装置的实现情況。请參考图3,其为本发明一实施例所提供的咬尾卷积码译码装置的功能方块图。如图所示,该译码装置包括初始状态模块310、前向迭代模块320、回溯模块330、状态集生成模块340以及译码输出模块350,其中初始状态模块310内预设有状态量度为O的初始状态;前向迭代模块320以初始状态模块310内预设的初始状态作为初始条件作第一次迭代,而后依次利用第i_l次迭代的末状态的状态量度作为初始状态做第i次迭代,其中I く i
<N,N为预设的最大迭代次数,其间,回溯模块330对每次迭代的结果进行回溯,判断是否咬尾,如果是,译码成功,译码输出模块350输出结果,否则,前向迭代模块320以第N-I次迭代的末状态的状态量度作为初始状态作第N次迭代;状态集生成模块340从第N次迭代的末状态中选取K最大状态量度对应的末状态,构成状态集,其中状态集中的末状态按状态量度由大到小的顺序设置优先级;回溯模块330按优先级高低依次回溯状态集中的末状态,其间,如果回溯的结果是咬尾的,则译码成功,译码输出模块350输出结果;如果回溯的结果不是咬尾的,则回溯模块330指示状态集更新,即当回溯得到的初状态在状态集中,则将该初状态设为最高优先级,优先回溯该初状态;如回溯得到的初状态不在所述状态集中,则将该初状态加入所述状态集,并设为最低优先级;如果回溯达最大回溯次M,则译码失败。其中,K和M都为设定值,用于在译码时延和译码性能之间取有效的折中。其设定方式同以上实施例,在此不再赘述。以上译码装置根据最后一次迭代得到的末状态对应的量度生成可能的初状态集,而后对该初状态集中的状态进行回溯,在回溯过程中更新初状态集,且根据回溯的结果调整优先级,优先回溯已在状态集中的状态,以尽量減少回溯次数,进而达到减少时延的效果。同时,优先搜索最可能成为咬尾解初状态的状态,而不单纯地以末状态的状态量度或者一次迭代的结果作为考量的依据,在減少时延的同时尽量保持相比最优算法的性能损失,通过设置參数K和M可以增加灵活度和鲁棒性。以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本领域的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是本发明的原理,在不脱离本发明精神和范围的前提下本发明还会有各种变化和改进,这些变化和 改进都落入要求保护的本发明的范围内。本发明要求的保护范围由所附的权利要求书及其等同物界定。
权利要求
1.一种咬尾卷积码译码方法,包括从所有状态量度为O的初始条件作第一次迭代;而后依次利用第i-Ι次迭代的末状态的状态量度作为初始状态做第i次迭代,其中I < i< N,N为预设的最大迭代次数;其间,如果迭代得到的结果是咬尾的,则结束译码并输出结果;其特征是,若以上迭代过程中得到的结果不是咬尾的,则还包括 以第N-I次迭代的末状态的状态量度作为初始状态作第N次迭代; 从第N次迭代的末状态中选取多个最大状态量度对应的末状态,构成状态集; 按状态量度由大到小的顺序设置状态集中的末状态优先级; 按优先级高低依次回溯状态集中的末状态,其间, 如果回溯的结果是咬尾的,则结束解码并输出结果; 如果回溯的结果不是咬尾的,且回溯得到的初状态在所述状态集中,则将该初状态设 为最高优先级,优先回溯该初状态; 如果回溯的结果不是咬尾的,且回溯得到的初状态不在所述状态集中,则将该初状态加入所述状态集,并设为最低优先级; 如果回溯达最大回溯次数,则译码失败。
2.根据权利要求I所述的咬尾卷积码译码方法,其特征是,所述最大回溯次数小于等于2M,其中L为咬尾卷积码编码约束长度。
3.根据权利要求I所述的咬尾卷积码译码方法,其特征是,所述最大回溯次数小于等于8。
4.根据权利要求I所述的咬尾卷积码译码方法,其特征是,所述状态集的中的末状态的数量小于等于2M,其中L为咬尾卷积码编码约束长度。
5.一种咬尾卷积码译码装置,其特征是,包括初始状态模块、前向迭代模块、回溯模块、状态集生成模块以及译码输出模块,其中 初始状态模块内预设有状态量度为O的初始状态; 前向迭代模块以初始状态模块内预设的初始状态作为初始条件作第一次迭代,而后依次利用第i_l次迭代的末状态的状态量度作为初始状态做第i次迭代,其中I < i < N,N为预设的最大迭代次数,其间,回溯模块对每次迭代的结果进行回溯,判断是否咬尾,如果是,译码输出模块输出结果,否则,前向迭代模块以第N-I次迭代的末状态的状态量度作为初始状态作第N次迭代; 状态集生成模块从第N次迭代的末状态中选取多个最大状态量度对应的末状态,构成状态集,其中状态集中的末状态按状态量度由大到小的顺序设置优先级; 回溯模块按优先级高低依次回溯状态集中的末状态,其间, 如果回溯的结果是咬尾的,译码输出模块输出结果; 如果回溯的结果不是咬尾的,指示状态集更新,即若回溯得到的初状态在所述状态集中,则将该初状态设为最高优先级,优先回溯该初状态,若回溯得到的初状态不在所述状态集中,则将该初状态加入所述状态集,并设为最低优先级; 如果回溯达最大回溯次数,则译码失败。
6.根据权利要求5所述的咬尾卷积码译码装置,其特征是,所述最大回溯次数小于等于2M,其中L为咬尾卷积码编码约束长度。
7.根据权利要求5所述的咬尾卷积码译码装置,其特征是,所述最大回溯次数小于等于8。
8.根据权利要求5所述的咬尾卷积码译码装置,其特征是,所述状态集的中的末状态的数量小于等于2M,其中L为咬尾卷积码编码约束长度。
全文摘要
本发明揭示了一种咬尾卷积码译码方法与装置,根据最后一次迭代得到的末状态对应的量度生成可能的初状态集,而后对该初状态集中的状态进行回溯,在回溯过程中更新初状态集,且根据回溯的结果调整优先级,优先回溯已在状态集中的状态,以尽量减少回溯次数,进而达到减少时延的效果。同时,优先搜索最可能成为咬尾解初状态的状态,而不单纯地以末状态的状态量度或者一次迭代的结果作为考量的依据,达到了性能和时延较优的折中效果,具有较好的鲁棒性。
文档编号H03M13/23GK102857242SQ20111017660
公开日2013年1月2日 申请日期2011年6月28日 优先权日2011年6月28日
发明者陈颖, 徐兵 申请人:联芯科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1