一种基于模型的BIT虚警识别算法
2020-04-07刘逸涵王晓勇苏鹏涛中国航空工业西安航空计算技术研究所
刘逸涵 王晓勇 苏鹏涛 中国航空工业西安航空计算技术研究所
1 引言
随着现代航空机载电子设备的技术含量和复杂化程度的日渐提高,机载电子设备的维修难度和故障率逐渐增大,从而增加了设备维修和保障的成本,严重制约了机载电子设备的发展和进步。为使以上问题得以解决,机载电子设备广泛采用机内自测试(built-in test,BIT)技术,机内自测试技术可以自动检测、诊断和隔离电子设备内部的故障,使得电子设备中的故障诊断效率和准确性大大提高,从而有效地减少了维修时间,降低了维修和保障费用。
在航空领域和武器装备中,BIT技术已获得了广泛且成熟的应用。通过测试性试验可以发现哪些故障被漏检,哪些故障检测的方式不对、BIT虚警等BIT设计的缺陷,然后提出改进措施,这对提高机载机电设备BIT设计能力有着重要的推动作用。
2 机电设备常用BIT设计方法
为提高BIT检测的正确性和完整性,除了在机电设备BIT设计时设置必要的测试点外还需要根据机电设备电路本身的特点设置专用的BIT电路,目前机电设备常用的BIT硬件电路设计方法主要包括:激励检测、回绕检测、有源器件检测等。
1)激励检测
通过软件设计切换开关来提供功能电路的激励信号,以实现对功能电路的激励检测,激励检测的过程一般是“激励—读入—判断”。
2)回绕检测
利用电路本身的输入输出回路资源进行检测的方法被称为回绕检测,它是一种机内自测试的有效方法,该方法可以在不增加硬件资源的条件下,有效地提升检测覆盖率。
3)有源器件检测
有源器件检测是对数字计算机中一些关键的模块利用计算机本身的特点进行测试,它包括定时器、看门狗、ROM、RAM、中断控制器、交叉通道数据链路等重要功能模块的测试。
3 基于模型的BIT虚警识别算法
有效识别BIT虚警是解决BIT虚警问题的关键,本文拟在测试性建模的基础上,基于建模工具输出的依赖矩阵(B矩阵),提出一种在系统级进行BIT虚警识别的算法,算法原理如下:
通过构建系统的信号流模型可以输出测试与各元件(故障模式)之间关系的依赖矩阵(B矩阵)。B矩阵定义的测试和元件满足以下条件:若某测试通过,则与其相关的所有元件都正常;某测试不通过,则与其相关的元件中必然存在某个元件故障。
基于测试与元件之间的依赖关系定义,可以识别单个测试与其他测试之间是否存在“互斥”或彼此形成“互证”。
互斥:若某“故障指示(不通过测试)”所有相关元件都包含在某“通过测试”的相关元件中,则这两个测试互斥,该故障指示为疑似二类虚警。
互证:若某“故障指示”所有相关元件都包含在另一个“故障指示”的相关元件中,则这两个测试互相形成佐证,该故障指示得到确认。
通过系统测试集中所有测试之间的关系(互斥或互证),可以有效识别系统所有故障指示中潜在的虚警。算法的基本流程如下:
step1 测试结果分组。将系统内BIT测试项的测试结果按照通过/不通过进行分组,假设TA为所有通过测试的测试集,TB为所有未通过测试的测试集,定义TA、TB如下:
Step2 找出TB中疑似虚警的测试。首先,由测试集TA和B矩阵得到系统中所有正常元件的集合,定义为。式中:Ci为测试集TA中测试ti相关的元件集合。依次分析TB中每个测试,若Cj∈CN,则tj为疑似虚警的测试。其中,Cj为测试集TB中测试tj相关的元件集合。找出TB中所有疑似虚警的测试,定义疑似虚警的测试集合 TF=(t1,t2,…,tk,…,tg)。
Step3 虚警确认。若TF不为空,则将TF中每个测试依次与TA中所有测试进行对比,得出TF中测试tk与TA中所有测试相悖的次数,记为xk,有xk>=1。若xk>1,根据极大似然法则,确认测试tk为二类虚警。
Step4 故障确认。将TF中未经虚警确认的测试依次与TB中所有测试进行对比,得出TF中未经虚警确认的测试tk与TB中所有测试相互佐证的次数,记为yk。若yk>=1,则根据极大似然法则,确认测试tk的结果为真,并将测试tk从TF中剔除。
Step5 基于先验信息的疑似虚警处理。若经过Step3-4仍有未得到确认的虚警,则该情况必然是测试通过与测试未通过两个测试之间存在矛盾,此时需要基于相关部件的可靠性信息和测试置信度等先验信息进行综合判断。
以某机电系统的超短波频段功能为例,采用基于信号流模型的方法对超短波频段功能和模块进行测试性建模,首先,采用基于模型的虚警识别算法分析模块可能上报的二类虚警。然后由测试分组得到通过测试集TA=(t2,t3,t4,t7,t10),未通过测试集TB=(t1,t5,t6,t8,t9)。接着由公式得到疑似虚警的测试集合TF(t1,t5,t6)。之后由虚警确认得到测试t1与测试t2,t3,t4,t7相悖,x1=4,由公式判定测试t1为二类虚警。由故障确认得出测试t5,t6分别与测试t8,t9相互佐证,且y5=3,y6=2,判定测试t5,t6的结果为真,测试t7为漏检。至此,虚警识别算法流程执行完毕,得出测试t1为二类虚警,测试t7为漏检,修正测试结果集Tend=[0000111110]。最后以Tend为输入,采用基于B矩阵的推理诊断方法消除关联故障带来的级联虚警,得到真实的故障原因为天线接口模块故障,测试t6,t8,t9为关联故障。
4 结论
本文针对BIT技术的发展现状及趋势指出了当前机载设备在BIT测试性技术方面存在的问题,接下来介绍了几种机电系统常用的BIT测试方法,最后提出了一种针对特定系统的信号流模型以及基于模型的BIT虚警识别算法。经案例验证,本文提出的BIT虚警识别算法可以在型号工作中进行测试性建模,具备良好的工程适用性。