一种viterbi译码回溯深度动态改变的方法技术

技术编号:23152782 阅读:19 留言:0更新日期:2020-01-18 14:51
本发明专利技术提供一种viterbi译码回溯深度动态改变的方法,每次只做设定大小的trellis长度,然后回溯输出一个bit。随后再移动一个bi做trellis,再回溯输出一个bit,依次滑动窗口的方式,逐个窗口输出一个bit值。本发明专利技术的回溯方法大大节省了内存空间,节省了成本,而且性能更优于传统方法,使得误码率更低了。本发明专利技术对芯片及嵌入式产品开发的意义重大。

A method for dynamic change of backtracking depth in Viterbi decoding

【技术实现步骤摘要】
一种viterbi译码回溯深度动态改变的方法
本专利技术涉及通信领域Viterbi译码算法实现方法,尤其涉及一种viterbi译码回溯深度动态改变的方法。
技术介绍
信道编码是现代通信系统广泛采用的一种差错控制措施。利用将“数据序列”转变成“更好的序列”产生冗余比特,这些冗余比特可以用于检测错误和纠正错误。咬尾卷积码是信道编码中最为重要的一类。Viterbi(维特比算法)是对咬尾卷积编码进行译码方法之一,它的限制长度为7,编码速率为1/3,使用码块的最后6bit信息来初始化6个编码移位寄存器。Viterbi算法其实就是多步骤每步多选择模型的最优选择问题,其在每一步的所有选择都保存了前续所有步骤到当前步骤当前选择的最小值(或者最大值)以及当前代价的情况下前继步骤的选择。依次计算完所有步骤后,通过回溯的方法找到最优选择路径。例如(3,1,7)咬尾卷积码在使用Viterbi算法进行译码时,在每一时间内,要遍历64种状态,如此大的运算量对终端的处理速度提出了很高的要求。首先计算每个待译码的bit对应64种状态的PM值(pathmetric,路径度量值),同时保存每个状态的trellis值。然后找出最优的PM值,即64状态中找出最大PM值,最后从待译码的末尾往前逐个回溯输出每个bit值,现有技术的trellis和回溯的深度是固定的。这种方法效率低,对通信带来的时延很大,仅适用于低速、小容量、对实时性要求低的通信系统。但是,随着通信技术的发展,低速、小容量的通信显然不能满足人们的需求,人们更希望速率高、实时性好的通信系统。
技术实现思路
有鉴于此,为了解决现有技术的问题,本专利技术提供一种viterbi译码回溯深度动态改变的方法,可以动态改变trellis与回溯的深度,也就是不需要对所有的待译码的bit一次性做完trellis,再一次性回溯输出每个bit值。本专利技术是通过以下技术方案实现的:根据本专利技术的第一种方案:一种viterbi译码回溯深度动态改变的方法,包括以下步骤:步骤1、初始化参数;步骤2、根据初始化参数做设定bit深度的下限值的trellis;步骤3、找出最优的PM值作为最优路径;步骤4、从找到的最优路径开始回溯做的trellis深度,回溯完只输出第一个译码比特;步骤5、检查是否所有bit都完成译码,如果是则结束;如果否则接着向前移动一个bit,随后重复步骤2至步骤5,直到所有bit都完成译码。在上述方案的基础上,在步骤1和步骤2之间还包括预做设定数量bit的trellis的步骤,作为本专利技术的第二方案。优选的,上述第二方案中,预做设定数量bit的trellis时,不保存trellis值。优选的,上述第二方案中,所述设定数量bit为80bit。作为上述两个方案的更进一步,所述的初始化参数,包括申请内存空间、设置回溯深度。作为上述两个方案的更进一步,所述的回溯深度是一个范围值,设定的深度越深,占用的内存越大。作为上述两个方案的更进一步,所述的回溯深度下限值为40bit,上限值为80bit。作为上述两个方案的更进一步,所述的找出最优的PM值的步骤如下:步骤a.检查是否有两个以上相等的最大PM值;步骤b.如果没有,则到步骤c;如果有,那么继续往前做第一设定bit数的trellis,再检查是否有两个以上相等的最大PM值,如没有则到步骤c;如继续有,再继续往前做第一设定bit数的trellis,直到trellis深度达到设定的回溯深度的上限值,如果还存在两个以上相等的最大PM值,则选择找到的第一个最大PM值作为最优路径;c.检查最大PM值与第二大PM值相差是否小于10,如果不小于10,则选择最大PM值作为最优路径;如果小于10,那么继续往前做第二设定bit数的trellis,再检查最大PM值与第二大PM值相差是否小于10;如果小于10,再继续往前做第二设定bit数的trellis,直到trellis深度达到设定的回溯深度的上限值,如果最大PM值与第二大的PM值相差还是小于10,则选择最大PM值作为最优路径。优选的,所述的第一设定bit数为8。优选的,所述的第二设定bit数为4。本专利技术的有益效果为:1)节省了内存空间,现有技术的译码方法是要申请2560*4个字节内存空间,本专利技术的译码方法最多80*4个字节内存空间,也就是节省了40倍的空间,节省了内存就是节省了成本;2)性能更优于传统方法,也就是误码率更低了。综上所述,很显然本专利技术对芯片及嵌入式产品开发的意义重大。附图说明图1为本专利技术的回溯深度动态改变的示意图;图2为本专利技术的实施例一的整体方案示意图;图3为本专利技术的实施例二的整体方案流程示意图;图4为本专利技术的找到最优PM值的流程示意图;图5为当信噪比较高时,本专利技术和现有技术的误码率测试结果对比图;图6为当信噪比较小时,本专利技术和现有技术的误码率测试结果对比图。具体实施例下面结合附图对本公开实施例进行详细描述。以下通过特定的具体实例说明本公开的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本公开的其他优点与功效。显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。本公开还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本公开的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。实施例一与传统的viterbi译码不同,本专利技术提出一种可以动态改变trellis与回溯的深度,也就是不需要对所有的待译码的bit一次性做完trellis,再一次性回溯输出每个bit值。基本思想是每次只做设定大小的trellis长度,然后回溯输出一个bit。随后再移动一个bit做trellis,再回溯输出一个bit,依次滑动窗口的方式,逐个窗口输出一个bit值。trellis(交织)指的是每个分支都有两条路,两条路径产生的trellis值只有两种(0,1),通过度量后哪条路径的值大那么trellis的值就哪条路径的值。回溯就是最终解码出来的值,也就是要从64种状态中,通过回溯,从trellis中解出最终的数据。如图1所示,为本专利技术的回溯深度动态改变示意图,结合图2和图4对本专利技术实施例一的viterbi译码回溯深度动态改变的方法的步骤具体说明如下:步骤1、首先初始化参数。本专利技术的初始化参数是指申请内存空间、设置trellis和回溯深度等参数。回溯深度是一个范围值,设定的深度越深,占用芯片内存就越大,成本就越高。具体可以根据实际情况进行设定。本实施例的方法中trellis和回溯深度设定为下限值为4本文档来自技高网
...

