基于BP神经网络的模拟电路诊断系统研究
扫描二维码
随时随地手机看文章
摘要:以现代测试技术、信号处理、信息融合等理论为基础,以神经网络在模拟电路故障诊断中的应用为主线,详细讨论BP神经网络在模拟电路故障诊断中的应用和故障特征提取方法。采用多频组合法建立了故障样本集。对选定的待测电路在元件存在容差的条件下,仿真验证了BP神经网络应用于模拟电路故障诊断的可行性。
关键词:故障诊断;模拟电路;BP神经网络;故障特征提取
O 引 言
随着电子工业的发展,电子设备越来越复杂,其中的模拟器件和电路不可缺少。理论分析和实际应用表明,这些设备中的模拟电路比数字电路更容易发生故障。对这种设备的维护和保养十分复杂,需耗费大量的精力和财力。另外,随着超大规模模拟电路的发展和电子器件复杂性的提高,传统的人工故障诊断方法已经无法满足要求,这就迫使科技人员进一步探索新的测试理论和方法,研制新的测试设备以适应社会的需求。
l BP网络简介
1.1 BP网络模型
图1为一个三层前馈网络模型,由输入层、输出层和隐层3部分组成。根据需要,可以有多个隐层。每一层的每个神经元(结点)的输出经连接权值加权求和作为下一层每个神经元的输入,层与层之间没有反馈。
1.2 BP网络用于故障诊断的基本思想
BP网络用于模拟电路故障诊断的基本思想为:确定了电路的待测状态集后,求电路处于其中一种状态时的响应(通常是测试点的电压)必要的预处理,作为对应状态类的一个特征。对状态集中的每一类状态,都按上述方法获取大量特征,并从中筛选出具有代表性的特征构造训练样本集。然后,用这些样本训练与所求问题相对应规模的BP网络。BP网络的输入节点数应与特征向量的维数相同。输出节点的维数等于待测故障状态的类别数。在训练时,把状态特征输入到BP网络的输入节点,要求网络的输出能正确指出电路状态所属类别。在做实际电路诊断时,对被测电路施加与产生样本时相同的激励和工作条件,取得相应特征,将此特征输入到已训练好的BP网络。由BP网络的输出判断电路中是否有故障;如有,则定位故障。
为了从最大程度上隔离和识别故障,采用多频测试的方法。这时,从哪些频率点提取故障特征成为首要问题,测试频率选择的好坏直接影响到对故障的分辨能力和诊断效果及样本选择。
1.3 BP故障特征提取
提取故障特征是模拟电路故障诊断的关键,也是构造样本集的基础。
基于神经网络的模拟电路故障诊断系统,主要包括两个过程:学习(训练)过程,诊断(测试)过程。其中每个过程都包括数据预处理和特征提取2部分。整个故障诊断系统的过程如图2所示。
如何有效提取优质的模拟电路故障特征,是进行电路故障诊断和测试的难点所在。在设计模拟电路故障诊断系统时,能够快速、有效地提取反映电路的故障信息的特征是进行故障诊断的关键所在。
通常,从待测模拟电路响应的波形曲线获得原始数据。通过对原始数据进行采样,可将原始数据映射成样本空间的点。模拟电路故障诊断的过程是把症状空间的向量映射到故障空间,即实现故障特征空间X到分类(识别)空间y的映射F,F:X→Y。一般,首先要对映射到样本空间的输入数据进行预处理,通过删除数据中的无用信息得到一类故障模式,即由样本空间映射到数据空间。
在数据空间的基础上,通过特定的变换处理,提取数据中的不变特征,形成不变故障模式空间。在提取了故障模式的不变特征之后,根据诊断的需要和问题的特性,往往还需要对所选择的模式特征矢量进行量化压缩变换,在尽可能保持信息量基本不丢失的前提下,在降维空间内选择有用的特征,以利于高效实现模拟电路的故障诊断。并且由所获得的降维空间,提取原始样本集的特征信息以形成特征空间。一般的特征提取过程可用图3表示。
1.4 BP网络的输入层、隐层和输出层节点个数的确定
这里设所选的测试节点数为m,测试频率数为l,则:
(1)BP网络的输入节点数为n1=ml;
(2)确定最佳隐节点数的一个常用方法被称为“试凑法”,可先设置较少的隐节点训练网络,然后逐步增加隐节点数,用同一样本集进行训练,从中确定网络误差最小时对应的隐节点数;
(3)将故障状态进行二进制编码,二进制码值最大的那个数据的位数m就是输出层神经元节点的个数。
1.5 多频组合法
多频测试是用不同频率(测试频率点集)的正弦信号激励待测电路,通过观测预先选定测试节点的输出信号幅值,亦即故障电路与正常电路、不同故障电路之间的输出幅值差异,实现模拟电路的故障诊断。多频测试矢量即为测试频率点的集合。
对给定的可及点,测试频率的选取原理仍按电路的对数幅频特性来划分特征空间。
频率选取原则:如果某些幅频特性曲线在一个频率点上密集,落入同一模糊集,则应在这些特性曲线较为分散的频率上选择其他测试频率。
1.6 仿真实例
1.6.1 待测电路
待测电路如图4所示。
1.6.2 故障类别假定
以图4中容差为±5%的电阻R1=10 kΩ为例,阐明故障诊断的思路。
(1)当电阻在R1∈[9.5,10.5]时,电阻是正常的容差变化范围;
(2)当电阻R1<9.5 kΩ时,发生软故障,用↓表示这种减小情况,其极限情况为R1=O此时转化为硬故障,即短路故障。
(3)当电阻R1>10.5 kΩ时,发生软故障,用↑表示这种增大情况,极限情况为R1=∞,此时转化为硬故障,即开路故障。
由此可见软故障是一个连续变化的值,要实现其故障诊断非常复杂,目前,国际上对软故障诊断比较热衷,但通常都是对某一定点的软故障进行诊断,如↓情况,R1=5 kΩ,或者↑情况,R1=15kΩ。
1.6.3 故障特征提取
考虑到当电路发生故障时,各测试点电压会有所变化,这种变化表征了此故障的特征。基于这一想法,利用各元件故障时在各测试点上施加不同频率的正弦信号产生的电压作为原始数据。
对图4电路,在电路输入端施加3 V的正弦激励,测试频率分别取10 kHz,16 kHz,20 kHz,32 kHz,取Vc为测试点。从测试点提取输出波形的电压值,作为故障特征信息。将一个测试点4个频率的故障信息进行融合,形成对应故障模式的4维故障特征向量:X=[x1,x2,…,x4]T其中xi为第i个测试频率下获得的测量值。
1.6.4 样本集构造
为了验证测试向量对故障元件的实际诊断效果,在电路输入端施加3 V的正弦激励,测试频率分别取10 kHz,16 kHz,20 kHz,32 kHz(被测电路截止频率是15.9 kHz,四种频率优选是应用Multisim2001进行灵敏度分析得到的),取Vc为测试点,各待测元件的故障值:Ri(i=1,2,…,6)为±50%;Cj(j=1,2)为±50%。将故障分为两类:共计有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所示。
为检验经过训练的神经网络的故障诊断能力,分别使用训练样本集和测试样本集对网络进行训练和测试,对应测试样本的神经网络的输出如表l所示。
对被测电路采用蒙特卡罗分析得到100组数据,其中70组数据作为训练样本集,30组数据作为测试样本集。从表1可知,其测试结果正确率达100%。故障诊断正确率较高。证明所选择的测试矢量对电路故障诊断是行之有效。
3 结 语
讨论了BP神经网络在模拟电路故障诊断中的应用和故障特征提取方法;采用多频组合法建立了故障样本集;并且在Matlab下仿真验证了结果的可行性。