本发明专利技术提供的一种基于关键变量的冗余纠错码防护方法,主要包括奇偶校验+反向码的编码、奇偶校验+反向码的解码和奇偶校验+反向码的码字刷新三个过程:通过冗余编码,可以纠正变量在生存周期内因为单粒子效应而产生的错误,保证了变量的可靠性。编码是基于重复码和奇偶校验码,编码及解码过程简单,运算量小,不会占用系统过多的资源;在变量生存周期内,对传输变量进行刷新,缩短变量的生存周期,对生存周期较长、粒子辐射严重的环境下,可以很好的保证关键变量的可靠性。
【技术实现步骤摘要】
本专利技术属于通信编码
,具体设及一种基于关键变量的冗余纠错码防护方 法,用于在程序中对关键变量进行检错和纠错,保证传输变量的正确性。
技术介绍
DSP系统在太空运行的过程中,易发生单粒子效应,在DSP工程代码中,有些代码 模块执行频率低,发生单粒子效应的概率相对较小,我们将运些模块称为非敏感区域;有些 代码模块执行频率高,发生单粒子效应的概率相对较大,我们称运些模块为敏感区域。容 易理解,执行频率越高,意味着数据读写次数较多,对程序执行过程影响较大,所W在对DSP 系统进行软防护的过程中,敏感区域的防护至关重要。 关键变量主要是指程序的大循环控制变量、有限状态机控制变量、重要的全局指 针、重要的全局标志等。 关键变量对信号处理流程起至关重要的控制作用,其正确性关系到DSP程序运行 的总体进程,可能导致信号处理结果的大范围错误。运些关键变量,诸如循环变量、全局标 志等,生存周期一般较长,而且读写的频率也比较高,其发生单粒子效应的概率相对较大。
技术实现思路
本专利技术针对DSP工程代码中的关键变量进行冗余纠错码防护,其主要目的是保证 关键变量在生存周期内的正确性,提高系统的可靠性。 为达上述目的,本专利技术提供了,其执行 主要包括奇偶校验+反向码的编码、奇偶校验+反向码的解码和奇偶校验+反向码的解码 的码字刷新=个步骤: (1)所述的奇偶校验+反向码的编码,其操作方法是,[000引对于关键变量I,如果关键变量I的数据长度为二进制的m位,将其记为(amSmiL曰1),对变量I进行奇偶校验,运里可W采用奇校验或者偶校验方式,在进行后续的校验中, 保持一致即可满足,得到校验后的变量(amSm山aA),其中Cl为校验位;对关键变量I按位取反,得到变量/,将其记为化mbm山bi),对变量j进行奇偶校 验,运里可W采用奇校验或者偶校验方式,在进行后续的校验中,保持一致即可满足,得到 奇偶校验后的变量化mbm山biCz),其中Cz为校验位; 将添加奇偶校验后的变量7插入到添加奇校验后的变量I之后,构成传输变量,记 作(?? 山曰lCibmbmiLbiCz); (2)所述的奇偶校验+反向码的解码,主要包含W下几个步骤:[001引步骤1,检错,对于长度为L的传输变量,将其高L/2位和低L/2位分别取出;将高L/2位和低L/2位按位作同或运算,得到检错参量S,若检错参量S等于0或者1,则表明传 输变量没有出现错误,通过编码取出变量;如果检错参量S不等于0且不等于1,则表明传 输结果出错,执行步骤2; 步骤2,纠错,逐位检测S,S中除最末位外不为0的位则对应为出错的位; 步骤3,对高L/2位进行奇偶校验,如果校验出错,则说明高L/2位出错,通过步骤 2中确定的出错位数纠正该位的错误,获取关键变量;如果高L/2位校验结果正确,则校验 低L/2位,纠正错误位,获取关键变量;(3)所述的奇偶校验+反向码的解码的码字刷新,定时执行上述(1) (2),直至变量 不再有效。 上述,所述的步骤(1)奇偶校验+反向 码的编码中,对关键变量I的奇偶校验可W是奇校验,也可W是偶校验。 上述,所述的步骤(1)奇偶校验+反向 码的编码中,对变量I的奇偶校验可W是奇校验,也可W是偶校验。 上述,所述的步骤(1)奇偶校验+反向 码的编码中,也可W将进行奇偶校验之后的变量I插入到变量7之后,构成传输变量。 本专利技术的优点是:通过冗余编码,可W纠正变量在生存周期内因为单粒子效应而 产生的错误,保证了变量的可靠性。编码是基于重复码和奇偶校验码,编码及解码过程简 单,运算量小,不会占用系统过多的资源;在变量生存周期内,对传输变量进行刷新,缩短变 量的生存周期,对生存周期较长、粒子福射严重的环境下,可W很好的保证关键变量的可靠 性。 下面结合附图和实施例对本专利技术做详细说明。【附图说明】 图1是编码函数伪代码设计示意图。 图2是解码函数伪代码设计示意图。 图3是码字刷新函数伪代码设计示意图。 图4a是不插入任何防护的循环流程图。 图4b是插入了冗余纠错码及码字刷新的循环流程图。【具体实施方式】 本实施例针对DSP工程代码中关键变量进行冗余纠错码设计,即对关键变量进行 编码,在关键变量的整个生存周期内,如果有数据位出现错误,可W对其进行纠正,保证了 关键变量的正确性。 关键变量主要是指程序的大循环控制变量、有限状态机控制变量、重要的全局指 针、重要的全局标志等,它的生存周期一般都比较长,操作也比较频繁,对运些变量进行编 码解码的要求就相对较高。主要有W下几点:(1)编解码尽可能简单;由于关键变量操作频率高,如果编解码过程过于复杂,系 统需要耗费太多的资源进行编解码的额外计算,将严重干扰程序的执行流程; (2)插入次数尽可能少;DSPW其流水线操作实现程序的并行,好的编程结构有利 于DSP的流水线操作,如果在程序中过多插入其他代码,将可能破坏流水线操作,系统性能 降低; 重复码是一种简单的信道编码方法,其实质是将每个要发送的字符重复发送。 我们知道,两次重复码具有检错功能,可W检测到哪一位出现错误,但是不具备纠 错功能,其主要原因在于两次重复码间的编码距离为0,在码字出现错误时,不能区分是哪 一次码字出错,从而无法纠错。 =次W上的重复码具有检错纠错能力,其实际是一种多模冗余的编码机制。 奇偶校验码是一种检错码,分为奇校验和偶检验,它是一种检错码,不具备纠错能 力。 虽然重复码和奇偶校验码都不具备纠错能力,但是它们突出的优点就是编解码过 程都非常简单,易于操作。 最常用的纠错码是汉明码,其相关的技术研究已经很成熟,它具有检错纠错能力, 但是其主要的问题就是编解码过程较为复杂,设及矩阵的相关运算,对于处理器而言,资源 开销比较大。 针对运种情况,本专利技术提出了一种奇偶校验+反向码的编码方式(一种基于关键 变量的冗余纠错码防护方法),其实质是奇偶校验码与重复码的组合。 奇偶校验+反向码的编码是一种简单、快速的编码方式,可根据变量的类型及纠 正错误位数,确定冗余编码位的长度;纠正位数越高,编码冗余越长,编码效率越低。 奇偶校验+反向码的防护应用主要包括奇偶校验+反向码的编码、奇偶校验+反 向码的解码和奇偶校验+反向码的码字刷新=个过程: (1)奇偶校验+反向码的编码 对于关键变量I,如果关键变量I的数据长度为m位(二进制),我们将其记为 如曰。iL曰1),对变量I进行奇校验(或者偶检验),得到奇校验后(或者偶检验)变量(曰。曰。山 aA),其中Cl为校验位。对变量m取反,得到变量j,我们将其记为化A山bi),对变量万进 行奇校验(或者偶检验),得到奇校验(或者偶检验)后变量化A山biCz),其中Cz为校验 位。将奇校验(或者偶检验)后的变量I插入到奇校验(或者偶检验)后的变量I之后, 或者将奇校验(或者偶检验)后的变量I插入到奇校验(或者偶检验)后的变量I之后,构 成传输变量,记作(SmSmlLBiCibmbmiL6侣)。运样,传输变量实际是由原变量的奇校验(或 者偶检验)和原变量的反码的奇校验(或者偶检验)构成。其执行主要包括=部分: <1〉对关键变量进行取按位反运算,得到反码; <2〉对关键变量及其反码进行奇校验(或者偶校验); <本文档来自技高网...
【技术保护点】
一种基于关键变量的冗余纠错码防护方法,其特征在于:包括奇偶校验+反向码的编码、奇偶校验+反向码的解码和奇偶校验+反向码的解码的码字刷新三个步骤:(1)所述的奇偶校验+反向码的编码,其操作方法是,对于关键变量I,如果关键变量I的数据长度为二进制的m位,将其记为(amam‑1L a1),对变量I进行奇偶校验,得到校验后的变量(amam‑1L a1C1),其中C1为校验位;对关键变量I按位取反,得到变量将其记为(bmbm‑1L b1),对变量进行奇偶校验,得到奇偶校验后的变量(bmbm‑1L b1C2),其中C2为校验位;将添加奇偶校验后的变量插入到添加奇校验后的变量I之后,构成传输变量,记作(amam‑1L a1C1bmbm‑1L b1C2);(2)所述的奇偶校验+反向码的解码,主要包含以下几个步骤:步骤1,检错,对于长度为L的传输变量,将其高L/2位和低L/2位分别取出;将高L/2位和低L/2位按位作同或运算,得到检错参量S,若检错参量S等于0或者1,则表明传输变量没有出现错误,通过编码取出变量;如果检错参量S不等于0且不等于1,则表明传输结果出错,执行步骤2;步骤2,纠错,逐位检测S,S中除最末位外不为0的位则对应为出错的位;步骤3,对高L/2位进行奇偶校验,如果校验出错,则说明高L/2位出错,通过步骤2中确定的出错位数纠正该位的错误,获取关键变量;如果高L/2位校验结果正确,则校验低L/2位,纠正错误位,获取关键变量;(3)所述的奇偶校验+反向码的解码的码字刷新,定时执行上述(1)(2),直至变量不再有效。...
【技术特征摘要】
【专利技术属性】
技术研发人员:闫允一,郭宝龙,宁伟康,王健,
申请(专利权)人:西安电子科技大学,
类型:发明
国别省市:陕西;61
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。