一种咬尾卷积码译码方法及装置的制作方法

文档序号:7520982阅读:167来源:国知局
专利名称:一种咬尾卷积码译码方法及装置的制作方法
技术领域
本发明涉及一种卷积码译码技术,尤其涉及一种咬尾卷积码译码技术。
背景技术
长期演进(Long Term Evolution,简称“LTE”)项目是3G的演进,始于2004年第三代合作伙伴项目(3rd Generation Partnership Pro ject,简称“3GPP”)的多伦多会议。LTE并非人们普遍误解的4G技术,而是3G与4G技术之间的一个过渡,是3. 9G的全球标准,它改进并增强了 3G的空中接入技术,采用正交频分复用(Orthogonal Frequency Division Multiplexing,简称 “OFDM”)和多输入多输出(Multiple Input Multiple Output,简称“MM0”)作为其无线网络演进的唯一标准。在20MHz频谱带宽下能够提供下行326Mbit/s与上行86Mbit/s的峰值速率。改善了小区边缘用户的性能,提高小区容量和降低系统延迟。与3G相比,LTE更具技术优势,具体体现在高数据速率、分组传送、延迟降低、广域覆盖和向下兼容。LTE下行编码主要有两种,对物理下行共享信道(Physical DownlinkSharedChannel,简称“PDSCH”)采用Turbo编码,而对物理下行控制信道(PhysicalDownlink Control Channel,简称“PDCCH”)和广播信道则米用咬尾卷积码进行编码。通常的卷积码,编码器初状态为0,在此初状态的基础上将待编码的数据送入编码器,以约束长度为V、编码率为1/3的卷积码为例,长度为X的数据编码之后的数据为3x+y ;而咬尾卷积码编码器的初状态不是设成0,而是设成编码数据的最后y个比特,也就是说咬尾卷积码的末状态和初状态是相同的(这也就是咬尾卷积码名称的由来),这样编码完之后的数据长度为3x,其频谱利用率高于传统的卷积码,而且性能不会下降,因此LTE中采用了咬尾卷积码。由于初状态不再是0,因此其译码的方法与传统的卷积码相比也需要复杂一些。目前常用的咬尾卷积码译码方法描述如图2所示。以8状态为例,8个状态有8个索引编号,记为S(I),S⑵,…,S (8),每个状态还有一个对应的度量值,分别记为f (I),f(2),...,f■⑶。步骤201,在所有状态度量值为0的初始条件下作第一次迭代译码,可采用Viterbi译码方法。第一次迭代后,得到8个末状态,其索引编号不变,对应的度量值f (I),f(2),. . .,f (8)发生了变化。在该次迭代完的状态度量值f (I),f (2),. . .,f (8)寻找最大的状态度量值f(x),对应的末状态为S(X),对末状态S(X)进行回溯,得到回溯路径的初状态S (y),和一个译码结果,即最大似然解。步骤202中,判断回溯得到的最大似然解是否是咬尾的,即初状态S(y)与末状态S(X)相同,如果是则进入步骤210,译码成功,结束译码并输出结果;如果不是咬尾的,则进入步骤203。步骤203中,对于第I (I > I)次迭代,用第I-I次迭代的末状态的状态度量值作为初始状态做一次迭代。即以第一次迭代结束时各个状态的度量值作为初始值开始迭代,同样迭代过程为更新状态度量的过程,当第二次迭代完之后,状态度量值f (I),f(2),...,f(8)又发生了变化。接着进入步骤204,判断第I次迭代的最大似然解是否是咬尾的,如果是则进入步骤210,译码成功,结束解码并输出结果;如果不是咬尾的,则进入步骤205。步骤205中,判断迭代的次数I是否已达到设定的上限值N,如果已达到N则进入步骤206,如果未达到N则重新返回步骤203。步骤206中,对第N次迭代得到的所有末状态进行回溯。由于在上一步骤中,已对度量值最大的末状态进行了回溯,在本步骤中,可以不再对该末状态进行回溯,而对除此以外的其他所有末状态进行回溯。步骤207中,判断步骤206的回溯结果中是否存在咬尾解,如果存在,则进入步骤209,输出末状态度量值最大的咬尾解,译码成功。如果不存在咬尾解,则进入步骤208,译码失败。通常最大迭代次数N设为2就能获得较好的译码效果。其中步骤207中为了简化也可以先对所有状态度量值进行排序,只对其中部分度量值较大的末状态进行回溯,在回溯得到的这部分解中寻找度量值最大的咬尾解,如果在这部分解中不存在咬尾解,就认为译码失败,这种方法可以节省不少计算量,但进行回溯的状态数也不能太少,否则会影响译码性能。现有的咬尾卷积码译码方法中,时延主要由两部分组成,一部分是Viterbi译码时的状态度量的迭代计算,另一部分是回溯判决,目前的咬尾卷积码译码方法在最后一次迭代时需要对所有末状态(或者其中部分末状态)进行回溯判决,直到找到最优的咬尾解。这些回溯过程如果串行执行,将会导致译码时延非常大,而如果并行执行,又需要消耗较多的硬件资源。

