一种对状态机中序列的纠错方法技术

技术编号:24862138 阅读:34 留言:0更新日期:2020-07-10 19:13
本发明专利技术提供了一种对状态机中序列的纠错方法,包括:在状态机中构建出用于指示不同状态的状态序列,采用预设卷积法对每个状态序列进行编码以获得不同的指示序列并存储;状态机获取输入信号,基于所述输入信号确定出状态机的下一状态对应的下一状态序列,并获取下一状态序列对应的下一指示序列,利用唯特比译码法基于预设卷积法对下一指示序列进行译码以得到验证序列,并比对验证序列与下一指示序列是否一致,以判断下一指示序列是否出错;当不一致时,基于验证序列对下一指示序列执行纠错操作。本发明专利技术所提供的方法可以对存储至状态机中的序列进行自动纠错,以确保存储至状态机中的序列总是正确的,从而使得状态机能够正确的切换状态。

【技术实现步骤摘要】
一种对状态机中序列的纠错方法
本专利技术涉及集成电路领域,特别涉及一种对状态机中序列的纠错方法。
技术介绍
状态机主要用于完成不同状态的切换,以实现电路的时序、响应和控制等关键功能。其中,所述状态机中存储有用于指示不同状态的状态序列,并且在某一时间段所述状态机会将某一状态序列存储为当前状态序列,以指示状态机的当前状态。以及,所述状态机中还存储有不同状态之间的切换条件,所述状态机还会接收到输入信号,并会判断该输入信号是否符合状态机当前状态的切换条件,当符合时,基于所述输入信号确定出所述当前状态对应的下一状态,并将所述下一状态的状态序列存储为当前状态序列,以实现状态的切换。然而相关技术中,所述状态序列存储于所述状态机中时,极易受外界环境或者其他因素的干扰而出错,则无法正确指示状态,此时当状态机切换状态时,易使得状态机进入错误状态,很有可能会造成状态机锁死,使其无法正确运作而影响状态机的性能。因此亟需一种对状态机中序列的纠错方法,以确保所述状态机中所存储的状态序列不出错,保证所述状态序列总是能够正确指示状态,进而确保所述状态机可以正确的实现状态切换。
技术实现思路
本专利技术的目的在于提供一种对状态机中序列的纠错方法,以防止存储至状态机中的序列出错,使得所述状态机能够正确的切换状态。为达到上述目的,本专利技术提供了一种对状态机中序列的纠错方法,所述方法包括:在状态机中构建出用于指示不同状态的状态序列,采用预设卷积法对每个状态序列进行编码以获得不同的指示序列并将所述指示序列存储至状态机中;状态机获取输入信号,基于所述输入信号确定出所述状态机的下一状态对应的下一状态序列,并获取下一状态序列对应的下一指示序列,利用唯特比译码法基于所述预设卷积法对所述下一指示序列进行译码以得到验证序列,并比对所述验证序列与所述下一指示序列是否一致,来判断所述下一指示序列是否出错;当一致时,将所述下一指示序列存储为状态机的当前指示序列,以指示所述状态机的状态;当不一致时,基于所述验证序列对所述下一指示序列执行纠错操作,并将纠错后的下一指示序列存储为状态机的当前指示序列,以指示所述状态机的状态。可选的,采用预设卷积法对状态序列进行编码以获得指示序列的方法包括:将所述状态序列中的所有码元从首位开始依次划分为至少两个码元组并依次排列,每个码元组中码元的数量均为第一预设值;依次获取所述状态序列的各个码元组,以及,在每一次获取码元组时,确定出当前获取的码元组对应的约束序列,其中,当前获取的码元组对应的约束序列由获取当前码元组之前所紧邻获取的第二预设值个码元构成,以及,若获取当前码元组之前所紧邻获取的码元的数量小于所述第二预设值时,利用码元0进行补充;之后,对所述当前获取的码元组和所述对应的约束序列进行异或运算,以计算出所述当前获取的码元组对应的编码序列,所述编码序列中码元的数量为第三预设值;以及,计算出所述状态序列的每个码元组对应的编码序列,依次组合每个编码序列,以得到所述状态序列对应的指示序列。可选的,所述状态机还包括寄存器,所述寄存器用于执行维特比译码法;其中,寄存器利用唯特比译码法基于所述预设卷积法对下一指示序列进行译码以得到验证序列的方法包括:第一步、确定出至少两个输入序列,其中,所述输入序列的比特长度为第一预设值,以及,所述至少两个输入序列包括比特长度为第一预设值的所有序列;第二步、在t0时刻向寄存器中分别输入所述至少两个输入序列,以确定出至少两个第一输入路径,并基于所述第一输入路径使得所述寄存器得到至少两个第一到达状态,利用所述预设卷积法基于所述下一指示序列确定出各个第一输入路径的度量值;第三步、针对所述寄存器的每个第一到达状态,在t0+1时刻向寄存器分别输入所述至少两个输入序列,以确定出多个第二输入路径,并基于所述第二输入路径使得所述寄存器得到多个第二到达状态,利用所述预设卷积法基于所述下一指示序列确定出各个第二输入路径的度量值;第四步、针对所述寄存器的每个第二到达状态,在t0+2时刻向寄存器分别输入所述至少两个输入序列,以确定出多个第三输入路径,并基于所述第三输入路径,使得寄存器得到多个第三到达状态,并利用所述预设卷积法基于所述下一指示序列确定出各个第三输入路径的度量值;其中,每个第三到达状态均对应有至少两个第三输入路径;第五步、计算出每个第三到达状态对应的每个第三输入路径的度量累加值,所述度量累加值为第三到达状态的第三输入路径的度量值与所述第三输入路径所对应的全部输入路径的度量值之和,之后,选取出各个第三到达状态所对应的度量累加值最小的路径作为各个第三到达状态的幸存路径,并删除幸存路径之外的输入路径;以此类推,循环执行所述第四步和第五步,直至使得所述寄存器得到多个第m到达状态,所述m的值与所述码元组的组数的值相同,确定出各个第m到达状态对应的幸存路径,并将第m到达状态对应的所有幸存路径中度量累加值最小的幸存路径确定为最终幸存路径,基于所述最终幸存路径回溯出译码序列,将所述译码序列确定为所述验证序列。可选的,在利用寄存器进行译码之前,所述方法还包括:获取所述下一指示序列,并将所述下一指示序列中的所有码元从首位开始依次划分为至少两组码元序列并依次排序,每组码元序列中码元的数量均为第三预设值;以及,利用所述预设卷积法基于所述下一指示序列确定出各个输入路径的度量值的方法包括:对t0时刻下输入至寄存器中的各个输入序列采用预设卷积法进行编码以得到各个第一输入路径对应的第一路径序列,所述第一路径序列的比特长度为第三预定值,以及,确定出各个第一路径序列与第一组码元序列之间的码间距离值并作为各个第一输入路径的度量值;对t0+1时刻下输入至寄存器中的各个输入序列采用预设卷积法进行编码以得到各个第二输入路径对应的第二路径序列,所述第二路径序列的比特长度为第三预定值,以及,确定出各个第二路径序列与第二组码元序列之间的码间距离值并作为各个第二输入路径的度量值;以此类推,以确定出各个输入路径对应的度量值。可选的,所述至少两个输入序列包括有2第一预设值个输入序列。可选的,所述下一状态序列的比特长度为所述码元组的组数与第一预设值的乘积;以及,所述下一指示序列与所述验证序列的比特长度相等,均为所述下一状态序列的比特长度的(第三预设值/第一预设值)倍。可选的,所述第一预设值为1,所述第二预设值为2,所述第三预设值为2。可选的,基于所述验证序列对所述下一指示序列执行纠错操作的方法包括:对所述下一指示序列中与所述验证序列中不同的码元执行翻转操作;或者,直接利用所述验证序列替换所述下一指示序列。可选的,所述方法还包括:在所述当前指示序列存储于所述状态机的过程中,利用唯特比译码法基于所述预设卷积法对所述当前指示序列进行实时验错,并且当检验出所述当前指示序列出错时,对所述当前指示序列执行纠错操作。可选的,所述状态序列采用独热码或格雷码的方式来指示状态。综上所述,本发本文档来自技高网...

