基于PSpice与LM算法的模拟电路故障诊断方法
2015-04-25夏敏芳
夏敏芳,刘 牮
(上海理工大学 光电信息与计算机工程学院,上海200093)
由于模拟电路故障诊断的复杂度和密集度的不断增长,直接制约着电子设备的可靠性[1]。而且神经网络的输入直接影响着网络的性能和诊断的正确率,故对作为神经网络输入的故障特征有了更进一步的要求。小波变换由于其时频局部化特征能反应电路的各类运行状态,因而在故障特征提取应用方面具有重要意义。
随着人工智能的快速发展,使得神经网络方法在模拟电路故障诊断方面的应用变得越为普及,其中有近90%的神经网络是基于BP算法的[2]。但BP神经网络由于结构难以确定、输入数目多以及训练时间长等缺陷,导致诊断效率较低。在实际应用中原始的BP算法难以胜任,为了克服上述缺陷,提出了基于Levenberg-Marquardt算法的神经网络来进行模拟电路的故障诊断分析。通过仿真实验分析,LM算法不但有效提高了诊断效率,而且在局部搜索能力上比BP网络强[3]。
1 PSpice电路仿真
本文以图1的Sallen—Key二阶带通滤波器[4]为例,在PSpice中进行电路原理图的绘制、模拟和蒙特卡洛仿真。表1为各元器件的标称值及其故障值,其中电容容差为10%,电阻容差为5%,并设其分别偏离标称值的50%为故障状态,故障为单软状态。经灵敏度测试,当C1、C2、R2、R3发生变化时,对输出点的波形影响最大,其他元器件参数值的变化对输出影响较小,故可认定为无故障状态。
利用PSpice中的交流分析结合蒙特卡罗分析可以获得表1列出各类故障类型的输出脉冲响应,其中R2偏大时的30次蒙特卡罗分析输出响应如图2所示。
图1 Sallen—Key二阶带通滤波器
表1 电路中元器件的标称值与故障值
图2 电路R2偏大情况下30次蒙特卡罗分析
2 BP神经网络与LM算法
2.1 BP神经网络
目前,在众多神经网络中,由于BP网络具有成熟的训练方法和良好的逼近能力而得到广泛应用。BP神经网络拓扑结构的模型主要包括隐含层(Hide Layer)、输入层(Input Layer)和输出层(Output Layer)。BP作为一种多层前馈神经网络,仿真成败的关键主要取决于隐层节点的个数。由于隐层节点数的确立相对比较复杂,一般的选择原则是:应使网络结构尽量简单,在有效反映输入输出层关系的基础上,隐层节点数越少越好[5]。
Sigmoid为BP网络隐层中的神经元所采用的传递函数,而输出层的神经元则由Logsig传递函数担当,整个网络的输出则任意。
2.2 Levenberg-Marquardt算法
标准BP的期望输出与实际输出的误差沿后向传递,作为一种按梯度下降的算法需要逐渐减小其误差函数,直到最后的误差取得最小值,因此BP作为一种按梯度下降的算法,收敛速度比较缓慢。LM作为一种快速算法不但能有效地结合高斯—牛顿法和梯度下降法的优点[6],而且折中了梯度下降法的全局特性和高斯—牛顿法的局部收敛性。
设第x次迭代的网络权值向量用w(x)表示,新的权值向量为w(x+1),维数为M,则其公式为
式(2)中,为期望输出与实际输出;N为输出向量的维数,若设E(w)=[E1(w)E2(w)…EN(w)]T,则有
式中,▽2E(w)表示误差指标函数E(w)的Hessian矩阵;▽E(w)表示梯度;J(w)表示Jacobian矩阵,即
对于牛顿法则有
当接近一个解时,通常有S(w)≅0,这是得到高斯—牛顿法的计算规则
而LM算法是一种改进的高斯—牛顿法,它的形式为
其中,比例系数μ为>0的常数且单位矩阵为I。
由上式可看出,当μ逐渐减小时,权值调整近似于高斯—牛顿法,此时接近一个解;当μ逐渐增大时,权值调整近似于梯度下降法,此时远离一个解。由于近似二阶导的LM算法比梯度下降法快,因此在具体操作中,μ成了一个试探性参数,若μ已给定,求得的Δw能够使误差指示函数E(w)降低,则μ减小;反之,μ增加。仿真实验表明,LM算法可以在原梯度下降算法的基础上有效地改善网络性能。
3 小波分析及其特征提取
3.1 小波变换
小波变换于1974年由J.Morlet提出,小波变换在信号处理等领域的广泛应用主要取决于其在时、频域都具有多分辨率分析的特点和表征信号局部特征的能力。小波变换的基本思想是将原始信号通过伸缩和平移后分解成一系列具有良好的时域、频域等局部特征的子带信号,从而实现对信号时间、频率的局部化分析以克服傅里叶分析所存在的局限性[7]。
小波分解就是在分解原始信号时,保留每一层的高频部分,对低频信号进一步分解。离散序列信号的二进小波变换可表示为
式中,m,n分别为尺度因子和平移因子,hm(k-2mn)为合成小波,是小波母函数的二进离散形式。采样序列f(k)在尺度m0进行分析时有
式中,Am0是信号f(k)在m0尺度下的低频部分;Dm是信号f(k)在m0尺度下的高频部分;Cam0和Cdm分别表示m尺度下的低频系数和细节系数;gm0(k-2m0n)为合成尺度函数,相当于一个低通滤波器,而hm(k-2mn)为一个高通滤波器。
3.2 故障特征提取和结构确定
为了对电路的输出信号进行采样,需将被测电路和激励信号同时作为激励。对该冲激信号可采用Haar进行5层小波分解,其特征向量为各层小波系数的最大值[8]。
若故障类型有n种,对采样信号进行m层小波分解,由于神经网络的输入个数为所提取特征向量的维数,而输出个数则与故障类型有关。因此(m+1)与就为神经网络的输入和输出数目。隐层数目为,其中,M为输入数目,N为输出数目,a取1~10间的自然数。因此在本文中,当输入层为6,输出层为4,隐层神经元数目为10时最合适。
若要存储神经网络的权值、阈值和误差,则需利用测得的样本对神经网络进行训练,直到误差小于期望误差即可[9]。本文将每种故障模式对应的30次样本输入BP神经网络进行训练,网络经过851次训练达到目标要求,如图3所示。
图3 BP网络训练曲线
3.3 小波故障诊断原理
小波神经网络故障诊断的步骤:首先对电路的输出响应进行小波变换,然后将故障特征量作为神经网络的输入,通过对神经网络的不断训练,最后达到模式识别和故障分类的目的,从而实现模拟电路的故障诊断[10]。其故障诊断原理如图4所示。
图4 小波神经网络诊断步骤
4 神经网络的训练分析
网络训练样本的输出回归直线如图5所示,其中网络输出Y是网络模型经训练后计算所要得到的输出值,T是网络训练所要达到的目标值。由图可知,其相关系数为0.964 07。可见,相关系数接近于1,回归直线与斜率为1的直线几乎重合,说明网络的输出能逼近目标值,网络是有效的。
5 结束语
本文在PSpice仿真完成的基础上,将神经网络与LM算法相结合,首先通过小波变换对待测电路的原始故障特征进行处理,然后运用神经网络对处理后的故障特征向量进行学习、训练,最后实现电路的故障诊断。LM算法在保证较高的分类精度和稳定性的基础上能快速地完成网络训练,且收敛的迭代次数少。当网络的结构规模都合理、训练样本的大小合适并具有一定的泛化能力时,LM算法不但可以提高网络的学习速度,减少运行次数,而且在一定程度上提高了分类的正确性。相比于传统方法,在应用范围和诊断效率上有了较大提高。
[1]Robert A Pease.模拟电路故障诊断[M].北京:人民邮电出版社,2007.
[2] 焦李成.神经网络系统理论[M].西安:西安电子科技大学出版社,1990.
[3] 张德丰.Matlab神经网络应用设计[M].北京:机械工业出版社,2011.
[4] 潘强,孙必伟.模拟电路故障诊断中的特征信息提取[J].电子科技,2013,26(8):116-117.
[5] 陈悦,张少白.LM算法在神经网络脑电信号分类中的研究[J].计算机技术与发展,2013,23(2):119-120.
[6] 阎平凡,张长水.人工神经网络与模拟进化计算[M].北京:清华大学出版社,2004.
[7] 张蓉晖.小波神经网络及其在模拟电路故障诊断中的应用[D].武汉:华中科技大学,2008.
[8]Liu Xun,Dong Decun,Luo Yanfen.Fault diagnosis of trainground wireless communication unit based on fuzzy neural network[J].IEEE Transactions on Computer Science,2009,7(9):348-351.
[9] 阳辉,罗琨,何怡刚.模拟电路故障诊断的小波神经网络方法[J].微电子学,2010,40(1):52-53.
[10]杨德沛,曾盛绰,刘莹莹.基于改进的模糊神经网络模拟电路故障诊断[J].制造业自动化,2013,35(11):66-67.