发明内容
本发明主要解决的技术问题是提供一种咬尾卷积码译码方法及装置,使得在不影响译码效果的情况下,降低译码复杂度,在译码数据长度较长时,减小译码时延或者节省硬件资源。为了解决上述技术问题,本发明提供了一种咬尾卷积码译码方法,包含以下步骤对待译码数据进行卷积码迭代译码,并对该次迭代后度量值最大的末状态进行回溯,得到一最大似然解;如果在预设的最大迭代次数N内,未获得咬尾的最大似然解,且待译码数据的长度达到预设门限值,则按照第N次的回溯路径对应的初状态,对第N次迭代得到的末状态中等于该初状态的末状态进行回溯,如果回溯得到的解咬尾,则译码成功。作为上述技术方案的改进,上述预设门限值可以为卷积码编码约束长度的4倍以上,作为一优选方案,可以是卷积码编码约束长度的4 5倍。本发明还提供了一种咬尾卷积码译码装置,包含 迭代译码模块,用于对待译码数据进行卷积码迭代译码;
回溯模块,用于对每次迭代后度量值最大的末状态进行回溯,得到一最大似然解;在预设的最大迭代次数N内,未获得咬尾的最大似然解,且待译码数据的长度达到预设门限值的情况下,按照第N次回溯路径对应的初状态,对第N次迭代得到的末状态中等于该初状态的末状态进行回溯,如果回溯得到的解咬尾,则译码成功。作为上述技术方案的改进,该预设门限值可以为卷积码译码约束长度的4倍以上,作为一优选方案,可以是卷积码译码约束长度的4 5倍。本发明实施方式与现有技术相比,主要区别及其效果在于在待译码数据长度大于一定门限时,在达到最大迭代次数后不需要对所有末状态进行回溯,只需要回溯度量值最大的末状态,然后按照该回溯路径对应的初状态确定是否存在咬尾解,如果存在咬尾解, 则译码成功。仅在译码数据长度小于上述门限时,按照现有方法进行译码。从而在不影响译码效果的情况下,降低译码复杂度,对于长度较长的译码数据,可以减小其译 码时的时延或者节省译码所需的硬件资源。