【技术保护点】
1.一种viterbi译码回溯深度动态改变的方法,其特征在于,包括以下步骤:/n步骤1、初始化参数;/n步骤2、根据初始化参数做设定bit深度的下限值的trellis;/n步骤3、找出最优的PM值作为最优路径;/n步骤4、从找到的最优路径开始回溯做的trellis深度,回溯完只输出第一个译码比特;/n步骤5、检查是否所有bit都完成译码,如果是则结束;如果否则接着向前移动一个bit,随后重复步骤2至步骤5,直到所有bit都完成译码。/n

【技术特征摘要】
1.一种viterbi译码回溯深度动态改变的方法,其特征在于,包括以下步骤:
步骤1、初始化参数;
步骤2、根据初始化参数做设定bit深度的下限值的trellis;
步骤3、找出最优的PM值作为最优路径;
步骤4、从找到的最优路径开始回溯做的trellis深度,回溯完只输出第一个译码比特;
步骤5、检查是否所有bit都完成译码,如果是则结束;如果否则接着向前移动一个bit,随后重复步骤2至步骤5,直到所有bit都完成译码。


2.根据权利要求1所述的一种viterbi译码回溯深度动态改变的方法,其特征在于:
在步骤1和步骤2之间还包括预做设定数量bit的trellis的步骤。


3.根据权利要求2所述的一种viterbi译码回溯深度动态改变的方法,其特征在于:预做设定数量bit的trellis时,不保存trellis值。


4.根据权利要求3所述的一种viterbi译码回溯深度动态改变的方法,其特征在于:所述设定数量bit为80bit。


5.根据权利要求1所述的一种viterbi译码回溯深度动态改变的方法,其特征在于:所述的初始化参数,包括申请内存空间、设置回溯深度。


6.根据权利要求5所述的一种viterbi译码回溯深度动态改变的方法,其特征在于:所述的回溯深度是一个范围值,设定的深度越深,占用的内存越大。


7.根据权利要求6所述的一种viter...

【专利技术属性】
技术研发人员:刘华东黄立新
申请(专利权)人:广州粒子微电子有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1