基于小波分析神经网络的模拟电路故障诊断方法王恒华1彭良玉2(1,2.湖南师范大学物理与信息科学学院,湖南长沙,410081)摘要:提出了利用故障信号各频带的系数序列的绝对值之和和能量特征作为特征信号经神经网络信息融合的模拟电路故障诊断新方法。该方法先对采样后的故障信号进行小波分解,提取故障特征信号经归一化和向量关联后作为特征向量输入BP神经网络进行训练诊断。通过电路诊断实例,阐述了该方法的具体实现,验证了所提方法的有效性。关键词:小波分析;神经网络;模拟电路;故障诊断AMethodforFaultDiagnosisofAnalogCircuitsBasedonNeuralNetworkWaveletAnalysis意思不对应WangHenghua1PengLiangyu2(1,2.CollegeofPhysicsandInformationScience,HunanNormalUniversity,Changsha410081,China)Abstract:Anewmethodforfaultdiagnosisofanaloguecircuitsbasedonneuralnetworkinformationfusiontechniqueabouttheabsolutevaluesumofdecomposedcoefficientsandenergyfaultfeaturesofeachfrequencyband.thefaultfeaturesofsignalareextractedfromwaveletdecompositionandarenormalizedandareconnectedasvector.thisfeaturesofvectorareinputtedBPneuralnetworkandtrained.therealizationoftheproposedmethodisexpoundedbyusingpracticalcircuit.thesimulationresultsdemonstratetheeffectivenessoftheproposedmethod.Keywords:Waveletanalysis;Neuralnetwork;Analoguecircuits;Faultdiagnosis1引言模拟电路故障诊断是近代电路理论的一个前沿领域,其基础理论研究始于20世纪70年代初的元件可解性问题的研究,现已发展成为网络理论中公认的第三个分支。由于模拟电路中的输入输出响应都是连续量;电路元器件参数具有很大的离散性,即具有容错;以及模拟电路中广泛存在的非线性等原因,给其故障诊断带来很大的困难。由于神经网络具有良好的学习和泛化能力,近年来成为研究的热点。文献[1,2]中将模拟电路中的可及节点的电压作为输入训练神经网络,然后利用被测电路的节点电压测试神经网络以定位故障元件,这使得软故障诊断成为了可能。现有软故障诊断研究中,大多数是单故障诊断,针对电路中的多故障诊断所做的研究并不多见。文献[3-5]提出了对故障信号进行小波变换预处理的单故障诊断方法,针对上述问题,文中提出了一种可用于多故障诊断的改进方法。该方法首先对电路进行灵敏度分析,确定电路的敏感元件和电路的测试点[5],然后对其节点进行小波分析,提取各频带信号的系数序列的绝对值之和和能量特征作为特征信号,经归一化和向量关联后输入神经网络进行训练,然后对训练好的神经网络进行性能测试,实验结果表明该方法的有效性和可行性。2故障特征提取和处理2.1连续小波变换将任意L2(R)空间中的函数f(t)在小波基下展开,即为函数f(t)的连续小波变换(ContinueWaveletTransform,CWT),其表达式为:1(,)(),()()*()..........................(1),tWTafttftdtRfaaa公式字体太小2由以上公式定义可知,小波变换具有尺度a和平移τ两个参数,所以函数一经小波变换,就意味着将一个时间函数投影到二维的时间、尺度相平面上,有利于提取信号函数的某些本质特征。对信号进行小波分解,选择合适的小波函数非常重要。由于haar小波函数具有不连续自然性质的紧支撑性和零对称性,具有良好的时间局部性,haar小波函数非常适合从具有窄宽度和快速变化特征信号中提取特征,符合模拟电路冲击响应信号的特征,且计算简单。Haar小波函数定义为:112()...................................(2)112xxx公式字体太小在故障特征提取过程中,要选择适当的小波分解层数[6],若分解层数过少,不能有效提取故障特征;若分解层数过多,则特征向量维数大,将影响诊断速度。因而文中选择haar小波进行5层小波分解提取故障特征。2.2多分辨分析的故障特征提取模拟电路故障一般都是软故障,利用小波变换来提取各频带的故障信息,分解过程用Mallat算法实现,而软故障信号的变化是比较微小的,可以用高频分解的部分来反映信号的变化,故可以将故障信号的各层系数序列进行绝对值求和,并按尺度顺序排列,作为模拟电路的故障特征向量[7,8]。具体步骤如下:a)对信号进行N层Mallat分解,得到N+1个小波分解系数序列:{d1,d2,…,dn,dn+1};b)对各层系数序列求绝对值之和,则有11njDdjii,其中:n为序列dj中分量的个数;j为分解层数。c)特征向量构成,按尺度顺序,以各层小波分解系数序列的绝对值之和为元素作为特征向量:{Dn,…,D3,D2,D1};d)作为特征的各种参数,其物理意义各不相同,且幅值大小很不一致,有时甚至相差几个数量级,因而在特征向量融合前进行归一化处理.文中把系数序列求绝对值之和归一化到[0,1],数据归一化按照下式进行处理:'121DjDjnDjj2.3能量分布特征提取从滤波角度看,正交小波分解信号是通过一个低通和一个高通滤波器来进行滤波,实现概貌与细节信号的提取。即如果信号的频率为ƒ,则一层小波分解后就得到两个频带的信号:(0—0.5)ƒ和(0.5-1)ƒ。同样的,经过多层小波分解后,就可以得到各个频带的小波系数,各层小波系数就构成了频带信号的能量,基于小波分解的能量故障特征提取步骤如下:a)首先对信号进行小波包分解和信号重构,设Sij是原始信号S经过小波包分解后第i层的第j个节点的小波包分解系数,则总信号1nSSijj;b)设Sij对应的能量为Eij,则有Pr[......,]21iiiEEEn,22()()1niiESdtdjjjkk,其中;djk(k=1,2,…,n),n=2i表示重构信号Sij的离散点的幅值.c)则故障特征向量为Pr,Pr[......,]21iiiEEEn;d)文中把各频段的能量值归一化到[-1,1],数据归一化按照下式进行处理:2maxmin'maxEEEjEjE其中:Emax=max(E);Emin=min(E);32.4特征向量关联处理在应用神经网络信息融合分类器对特征信息进行融合处理前,必须对特征向量进行关联处理。文中将系数序列的绝对值之和和能量分布的特征矢量进行合成。实现各特征矢量间隔交叉合并,形成联合特征向量,作为神经网络的输入。其联合特征向量集为:555544332211[,,,,,,,,,,,]cadddddPcaEdEdEdEdEdE2.5小波—神经网络故障诊断方法利用小波—神经网络方法实现模拟电路故障诊断,本质上是将不同的故障模式进行分类,以定位故障元件。本文通过对测试节点电压的波形进行小波分析,获取故障信息,提取特征向量,从特征向量中抽取出元件的故障征兆,作为神经网络的输入空间,进行模式分类,从而实现故障元件的定位。小波分析神经网络故障诊断流程如图1所示。电路节点选择信号采样特征提取特征关联神经网络图1故障诊断流程图(1)训练样本和特征提取。首先根据电路的结构,选取最佳测试节点。针对各种典型故障情况,对测试节点电压进行小波分析,提取故障特征,然后对故障特征进行归一化和特征关联处理,以得故障信息的特征向量。(2)神经网络的设计及训练。本文神经网络采用3层BP网络结构,若电路元件的状态数为k,测试节点为m,小波分解层数为N,则神经网络的输入节点数目为(N+1)m,输出节点数为k,隐层神经元数目为(1)Nmka(a为0—10中的一整数)。神经网络的训练方法采用LM算法的训练方法。用-(3)故障诊断。电路实际测量信号经过特征提取,归一化和特征关联处理后,输入训练好的神经网络,网络对应的输出即为故障元件。3故障诊断实例为了验证本文方法在诊断时的有效性和收敛速度的快慢,对图2所示的中心频率为23kHz的Sallen-Key二阶压控电压源带通滤波器进行仿真实验[9]。本文研究的是当元件超过其正常容差变化范围发生的软故障。其中各元件的标称值均在图中标出,电路中各个电阻值容差取5%,电容容差取10%。因为有些元件参数变化对输出信号的影响不大,所以在诊断之前先进行灵敏度分析,文中选取C1,C2,R2,R3共8种软故障[10]和一种正常模式进行诊断。可以换个频率仿真采用Pspice10.5仿真软件对电路施加脉冲激励信号,其参数为:起始值V1=1mV,脉动值V2=5mV,初始延时TD=0.2us,上升时间TR=0.1us,下降时间TF=1us,周期TPER=6us,脉冲宽度Pw=3us.取Vo为测试点,将故障分为两类:R↑,R↓和C↑,C↓,其中↑表示偏大,↓表示偏小,加上正常状态共计9种单软故障状态,故障状态采用二进制编码表征,具体参见表1。考虑到电阻和电容容差,我们对每种状态分别进行30次MC(蒙特卡洛)分析,其中随机取20次用来训练网络,随机取10次用来对网络进行性能测试。对输出信号进行5层haar小波分解,求得每层分解得到的系数序列绝对值之和和各个频带信号的能量,经归一化和特征向量关联后得到融合特征向量作为神经网络的输入。用Matlab7.0提供的神经网络工具箱建立BP神经网络,神经网络采用三层BP网络结构。神经网络的输入节点为12个,输出神经元个数为4个,传递函数为purelin,隐层神经元为9个,传递函数为tansig,经过多次调整,神经网络采用LM算法的训练方法,目标误差为0.01,网络经过66次训练调整后达到了期望的均方误差,误差变化曲线如图3所示。4Vin+-R15.18KR3C15nFC25nFR21K2KR5R44K4KVo66误差步长010203040506010-310-210-1100101图223kHzSallen-Key带通滤波器图3单故障误差变化曲线对训练好的神经网络进行单软故障性能测试。总测试样本的平均正确诊断率达96.08%,诊断结果如表1所示。纵坐标“误差”在图3里转一个方向表1单软故障测试样本的神经网络诊断结果标称值故障模式故障值神经网络输出近似二进制编码实际输出近似二进制编码期望输出输出1输出2输出3输出4正常-0.00290.00240.0907-0.0315000000005nFC1偏大10nF0.00800.43450.41550.9432000100015nFC1偏小1nF-0.00330.00141.0120.0135001000105nFC2偏大10nF0.00600.10901.07901.1850001100115nFC2偏小1nF0.00210.9935-0.0220-0.0247010001001KR2偏大2K-0.0461.0019-0.10000.9571010101011KR2偏小0.5K-0.00370.99440.83240.0439011001102KR3偏大4K-0.00351.05461.04961.0349011101112KR3偏小1K1.0049-0.0020.01830.002510001000本文以图2所示的电路进行多软故障仿真实验,对训练好的