下面结合附图和具体实施方式
对本发明作进一步详细说明。图I是现有技术LTE中使用的咬尾卷积码示意图;图2是现有技术LTE中使用的咬尾卷积码译码方法流程图;图3是本发明第一实施方式的咬尾卷积码译码方法流程图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施方式作进一步地详细描述。本发明第一实施方式涉及一种咬尾卷积码译码方法,在待译码数据长度大于一定门限时,在达到最大迭代次数后不再对所有末状态进行回溯,只回溯度量值最大的末状态,然后按照该回溯路径对应的初状态确定是否存在咬尾解,如果存在咬尾解,则译码成功。在译码数据长度小于上述门限时,按照现有方法进行译码。本发明的发明人研究发现,当待译码数据长度超过译码器约束长度约4 5倍(该长度设为T )之后,所有末状态回溯的留存路径在T个长度之前以接近于I的概率合并为同一路径,即所有末状态回溯后的初状态以接近于I的概率相等。从而通过上述方式进行咬尾卷积码译码,可以在不影响译码效果的情况下,降低译码复杂度,对于长度较长的译码数据,可以减小其译码时的时延或者节省译码所需的硬件资源。具体流程如图3所示。步骤301中,在所有初状态度量值为0的初始条件下,对待译码数据做第一次迭代译码,其中迭代译码可采用Viterbi译码方法。在该次迭代后得到的各末状态度量值中寻找最大的状态度量值,对该度量值对应的末状态S(X)进行回溯,得到回溯路径的初状态S (y),和最大似然解。步骤302中,判断回溯后得到的最大似然解是否是咬尾的,即初状态S(y)与末状态S(X)相同,如果是则进入步骤313,译码成功,结束译码并输出结果;如果不是咬尾的,则进入步骤303。步骤303中,对于第I (I > I)次迭代,用第I-I次迭代的末状态的状态度量值作为初始状态做一次迭代译码。并对该次迭代得到的最大度量值对应的末状态S(X)进行回溯,得到回溯路径的初状态S (y),和最大似然解。接着进入步骤304,判断第I次迭代的最大似然解是否是咬尾的,如果是则进入步骤313,译码成功,结束译码并输出结果;如果不是咬尾的,则进入步骤305。步骤305中,判断当前迭代的次数I是否已达到设定的上限值N(即预设的最大迭代次数),如果已达到N则进入步骤306,如果未达到N则重新返回步骤303。步骤306中,判断待译码数据的长度是否达到预设门限值,如果达到预设门限值,则进入步骤307,如果未达到预设门限值,则进入步骤309。步骤307中,按照第N次的回溯路径对应的初状态S (y),对第N次迭代得到的各末 状态中等于该初状态S (y)的末状态进行回溯,得到一解和对应的初状态S(Z)。步骤308中,判断步骤307中所得到的解是否是咬尾解,即S (z)是否等于S (y),如果是,则进入步骤313,译码成功,结束译码并输出结果;如果不是,则进入步骤312,译码失败。步骤309中,待译码数据未达到预设门限值,对第N次迭代译码得到的所有末状态度量值进行回溯,接着进入步骤310。由于在步骤303中,已对度量值最大的末状态进行了回溯,在本步骤中,可以不再对该末状态进行回溯,而对除此以外的其他所有末状态进行回溯。步骤310中,判断步骤309的回溯结果中是否存在咬尾解,如果存在,则进入步骤311,输出末状态度量值最大的咬尾解,译码成功;如果不存在咬尾解,则进入步骤312,译码失败。需要说明的是,为了简化步骤,步骤309中也可以先对第N次回溯得到的所有末状态度量值进行排序,选择其中度量值最大的K个末状态(个数K可以预先设定)、或者选择度量值大于预设门限的末状态,只对这部分度量值较大的末状态进行回溯,在所得到的这部分解中寻找末状态度量值最大的咬尾解,如果在这部分解中不存在咬尾解,就认为译码失败。本发明第二实施方式涉及一种咬尾卷积码译码装置,包含迭代译码模块,用于对待译码数据进行卷积码迭代译码;回溯模块,用于对每次迭代后度量值最大的末状态进行回溯,得到一最大似然解;在预设的最大迭代次数N内,未获得咬尾的最大似然解,且待译码数据的长度达到预设门限值的情况下,按照第N次回溯路径对应的初状态,对第N次迭代得到的末状态中等于该初状态的末状态进行回溯,如果回溯得到的解咬尾,则译码成功。其中,预设门限值一般为卷积码译码约束长度的4倍以上,优选可以是卷积码译码约束长度的4 5倍。该迭代译码模块可以进一步包含以下子模块设置子模块,用于在进行第一次迭代译码时,将所有状态的初始度量值设置为0 ;对于第I次迭代译码,将第I-I次迭代译码所得的末状态的状态度量值作为该第I次迭代译码的初状态的状态度量值,I大于I ;迭代子模块,根据设置子模块所设置的初状态度量值进行卷积码迭代译码I。该回溯模块还可以用于在预设的最大迭代次数N内,未获得咬尾的最大似然解,且待译码数据的长度未达到预设门限值时,对第N次迭代译码得到的所有末状态进行回溯,从回溯得到的所有解中寻找末状态度量值最大的咬尾解;当回溯得到的所有解中不存在咬尾解时,译码失败。或者,该回溯模块还可以用于在预设的最大迭代次数N内,未获得咬尾的最大似然解,且待译码数据的长度未达到预设门限值时,从第N次迭代译码得到的末状态中,选择度量值大的部分末状态进行回溯,从回溯得到的所有解中寻找末状态度量值最大的咬尾解;如果回溯得到的所有解中不存在咬尾解,则译码失败。综上所述,由于当待译码数据长度超过译码器约束长度约4 5倍(该长度设为O之后,所有末状态回溯的留存路径在T个长度之前以接近于I的概率合并为同一路径,即所有末状态回溯后的初状态以接近于I的概率相等。因此,在待译码数据长度大于T时, 在达到最大迭代次数后不需要对所有末状态进行回溯,只需要回溯度量值最大的末状态,然后直接按照该回溯路径对应的初状态确定是否存在咬尾解,如果存在咬尾解,则译码成功。仅在译码数据长度小于T时,按照现有方法进行译码。从而在不影响译码效果的情况下,降低译码复杂度,对于长度较长的译码数据,可以减小其译码时的时延或者节省译码所需的硬件资源。虽然通过参照本发明的某些优选实施方式,已经对本发明进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
权利要求
1.一种咬尾卷积码译码方法,其特征在于,包含以下步骤 对待译码数据进行卷积码迭代译码,并对该次迭代后度量值最大的末状态进行回溯,得到一最大似然解; 如果在预设的最大迭代次数N内,未获得咬尾的最大似然解,且所述待译码数据的长度达到预设门限值,则按照所述第N次的回溯路径对应的初状态,对所述第N次迭代得到的末状态中等于该初状态的末状态进行回溯,如果回溯得到的解咬尾,则译码成功。
2.根据权利要求I所述的咬尾卷积码译码方法,其特征在于,所述预设门限值为卷积码译码约束长度的4倍以上。
3.根据权利要求2所述的咬尾卷积码译码方法,其特征在于,所述预设门限值为卷积码编码约束长度的4 5倍。
4.根据权利要求I所述的咬尾卷积码译码方法,其特征在于,如果在预设的最大迭代次数N内,未获得咬尾的最大似然解,且所述待译码数据的长度未达到预设门限值,则对所述第N次迭代译码得到的所有末状态进行回溯,从回溯得到的所有解中寻找末状态度量值最大的咬尾解;如果回溯得到的所有解中不存在咬尾解,则译码失败。
5.根据权利要求I所述的咬尾卷积码译码方法,其特征在于,如果在预设的最大迭代次数N内,未获得咬尾的最大似然解,且所述待译码数据的长度未达到预设门限值,则从所述第N次迭代译码得到的末状态中,选择度量值大的部分末状态进行回溯,从回溯得到的所有解中寻找末状态度量值最大的咬尾解;如果回溯得到的所有解中不存在咬尾解,则译码失败。
6.根据权利要求5所述的咬尾卷积码译码方法,其特征在于,所述选择度量值大的部分末状态进行回溯的步骤中 按照度量值由大到小的顺序,选择预设个数的末状态;或者 选择度量值大于预设度量门限的末状态。
7.根据权利要求I至6中任意一项所述的咬尾卷积码译码方法,其特征在于,所述对待译码数据进行卷积码迭代译码,并对该次迭代后度量值最大的末状态进行回溯,得到一最大似然解的步骤中,包含以下子步骤 在所有初状态度量值为O的初始条件下,对待译码数据进行第一次卷积码迭代译码,并对该次迭代后度量值最大的末状态进行回溯,得到一最大似然解; 如果得到的最大似然解是咬尾解,则该最大似然解为所述咬尾卷积码译码结果; 如果得到的最大似然解不是咬尾解,则对所述待译码数据进行下一次卷积码迭代译码并对度量值最大的末状态进行回溯,直到得到咬尾的最大似然解或者达到所述最大迭代次数N ;对于第I次迭代译码,用第I-I次迭代译码所得的末状态的度量值作为该第I次迭代译码的初状态的度量值,所述I大于I。
8.一种咬尾卷积码译码装置,其特征在于,包含 迭代译码模块,用于对待译码数据进行卷积码迭代译码; 回溯模块,用于对每次迭代后度量值最大的末状态进行回溯,得到一最大似然解;在预设的最大迭代次数N内,未获得咬尾的最大似然解,且所述待译码数据的长度达到预设门限值的情况下,按照所述第N次回溯路径对应的初状态,对所述第N次迭代得到的末状态中等于该初状态的末状态进行回溯,如果回溯得到的解咬尾,则译码成功。
9.根据权利要求8所述的咬尾卷积码译码装置,其特征在于,所述预设门限值为卷积码译码约束长度的4倍以上。
10.根据权利要求9所述的咬尾卷积码译码装置,其特征在于,所述预设门限值为卷积码译码约束长度的4 5倍。
11.根据权利要求8所述的咬尾卷积码译码装置,其特征在于,所述回溯模块还用于在所述预设的最大迭代次数N内,未获得咬尾的最大似然解,且所述待译码数据的长度未达到预设门限值时,对所述第N次迭代译码得到的所有末状态进行回溯,从回溯得到的所有解中寻找末状态度量值最大的咬尾解;当回溯得到的所有解中不存在咬尾解时,译码失败。
12.根据权利要求8所述的咬尾卷积码译码装置,其特征在于,所述回溯模块还用于在预设的最大迭代次数N内,未获得咬尾的最大似然解,且所述待译码数据的长度未达到预设门限值时,从所述第N次迭代译码得到的末状态中,选择度量值大的部分解进行回溯,从回溯得到的所有解中寻找末状态度量值最大的咬尾解;当回溯得到的所有解中不存在咬尾解时,译码失败。
13.根据权利要求8至12中任意一项所述的咬尾卷积码译码装置,其特征在于,所述迭代译码模块进一步包含以下子模块 设置子模块,用于在进行第一次迭代译码时,将所有状态的初始度量值设置为O ;对于第I次迭代译码,将第I-I次迭代译码所得的末状态的状态度量值作为该第I次迭代译码的初状态的状态度量值,所述I大于I; 迭代子模块,根据所述设置子模块所设置的初状态度量值进行卷积码迭代译码I。
全文摘要
本发明公开了一种咬尾卷积码译码方法及装置,由于当待译码数据长度超过译码器约束长度约4~5倍(该长度设为τ)之后,所有末状态回溯的留存路径在τ个长度之前以接近于1的概率合并为同一路径,即所有末状态回溯后的初状态以接近于1的概率相等。因此,在待译码数据长度大于τ时,在达到最大迭代次数后不需要对所有末状态进行回溯,只需要回溯度量值最大的末状态,然后直接按照该回溯路径对应的初状态确定是否存在咬尾解,如果存在咬尾解,则译码成功。仅在译码数据长度小于τ时,按照现有方法进行译码。从而在不影响译码效果的情况下,降低译码复杂度,对于长度较长的译码数据,可以减小其译码时的时延或者节省译码所需的硬件资源。
文档编号H03M13/23GK102638277SQ20111003641
公开日2012年8月15日 申请日期2011年2月11日 优先权日2011年2月11日
发明者徐兵, 陈颖 申请人:联芯科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1