专利名称:信道译码方法和咬尾卷积译码器的制作方法
技术领域:
本发明涉及通信领域,具体而言,涉及一种信道译码方法和咬尾卷积译码器。
背景技术:
在第三代无线通讯的LTE (Long Term Evolution,长期演进)系统中,卷积编码被广泛地应用于BCH (广播信道)、DCI (DownlinkControl Information,下行控制信息)、UCI 等信道中。为了提高码率及性能,LTE中采用咬尾卷积码(Tail biting convolutional coding)进行信道编码。LTE中采用的咬尾卷积码的编码器结构如图1所示,该咬尾卷积码的编码率为 1/3。编码器的状态寄存器的初始值设为输入数据流的最后6个信息比特的对应值,使得移位寄存器的初始状态与最终状态相同。目前,咬尾卷积码的译码方法一般采用Viterbi (维特比)算法,该算法主要包括以下步骤步骤1 根据输入的待译码数据计算路径度量值,并与原状态度量值累加求出新状态度量值;步骤2 通过加比选保留64个最大的状态度量值,并保存选择路径,其中,加比选的路径关系图如图3所示;步骤3 因为咬尾,所以可以一直循环步骤1和步骤2,直到认为译码性能满足要求,见图2;步骤4 回溯,因为咬尾卷积的状态不归零,因此可以从任意状态点回溯,也可以从最大状态度量值点回溯。因为采用从任意点回溯时不能保证回溯点的数据正确,因此需要一定的回溯深度以保证回溯路径稳定到幸存路径上(回溯深度一般是约束长度的5-10倍)。这样,为了达到相同的性能,从任意点回溯比从最大状态度量值点回溯需要更多的计算时间及路径存储资源。使用从最大状态度量值点回溯的优点是最大状态度量符合维特比译码的最根本的最大似然的原理,因此最大状态度量值点就是幸存路径的起始点,从此点回溯出的数据置信度最高,可以直接当作译码输出,不再需要计算回溯深度长的数据及保存这一段路径的存储资源。而其缺点是需要一定的资源进行最大状态度量值点的寻找,在64个状态度量值中选出最大值。在64个状态度量值中寻找最大值属于搜索问题,目前,在硬件实现上,一般有串行比较及并行比较两种方法。串行比较只需要一个比较器,但需要依次比较64次,这样需要较长的比较时间,浪费时间;并行比较如果要一步比较出最大值,则需要63个比较器,从而需要较多的比较资源
发明内容
本发明的主要目的在于提供一种信道译码方法和咬尾卷积译码器,以至少解决上述的串行比较需要较长的比较时间以及并行比较需要较多的比较资源的问题。根据本发明的一个方面,提供了一种信道译码方法,包括咬尾卷积译码器根据输入的待译码数据及其之后的N个0,对2n个状态的度量值进行加比选得到2N个状态的最终累计度量值,并保存加比选的选择结果,其中,N为咬尾卷积码的约束长度;咬尾卷积译码器在加比选结束后,根据选择结果从状态中的一个状态开始进行回溯,得到中间译码结果;咬尾卷积译码器将中间译码结果中的除最后N个比特以外的其余比特作为待译码数据的译码结果输出。根据本发明的另一方面,提供了一种咬尾卷积译码器,包括加比选模块,用于根据输入咬尾卷积译码器的待译码数据及其之后的N个0,对2N个状态的度量值进行加比选得到2N个状态的最终累计度量值,并保存加比选的选择结果,其中,N为咬尾卷积码的约束长度;回溯模块,用于在加比选模块进行加比选结束后,根据选择结果从2N个状态中的一个状态开始进行回溯,得到中间译码结果;输出模块,用于将中间译码结果中的除最后N个比特以外的其余比特作为待译码数据的译码结果输出。通过本发明,通过在传统的译码过程完成后,再输入N个0即还需额外多计算N步输入为0的数据,使得最终所有2N个状态的累计度量值均等于在传统的译码过程完成时这 2N个状态的累计度量值的最大值,从而无需再专门进行最大状态度量值的搜索,回溯时从任意状态开始只需N步即可回溯到最大状态度量值点,之后便可以正常地从最大状态度量值点回溯输出译码数据,节省了进行最大状态度量值的搜索资源,即节省了比较时间和比较资源。
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1是根据相关技术的咬尾卷积编码器的结构示意图;图2是根据相关技术的咬尾卷积码的栅格示意图;图3是根据相关技术的加比选的路径关系图;图4是根据本发明实施例的信道译码方法的示意图;图5是根据本发明实施例的咬尾卷积译码器的结构示意图;图6是根据本发明优选实施例的咬尾卷积译码器的结构示意图。
具体实施例方式下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。图4是根据本发明实施例的信道译码方法的示意图,包括以下步骤步骤S402,咬尾卷积译码器根据输入的待译码数据及其之后的N个0,对2N个状态的度量值进行加比选得到该2N个状态的最终累计度量值,并保存加比选的选择结果,其中, N为咬尾卷积码的约束长度;步骤S404,咬尾卷积译码器在上述加比选结束后,根据上述选择结果从该2N个状态中的任意一个状态开始进行回溯,得到中间译码结果;步骤S406,咬尾卷积译码器将上述中间译码结果中的除最后N个比特以外的其余比特作为该待译码数据的译码结果输出。该实施例在充分理解维特比译码方法的回溯的本质的基础上,采用了归零的思想,通过在传统的译码过程完成后,再输入N个0即还需额外多计算N步输入为0的数据, 使得最终所有2N个状态的累计度量值(即上述的最终累计度量值)均等于在传统的译码过程完成时这状态的累计度量值的最大值(即最大状态度量值),从而无需再专门进行最大状态度量值的搜索,回溯时从任意状态开始只需N步即可回溯到最大状态度量值点, 之后便可以正常地从最大状态度量值点回溯输出译码数据。该实施例节省了进行最大状态度量值的搜索资源,即节省了比较时间和比较资源。上述方法由于再多输入了 N个0,来强制咬尾卷积译码器的状态归零,因此也可以称为一种强制归零的方法。显然,在上述的方法中,也可以在待译码数据之后再输入M(M> N)个0,同样也可以使得所有2N个状态的最终累计度量值等于在传统的译码过程完成时这2N个状态的累计度量值的最大值,后续回溯后,在步骤S406中将得到的中间译码结果中的除最后M个比特以外的其余比特作为该待译码数据的译码结果输出即可。但是优选地是输入N个0。优选地,步骤S402包括咬尾卷积译码器根据输入的待译码数据,对上述2N个状态的度量值进行加比选,得到该2N个状态的中间累计度量值;以该2N个状态的中间累计度量值作为初始值,根据在上述待译码数据之后输入的上述N个0,继续对该2n个状态的度量值进行N次加比选得到该2N个状态的上述最终累计度量值。具体地,上述方法的原理是维特比译码的加比选实际上就是天然的比较器,通过输入为O的数据(即路径度量值为0),实际上是完成了 2N个状态的度量值的比较而并未改变状态的度量值本身,因此通过计算N步输入为零的数据(即进行N次加比选)实际上是完成了 2N个状态的度量值中选出最大值的这一过程,这一过程因为同正常的输入非零数据的过程一样,因此是可以回溯的,保存的幸存路径(即加比选的选择结果)实际上是保存了最大值的寻找路径,所以通过正常的回溯过程,只需要N步便可以回到最大状态度量值点。实际上,因为加比选过程总是保留较大值,因此经过这额外的N步输入为零的数据的计算,所有2N个状态的最终累计度量值都更新为最大状态度量值,因此从任意状态点回溯,通过N步都能回到最大状态值度量点。从而无需比较、搜索得到最大值的过程,仅需额外输入N个0即可,既节省了比较时间又节约了比较资源。其中,进行加比选的方式包括如图3所示,在该状态从前一时刻转移至当前时刻的过程中,将对应于每一个该状态的这一次转移前可选的两个该状态分别累加这一次转移所新增的度量值,其中,该所新增的度量值(也可称为路径度量值)为使用输入的数据计算得到的欧式距离;选择较大的累加值作为对应状态在这一次转移后的新的累计度量值。当前时刻T的第业个状态的度量值由前一时刻T-I的第k个状态的度量值及第 K+32个状态的度量值加比选得出(所加的值就是路径度量值)。同理,当前时刻T的第业+1 个状态的度量值由第k个状态的度量值及第K+32个状态的度量值加比选得出。因此当输入数据为0时,即路径度量值为0时,当前时刻T的度量值自然就选择可选的两个状态中较大的度量值。在LTE中,因为编码寄存器组的长度是6,即约束长度N = 6,因此,只需额外输入 6个0,额外计算6步(即额外进行6次加比选)。优选地,步骤S404包括咬尾卷积译码器以该2N个状态中的任意一个状态作为回溯起始点,按照上述选择结果寻找父状态,直到找出所有的历史状态;咬尾卷积译码器将所有的历史状态输出的最低比特按照回溯的反方向组成上述中间译码结果。该优选实施例提供了咬尾卷积译码器进行回溯的具体实施方案。由于经过上述步骤S402中多输入N个0,额外多进行N次加比选即可使得所有状态的最终累计度量值均等于最大值,因此在回溯时从任意一个状态进行回溯均可回到最大状态度量值点,即均相当于从最大状态度量值进行回溯。上述优选实施例中所需的多计算的N步及回溯过程与传统译码过程的区别仅在于输入数据置为零,因此实现简单高效。优选地,该2N个状态中的任意一个状态可以为零状态,即步骤S404中进行回溯时可以选择从零状态开始回溯,这样,硬件实现更为方便。当然,本领域技术人员可以想到也可以从最后一个状态开始回溯。本质上,上述根据本发明实施例的信道译码方法还是属于从最大状态度量值点进行回溯的方法,其优点是不需要单独的寻找最大状态度量值的时间和资源,实现简单有效。在实际实施时,以LTE的信道译码为例,对根据本发明优选实施例的信道译码方法(具体为用于咬尾卷积码的维特比译码方法)进行详细介绍,此时N = 6,具体包括以下步骤步骤1 按照正常的译码过程,进行加比选及路径存储,直到正常译码完成;步骤2 将输入数据置为零(额外输入6个0),继续进行加比选及路径存储;步骤3:重复N次步骤2;步骤4:从零状态开始回溯,丢弃最开始回溯得到的N个比特数据,剩余的作为待译码数据的译码结果输出。图5是根据本发明实施例的咬尾卷积译码器的结构示意图,包括加比选模块10, 用于根据输入该咬尾卷积译码器的待译码数据及其之后的N个0,对2N个状态的度量值进行加比选得到该2N个状态的最终累计度量值,并保存加比选的选择结果,其中,N为咬尾卷积码的约束长度;回溯模块20,用于在加比选模块10进行加比选结束后,根据保存的选择结果从该2N个状态中的任意一个状态开始进行回溯,得到中间译码结果;输出模块30,用于将上述中间译码结果中的除最后N个比特以外的其余比特作为待译码数据的译码结果输出。优选地,如图6所示,加比选模块10包括第一处理模块102,用于根据输入咬尾卷积译码器的待译码数据,对该2N个状态的度量值进行加比选得到该2N个状态的中间累计度量值;第二处理模块104,用于以该状态的中间累计度量值作为初始值,根据在待译码数据之后输入的N个0,继续对该2n个状态的度量值进行N次加比选得到该2n个状态的上述最终累计度量值。优选地,加比选模块10进行上述加比选的方式包括在该2N个状态从前一时刻转移至当前时刻的过程中,将对应于每一个该状态的这一次转移前可选的两个该状态分别累加这一次转移所新增的度量值,其中,该所新增的度量值为使用输入的数据计算得到的欧式距离;选择较大的累加值作为对应状态在这一次转移后的新的累计度量值。优选地,回溯模块20包括寻找模块202,用于以该2N个状态中的任意一个状态作为回溯起始点,按照上述选择结果寻找父状态,直到找出所有的历史状态;组成模块204, 用于将所有的历史状态输出的最低比特按照回溯的反方向组成上述中间译码结果。优选地,上述2n个状态中的任意一个状态课可以为零状态。即,回溯模块20在进行回溯时,可以选择从零状态开始回溯,这样,硬件实现较方便。从以上的描述中,可以看出,本发明实现了如下技术效果由于在咬尾卷积的维特比译码过程中采用强制归零法进行回溯,只需要按照正常译码方式多计算约束长度步输入为零的数据,多保存约束长度步回溯的路径,便可以达到从最大状态度量值点回溯的性能, 但是,不再需要最大状态度量值搜索的时间和资源。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种信道译码方法,其特征在于,包括咬尾卷积译码器根据输入的待译码数据及其之后的N个0,对2n个状态的度量值进行加比选得到所述2N个状态的最终累计度量值,并保存所述加比选的选择结果,其中,所述N 为咬尾卷积码的约束长度;所述咬尾卷积译码器在所述加比选结束后,根据所述选择结果从所述2N个状态中的一个状态开始进行回溯,得到中间译码结果;所述咬尾卷积译码器将所述中间译码结果中的除最后N个比特以外的其余比特作为所述待译码数据的译码结果输出。
2.根据权利要求1所述的方法,其特征在于,所述咬尾卷积译码器得到所述2N个状态的最终累计度量值包括所述咬尾卷积译码器根据输入的所述待译码数据,对所述2N个状态的度量值进行加比选得到所述2N个状态的中间累计度量值;以所述2N个状态的中间累计度量值作为初始值,根据在所述待译码数据之后输入的所述N个0,继续对所述2n个状态的度量值进行所述N次加比选得到所述2n个状态的所述最终累计度量值。
3.根据权利要求1或2所述的方法,其特征在于,进行加比选的方式包括在所述2N个状态从前一时刻转移至当前时刻的过程中,将对应于每一个所述状态的这一次转移前可选的两个所述状态分别累加这一次转移所新增的度量值,其中,所述所新增的度量值为使用输入的数据计算得到的欧式距离;选择较大的累加值作为对应状态在这一次转移后的新的累计度量值。
4.根据权利要求1所述的方法,其特征在于,所述咬尾卷积译码器根据所述选择结果从所述2N个状态中的一个状态开始进行回溯,得到中间译码结果包括所述咬尾卷积译码器以所述2N个状态中的一个状态作为回溯起始点,按照所述选择结果寻找父状态,直到找出所有的历史状态;所述咬尾卷积译码器将所述所有的历史状态输出的最低比特按照所述回溯的反方向组成所述中间译码结果。
5.根据权利要求1所述的方法,其特征在于,所述2N个状态中的一个状态为零状态。
6.一种咬尾卷积译码器,其特征在于,包括加比选模块,用于根据输入所述咬尾卷积译码器的待译码数据及其之后的N个0,对2n 个状态的度量值进行加比选得到所述状态的最终累计度量值,并保存所述加比选的选择结果,其中,所述N为咬尾卷积码的约束长度;回溯模块,用于在所述加比选模块进行加比选结束后,根据所述选择结果从所述状态中的一个状态开始进行回溯,得到中间译码结果;输出模块,用于将所述中间译码结果中的除最后所述N个比特以外的其余比特作为所述待译码数据的译码结果输出。
7.根据权利要求6所述的咬尾卷积译码器,其特征在于,所述加比选模块包括第一处理模块,用于根据输入所述咬尾卷积译码器的所述待译码数据,对所述2N个状态的度量值进行加比选得到所述2N个状态的中间累计度量值;第二处理模块,用于以所述2N个状态的中间累计度量值作为初始值,根据在所述待译码数据之后输入的所述N个0,继续对所述2n个状态的度量值进行所述N次加比选得到所述2N个状态的所述最终累计度量值。
8.根据权利要求6或7所述的咬尾卷积译码器,其特征在于,所述加比选模块进行所述加比选的方式包括在所述2N个状态从前一时刻转移至当前时刻的过程中,将对应于每一个所述状态的这一次转移前可选的两个所述状态分别累加这一次转移所新增的度量值,其中,所述所新增的度量值为使用输入的数据计算得到的欧式距离;选择较大的累加值作为对应状态在这一次转移后的新的累计度量值。
9.根据权利要求6所述的咬尾卷积译码器,其特征在于,所述回溯模块包括寻找模块,用于以所述2N个状态中的一个状态作为回溯起始点,按照所述选择结果寻找父状态,直到找出所有的历史状态;组成模块,用于将所述所有的历史状态输出的最低比特按照所述回溯的反方向组成所述中间译码结果。
10.根据权利要求6所述的咬尾卷积译码器,其特征在于,所述2N个状态中的一个状态为零状态。
全文摘要
本发明公开了一种信道译码方法和咬尾卷积译码器,其中,方法包括咬尾卷积译码器根据输入的待译码数据及其之后的N个0,对2N个状态的度量值进行加比选得到2N个状态的最终累计度量值,并保存加比选的选择结果,其中,N为咬尾卷积码的约束长度;咬尾卷积译码器在加比选结束后,根据选择结果从2N个状态中的一个状态开始进行回溯,得到中间译码结果;咬尾卷积译码器将中间译码结果中的除最后N个比特以外的其余比特作为待译码数据的译码结果输出。本发明节省了比较时间和比较资源。
文档编号H03M13/41GK102377438SQ20101025168
公开日2012年3月14日 申请日期2010年8月11日 优先权日2010年8月11日
发明者杜凡平 申请人:中兴通讯股份有限公司