【技术保护点】
1.一种对状态机中序列的纠错方法,其特征在于,所述方法包括:/n在状态机中构建出用于指示不同状态的状态序列,采用预设卷积法对每个状态序列进行编码以获得不同的指示序列并将所述指示序列存储至状态机中;/n状态机获取输入信号,基于所述输入信号确定出所述状态机的下一状态对应的下一状态序列,并获取下一状态序列对应的下一指示序列,利用唯特比译码法基于所述预设卷积法对所述下一指示序列进行译码以得到验证序列,并比对所述验证序列与所述下一指示序列是否一致,来判断所述下一指示序列是否出错;/n当一致时,将所述下一指示序列存储为状态机的当前指示序列,以指示所述状态机的状态;/n当不一致时,基于所述验证序列对所述下一指示序列执行纠错操作,并将纠错后的下一指示序列存储为状态机的当前指示序列,以指示所述状态机的状态。/n

【技术特征摘要】
1.一种对状态机中序列的纠错方法,其特征在于,所述方法包括:
在状态机中构建出用于指示不同状态的状态序列,采用预设卷积法对每个状态序列进行编码以获得不同的指示序列并将所述指示序列存储至状态机中;
状态机获取输入信号,基于所述输入信号确定出所述状态机的下一状态对应的下一状态序列,并获取下一状态序列对应的下一指示序列,利用唯特比译码法基于所述预设卷积法对所述下一指示序列进行译码以得到验证序列,并比对所述验证序列与所述下一指示序列是否一致,来判断所述下一指示序列是否出错;
当一致时,将所述下一指示序列存储为状态机的当前指示序列,以指示所述状态机的状态;
当不一致时,基于所述验证序列对所述下一指示序列执行纠错操作,并将纠错后的下一指示序列存储为状态机的当前指示序列,以指示所述状态机的状态。


