一种译码方法和设备的制作方法

文档序号:7526420阅读:121来源:国知局

专利名称::一种译码方法和设备的制作方法
技术领域
:本发明涉及通信
技术领域
,特别涉及一种译码方法和设备。
背景技术
:在GSM(GlobalSystemforMobileCommunications,全5求移动通i凡系统)等数字无线通信系统的信道编码方法中,巻积码和CRC(CyclicalRedundancyCheck,循环冗余码校验)码相级联的编码方法得到了广泛的应用。对于巻积码和CRC码相级联编码后得到的序列的译码方法通常为将其作为增强型Viterbi(维特比)译码器的接收序列,增强型Viterbi译码器会针对一组接收序列输出多组译码序列,并分别对每一组译码序列进行CRC校验,并从中选择一组CRC校验通过的序列作为该组接收序列的译码输出序列。增强型Viterbi译码器的译码过程可以如图1所示,译码器接收到一组接收序列后,进行分支度量的计算,并根据分支度量的计算结果进行加比选操作,根据加比选的操作结果,进行幸存路径(包括最大幸存路径)信息的存储,以及Metricdiff(度量差)值的计算和存储,根据存储的幸存路径信息进行分叉路径位置的排序,根据存储的Metricdiff值进行Metricdiff值的排序,根据分叉路径位置的排序和Metricdiff值的排序进行多路回溯,得到多路回溯结果。在实现本发明的过程中,发明人发现上述现有技术至少具有以下缺点由于译码器在译码过程中,需要在加比选过程中计算每个时刻每个状态的Metricdiff值,并将这些信息进行存储,使得整个实现过程既耗费译码器的运算资源、又耗费译码器的存储资源。
发明内容为了降低存储资源和运算资源的浪费,本发明实施例提供了一种译码方法和设备,所述^l支术方案如下一种译码方法,包括5接收待译码的接收序列;根据所述接收序列确定译码回溯的最大幸存路径,并沿着所述最大幸存路径进行第一次回溯;对所述第一次回溯结果进行校验;当校验结果为不正确时,在所述最大幸存路径的回溯状态上获得分叉位置;在所述分叉位置进行回溯,并根据回溯的结果进行译码输出。一种译码设备,包括接收模块,用于接收待译码的接收序列;第一回溯模块,用于根据所述接收序列确定译码回溯的最大幸存路径,并沿着所述最大幸存路径进行第一次回溯;校验模块,用于对所述第一回溯模块得到的第一次回溯结果进行校验;分叉位置获得模块,用于当所述校验模块的校验结果为不正确时,在所述最大幸存路径的回溯状态上获得分叉位置;第二回溯模块,用于在所述分叉位置获得模块获得的分叉位置进行回溯,并根据回溯的结果进行译码输出。本发明实施例提供的技术方案的有益效果是根据分叉位置均发生在最大幸存路径上的特征,通过在第一次回溯之前不计算度量差值、如果存在多次回溯时不计算全部度量差值的方式,减少了整个译码过程中的存储资源和运算资源的浪费。为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是现有技术中增强型Viterbi译码器的译码流程示意图2是现有技术中增强型Viterbi译码器的译码回溯示意图3本发明实施例1提供的译码方法的流程图4是本发明实施例2提供的译码方法的流程图5是本发明实施例3提供的译码设备的结构示意图;图6是本发明实施例3提供的译码设备的第二种结构示意图;图7是本发明实施例3提供的分叉位置获得模块的结构示意图;图8是本发明实施例3提供的译码器的逻辑实现结构图。具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。巻积码的编码过程可以认为是输入的原始信息元通过编码网4各图相应路径的过程,而译码过程即是编码的逆过程,即根据接收序列寻找编码时通过网格图的路径的过程(或可称为译码回溯过程),找到该路径即完成了译码过程,并且还可以在译码过程中纠正接收序列中的误码。由于Metricdiff值代表的是以某一时刻某一状态为终点的两条路径(即幸存路径与竟争路径)之间的差值,并用以表征幸存路径与竟争路径之间差异的鲜明性,即加比选操作中"选"这步操作的可靠性。其中,Metricdiff值越大,说明加比选操作中"选"这步操作的可靠性越高;Metricdiff值越小,说明加比选操作中"选,,这步操作的可靠性越低。因此,增强型Viterbi译码器会在其已保存的Metricdiff值中获得每个时刻每个状态的Metricdiff值,在同一时刻的各个状态中选择Metricdiff值最小(即可靠性最低)的状态进行再次回溯。假设整个译码过程共经过N个时刻的状态转移,增强型Viterbi译码器在其已保存的Metricdiff值中选出各个时刻Metricdiff值最小的状态,按照从小到大的顺序分别标记为S(1)S(N-l),也称之为分叉位置,然后按照下述步骤进行回溯(1)沿着最大幸存路径回溯,输出对应的一组序列;(2)沿着最大幸存路径回溯,当回溯到S(1)状态时,改为沿着竟争路径回溯,而在S(1)状态以外的其他状态沿着幸存路径回溯,输出对应的一组序列;(3)对于S(2)~S(N-l)状态重复进行步骤(2),直至所有的状态都遍历完成;(4)输出N组序列,其中第1组序列是按照传统方法得到的最大幸存路径的回溯结果,其余N-1組序列是遍历尝试N-1个状态的竟争路径得到的回溯结果。将输出的N组序列进行CRC校验,校验结果正确的一组序列作为译码结果输出。当出现多组校验结果正确的情况时,选择Metricdiff值最小(即加比选操作中"选"这步才喿作的可靠性最低)的一组作为:^奪码结果输出。以增强型Viterbi译码器译码过程需要经过N个时刻的状态转移为例,如图2所示最上方的粗线路径代表按照传统Viterbi原理回溯得到的具有最大累积度量的幸存路径;H没最后开始回溯是从状态S0开始,t(4)时刻的S(l),t(n-l)时刻的S(3)状态是^t耍照上述方法选择的重新回溯的N-l个状态中的两个,在经过这些状态回溯时需沿着竟争路径进行回溯,但是一旦回溯经过这些状态后,后面的回溯仍然沿着幸存路径回溯。例如,当回溯到S(1)时,沿着t(4)到t(3)之间的点线所代表的竟争路径进行回溯,t(3)开始依然沿着点线所代表的幸存路径回溯,得到回溯结果;当回溯到S(3)时的情况与回溯到S(1)时的情况相类似,此处不做赘述。发明人经过长时间深入的研究、推导、分析以后发现,上述分叉位置S(1)~S(N-l)均在最大幸存路径上,利用这个特征信息,只在最大幸存路径上进行Metricdiff值的计算和排序,可以有效减少在加比选过程中的运算量和存储量。下面结合实施例对本发明提供的方法和装置进行详细的说明。实施例1为了降低存储资源和运算资源的浪费,本发明实施例提供了一种译码方法,参见图3,该方法包括301:接收待译码的接收序列;302:根据接收序列确定译码回溯的最大幸存路径,并沿着所述最大幸存路径进行第一次回溯;其中,译码器在接收到待译码接收序列后,根据分支度量确定译码回溯的最大幸存路径,并沿着最大幸存路径进行第一次回溯,在第一次回溯的过程中,记录回溯路径的状态。与现有技术不同的是,在确定最大幸存路径的过程中,不计算度量差值,从而节省了大量的运算资源的存储资源。编码后的序列可以但不限于是经过CRC编码、巻积码编码和信道后的序列。编码后的序列作为译码器的接收序列,译码器对其接收序列进行分支度量的计算。303:对所述第一次回溯结果进行校验;其中,校验的方法可以为CRC校验。当第一次回溯结果校验正确时,将第一次回溯的结果作为译码输出。304:当校验结果为不正确时,在最大幸存路径的回溯状态上获得分叉位置;其中,将最大幸存路径上的除最后一个回溯状态的其他回溯状态作为分叉位置。305:在分叉位置进行回溯,并根据回溯的结果进行译码输出。分别计算分叉位置上的度量差值,按照度量差值从小到大的顺序在相应的分叉位置进行回溯,得到相应的回溯结果;将回溯结果分别进行校验,将校验正确且分叉位置的度量差值最小的的回溯结果作为译码输出;当回溯结果全部校验错误时,将第一次回溯结果作为译码输出。或者,分别计算分叉位置上的度量差值;在分叉位置分别进行回溯,得到相应的回溯的结果;将回溯的结果分别进行校验,将校验正确且分叉位置的度量差值最小的回溯结果作为译码输出;当所述回溯的结果全部校验错误时,将第一次回溯结果作为译码输出。本发明实施例提供的译码方法,根据分叉位置均发生在最大幸存路径上的特征,通过在第一次回溯之前不计算度量差值、如果存在多次回溯时不计算全部度量差值的方式,减少了整个译码过程中的存储资源和运算资源的浪费。实施例2为了降低存储资源和运算资源的浪费,本发明实施例提供了一种译码方法,以增强型Viterbi译码器为例对本方法进行说明。参见图4,该方法包括401:译码器将接收到编码后的序列作为接收序列,对其进行预处理后作为译码前的数据,并从某一预定的时刻开始启动译码过程;其中,接收序列需要经过如下预处理先解调软值信息,并通过业务类型检测算法得到具体的业务类型,从而得到去交织公式,对解调软值进行去交织处理后,得到译码前的数据。402:译码器根据译码前的数据进行分支度量的计算;需要说明的是,由于分支度量的计算为现有技术,在本方案中不予以详细的介绍。403:根据分支度量的结果,进行第一次加比选过程;其中,所谓加比选过程可以包括"加',过程对于每个状态,将计算好的所有分支度量同这些分支相连的前一时刻留选的路径度量相加,得到当前时刻所有分支进入该状态的路径度量;"比"过程比较当前时刻所有分支进入该状态的路径度量;"选"过程选4李路径度量最小的路径为幸存路径,其他路径为竟争路径,并记录下相应的路径转移信息。这里需要说明的是,与现有技术不相同的是,在第一次加比选的过程中,并不计算和保存各个时刻各个状态的Metricdiff值。这样,可以使得整个第一次加比选过程节省了大量的存储资源和运算资源。404:根据第一次加比选过程得到的最大幸存路径进行第一次回溯;需要说明的是,回溯的过程中需要保存最大幸存路径上的回溯状态,即保存回溯的每个时刻经过了哪一状态。405:判断第一次回溯结果的CRC校验是否正确;如果正确,直接将最大幸存路径上的回溯结果作为本次译码的输出;如果不正确,执^f于步骤406。406:启动第二次加比选过程;需要说明的是,在第二次加比选过程中,针对第一次回溯过程中保存的最大幸存路径上的回溯状态,分别进行MetricDiff值的计算,并根据分叉位置的个数(设为M),维护M个最小的Metricdiff值以及对应的分叉位置信息。其中,分叉位置信息具体指的是某一时刻上的状态。这样,只计算和存储了M个Metricdiff值,进一步地减少了逻辑存储量和运算量。假设分叉位置的个数为7,则译码器计算并保存7个分叉位置上的Metricdiff值,如表1所示表1<table>tableseeoriginaldocumentpage11</column></row><table>407:以Metricdiff值为索引,对分叉位置的时刻进行冒泡排序,获得Metricdiff值的大小顺序;以表1中的信息为例,冒泡排序后的分叉位置如表2所示表2<table>tableseeoriginaldocumentpage11</column></row><table>408:在各个分叉位置上分别进行回溯,选择CRC校验正确的一组作为本次译码的结果。如果都不正确,那么选择最大幸存路径上的回溯结果作为译码结果。即将排序后的分叉位置分别标记为S(1)S(M),沿着幸存路径重新回溯,当回溯经过S(1)状态时,改为沿着竟争路径回溯,而在S(1)以外的其他状态都沿着幸存路径回溯,然后按照新路径输出一組译码序列;对于S(2)S(M)节点,重复上述步骤,直至所有的S(1)S(M)状态都遍历完成,输出M组序列。选择CRC校验正确的一组作为本次译码的结果。当出现多组CRC校验正确时,选择Metricdiff值最小,即分叉位置的优先级最高的一组作为本次译码的结果。如果都不正确,选择最大幸存路径上的回溯结果作为译码结果。或者,将排序后的分成位置分布标记为S(1)S(M),验证幸存路径重新回溯,当回溯经过S(1)状态时,改为沿着竟争路径回溯,而在S(1)以外的其他状态都沿着幸存路径回溯,然后按照新路径输出一组译码序列,对该组译码序列进行CRC校验,如果CRC校验正确则直接将该组作为本次译码的结果;如果CRC校验不正确,则对于S(2)S(M)节点,重复上述步骤,直到有一组的CRC校验正确为止。如果都不正确,选择最大幸存路径上的回溯结果作为译码结果。参见表3,表3为现有技术与本发明运算资源的对比表表3<table>tableseeoriginaldocumentpage12</column></row><table>其中,N表示编码前的长度,M表示编码状态数,P表示最小Metricdiff值集合数,如果N-512,M=64,P=7,那么减少的指令数为30387。参见表4,表4为现有技术与本发明存储资源的对比表表4<table>tableseeoriginaldocumentpage13</column></row><table>其中,N表示编码前的长度,M表示编码状态数,P标识最小Metricdiff值集合数,W表示位宽,如果N二512,M=64,P=7,W=8,那么减少的存储数为309616位。从表3和表4的统计可以看出,本发明实施例提供的技术方案相对于现有技术而言,有效减少了存储资源和运算资源的浪费,降低了实现的成本。本发明实施例提供的译码方法,在第一次加比选过程中不计算Metricdiff值,并沿着最大幸存路径进行第一次回溯,通过判断第一次回溯结果的CRC校验是否正确,确定是否需要进行二次加比选过程,如果不需要,则直接以第一次回溯结果作为译码结果进行输出;如果需要,则在第二次加比选过程中只计算和存储最大幸存路径上分叉位置的M改ricdiff值,并在各分叉位置上分别回溯,对回溯结果进行校验,输出校验减少了整个译码过程中的存储资源和运算资源的浪费。实施例3为了降低存储资源和运算资源的浪费,本发明实施例提供了一种译码设备,参见图5,该设备包括接收模块501,用于接收待译码的接收序列;第一回溯模块502,用于根据接收序列确定译码回溯的最大幸存路径,并沿着最大幸存^各径进行第一次回溯;校验模块503,用于对第一次回溯结果进行校验;分叉位置获得模块504,用于当校验模块503的校验结果为不正确时,在最大幸存路径的回溯状态上获得分叉位置;第二回溯模块505,用于在分叉位置进行回溯,并根据回溯的结果进行译码输出。其中,所述第一回溯^i块502在确定译码回溯的最大幸存路径的过程中,不计算度量差值。进一步地,参见图6,设备还可以包括输出模块506,用于当校验模块503的校验结果为正确时,将第一次回溯的结果作为译^马输出。其中,参见图7,分叉位置获得沖莫块504包括分叉位置获得子模块504A,用于当校验模块503的校验结果为不正确时,将最大幸存路径上的除最后一个回溯状态的其他回溯状态作为分叉位置。相应的,第二回溯模块505可以包括分别计算分叉位置上的度量差值,按照度量差值从小到大的顺序在相应的分叉位置进行回溯,并根据回溯的结果进行译码專命出。其中,第二回溯模块505可以包括第一计算单元,用于分别计算分叉位置上的度量差值;第一回溯单元,用于按照度量差值从小到大的顺序在相应的分叉位置进行回溯;第一对支验输出单元,用于对回溯的结果进行校验,将校验正确的回溯的结果进4亍译码tr出。另一种实施方式下,第二回溯模块505可以包括第二计算单元,用于分别计算分叉位置上的度量差值;第二回溯单元,用于在分叉位置进行回溯,得到相应的回溯的结杲;第二校验输出单元,用于将回溯的结果分别进行校验,将校验正确且分叉位置的度量差值最小的回溯结果作为译码输出;当回溯的结果全部校验错误时,将第一次回溯结果作为译码输出。具体的,可以参照图8中给出的方法的逻辑实现图,其中采用的8路加比选单元,8路回溯模块进行并行的数据处理,实现了增强型Viterbi译码。本发明实施例提供的译码设备,通过进行两次加比选过程,其中,第一次加比选过程中不计算Metricdiff值,第二次加比选过程中只计算和存储最大幸存路径上分叉位置的Metricdiff值,减少了整个译码过程中的存储资源和运算资源的浪费。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随才几存储记忆体(RandomAccessMemory,RAM)等。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。权利要求1、一种译码方法,其特征在于,包括接收待译码的接收序列;根据所述接收序列确定译码回溯的最大幸存路径,并沿着所述最大幸存路径进行第一次回溯;对所述第一次回溯结果进行校验;当校验结果为不正确时,在所述最大幸存路径的回溯状态上获得分叉位置;在所述分叉位置进行回溯,并根据回溯的结果进行译码输出。2、如权利要求1所述的译码方法,其特征在于,所述方法还包括当校验结果为正确时,将所述第一次回溯的结果作为译码输出。3、如权利要求1所述的译码方法,其特征在于,所述在所述最大幸存路径的回溯状态上获得分叉位置,包括将所述最大幸存路径上的除最后一个回溯状态的其他回溯状态作为分叉位置。4、如权利要求1所述的译码方法,其特征在于,所述在所述分叉位置进行回溯,并根据回溯的结果进行译码输出,包括分别计算所述分叉位置上的度量差值;按照所述度量差值从小到大的顺序在相应的分叉位置进行回溯;对回溯的结果进行校验,将校验正确的回溯的结果进行译码输出;当所述回溯的结果全部校验错误时,将所述第一次回溯结果作为译码输出。5、如权利要求1所述的译码方法,其特征在于,在所述分叉位置进行回溯,并根据回溯的结果进行译码输出,包括分别计算所述分叉位置上的度量差值;在所述分叉位置进^f于回溯,得到相应的回溯的结果;将所述回溯的结果分别进行校验,将校验正确且分叉位置的度量差值最小的回溯结果作为译码输出;当所述回溯的结果全部校验错误时,将所述第一次回溯结果作为译码输出。6、一种译码设备,其特征在于,包括接收模块,用于接收待译码的接收序列;第一回溯模块,用于根据所述接收序列确定译码回溯的最大幸存路径,并沿着所述最大幸存^4圣进行第一次回溯;校验;漠块,用于对所述第一回溯;漠块得到的第一次回溯结果进行校验;分叉位置获得模块,用于当所述校验模块的校验结果为不正确时,在所述最大幸存路径的回溯状态上获得分叉位置;第二回溯模块,用于在所述分叉位置获得模块获得的分叉位置进行回溯,并根据回溯的结果进行译码输出。7、如权利要求6所述的设备,其特征在于,所述设备还包括输出模块,用于当所述校验模块的校验结果为正确时,将所述第一次回溯的结果作为译码输出。8、如权利要求6所述的设备,其特征在于,所述分叉位置获得模块包括分叉位置获得子模块,用于当所述校验模块的校验结果为不正确时,将所述最大幸存路径上的除最后一个回溯状态的其他回溯状态作为分叉位置。9、如权利要求6所述的设备,其特征在于,所述第二回溯模块包括第一计算单元,用于分别计算所述分叉位置上的度量差值;第一回溯单元,用于按照所述度量差值从小到大的顺序在相应的分叉位置进行回溯;第一校验输出单元,用于对回溯的结果进行校验,将校验正确的回溯的结果进#^码输出。10、如权利要求6所述的设备,其特征在于,所述第二回溯模块包括第二计算单元,用于分别计算所述分叉位置上的度量差值;第二回溯单元,用于在所述分叉位置进行回溯,得到相应的回溯的结果;第二校验输出单元,用于将所述回溯的结果分别进行校验,将校验正确且分叉位置的度量差值最小的回溯结果作为译码输出;当所述回溯的结果全部校验错误时,将所述第一次回溯结果作为译码输出。全文摘要本发明公开了一种译码方法和设备,属于通信
技术领域
。所述方法包括接收待译码的接收序列,根据所述接收序列确定译码回溯的最大幸存路径,并沿着所述最大幸存路径进行第一次回溯;对所述第一次回溯结果进行校验;当校验结果为不正确时,在所述最大幸存路径的回溯状态上获得分叉位置;在所述分叉位置进行回溯,并根据回溯的结果进行译码输出。所述设备包括接收模块、第一回溯模块、校验模块、分叉位置获得模块和第二回溯模块。本发明根据分叉位置均发生在最大幸存路径上的特征,通过在第一次回溯之前不计算度量差值、如果存在多次回溯时不计算全部度量差值的方式,减少了整个译码过程中的存储资源和运算资源的浪费。文档编号H03M13/41GK101662293SQ200910168638公开日2010年3月3日申请日期2009年8月26日优先权日2009年8月26日发明者瑛刘申请人:深圳华为通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1