CN101488764B - 译码器及增强译码方法 - Google Patents
译码器及增强译码方法 Download PDFInfo
- Publication number
- CN101488764B CN101488764B CN2009100083003A CN200910008300A CN101488764B CN 101488764 B CN101488764 B CN 101488764B CN 2009100083003 A CN2009100083003 A CN 2009100083003A CN 200910008300 A CN200910008300 A CN 200910008300A CN 101488764 B CN101488764 B CN 101488764B
- Authority
- CN
- China
- Prior art keywords
- path
- maximum
- decode results
- node
- decoding sequence
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Error Detection And Correction (AREA)
Abstract
本发明的实施例公开了一种译码器及增强译码方法,涉及通信领域,解决了现有技术在DSP软件里实现增强Viterbi译码算法的过程中运算量过大的问题。本发明实施例中增强译码方法包括:沿最大似然幸存路径进行回溯并输出与所述最大似然幸存路径对应的一组最大似然译码序列;在再次回溯过程中回溯到不可靠节点时开始记录回溯长度;当记录的回溯长度与预定回溯长度相等时输出从不可靠节点开始的回溯路径;将所述回溯路径转换为对应的译码结果;用所述译码结果替换最大似然译码序列中与所述回溯路径对应位置的译码结果;输出替换过译码结果的译码序列。本发明实施例中的译码器接收到编码时按照上述增强译码方法执行译码过程。本发明实施例主要应用在通信系统中。
Description
技术领域
本发明涉及通信领域,尤其涉及通信领域中一种译码器以及一种增强译码方法。
背景技术
维特比(Viterbi)译码算法是卷积编码的一种译码方法。该译码算法的实现简述如下:在网格图中寻找到达每个节点的幸存路径(一般到达每个节点的路径有2条,对这2条路径分别进行路径度量、加比选运算等操作,计算得出的概率最大的值所对应的路径即为幸存路径,而另一条路径则可认为是竞争路径),在对所有的节点都经过这样的操作后,进而可以找到一条最佳路径(即最大似然幸存路径),沿着该最大似然幸存路径对应输出的译码序列即为译码的结果。其中,以降低Viterbi译码算法中的误码率为目的而经过改进的Viterbi译码算法可以称之为增强Viterbi译码算法。
设Viterbi译码过程共经过n个时刻的状态转移(即t(0),t(1),......t(n));用四状态的编码器(即S0,S1,S2,S3)的网格图举例说明;如图1所示,最上面用粗线条画出的路径代表按照一般Viterbi译码算法回溯得到的最大似然幸存路径,增强Viterbi译码算法是沿着这条最大似然幸存路径,在网格图上挑选M-1(M-1<n)个认为可能出错的节点,即不可靠节点,依次标记为S(1)到S(M-1),然后按照下述步骤进行译码输出:
1、首先沿着最大似然幸存路径进行回溯,当回溯到终点(即t(0)时刻的S0状态的节点)时,输出对应的一组译码序列;
2、沿着该最大似然幸存路径进行重新回溯,当回溯经过S(1)节点时,改为沿着竞争路径回溯,而在经过S(1)节点之后的其它节点都沿着幸存路径回溯,直至回溯到终点(即t(0)时刻的某一状态)然后按照新形成的路径输出一组译码序列;
参照图1所示,设S0状态的t(6)时刻为不可靠节点S(1),则在该节点沿着竞争路径回溯(如图1中箭头所示),经过该节点后则沿着幸存路径回溯,直至回溯到终点,在图1中该终点为S0状态的t(0)时刻的节点。
3、对于S(2)~S(M-1)节点重复进行2,直至所有的S(1)~S(M-1)节点都遍历完成,则输出M-1组译码序列;
按最大运算量计算,最后共输出M组译码序列:第1组是沿着最大似然幸存路径回溯所得到的译码序列;其余M-1组是沿着新形成的路径回溯所得到的译码序列,将以上生成的M组译码序列按照回溯的先后顺序标记为Path(0),Path(1),...,Path(M-1)。对这M组译码序列按照回溯的先后顺序作循环冗余码(CRC)校验,该CRC校验的过程中遇到正确的译码序列即作为最终的译码输出。
在实现上述增强Viterbi译码的过程中,发明人发现现有技术中至少存在如下问题:需要经过M倍的回溯运算量才能输出M组译码序列。随着M的值的增大,这M倍的运算量对于要在数字信号处理(DSP)软件上实现该增强Viterbi译码算法的过程来说,因为在实际应用当中会受到系统资源配置等条件的限制,其实现是比较困难的。
发明内容
本发明的实施例提供一种译码器及一种译码器及增强译码方法,减少增强Viterbi译码算法过程中的运算量。
为达到上述目的,本发明的实施例采用如下技术方案:
一种增强译码方法,包括:
沿最大似然幸存路径进行回溯并输出与所述最大似然幸存路径对应的一组最大似然译码序列;
在再次回溯过程中回溯到不可靠节点时开始记录回溯长度;
当记录的回溯长度与预定回溯长度相等时,输出从不可靠节点开始的回溯路径;
将所述回溯路径转换为对应的译码结果;
用所述译码结果替换最大似然译码序列中与所述回溯路径对应位置的译码结果;
输出替换过译码结果的译码序列。
一种译码器,包括:
最大似然幸存模块,用于沿最大似然幸存路径进行回溯并输出与所述最大似然幸存路径对应的一组最大似然译码序列;
获取模块,用于在再次回溯过程中回溯到不可靠节点时开始记录回溯长度,并在记录的回溯长度与预定回溯长度相等时输出从不可靠节点开始的回溯路径;
转换模块,用于将所述回溯路径转换为对应的译码结果;
替换模块,用于用所述译码结果替换最大似然译码序列中与所述回溯路径对应位置的译码结果;
输出模块,用于输出替换过译码结果的译码序列。
本发明实施例提供的译码器及增强译码方法因为采用了可预先设定回溯长度的技术手段,所以克服了现有技术中因为必须回溯到终点而导致的回溯长度过长技术问题,进而达到了减少回溯过程中运算量的技术效果。进一步的,因为本发明实施例的方案减少了回溯过程中的运算量,所以即使是在运算量受到资源配置限制的系统中仍就可以取得增强译码性能的有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中四状态编码器网格图上增强Viterbi译码方法的示意图;
图2为本发明实施例1增强译码方法的流程图;
图3为本发明实施例2译码器的框图;
图4为本发明实施例3四状态编码器网格图上增强Viterbi译码方法的示意图;
图5为本发明实施例3增强译码方法的流程图;
图6为本发明实施例4译码器的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本实施例公开一种增强译码方法,如图2所示,该方法包括如下步骤:
101,沿最大似然幸存路径进行回溯,输出与之对应的一组最大似然译码序列。
102,沿该最大似然幸存路径进行再次回溯,当回溯到不可靠节点改沿竞争路径进行回溯,并在经过不可靠节点之后的其它节点仍沿着幸存路径进行回溯,当回溯长度与预定回溯长度相等时,获取从不可靠节点开始的回溯路径。
103,将上述获取到的回溯路径转换为与之对应的比特序列,该比特序列即为译码结果。
104,用上述查找到的译码结果替换沿最大似然路径回溯后得到的最大似然译码序列中与所述回溯路径对应位置的译码结果。
105,输出在最大似然译码序列中替换过译码结果后的译码序列。
在现有技术当中,本实施例所提供的方案具有如下有益效果:减少了回溯过程中的运算量,降低了对系统的要求,使得增强译码在DSP软件上的实现变得更加容易。
实施例2
为了实施例1所描述的增强译码方法,本实施例公开提供了一种译码器,如图3所示,该装置包括:最大似然幸存模块20,获取模块21,转换模块22,替换模块23,输出模块24。
最大似然幸存模块20用于沿最大似然幸存路径进行回溯并输出与之对应的一组最大似然译码序列;获取模块21用于获取从不可靠节点开始的、并且回溯长度与预定回溯长度相等的回溯路径;转换模块22用于将获取模块所获取的回溯路径转换为对应的译码结果;替换模块23用于用经转换模块22转换后得到译码结果替换最大似然幸存模块20所输出的最大似然译码序列中与所述回溯路径对应位置的译码结果;输出模块24用于输出经替换模块23替换过译码结果后的译码序列。
实施例3
本实施例结合四状态的编码器网格图具体描述一种增强Viterbi译码方法的过程,如图4所示,该方法包括:
设在该方法中共经过n个时刻的状态转移,分别用t(0),t(1),......t(n)表示;四个状态分别用S0,S1,S2,S3表示;如图4所示最上面用粗线条画出的路径代表按照一般Viterbi译码算法回溯得到的最大似然幸存路径,在本实施例的增强Viterbi译码算法中,接收到用户输入的不可靠节点的数量,设该数量为M-1,并沿着这条最大似然幸存路径在网格图上挑选M-1(M-1<n)个认为可能出错的节点,即不可靠节点,并依次标记为S(1)到S(M-1),其中该M-1个不可靠节点挑选的方法主要包括:
根据图4可知在每个节点都有两条路径同时到达,分别是幸存路径和竞争路径,将每个节点的幸存路径和竞争路径的累积度量之差记为MetricDiff,寻找MetricDiff最小的M-1个节点即为本实施例所需的M-1个不可靠节点。
在本实施例中预先由用户输入指定的回溯长度,当回溯到终点该指定的回溯长度即为预定回溯长度,设该预定回溯长度为L。
如图5所示,该方法还包括如下步骤:
301,沿着最大幸存路径进程回溯,当回溯到终点(即t(0)时刻的S0状态的节点)时,输出对应的一组译码序列,该译码序列即为最大似然译码序列。
302,对该最大似然译码序列进行CRC校验并判断CRC校验的结果是否正确,如果正确,则执行步骤311;否则执行步骤303。
303,沿着该最大似然幸存路径进行再次回溯,当回溯经过S(1)节点时,改为沿竞争路径进行回溯并开始记录回溯长度。
设该S(1)节点为t(6)时刻的S0状态节点(参照图4)
304,在S(1)节点以后的其它节点仍旧沿幸存路径(该幸存路径是在经过上述其它节点中的每个节点时,经过分支度量、路径度量、加比选运算后所计算出来的幸存路径)进行回溯。
305,当在不可靠节点开始记录的回溯长度与预定回溯长度(即L)相等时,将从不可靠节点开始到回溯长度等于L为止的回溯路径输出。
设此时到达t(3)时刻的S0状态节点(参照图4所示)。
在本实施例的技术方案中预定回溯长度是由用户输入的,因此是具有可调整性的,也即是说从不可靠节点开始的回溯长度也具备了这种可调整性。与现有技术当中从不可靠节点开始的回溯长度是固定回溯到终点相比,本实施例的方案更加具备灵活性,可以根据系统的资源条件以及误码率等因素调整预定回溯长度,以便为译码过程设置一个适合的预定回溯长度。
306,将该回溯路径转换成对应的比特序列,该比特序列即为译码结果A。
307,复制最大似然译码序列,并在该最大似然译码序列中查找到与上述回溯路径对应位置的译码结果B。
即在该最大似然译码序列中查找出从t(6)时刻的S0状态节点开始到t(3)时刻的S(0)状态为止对应的译码结果B。
308,用上述再次回溯过程中译码结果A替换最大似然幸存序列中的译码结果B。
309,输出含有上述译码结果A的译码序列。
310,对上述译码序列进行CRC校验并判断CRC校验的结果正确,如果正确,则执行步骤311,否则执行步骤303。
若判断CRC校验的结果不正确,则对于不可靠节点S(2),重复上述303到309步骤,每次重复时将303到309步骤中的S(0)替换成S(2)并进行相应的执行。依次类推,不可靠节点S(3)到S(M-1)也如上述步骤执行。
在现有技术的增强译码方法中,因为其运算量大,所以不可靠节点的个数一般为2,在本实施例中的增强译码方法中,因为预定回溯长度为具有可调整性,所以当预定回溯长度的值小时,每次的回溯运算量也随着降低,那么不可靠节点的个数的取值便可以增大,本实施例中可以取值到8。即预定回溯长度的值越小,不可靠节点个数的取值就可以越大,越可以在一定程度上降低译码时的误码率。
311,输出正确的译码序列。
若共进行过M遍的回溯过程,则最后共输出M组译码序列:第1组是沿着最大似然幸存路径回溯所得到的译码序列;其余M-1组是沿着新形成的路径回溯所得到的译码序列,将以上生成的M组译码序列按照回溯的先后顺序标记为Path(0),Path(1),...,Path(M-1)。对这M组译码序列按照回溯的先后顺序作循环冗余码(CRC)校验,该CRC校验的过程中遇到正确的译码序列即作为最终的译码输出。
在现有技术的增强译码方法中,若总共进行M次回溯过程,那么从回溯运算量的角度而言最大是M倍的回溯运算量,而本发明实施例的增强译码方法,最大是ML/n倍的回溯运算量(L为预定回溯长度,n代表有n个时态,L<n),即本发明实施例取得了降低回溯过程中的运算量的有益效果。并且本实施例的增强译码方法可以在运算量受到限制的DSP软件上得以实现。
实施例4
为了方便实施例2的方法的实现,本实施例具体描述一种译码器,如图6所示,该译码器包括:接收模块40,第一接收模块41,最大似然幸存模块46,获取模块42,转换模块43,替换模块44,输出模块45,校验模块47。
接收模块40,用于接收用户输入的预定回溯长度;第一接收模块41用于接收用户输入的不可靠节点的个数;最大似然幸存模块46用于沿最大似然幸存路径进行回溯并输出与之对应的一组最大似然译码序列;当进行再次回溯时,获取模块42用于获取从不可靠节点开始的、并且回溯长度与预定回溯长度相等的回溯路径;转换模块43用于将获取模块42获取的回溯路径转换为对应的译码结果;替换模块44用于用经转换模块43转换后的译码结果替换最大似然译码序列中与所述回溯路径对应位置的译码结果;输出模块45用于输出经替换模块44替换过译码结果的译码序列;校验模块47用于对最少似然幸存模块46及输出模块45输出的译码序列按照回溯的先后顺序进行CRC校验并在遇到正确的译码序列时输出该译码序列。
其中,第一接收模块41所接收到的不可靠节点的个数与所述接收模块40接收到的预定回溯长度成反比;获取模块42是获取从第一接收模块41接收到的其中一个不可靠节点开始的回溯路径。
进一步地,在本实施例中获取模块42包括:记录单元421,输出单元422。
记录单元421用于当再次回溯过程中回溯到不可靠节点时开始记录回溯长度;输出单元422用于当记录单元421记录的回溯长度与预定回溯长度相等时,输出从不可靠节点开始的所有回溯路径。
进一步地,在本实施例中替换模块44包括:复制单元441,查找单元442,替换单元443。
复制单元441用于复制沿最大似然幸存路径回溯时所输出的最大似然译码序列;查找单元442用于在复制单元441复制的最大似然译码序列中查找到与所述回溯路径对应位置的译码结果;替换单元443用于用再次回溯过程中的所述译码结果替换查找单元442查找到的译码结果。
本发明实施例主要运用于通信领域对接收到的编码进行译码时。随着网络技术的发展有可能应用到本领域的其它场景,也有可能转用到类似或者相近的技术领域上去。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台译码器执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (11)
1.一种增强译码方法,其特征在于,包括:
沿最大似然幸存路径进行回溯并输出与所述最大似然幸存路径对应的一组最大似然译码序列;
在再次回溯过程中回溯到不可靠节点时开始记录回溯长度;
当记录的回溯长度与预定回溯长度相等时,输出从不可靠节点开始的回溯路径;
将所述回溯路径转换为对应的译码结果;
用所述译码结果替换最大似然译码序列中与所述回溯路径对应位置的译码结果;
输出替换过译码结果的译码序列。
2.根据权利要求1所述的增强译码方法,其特征在于,该方法还包括:
接收用户输入的预定回溯长度。
3.根据权利要求1所述的增强译码方法,其特征在于,所述用所述译码结果替换最大似然译码序列中与所述回溯路径对应位置的译码结果包括:
复制沿最大似然幸存路径回溯时所输出的最大似然译码序列;
在所述最大似然译码序列中查找到与所述回溯路径对应位置的译码结果;
用所述再次回溯过程中的所述译码结果替换所述最大似然译码序列中的译码结果。
4.根据权利要求1至3中任意一项所述的增强译码方法,其特征在于,该方法还包括:
接收用户输入的不可靠节点的个数;
沿所述最大似然路径挑选所述个数的不可靠节点;
所述输出从不可靠节点开始的回溯路径为:输出从其中一个不可靠节点开始的回溯路径。
5.根据权利要求4所述的增强译码方法,其特征在于,所述不可靠节点的个数与预定回溯长度成反比。
6.一种译码器,其特征在于,包括:
最大似然幸存模块,用于沿最大似然幸存路径进行回溯并输出与所述最大似然幸存路径对应的一组最大似然译码序列;
获取模块,用于在再次回溯过程中回溯到不可靠节点时开始记录回溯长度,并在记录的回溯长度与预定回溯长度相等时输出从不可靠节点开始的回溯路径;
转换模块,用于将所述回溯路径转换为对应的译码结果;
替换模块,用于用所述译码结果替换最大似然译码序列中与所述回溯路径对应位置的译码结果;
输出模块,用于输出替换过译码结果的译码序列。
7.根据权利要求6所述的译码器,其特征在于,该装置还包括:
接收模块,用于接收用户输入的预定回溯长度。
8.根据权利要求6所述的译码器,其特征在于,所述获取模块包括:
记录单元,用于当再次回溯过程中回溯到不可靠节点时开始记录回溯长度;
输出单元,用于当记录的回溯长度与预定回溯长度相等时,输出从不可靠节点开始的所有回溯路径。
9.根据权利要求8所述的译码器,其特征在于,所述替换模块包括:
复制单元,用于复制沿最大似然幸存路径回溯时所输出的最大似然译码序列;
查找单元,用于在所述最大似然译码序列中查找到与所述回溯路径对应位置的译码结果;
替换单元,用于用所述再次回溯过程中的所述译码结果替换所述最大似然译码序列中的译码结果。
10.根据权利要求6至9中任意一项所述的译码器,其特征在于,该装置还包括:
第一接收模块,用于接收用户输入的不可靠节点的个数;
用于沿所述最大似然路径挑选所述个数的不可靠节点的模块;
所述获取模块是输出从其中一个不可靠节点开始的回溯路径。
11.根据权利要求10所述的译码器,其特征在于,所述第一接收模块所接收到的不可靠节点的个数与所述接收模块接收到的预定回溯长度成反比。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100083003A CN101488764B (zh) | 2009-02-20 | 2009-02-20 | 译码器及增强译码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100083003A CN101488764B (zh) | 2009-02-20 | 2009-02-20 | 译码器及增强译码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101488764A CN101488764A (zh) | 2009-07-22 |
CN101488764B true CN101488764B (zh) | 2011-12-21 |
Family
ID=40891471
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100083003A Expired - Fee Related CN101488764B (zh) | 2009-02-20 | 2009-02-20 | 译码器及增强译码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101488764B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101662293B (zh) * | 2009-08-26 | 2014-02-19 | 华为终端有限公司 | 一种译码方法和设备 |
CN102123009B (zh) * | 2011-03-18 | 2015-02-11 | 京信通信系统(广州)有限公司 | 一种动态维特比解码方法及装置 |
CN105356893A (zh) * | 2015-11-24 | 2016-02-24 | 中国科学院计算技术研究所 | 一种尾码可配置的Viterbi解码方法及解码器 |
-
2009
- 2009-02-20 CN CN2009100083003A patent/CN101488764B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101488764A (zh) | 2009-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100355201C (zh) | 缩减的软输出信息分组的选择 | |
CN1433589A (zh) | 减小的搜索符号估值算法 | |
CN101777926B (zh) | 一种Turbo乘积码的通用译码器及其方法 | |
CN107911195B (zh) | 一种基于cva的咬尾卷积码信道译码方法 | |
CN101997553A (zh) | 一种卷积码译码方法及装置 | |
CN100508440C (zh) | 接收移动无线信号时的译码及循环冗余校验的并行处理的方法和装置 | |
US7277507B2 (en) | Viterbi decoder | |
CN101488764B (zh) | 译码器及增强译码方法 | |
US7571376B2 (en) | Viterbi decoder for executing trace-back work in parallel and decoding method | |
CN100499379C (zh) | 一种卷积码译码方法 | |
US20170041041A1 (en) | System and Apparatus for Decoding Tree-Based Messages | |
US7035356B1 (en) | Efficient method for traceback decoding of trellis (Viterbi) codes | |
CN108471341B (zh) | 一种卷积编解码的方法 | |
EP2605410B1 (en) | Channel decoding method and tail biting convolutional decoder | |
CN102857242B (zh) | 咬尾卷积码译码方法与装置 | |
CN105721104A (zh) | 一种维特比译码实现方法 | |
Gupta et al. | A comparative study of Viterbi and Fano decoding algorithm for convolution codes | |
CN101106385A (zh) | 一种维特比译码装置及方法 | |
CN103546170A (zh) | 一种低功耗状态反馈式维特比译码器及译码方法 | |
Chandel et al. | Viterbi decoder plain sailing design for TCM decoders | |
CN103916142A (zh) | 信道译码器和译码方法 | |
US9154238B2 (en) | Methods and apparatus for reducing interference effect on data transmitted over a communication channel | |
Haridas et al. | Very Low Power Viterbi Decoder Employing Minimum Transition and Exchangeless Algorithms for Multimedia Mobile Communication | |
Lawanya et al. | Implementation of Viterbi Decoder Architecture Based on Code Rates | |
CN118631265A (zh) | 一种新颖高效的全并行维特比译码设计方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20111221 Termination date: 20160220 |
|
CF01 | Termination of patent right due to non-payment of annual fee |