2.如权利要求1所述的对状态机中序列的纠错方法,其特征在于,采用预设卷积法对状态序列进行编码以获得指示序列的方法包括:
将所述状态序列中的所有码元从首位开始依次划分为至少两个码元组并依次排列,每个码元组中码元的数量均为第一预设值;
依次获取所述状态序列的各个码元组,以及,在每一次获取码元组时,确定出当前获取的码元组对应的约束序列,其中,当前获取的码元组对应的约束序列由获取当前码元组之前所紧邻获取的第二预设值个码元构成,以及,若获取当前码元组之前所紧邻获取的码元的数量小于所述第二预设值时,利用码元0进行补充;之后,对所述当前获取的码元组和所述对应的约束序列进行异或运算,以计算出所述当前获取的码元组对应的编码序列,所述编码序列中码元的数量为第三预设值;以及,计算出所述状态序列的每个码元组对应的编码序列,依次组合每个编码序列,以得到所述状态序列对应的指示序列。


3.如权利要求2所述的对状态机中序列的纠错方法,其特征在于,所述状态机还包括寄存器,所述寄存器用于执行维特比译码法;
其中,寄存器利用唯特比译码法基于所述预设卷积法对下一指示序列进行译码以得到验证序列的方法包括:
第一步、确定出至少两个输入序列,其中,所述输入序列的比特长度为第一预设值,以及,所述至少两个输入序列包括比特长度为第一预设值的所有序列;
第二步、在t0时刻向寄存器中分别输入所述至少两个输入序列,以确定出至少两个第一输入路径,并基于所述第一输入路径使得所述寄存器得到至少两个第一到达状态,利用所述预设卷积法基于所述下一指示序列确定出各个第一输入路径的度量值;
第三步、针对所述寄存器的每个第一到达状态,在t0+1时刻向寄存器分别输入所述至少两个输入序列,以确定出多个第二输入路径,并基于所述第二输入路径使得所述寄存器得到多个第二到达状态,利用所述预设卷积法基于所述下一指示序列确定出各个第二输入路径的度量值;
第四步、针对所述寄存器的每个第二到达状态,在t0+2时刻向寄存器分别输入所述至少两个输入序列,以确定出多个第三输入路径,并基于所述第三输入路径,使得寄存器得到多个第三到达状态,并利用所述预设卷积法基于所述下一指示序列确定出各个第三输入路径的度量值;其中,每个第三到达状态均对应有至少两个第三输入路径;
第五步、计...

【专利技术属性】
技术研发人员:叶崇光张远
申请(专利权)人:上海集成电路研发中心有限公司
类型:发明
国别省市:上海;31

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

1