基于BP神经网络的模拟电路诊断系统研究
2009-05-12郝俊寿丁艳会
郝俊寿 丁艳会
摘 要:以现代测试技术、信号处理、信息融合等理论为基础,以神经网络在模拟电路故障诊断中的应用为主线,详细讨论BP神经网络在模拟电路故障诊断中的应用和故障特征提取方法。采用多频组合法建立了故障样本集。对选定的待测电路在元件存在容差的条件下,仿真验证了BP神经网络应用于模拟电路故障诊断的可行性。
关键词:故障诊断;模拟电路;BP神经网络;故障特征提取
中图分类号:TP183文献标识码:A
文章编号:1004 373X(2009)02 142 03
Research of Analog Circuit Fault Diagnosis Based on BP Neural Network
HAO Junshou,DING Yanhui
(Inner Mongolia Electronic Information Vocational Technology College,Huhhot,010011,China)
Abstract:Based on the application of BP neural network in analog circuit fault diagnosis and the fault features extraction are discussed in detail.The fault sample set is established by using the multi-frequency combination method.Academic foundation is modern test technology,signal processing,information fusion and testability analysis,etc.The analog circuit soft fault diagnosis is realized to select test electric circuit by using BP neural network under the components existence tolerance condition.
Keywords:fault diagnosis;analog circuit;BP neural network;fault features extraction
0 引 言
随着电子工业的发展,电子设备越来越复杂,其中的模拟器件和电路不可缺少。理论分析和实际应用表明,这些设备中的模拟电路比数字电路更容易发生故障。对这种设备的维护和保养十分复杂,需耗费大量的精力和财力。另外,随着超大规模模拟电路的发展和电子器件复杂性的提高,传统的人工故障诊断方法已经无法满足要求,这就迫使科技人员进一步探索新的测试理论和方法,研制新的测试设备以适应社会的需求。
1 BP网络简介
1.1 BP网络模型
图1为一个三层前馈网络模型,由输入层、输出层和隐层3部分组成。根据需要,可以有多个隐层。每一层的每个神经元(结点)的输出经连接权值加权求和作为下一层每个神经元的输入,层与层之间没有反馈。
1.2 BP网络用于故障诊断的基本思想
BP网络用于模拟电路故障诊断的基本思想为:确定了电路的待测状态集后,求电路处于其中一种状态时的响应(通常是测试点的电压)必要的预处理,作为对应状态类的一个特征。对状态集中的每一类状态,都按上述方法获取大量特征,并从中筛选出具有代表性的特征构造训练样本集。然后,用这些样本训练与所求问题相对应规模的BP网络。BP网络的输入节点数应与特征向量的维数相同。输出节点的维数等于待测故障状态的类别数。在训练时,把状态特征输入到BP网络的输入节点,要求网络的输出能正确指出电路状态所属类别。在做实际电路诊断时,对被测电路施加与产生样本时相同的激励和工作条件,取得相应特征,将此特征输入到已训练好的BP网络。由BP网络的输出判断电路中是否有故障;如有,则定位故障。
图1 BP网络结构
为了从最大程度上隔离和识别故障,采用多频测试的方法。这时,从哪些频率点提取故障特征成为首要问题,测试频率选择的好坏直接影响到对故障的分辨能力和诊断效果及样本选择。
1.3 BP故障特征提取
提取故障特征是模拟电路故障诊断的关键,也是构造样本集的基础。
基于神经网络的模拟电路故障诊断系统,主要包括两个过程:学习(训练)过程,诊断(测试)过程。其中每个过程都包括数据预处理和特征提取2部分。整个故障诊断系统的过程如图2所示。
图2 故障诊断过程原理图
如何有效提取优质的模拟电路故障特征,是进行电路故障诊断和测试的难点所在。在设计模拟电路故障诊断系统时,能够快速、有效地提取反映电路的故障信息的特征是进行故障诊断的关键所在。
通常,从待测模拟电路响应的波形曲线获得原始数据。通过对原始数据进行采样,可将原始数据映射成样本空间的点。模拟电路故障诊断的过程是把症状空间的向量映射到故障空间,即实现故障特征空间X到分类(识别)空间Y的映射F,F:X→Y。一般,首先要对映射到样本空间的输入数据进行预处理,通过删除数据中的无用信息得到一类故障模式,即由样本空间映射到数据空间。
在数据空间的基础上,通过特定的变换处理,提取数据中的不变特征,形成不变故障模式空间。在提取了故障模式的不变特征之后,根据诊断的需要和问题的特性,往往还需要对所选择的模式特征矢量进行量化压缩变换,在尽可能保持信息量基本不丢失的前提下,在降维空间内选择有用的特征,以利于高效实现模拟电路的故障诊断。并且由所获得的降维空间,提取原始样本集的特征信息以形成特征空间。一般的特征提取过程可用图3表示。
图3 特征提取示意图
1.4 BP网络的输入层、隐层和输出层节点个数的确定
这里设所选的测试节点数为m,测试频率数为l,则:
(1) BP网络的输入节点数为n1=ml;
(2) 确定最佳隐节点数的一个常用方法被称为“试凑法”,可先设置较少的隐节点训练网络,然后逐步增加隐节点数,用同一样本集进行训练,从中确定网络误差最小时对应的隐节点数;
(3) 将故障状态进行二进制编码,二进制码值最大的那个数据的位数m就是输出层神经元节点的个数。
1.5 多频组合法
多频测试是用不同频率(测试频率点集)的正弦信号激励待测电路,通过观测预先选定测试节点的输出信号幅值,亦即故障电路与正常电路、不同故障电路之间的输出幅值差异,实现模拟电路的故障诊断。多频测试矢量即为测试频率点的集合。
对给定的可及点,测试频率的选取原理仍按电路的对数幅频特性来划分特征空间。
频率选取原则:如果某些幅频特性曲线在一个频率点上密集,落入同一模糊集,则应在这些特性曲线较为分散的频率上选择其他测试频率。
1.6 仿真实例
1.6.1 待测电路
待测电路如图4所示。
图4 待测电路
1.6.2 故障类别假定
以图4中容差为±5%的电阻R1=10 kΩ为例,阐明故障诊断的思路。
(1) 当电阻在R1∈[9.5,10.5]时,电阻是正常的容差变化范围;
(2) 当电阻R1<9.5 kΩ时,发生软故障,用员硎菊庵旨跣∏榭觯其极限情况为R1=0此时转化为硬故障,即短路故障。
(3) 当电阻R1>10.5 kΩ时,发生软故障,用驯硎菊庵衷龃笄榭觯极限情况为R1=∞,此时转化为硬故障,即开路故障。
由此可见软故障是一个连续变化的值,要实现其故障诊断非常复杂,目前,国际上对软故障诊断比较热衷,但通常都是对某一定点的软故障进行诊断,如郧榭觯琑1=5 kΩ,或者亚榭觯琑1=15 kΩ。
1.6.3 故障特征提取
考虑到当电路发生故障时,各测试点电压会有所变化,这种变化表征了此故障的特征。基于这一想法,利用各元件故障时在各测试点上施加不同频率的正弦信号产生的电压作为原始数据。
对图4电路,在电路输入端施加3 V的正弦激励,测试频率分别取10 kHz,16 kHz,20 kHz,32 kHz,取V璫为测试点。从测试点提取输出波形的电压值,作为故障特征信息。将一个测试点4个频率的故障信息进行融合,形成对应故障模式的4维故障特征向量:X=[x1,x2,…,x4]T其中x璱为第i个测试频率下获得的测量值。
1.6.4 样本集构造
为了验证测试向量对故障元件的实际诊断效果,在电路输入端施加3 V 的正弦激励,测试频率分别取10kHz,16 kHz,20 kHz,32 kHz(被测电路截止频率是15.9 kHz,四种频率优选是应用Multisim2001进行灵敏度分析得到的),取V璫为测试点,各待测元件的故障值:R璱(i=1,2,…,6)为±50%;C璲(j=1,2)为±50%。将故障分为两类:R璱,R璱裕籆璲眩珻璲裕共计有19种故障模式(设定实验电路存在故障)。故障模式用二进制编码法来表征,如:00001表示R1怨收,00010表示R1压收稀@用PSpice 4.02程序对电路在标称值及各元件在故障情况下进行仿真。所得数据见表1(这里只列出1组部分代表性数据)。
为了加快神经网络的收敛速度,需要对数据进行尺度变化,这里采用均方根方法对数据预处理。
从图4可以看到,电路中共有9个元件,所以其软故障加正常状态共有19种。使用蒙特卡罗分析,电阻在5%的容差下和电容在10%的容差下,对每一个故障模式进行100次Monte-Carlo分析,其中70次为训练样本,构成训练样本集;30次为测试样本,构成测试样本集。对其进行预处理,所得数据见表1,这里仅列出其中1组部分数据。
2 诊断结果
应用BP神经网络对实验电路进行故障诊断,整个设计与训练过程在Matlab 6.5仿真环境下进行。
将训练样本集序列输入神经网络,均方误差设定为0.02,经多次调整网络结构选为4-11-5,学习速度为0.3,动量因子0.3,网络经过179 163次训练调整后达到期望的均方误差。误差变化曲线图如图5所示。
为检验经过训练的神经网络的故障诊断能力,分别使用训练样本集和测试样本集对网络进行训练和测试,对应测试样本的神经网络的输出如表1所示。
对被测电路采用蒙特卡罗分析得到100组数据,其中70组数据作为训练样本集,30组数据作为测试样本集。从表1可知,其测试结果正确率达100%。故障诊断正确率较高。证明所选择的测试矢量对电路故障诊断是行之有效。
表1 测试样本的神经网络的诊断结果
故障类别神经网络输出近似后的二进制码
正常0.002 70.003 30.000 00.000 00.000 000000
R1偏小0.000 00.006 40.000 00.018 30.999 900001
R1偏大0.008 20.000 10.000 00.985 10.011 800010
R2偏小0.000 10.012 70.023 60.985 20.987 000011
R2偏大0.012 10.000 00.991 90.001 10.000 300100
R3偏小0.009 00.014 80.993 40.000 01.000 000101
R3偏大0.036 80.000 90.950 80.967 60.008 300110
R4偏小0.000 50.000 00.983 40.999 81.000 000111
R4偏大0.012 10.979 40.000 00.013 00.000 001000
R5偏小0.000 01.000 00.010 30.012 50.985 401001
R5偏大0.000 00.999 90.006 00.987 70.000 101010
R6偏小0.005 90.997 50.023 40.999 90.964 301011
R6偏大0.000 01.000 00.981 80.002 00.025 001100
R7偏小0.000 01.000 01.000 00.000 60.979 501101
R7偏大0.000 01.000 00.981 21.000 00.032 001110
C1偏小0.000 00.984 11.000 00.990 31.000 001111
C1偏大0.961 70.000 10.048 20.031 00.003 010000
C2偏小0.986 10.000 00.007 00.013 00.997 310001
C2偏大0.984 20.017 40.000 00.998 30.015 210010
图5 误差变化曲线图
3 结 语
讨论了BP神经网络在模拟电路故障诊断中的应用和故障特征提取方法;采用多频组合法建立了故障样本集;并且在Matlab下仿真验证了结果的可行性。
参考文献
[1]何怡刚,梁戈超.模拟电路故障诊断的BP神经网络方法[J].湖南大学学报:自然科学版,2003,30(5):35-39.
[2]尉乃红,杨士元,童诗白.基于BP网络的线性电路故障诊断[J].计算机学报,1997,20(4):360-366.
[3]张聚伟.基于BP算法的模拟电路故障诊断系统的DSP实现[D].呼和浩特:内蒙古工业大学,2005.
[4]刘玉萍,赵健.神经网络在模拟系统故障定位中的应用[J].南昌航空工业学院学报,2000,14(2):19-21.
[5]和晓锋,刘桥.采用BP网络建立模拟电路故障诊断交流字典方法[J].贵州大学学报,2003,20(3):287-290.
[6]朱大奇,于盛林.电子电路故障诊断的神经网络数据融合算法[J].东南大学学报:自然科学版,2001,31(6):87-90.
[7]袁慧梅,李锦萍.模拟电路故障诊断新方法[J].航空精密制造技术,2002,38(2):20-23.
[8]马野,李楠.模拟电路的一种故障智能诊断方法与仿真[J].自动化技术与应用,2001,3(2):12-15.
[9]李润梅,李春明.基于可测性分析容差网络测试点选择[J].电子测量技术,2002(2):25-26.
[10]崔莼,罗先觉.模拟电路单一故障的模糊神经网络诊断方法[J].系统工程与电子技术,1997,3(6):50-55.
作者简介 郝俊寿 男,1975年出生,山西太原人,讲师。研究方向为模拟电路的故障诊断。