毕业设计(论文)-电子电路故障诊断系统设计.doc_第1页
毕业设计(论文)-电子电路故障诊断系统设计.doc_第2页
毕业设计(论文)-电子电路故障诊断系统设计.doc_第3页
毕业设计(论文)-电子电路故障诊断系统设计.doc_第4页
毕业设计(论文)-电子电路故障诊断系统设计.doc_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

编号: 本科毕业设计(论文) 电子电路故障诊断系统设计Design of fault diagnosis system for electronic circuit下属学院 理工学院 专 业 电子信息工程 班 级 10电子信息工程 学 号 104173350 姓 名 指导教师 职称 副教授 完成日期 201 4 年 4 月 1 日宁波大学科学技术学院本科毕业设计(论文)诚 信 承 诺我谨在此承诺:本人所写的毕业论文电子电路故障诊断系统设计均系本人独立完成,没有抄袭行为,凡涉及其他作者的观点和材料,均作了注释,若有不实,后果由本人承担。 承诺人(签名): 年 月 日摘要【摘要】目前电子自动化的发展越来越成熟,电子设备功能越来越多。一个小小的故障也会导致财产的巨大损失。鉴于上述原因,本文利用Multisim仿真软件建立电路模型,进行故障设定,并提取故障特征值。针对这些故障类别,根据神经网络的基本原理设计了BP神经网络以及RBF神经网络的故障诊断系统结构。然后用MATLAB对样本进行训练与测试,并在实验室进行调试,得到的误差变化曲线基本上符合提出的期望。结果表明BP神经网络及RBF神经网络的算法能够有效的应用于模拟电路故障诊断。【关键词】故障诊断;BP神经网络;RBF神经网络;训练;测试Abstract【ABSTRACT】At present, the development of electronic becomes more and more automation and the function of electronic also becomes more. Little fault will resulst in property .For these reasons, in this paper, the circuit model is established by using Multisim simulation software,then setting faults and extract the fault characteristic. In view of these fault categories,according to the basic principle of neural network to found fault diagnosis system for the structure of BP neural network and RBF neural network. Then the samples are trained and tested by MATLAB and debug in the laboratory.The error change curve is basically consistent with the expected. The results show that the BP neural network and RBF neural network algorithm can be effectively applied to analog circuit fault diagnosis.【KEYWORDS】Fault diagnosis;BP neural network;RBF neural network;trained; tested目录1 绪论11.1模拟电路故障诊断研究的背景与意义11.2 模拟电路故障诊断方法的研究现状11.3 本文主要的研究内容与结构安排31.3.1 本文主要的研究内容31.3.2 本文主要的结构安排32 诊断电路和故障特征提取42.1 模拟电路故障设定的基本思想42.2 两种诊断电路的故障设定42.2.1 Sallen-Key低通滤波器的故障设定52.2.2 四运放双二阶高通滤波器的故障设定82.3 诊断电路特征向量的提取113 基于BP神经网络的模拟电路故障诊断133.1 神经网络的故障诊断133.1.1 神经网络基本原理133.1.2 BP网络用于故障诊断的基本思想153.2 BP神经网络的设计153.2.1 训练样本的获取及输入输出模式的确定163.2.2 BP神经网络的设计163.2.3 BP神经网络的工具箱函数183.3 Sallen-Key低通滤波器的故障诊断204 基于RBF神经网络的模拟电路故障诊断244.1 RBF神经网络的基本知识概述244.1.1 RBF神经网络的基本原理244.1.2 RBF神经网络用于故障诊断的优势244.2 RBF神经网络的设计254.2.1 网络的设计254.2.2 RBF神经网络工具箱函数264.3四运放双二阶高通滤波器的故障诊断275总结与展望29参考文献31致谢32III1 绪论1.1 模拟电路故障诊断研究的背景与意义随着电子行业的兴盛,智能手机、笔记本电脑等一些高集成电路产品出现在我们的生活中,而且戚戚相关,难以离舍。很明显,这只是电子技术革新的开始,目前电子自动化的发展越来越成熟,电子设备功能越来越多,其电路集成度也变得更高,这就会出现运行时一个小小的故障也会导致财产的巨大损失以及我们生命的危险。目前模拟电路的应用不光局限于我们个人电子产品使用中,其广泛性也已应用到军工、通信、家用电器等各个方面,特别是随着集成电路的越发复杂,任何一个元部件和元器件的故障都会影响整个全局的功能。最新资料表明,高集成电子设备的维护费远高于其研发费用,这也就要求着我们不能光顾着产品的研发而忽视了电子设备的维护,维护做不好,研发工作也只是徒劳。但是往往维护又是一项巨大的难题,也是亟需解决的问题,我们必须要开发出一项优越的诊断方法去面对故障诊断的研究,这样才能保证设备系统功能的完整性与可靠性。所以今日我们的模拟电路的故障诊断绝不能局限于人力,显然人力也已经难以或无法解决模拟电路的故障诊断这一难题。可见,模拟电路的故障诊断是电子工业发展的一个迫切需要解决的难题。所以,我们必须要学会用智能化的方式去处理解决故障诊断的难题。1.2 模拟电路故障诊断方法的研究现状模拟电路故障诊断的研究是从1970年开始的,到迄今也有几十年的历史,而电路的诊断技术也越来越成熟,方法也演变的多种多样。目前模拟电路故障诊断的主要任务有:在已知网络的拓扑结构,输入激励信号,及由此获得的故障响应,从而来确定模拟电路故障发生的位置以及元器件的重要参数。模拟电路的故障诊断在今年的很长一段时间里都将是个难题,目前研究的主题包括故障的检测、故障的辨识以及故障的预测1。故障的检测是采用获得的采样数据,电路结构及参数来判定系统电路故障发生位置;故障的辨识是在已经了解到故障的发生,然后去判断并且确定故障存在的位置;故障的预报表明系统还没发生故障假想的故障位置,然后更换易发故障位置的器件,确保系统正常运行。目前研究的模拟电路故障诊断技术大体分为两大类,一个是以传统的人力财力为基础而进行的故障诊断,一个是以神经网络为主要的插入手段,将神经网络引用到模拟电路的故障诊断中,从而获得准确率较高的效果。(1)传统故障诊断技术传统的故障诊断技术主要分为下述几种:故障字典法,故障参数识别法,故障验证法等几类2。故障字典法是指把模拟电路中的所有故障类型全部提取出来,并且将故障的类别与故障的关系对应起来,构成多个映射,达到每种类别对应一种关系。这样我们在进行模拟电路的故障诊断时只要将故障类别与故障字典中的相应关系对比即可获得故障发生的元件。这种方法得出的故障分类很准确,是不错的诊断方法。故障参数识别法是根据网络的拓扑关系,输入激励和输出响应,估出网络中的所有参数,或参数偏离标称值的偏差,最后对比容差范围确定故障器件,该方法尤其适用于诊断软故障。而它又可根据识别参数分类为元件值识别及元件值增量识别。故障验证法的做法主要是:猜测网络中的故障元件,然后猜测出易发生的某个元件集合,再在对应的集合中激励信号,以及可及节点取得的测量数据,依据一定的判断数据去验证猜测的正确性3。假设猜测正确,就可找到对应的故障元器件。这种方法要求模拟电路满足可测的条件。(2)现代故障诊断技术现代故障诊断技术主要是指以神经网络为代表的故障诊断方法。下面我们了解下今年来比较有影响力的故障诊断的做法。2000年,Farzan Aminian等人主要是针对小波变换的思想,构造出模拟电路的输出信号,然后对这些信号进行一系列的预处理,提取小波处理后的逼近信号,进行主元分析,即PCA和归一化处理,最后将前面的处理数据应用到到神经网络并进行故障诊断,这样的诊断方法正确率可达到百分之九十五以上4。然而上述方法仅仅利用了分解信号后的低频部分并不能全部显示,这样也就出现了部分故障难以诊断的问题,需要改进。因此,2005年,He Y等人在上述做法的理论上,加入低频和高频的数据,从而增加了诊断的全面性,而且构造小波网络对系统故障进行诊断,使得诊断准确率提升到百分之九十九以上。但是,这种小波网络也存着着一个问题,就是会随着样本数据维数的增加,网络的结构将变得庞大,计算工作量,网络的运行时间等,变得越来越难以接受。2008年,YTan等人提出了应用遗传算法及神经网络来进行故障诊断,但是也要采集多个测试点的数据,这样就会出现获取样本数据的复杂难题。到了2010年,Lifen Yuant等人的做法是在一定频域内,对故障信号处理,运用提取器提取两种故障特征,将特征通过神经网络进行模拟输出。Lifen Yuant等人的做法在通过减少输入个数简化了网络,也增加了诊断的准确性,但不足的是没有验证多组特征的情况下的故障诊断。1.3 本文主要的研究内容与结构安排1.3.1.本文主要的研究内容利用Multisim仿真软件建立电路模型,对sallen-Key低通滤波器及四运放双二阶高通滤波器进行分析,得出易出故障器件的故障值,并对故障进行分析,确定故障类型,然后对故障数据进行整理和计算。并用BP神经网络以及RBF神经网络的方法建立sallen-Key低通滤波器及四运放双二阶高通滤波器的故障诊断系统。根据神经网络的工作原理,设计BP神经网络和RBF神经网络故障诊断系统的结构。用matlab对过程进行编程仿真,并进行调试,得出输出的期望值与实际值及正确百分比。1.3.2.本文主要的结构安排本文共分为五章,第一章 介绍了模拟电路故障诊断研究的背景与意义以及研究现状和本文研究内容的主要内容及其结构安排。第二章 阐述了诊断电路硬件设计的基本知识。第三章 运用BP神经网络进行故障诊断的基本思想和系统设计。第四章 运用RBF神经网络进行故障诊断的基本思想和系统设计。第五章 总结与展望,给出了本论文研究的结论并说明了BP神经网络及RBF神经网络研究的不足,并展望了故障诊断研究的后续工作。- 31 -2 诊断电路和故障特征提取2.1 模拟电路故障设定的基本思想本文主要针对电路的一个故障考虑,不考虑多个故障同时出现的情况。很多时候我们依靠传统的笨拙的方法只能进行硬故障诊断,而不能有效的对出现的软故障给予一定的诊断保障,然而在这样一个电器自动化高速发展的年代,又不得不提高故障诊断的效果,只有这样才能保证电路正常运行,才能更好地服务于民。由此可见,对付软故障诊断是亟需解决的难题,其对电路系统的影响很大,本文主要就是研究Sallen-Key低通滤波器以及四运放双二阶高通滤波器电路软故障的诊断。在滤波电路中,电阻和电容的容差分别为5和10。给电路施加脉冲激励,进行仿真时,设定电阻和电容在各自的容差范围内变化,则认为电路为无故障状态。当电路中的任何一个元件高于50%,或低于50,而其它元件均在50%之内浮动时,对电路进行仿真并获得在某个特定时间段的模拟波形,然后记录下对应波形下的故障值,用multisim软件对正常波形也在上述某个特定时间段进行波形模拟,得出正常情况和故障情况的波形对比4。现在我们借用例子直观的来说明设定故障值的做法,在一具备多个元器件组成的模拟电路中,其中有元器件电容C1=5nF,容差为10%,我们只考虑C1超出容差,其它值均在容差范围内变动而不超过容差的10%,下面三种情况根据50列出了C1在不同范围内变动的故障模式,即:(1) 当C1在4nF和6nF变化时,可以认定是正常变动值,此时即为正常模式;(2) 当C1在2.5和4nF变化时,这种情况的值是在标称值的-50内变化,称之为C1偏小故障模式,即C1;(3) 当C1在6 nF和7.5 nF变化时,这种情况下的值均大于正常值,然而是在标称值的+50内变化,称之为C1偏大故障模式,即C1。2.2 两种诊断电路的故障设定本文主要研究Sallen-Key低通滤波器和四运放双二阶高通滤波器的故障诊断,所以以下主要对两种电路进行简单的概述。2.2.1 Sallen-Key低通滤波器故障设定图2.1 Sallen-Key低通滤波器图2.1所示Sallen-Key低通滤波器,其中心频率为25kHz。在滤波器电路中,电阻的容差为5%,电容的容差为10%。给电路施加脉冲激励进行仿真时,设定电阻和电容在各自的容差范围内变化,则认为电路为无故障状态。当电路中的任何一个元件高于50%,或低于50,而其它元件均在50%之内浮动时,对电路进行仿真并获得在某个特定时间段的模拟波形,然后记录下对应波形下的故障值,用multisim软件对正常波形也在上述某个特定时间段进行波形模拟,得出正常情况和故障情况的波形对比。下面我们用multisim软件模拟电路,对正常电路和故障电路的波形限定在某个特定时间段,保证其波形对比的直观,以获得故障数值。(1) 当各元件均为正常值,t1=52.945ms,t2=53.351ms时,模拟波形图如图2.2图2.2正常电路波形 (2) 当C1减小到2.5nF,t1=52.944ms,t2=53.351ms时,模拟出的波形如图如图2.3图2.3 C1减小到2.5nF的波形 (3) 当C2增加到10nF,t1=52.944ms,t2=53.350ms时,其波形如图2.4图2.4 C1增加到10nF时模拟波形这样不断的更改元器件的数值,并通过mutisim模拟得出了电路的9种故障类别即:即C1,C1,C2,C2,R3,R3,R4,R4故障和无故障类别(NF),这里和分别表示故障值高于和低于各自正常值的50时所对应的故障状态,把每种故障状态分别定义为SF0,SF1,SF2,SF3,SF4,SF5,SF6,SF7,SF8。表2.1给出了Sallen-Key低通滤波器元件的正常值,故障值以及故障类别。表2.1 Sallen-Key低通滤波器的元件值及其单故障类型故障代码故障类别正常值故障值SF0NF-SF1C15n10nSF2C15n2.5nSF3C25n10nSF4C25n2.5nSF5R21k2kSF6R21k0.5kSF7R32k6kSF8R32k1k2.2.2 四运放双二阶高通滤波器故障设定图2.5所示四运放双二阶高通滤波器,其截至频率为10KHz,其电路元件容差的设定同上例相同。故障类别包括C1,C1,C2,C2,R1,R1,R2,R2,R3,R3,R4,R4,和故障状态(NF),其中和表示情形同表2.1。图2.5 四运放双二阶高通滤波器同样地,下面我们用multisim软件对正常电路和故障电路进行模拟,以获得故障数值。 (1) 当各元器件均为正常值,t1=13.875ms,t2=14.414ms时,模拟波形为图2.6图2.6 正常电路波形 (2) 当C1增大到20F,t1=13.875ms,t2=14.414ms时,模拟波形如图2.7示图2.7 C1增大到20nF的波形 (3) 当C2增大20nF时的波形,t1=13.876ms,t2=14.415ms时,波形如图2.8所示图2.8 C2增大到20nF时的波形图同理,我们可以模拟出其它组元件及减小的故障数据,表2.2给出了上述几种几种元件的故障值及正常情况下对应的故障类别。在表2.1和2.2中,n就是nF,k就是k。表2.2四运放双二阶高通滤波器的元件值及其单故障类别故障代码故障类别正常值故障值SF0NF-SF1C15n20nSF2C15n2.5nSF3C25n20nSF4C25n1.5nSF5R16.2k15kSF6R16.2k3kSF7R26.2k18kSF8R26.2k2kSF9R36.2k12kSF10R36.2k2.7kSF11R41.6k2.5kSF12R41.6k0.5k2.3诊断电路的特征向量的提取首先我们先事先获取的故障从Multisim中提取出特征值,并将每种故障提取的数据分为20组,然后我们取其20组的最大值,最小值,平均值,标准差,偏度,峭度六种指标,简单介绍下六种数据指标5。(1) 最大值(max):是指一组数中的最大的数。(2) 最小值(min):是指一组数中的最小的值。(3) 平均值(mean):这里取的是算术平均值,为第i个样本数据。公式为2-1所示: (2.1)(4) 标准差(var):反映一组数据离散程度最常用的一种量化形式,是表示精密度的重要指标,其公式为: (2.2)(5)偏度(skewness):是统计分布偏斜方向和程度的度量,是统计数据分布非对称程度的数字特征,其公式如下,其中是第i个样本,是样本标准差。 (2.3)(6)峭度(kurtosis):反映振动信号分布特性的数值统计量,是归一化的4阶中心矩。公式如下,其中x(t)为瞬时振幅,为振幅均值,p(x)为概率密度,是样本标准差6。 (2.4) 按照上述介绍的六种指标将数值提取后,将这20组数据的20组指标放入同一矩阵中,这样我们就有了输入模式,而我取得电路故障是4种情况加一种正常情况共是5种情况,这样输入数据就是一个6行100列的矩阵。以下是正常情况下得出的数据:n=-0.1612 2.1116 -3.7196 0.9462 -1.5183 7.8078 -0.1431 2.1628 -3.6974 0.9524 -1.4725 7.7337 -0.1227 2.2157 -3.6773 0.9558 -1.4309 7.7093 -0.1819 2.0597 -3.7358 0.9463 -1.5555 7.7829 -0.1992 2.0110 -3.7568 0.9408 -1.5974 7.8498 -0.1616 2.1019 -3.7197 0.9438 -1.5306 7.8336 -0.1620 2.0919 -3.7198 0.9413 -1.5431 7.8595 -0.1608 2.1211 -3.7195 0.9487 -1.5063 7.7822 -0.1604 2.1304 -3.7194 0.9511 -1.4944 7.7566 -0.1636 2.0888 -3.7238 0.9468 -1.5471 7.8072 -0.1661 2.0673 -3.7277 0.9477 -1.5716 7.8071 -0.1586 2.1319 -3.7151 0.9452 -1.4923 7.8100 -0.1558 2.1520 -3.7104 0.9442 -1.4652 7.8131 -0.1645 2.0470 -3.7202 0.9372 -1.5849 7.8753 -0.1677 1.9898 -3.7208 0.9297 -1.6420 7.9386 -0.1573 2.1811 -3.7188 0.9561 -1.4483 7.7370 -0.1529 2.2583 -3.7181 0.9675 -1.3702 7.6648 -0.1623 2.0909 -3.7198 0.9433 -1.5392 7.8296 -0.1633 2.0690 -3.7200 0.9402 -1.5629 7.8516 -0.1600 2.1331 -3.7193 0.9492 -1.4968 7.78563 基于BP神经网络的模拟电路故障诊断3.1 神经网络的故障诊断神经网络的故障诊断过程如图3.1所示。主要分为两个过程,即训练过程(虚线所示),以及测试过程(实线所示)。首先我们对电路进行波形模拟,得出故障值,并提取故障值的特征数据作用训练样本,确立出适合诊断研究的神经网络的结构,并且利用matlab算法去测试算法,这样就可以把样本训练成熟便于后续故障的测试。这样当需进行故障诊断时,只需要将故障电路的特征值进行提取,然后在做好的神经网络中进行测试即可确定故障的类型7。构造神经网络训练样本集确定确定神经网络的结构 定义电路故障集训练神经网络测试信号神经网络诊断电路电路响应信号电路故障特征提 取故障分类图3.1 基于神经网络的模拟电路故障诊断原理图3.1.1神经网络基本原理神经网络的基本单位是神经元。神经元的特性往往在某种程度上决定着神经网络的总体特性,一个神经网络的构成,包含着许许多多的神经元,而不是孤立的单个神经元就可称之为神经网络。常见的神经元模型如图3.2所示8。 ab1(1,1)(1,R)P(1)P(2)P(R) 图3.2 神经元模型由图3.2所示,常见的神经元模型由下列几部分组成:1)输入:代表神经元R个输入。在MATLAB中,输入可以用一个维的列矢量来表示(其中T表示取转置) (3.1)(2)网络权值和阈值:代表网络权值,表示输入与神经元之间的连接强度,为神经元阈值,可以看作是一个输入恒为1的网络权值。在MATLAB中神经元的网络权值可以用一个的行矢量来表示。 (3.2)阈值为的标量。注意:网络权值和阈值都是可以调节的,这是神经网络学习特性的基本内容之一。求和单元完成对输入信号的加权求和,即: (3.3)这是神经元对输入信号处理的第一个过程。在MATLAB语言中,该过程可以通过输入矢量和权值矢量的点积形式加以描述,即: (3.4)(4)传递函数:在表3.1中f表示神经元的传递函数或激发函数,它用于对求和单元的计算结果进行函数运算,得到神经元的输出。表3.1给出了几种典型的神经元传递函数形式及描述。表3.1几种典型的神经元传递函数形式传递函数的名称函数表达式函数曲线MATLAB函数a=hardlim(n)0a-1+1+1n阈值函数Bardim线性函数a=purelin()0a-1+1+1nPurelin对数sigmoid函数a=logsig(n)0a-1+1+1nLogsig正切sigmoid函数a=tansig(n)0a-1+1+1ntansig3.1.2 BP网络用于故障诊断的基本思想BP神经网络应用在故障诊断上提高了以往传统方法难以达到的准确性,其研究的思路主要是:首先确定电路的故障,对于故障值的确定是根据正常值及故障值的波形对比,从而获得较典型的故障参数,把电路中容易出故障的器件都找出来作出故障集。而后对这些故障一一提取特征值。特征值提取后对这样特征值进行分组,每个故障的特征值分为20组,前10组用于神经网络的训练,后10组用于神经网络的测试。另外要指出的是,在做实际电路诊断时,每次故障值的波形对比取得故障值均是在外界相同条件下进行的,例如相同信号的激励,这样获得的特征值才会更准确,有效避免其它因素的干扰。BP神经网络训练样本并测试样本后,会输出相应的期望值和实际的输出值,并能给出分类模拟的正确百分比,表示出BP神经网络故障诊断的准确率3.2 BP神经网络的设计3.2.1训练样本的获取及输入输出模式的确定(1)训练样本的获取训练样本的获取直接决定了BP网络的应用的成败,不当的训练样本很可能会出现网络训练的不收敛。从系统整体的角度来说,如果F是一个独立而不受外界干扰的理想封闭系统,X=(x1,x2,.xm)为系统输入向量,Y=(y1,y2,.,yn)为系统输出向量,输入和输出满足Y = fX,我们认为对样本数据的拟合度越高,对系统模拟的越成功9。所以样本数据的获取显得十分重要,另外训练样本模拟的越多,测试出的结果越准确,越可避免其它无关因素的干扰。(2)输入输出模式的确定1.输入模式的确定:在2.3中我们已经得到了5组数据,我们将每组中的二分之一作为训练样本,另外二分之一作为测试样本。2.输出模式的确定:输出样本集采用“01表示法,期望输出为x,即为:x=1,0,0,0,0;0,1,0,0,0;0,0,1,0,0;0,0,0,1,0;0,0,0,0,1,在下面的实例中共用这一输出模式。3.2.2 BP神经网络的设计BP神经网络主要包含以下几部分,主要有输入层, 隐层, 输出层,及各层间的传输函数等10。(1) 网络层数:顾名思义,网络层数指的是一个神经网络包含的分层数,而大部分的神经网络都有着固定的网络层数,但这里研究的BP神经网络的层数却是不固定的,相同,其隐含层是可以进行设置更改的。BP网络隐含层数的变化会影响着故障诊断的准确性,但往往选择的层数都不会过大,一般两层或两层以下。(2)输入层的节点数:输入层起缓冲存储器的作用, 它的功能是当有数据进行输入时,其进行接收,样本输入数据的维数决定着输入的节点数,有几维就会有对应的几个输入节点。在本课题研究的故障诊断中,因为研究的是个5维的输入,故输入节点就是5个。(3)输出层的节点数:输出层节点数取决于两个方面, 输出数据类型和表示该类型所需要的数据大小。当BP网络用于模式分类时, 以二进制形式来表示不同模式输出结果, 输出层的节点数可根据待分类模式数确定。(4)隐层节点数:隐层节点数的确定直接会导致训练的成败,节点太多会导致学习时间过长;太少又会导致识别能力过低,所以在构造网络时,需要选择合适的隐层节点数。常见的经验公式有: (3.5)式中: n为隐层节点数; ni 为输入节点数; n0 为输出节点数; a为1-10之间的常数。 (5)网络隐含层数及隐含层神经元数的确定:目前来说没有固定的公式或者规律去确定网络隐含层数及隐含层神经元数,而确定这两个参数又至关重要,时刻影响着网络的拟合能力。根据日常研究总结出的规律如下11: 不管研究的问题多复杂,首先用一个隐含层来尝试训练效果;隐含层神经元数越多,神经网络的学习就会越慢,故建议神经元数尽量小点;隐含层神经元数先从一个开始训练,然后再尝试两个或三个的情况,当达到训练满意的结果终止。以下是日常研究总结出的确定隐含层神经元数的经验公式: (3.6) (3.7) (3.8) (3.9)式中,S为隐含层神经元数,n为输入层神经元数,m为输出层神经元数,为 110 之间的常数。3.2.3 BP神经网络的工具箱函数1. BP网络创建函数(1) newff该函数用于创建一个BP网络。调用格式为:net=newffnet=newff(PR,S1 S2.SN1,TF1 TF2.TFN1,BTF,BLF,PF)其中,net=newff;用于在对话框中创建一个BP网络。net为创建的新BP神经网络;PR为网络输入向量取值范围的矩阵;S1 S2SN1表示网络隐含层和输出层神经元的个数;TF1 TF2TFN1表示网络隐含层和输出层的传输函数,默认为tansig;BTF表示网络的训练函数,默认为trainlm;BLF表示网络的权值学习函数,默认为learngdm;PF表示性能数,默认为mse。 (2)newcf函数用于创建级联前向BP网络,newfftd函数用于创建一个存在输入延迟的前向网络。2. 神经元上的传递函数传递函数是搭建BP神经网络的桥梁。其要求是此传递函数必须连续可微。常见的BP神经网络多采用下列函数: (1) logsig该传递函数为S型的对数函数。调用格式为:A=logsig(N)info=logsig(code)其中,N:Q个S维的输入列向量;A:函数返回值,位于区间(0,1)中;(2)tansig该函数为双曲正切S型传递函数。调用格式为:A=tansig(N)info=tansig(code)其中,N:Q个S维的输入列向量;A:函数返回值,位于区间(-1,1)之间。(3)purelin该函数为线性传递函数。调用格式为:A=purelin(N)info=purelin(code)其中,N:Q个S维的输入列向量;A:函数返回值,A=N。3.BP网络学习函数1)learngd该函数为梯度下降权值/阈值学习函数,它通过神经元的输入和误差,以及权值和阈值的学习效率,来计算权值或阈值的变化率。调用格式为:dW,ls=learngd(W,P,Z,N,A,T,E,gW,gA,D,LP,LS)db,ls=learngd(b,ones(1,Q),Z,N,A,T,E,gW,gA,D,LP,LS)info=learngd(code)2) learngdm函数为梯度下降动量学习函数,它利用神经元的输入和误差、权值或阈值的学习速率和动量常数,来计算权值或阈值的变化率。4.BP网络训练函数train神经网络训练函数,调用其他训练函数,对网络进行训练。该函数的调用格式为:net,tr,Y,E,Pf,Af=train(NET,P,T,Pi,Ai)net,tr,Y,E,Pf,Af=train(NET,P,T,Pi,Ai,VV,TV) traingd函数为梯度下降BP算法函数。traingdm函数为梯度下降动量BP算法函数。BP神经网络训练的部分代码如下:xn_train = n1; %训练样本dn_train = x1; %训练目标xn_test = n2; %测试样本dn_test = x2; %测试目标NodeNum =10; %隐层节点数TypeNum =5; %输出维数p1 = xn_train; %训练输入t1 = dn_train; %训练输出Epochs = 1000; %训练次数P = xn_test; %测试输入T = dn_test; %测试输出et.trainParam.epochs = Epochs; %最大训练次数net.trainParam.goal = 1e-8; %最小均方误差net.trainParam.min_grad = 1e-20; %最小梯度net.trainParam.show = 200; %训练显示间隔net.trainParam.time = inf; %最大训练时间Result = sum(abs(X-x2) %正确分类显示为1Percent = sum(Result)/length(Result)%正确分类率3.3 Sallen-Key低通滤波器的故障诊断 由于数据庞大,我们选取了其中的SF0,SF1,SF3,SF5,SF8进行研究。例如,把SF1故障模式的故障信号导入到MATLAB中,按照上述分析的方法提取故障特征的平均值(mean)、最大值(max)、最小值(min)、方差(var)、偏度(skewness)、峭度(kurtosis),得出的数据为n=-0.1612 2.1116 -3.7196 0.9462 -1.5183 7.8078 -0.1431 2.1628 -3.6974 0.9524 -1.4725 7.7337 -0.1227 2.2157 -3.6773 0.9558 -1.4309 7.7093 -0.1819 2.0597 -3.7358 0.9463 -1.5555 7.7829 -0.1992 2.0110 -3.7568 0.9408 -1.5974 7.8498 -0.1616 2.1019 -3.7197 0.9438 -1.5306 7.8336 -0.1620 2.0919 -3.7198 0.9413 -1.5431 7.8595 -0.1608 2.1211 -3.7195 0.9487 -1.5063 7.7822 -0.1604 2.1304 -3.7194 0.9511 -1.4944 7.7566 -0.1636 2.0888 -3.7238 0.9468 -1.5471 7.8072 -0.1661 2.0673 -3.7277 0.9477 -1.5716 7.8071 -0.1586 2.1319 -3.7151 0.9452 -1.4923 7.8100 -0.1558 2.1520 -3.7104 0.9442 -1.4652 7.8131 -0.1645 2.0470 -3.7202 0.9372 -1.5849 7.8753 -0.1677 1.9898 -3.7208 0.9297 -1.6420 7.9386 -0.1573 2.1811 -3.7188 0.9561 -1.4483 7.7370 -0.1529 2.2583 -3.7181 0.9675 -1.3702 7.6648 -0.1623 2.0909 -3.7198 0.9433 -1.5392 7.8296 -0.1633 2.0690 -3.7200 0.9402 -1.5629 7.8516 -0.1600 2.1331 -3.7193 0.9492 -1.4968 7.7856表示出了SF1中20组数据的上述六种指标。同理,得到其它4种模式的输入,输出样本集。这样就得到了20组用于训练和测试的原始数据样本集。输出样本集采用“01表示法,期望输出为x,即为:x=1,0,0,0,0;0,1,0,0,0;0,0,1,0,0;0,0,0,1,0;0,0,0,0,1我们经过1000次的训练调整,分类率在90%以上的训练误差曲线如3.3所示,表3.2和表3.3分别是实际输出值与期望输出值。图3.3训练误差变化曲线表3.2实际输出值1111111111000000000000000000000000011111111100000000000000000000000001111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111110000000000000000000000000111111111100000000000000000000000001111111111表3.3期望输出值11111111110000000000000000000000000111111111100000000000000000000000001111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111100000000000000000000000001111111111000000000000000000000000011111111114 基于RBF神经网络的模拟电路故障诊断4.1 RBF神经网络基本知识概述4.1.1 RBF神经网络的基本原理径向基函数神经网络(即RBF神经网络,下面统称RBF神经网络)的结构类似于BP神经网络的结构组成,主要有输入层、隐含层和输出层,隐含层的神经元数目不是确定的,需要根据不同的情况确定不同的数值。输入层节点的功能是将输入信号通过扩散的特点传递到隐层,然后隐含层节点中的作用函数对输入信号在局部产生响应。当输入信号靠近基函数的中央范嗣时,隐含层节点将产生较大的输出。由此可看出这种网络具有局部逼近能力。所以径向基函数网络也称为局部感知场网络。RBF神经网络是一种典型的局部逼近神经网络对于每个输入输出数据对,只有少量权值需要调整,从而使局部逼近网络具有学习速度快的优点。目前理论上已经得出结论,认为隐含层神经元数越多,网络的逼近效果越强。RBF神经网络具备典型的前向网络的特点,精确度高、可靠性强、学习速度快、网络设计简洁、逼近能力不俗且不存在局部极小等一系列的优势。图4.1给出了RBF的网络结构。 输入层 隐含层 输出层图4.1 RBF神经网络结构4.1.2 RBE神经网络用于故障诊断的优势上述运用了BP神经网络进行故障诊断,虽然BP网络得到了广泛的应用,但它也存在缺陷和不足,从以下几个方面说明:首先,学习

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论