基于BP神经网络的故障诊断方法汇总.docx
- 文档编号:4894007
- 上传时间:2022-12-11
- 格式:DOCX
- 页数:14
- 大小:144.83KB
基于BP神经网络的故障诊断方法汇总.docx
《基于BP神经网络的故障诊断方法汇总.docx》由会员分享,可在线阅读,更多相关《基于BP神经网络的故障诊断方法汇总.docx(14页珍藏版)》请在冰豆网上搜索。
基于BP神经网络的故障诊断方法汇总
《智能控制基础》
研究生课程设计报告
题目基于BP神经网络的故障诊断方法
学院机械与汽车工程学院
专业班级车辆工程
学号221601852020
学生姓名李跃轩
指导教师武晓莉
完成日期2016年12月10日
目录
1设计概述2
1.1研究对象介绍2
1.2设计内容及目标2
2设计原理、方法及步骤3
2.1基于BP算法的神经网络模型3
2.2神经网络信息融合故障诊断步骤4
3结果及分析6
3.1数据仿真6
3.2结果分析8
4设计小结9
参考文献10
附录程序11
1设计概述
1.1研究对象介绍
信息融合是多源信息综合处理的一项新技术,是将来自某一目标(或状态)的多源信息加以智能化合成,产生比单一信息源更精确、更完全的估计和判决。
信息融合所处理的多传感器信息具有更为复杂的形式,可以在不同的信息层次上出现。
多传感器信息融合的优点突出地表现在信息的冗余性、容错性、互补性、实时性和低成本性。
神经网络是由大量互联的处理单元连接而成,它是基于现代神经生物学以及认知科学在信息处理领域应用的研究成果。
它具有大规模并行模拟处理、连续时间动力学和网络全局作用等特点,有很强的自适应学习和非线性拟合能力,从而可以替代复杂耗时的传统算法,使信号处理过程更接近人类思维活动。
柴油机故障具有相似性,故障与征兆的关系不明确,具有较强的模糊性,故障特征相互交织,柴油机故障诊断是一个复杂的问题。
综合柴油机故障的特点以及神经网络的优势,采用基于BP神经网络的多传感器信息融合技术对柴油机机械故障进行诊断。
1.2设计内容及目标
设计内容:
针对传统故障诊断方法存在的诊断准确性不高的问题,提出了BP神经网络信息融合的方法,实现对柴油机的机械故障诊断。
由多个传感器采集信号,分别经过快速傅里叶变换后获得故障频域特征值,再经BP神经网络对柴油机进行故障局部诊断,能够对相应传感器的不同故障类型做出一个准确地分类,最终完成对汽轮机机械故障的准确诊断。
实验结果表明,该方法克服了单个传感器的局限性和不确定性,是一种有效的故障诊断方法。
采用方法:
通过BP神经网络进行局部诊断,最终判定故障及故障类型。
基于BP神经网络多传感器信息融合,故障诊断方法是特征层状态属性融合,并利用MATLAB仿真。
2设计原理、方法及步骤
基于神经网络多传感器信息融合故障诊断方法是特征层状态属性融合,也就是特征层联合识别方法,多传感器检测系统为识别提供了比单传感器更多的有关目标(状态)的特征信息,增大了特征空间维数。
本文运用神经网络多传感器信息融合方法对机械设备运行状态进行诊断识别,是基于这样一种思想:
设备运行状态与其各种征兆参数(温度、压力、电压、电流、振动信号等)之间存在着因果关系,而这种关系之复杂是难用公式表达的,由于神经网络所具有的信息分布式存储方式、大规模自适应并行处理、高度的容错能力等是其可用于模式识别的基础,特别是其学习能力、容错能力和高度的非线性映射能力对机械设备运行状态的不确定性模式识别具有独到之处。
2.1基于BP算法的神经网络模型
本文采用的是3层BP神经网络模型,由输入层、隐层和输出层构成,图1所示为一个典型的三层BP神经网络模型
图1一个简单的BP神经网络模型
网络的前馈意义在于每一层节点的输入仅来自前面一层节点的输出。
对于输入信号,先前向传播到隐层节点,经过激活函数后,再把隐层节点的输出信息传播到输出节点,最后得到输出结果。
(1)输入层节点
其输出
等于输入
,将变量值传送到第二层。
(2)隐层节点
其输入
,输出
分别为:
(2-1)
(2-2)
式中,
为隐层节点
与输入层节点
之间的权值,
为隐层节点
的偏置,
为sigmoid函数,其表达式为:
(2-3)
(3)输出层节点
其输入
,输出
分别为:
(2-4)
(2-5)
式中,
为输入层节点
与隐层节点
之间的连接权值,
为输出层节点
的偏置。
对于给定的训练样本
,
为样本数
,网络输出与训练目标之间的均方误差可表示为:
(2-6)
(2-7)
其中
为样本数,
为第
个样本的第l个输出单元的目标输出结果,
为第
个样本的第l个输出单元的网络运算结果。
BP网络训练的过程包括网络内部的前向计算和误差的反向传播,其目的就是通过调整网络内部连接权值使网络输出误差最小。
对于多层前馈网络中输入层与隐层之间、隐层与输出层之间连接权值利用BP算法调整。
2.2神经网络信息融合故障诊断步骤
神经网络知识表示是一种知识的隐式表示,知识表现为网络的拓扑结构和连接权值,采用神经网络技术的专家系统,由于神经网络是一种信息存储和处理统一的网络系统,因此,在采用神经网络技术的专家系统中,知识的存储与问题求解过程中的推理过程均在系统的神经网络模块中进行,是推理机和知识库的统一。
首先从已有的设备特征信号提取特征数据,经过数据预处理(归一化处理)后作为神经网络输入,从已知的故障结果提取数据作为神经网络输出,构建BP神经网络,利用已有的特征数据和已知的故障结果数据形成的训练样本集对构建的BP神经网络进行训练和网络自学习,使BP神经网络的权值、阀值与已知的故障结果之间存在对应关系达到期望的故障结果输出。
当BP神经网络训练完毕后,就可以利用训练成功的BP神经网络进行故障诊断。
故障诊断的过程如下:
1)将故障样本输入给输入层各节点,同时它也是该层神经元的输出。
2)由式(2-2)求出隐层神经元的输出,并将其作为输出层的输入。
3)从式(2-5)求得输出层神经元的输出。
4)由阈值函数判定输出层神经元的最终输出结果。
柴油机的故障诊断首先从待诊断的故障信号中提取数据并进行数据预处理,而后将待诊断故障数据输入训练成功的神经网络。
利用神经网络信息融合进行故障诊断步骤如图2所示:
图2信息融合进行故障诊断步骤
3结果及分析
3.1数据仿真
以某种柴油机中的4个实际故障样本为例,每个故障样本有5个故障特征值,因此选取网络的输入节点为5。
将样本输入到神经网络模型中,每个输出节点代表一种故障类型,则这4种故障类型和一个正常状态共需5个输出节点与之相对应,因此网络的输出节点为5。
表3-1训练数据。
表3-1训练数据
样本序号
故障特征值X
温度
压力
电压
电流
振动信号
1
2
3
4
5
6
0.0000
0.0074
0.0043
0.0056
0.0063
0.0049
0.0000
0.0335
0.0223
0.0315
0.0205
0.0300
0.0013
0.0015
0.0000
0.0012
0.0020
0.0018
0.0000
0.0032
0.0047
0.0027
0.0033
0.0026
0.0000
0.0106
0.0053
0.0086
0.0066
0.0078
7
8
9
10
11
12
0.5520
0.5452
0.5502
0.5406
0.5604
0.5525
0.3107
0.2793
0.2458
0.2862
0.3028
0.3125
0.2581
0.2611
0.2717
0.2645
0.2835
0.2778
0.3094
0.2988
0.3115
0.3009
0.3125
0.3005
0.2316
0.2036
0.2347
0.2145
0.2225
0.2164
13
14
15
16
17
18
0.2462
0.2535
0.2665
0.2556
0.2628
0.2562
0.1508
0.1061
0.0894
0.1465
0.1432
0.0999
0.0947
0.0968
0.0937
0.0988
0.30899
0.0900
0.0964
0.0971
0.0944
0.1000
0.0965
0.0999
0.0999
0.0810
0.0908
0.1000
0.0899
0.0998
19
20
21
22
23
24
0.6615
0.6738
0.6665
0.6689
0.6700
0.6623
0.5251
0.4413
0.4749
0.4652
0.4748
0.4832
0.5195
0.5225
0.5255
0.5200
0.5235
0.5268
0.4710
0.4732
0.4769
0.4756
0.4825
0.4669
1.000
0.9667
0.9758
0.9899
1.0000
0.9887
25
1.0000
1.0000
0.9812
1.0000
0.8206
26
27
28
29
30
0.9797
0.9846
0.9800
0.9965
1.0000
0.9777
0.9727
0.9825
0.9934
0.9912
1.0000
0.9847
0.9835
0.9862
0.9938
0.9960
0.9857
0.9887
0.9899
0.9961
0.8206
0.7600
0.8000
0.7800
0.8014
在表3-1训练数据中,样本序号1~6是正常状态;样本序号7~12是故障1状态;样本序号13~18是故障2状态;样本序号19~24是故障3状态;样本序号25~30是故障4状态。
表3-2是测试数据。
表3-2测试数据
样本序号
故障特征值X
温度
压力
电压
电流
振动信号
1
2
3
4
5
6
0.5493
0.0031
0.9920
0.6704
0.2572
0.9800
0.2626
0.0235
0.9899
0.4972
0.1006
0.9825
0.2659
0.0005
0.9979
0.5235
0.0958
0.9835
0.3088
0.0030
0.9937
0.4741
0.0981
0.9887
0.2221
0.0045
0.7979
0.9791
0.0890
0.8000
根据故障诊断的特点建立BP神经网络模型,网络的输入层节点、隐层节点和输出层节点个数分别为5、60和5,设置系统误差为1e-3,学习率为1,最大迭代次数为1000次,其中输入层到隐层之间的激活函数为双曲正切函数,隐层到输出层之间的激活函数设置为logsig的S型传递函数,在输出端设置的阈值为0.85,即网络输出值大于0.85的置1,小于等于0.85的置0来处理,利用MATLAB神经网络工具箱建立BP神经网络模型。
3.2结果分析
在本文中将正常状态设置为[10000],故障1设置为[01000],故障2设置为[00100],故障3设置为[00010],故障4设置为[00001],输出阈值设置为0.85,即在输出值大于0.85即为1,否则为0。
根据输出数据的分析判断属于哪种故障,表3-3为仿真输出。
表3-3仿真输出
样本序号
网络输出y
正常
故障1
故障2
故障3
故障4
1
2
3
4
5
6
0.00061.0139-0.00140.0410-0.0014-0.0002
1.00080.0007-0.0019-0.0090-0.00200.0004
0.0021-0.01150.0010-0.01591.00390.0025
-0.00960.0021-0.00190.9811-0.00270.0009
0.0011-0.00240.9923-0.01440.00150.9970
将表3-2中“样本序号1”的5个故障特征值输给网络的输入层节点,则网络输出层节点与其对应的输出为表3-3中“样本序号1”所在行的5个输出值,其中只有y2=1.0008>0.85,其他5个输出均远小于0.85,所以,网络故障诊断的结果为故障1;表3-2中“样本序号2”的5个故障特征值输给网络的输入层节点,则网络输出层节点与其对应的输出为表3-3中“样本序号2”所在行的5个输出值,其中只有y1=1.0139>0.85,其他5个输出均远小于0.85,所以,网络故障诊断的结果为正常状态;表3-2中“样本序号3”的5个故障特征值输给网络的输入层节点,则网络输出层节点与其对应的输出为表3-3中“样本序号3”所在行的5个输出值,其中只有y4=0.9923>0.85,其他5个输出均远小于0.85,所以,网络故障诊断的结果为故障4,其他类型的故障诊断以此类推。
4设计小结
因为学习的专业是车辆工程,因此选择了对柴油机故障诊断这一研究对象。
此篇设计经过查阅文献资料,对BP神经网络的故障诊断及Matlab仿真有了一定的认识。
柴油机故障诊断是一个非常复杂的过程,其故障与征兆关系不是很明确,存在一种非线性映射关系。
BP神经网络具有良好的学习能力,利用BP网络信息融合方法,能够在足够多的样本数目前提下网络保证良好的容错性和鲁棒性是比较好的。
所以在故障诊断的过程中,神经网络信息融合发挥其联想记忆和分布并行处理能力,不仅能够诊断出已有的故障还能对故障进行一个预测,从而满足柴油机故障断的要求。
人工神经网络信息融合为智能诊断提供了良好的方法,为自适应学习和决策高度智能化控制系统提供了强有力的基础,并具有广泛的应用潜力和发展前景。
参考文献
[1]朱大奇,于盛林.基于D-S证据理论的数据融合算法及其在电路故障诊断中的应用[J].电子学报,2002,30
(2):
221-223.
[2]王万良.人工智能及其应用(第3版)(附光盘)(BZ)[M].高等教育出版社,2016.
[3]朱大奇,于盛林.电子电路故障诊断的神经网络数据融合算法[J].东南大学学报(自然科学版),2001,31
(2):
87-90.
[4]何友,王国宏.多传感器信息融合及应用[M].北京:
电子工业出版社,2000.
[5]张绪锦,谭剑波,韩江洪.基于BP神经网络的故障诊断方法[J].系统工程理论与实践,2002,22(6):
61-66.
[6]Y.G.Lei,Z.J.He,Y.Y.Zi,Q.Hu,FaultdiagnosisofrotatingmachinerybasedonmultipleANFIScombinationwithGas[J].Mech.Syst.SignalProcess.2007(21)2280–2294.
[7]V.T.Tran,F.AlThobiani,A.Ball,AnapproachtofaultdiagnosisofreciprocatingcompressorvalvesusingTeager–Kaiserenergyoperatoranddeepbeliefnetworks[J].ExpertSyst.Appl.2014(41)4113–4122.
附录程序
clc
clear
%%输入训练数据(包括正常数据和故障数据)
%%训练样本中,每一列分别代表:
“温度”,“压力”,“电压”,“电流”和“振动信号”;每一行分别代表一个样本
p11=[0.00000.00000.00130.00000.0000]';
p12=[0.00740.03350.00150.00320.0106]';
p13=[0.00430.02230.00000.00470.0053]';
p14=[0.00560.03150.00120.00270.0086]';
p15=[0.00630.02050.00200.00330.0066]';
p16=[0.00490.03000.00180.00260.0078]';%正常数据
p21=[0.55200.31070.25810.30940.2316]';
p22=[0.54520.27930.26110.29880.2036]';
p23=[0.55020.24580.27170.31150.2347]';
p24=[0.54060.28620.26450.30090.2145]';
p25=[0.56040.30280.28350.31250.2225]';
p26=[0.55250.31250.27780.30050.2164]';%故障1
p31=[0.24620.15080.09470.09640.0999]';
p32=[0.25350.10610.09680.09710.0810]';
p33=[0.26650.08940.09370.09940.0908]';
p34=[0.25560.14650.09880.10000.1000]';
p35=[0.26280.14320.08990.09650.0899]';
p36=[0.25620.09990.09000.09990.0998]';%故障2
p41=[0.66150.52510.51950.47101.0000]';
p42=[0.67380.44130.52250.47320.9667]';
p43=[0.66650.47490.52550.47690.9758]';
p44=[0.66890.46520.52000.47560.9899]';
p45=[0.67000.47480.52350.48251.0000]';
p46=[0.66230.48320.52680.46690.9887]';%故障3
p51=[1.0001.00000.98121.00000.8206]';
p52=[0.97970.97771.00000.99600.7759]';
p53=[0.98460.97270.98470.98570.7600]';
p54=[0.98000.98250.98350.98870.8000]';
p55=[0.99650.99340.98620.98990.7800]';
p56=[1.00000.99120.99380.99610.8014]';%故障4
p=[p11p12p13p14p15p16p21p22p23p24p25p26p31p32p33p34p35p36p41p42p43p44p45p46p51p52p53p54p55p56];
%将所有的数据:
包括正常数据和异常数据放在一个数据集中,将该数据集设置为输入神经网络的特征值
%%对被检测对象类别进行编码(设置目标值,即标签,用二进制类型表示)
t11=[10000]';
t12=[10000]';
t13=[10000]';
t14=[10000]';
t15=[10000]';
t16=[10000]';%normal
t21=[01000]';
t22=[01000]';
t23=[01000]';
t24=[01000]';
t25=[01000]';
t26=[01000]';%fault1
t31=[00100]';
t32=[00100]';
t33=[00100]';
t34=[00100]';
t35=[00100]';
t36=[00100]';%fault2
t41=[00010]';
t42=[00010]';
t43=[00010]';
t44=[00010]';
t45=[00010]';
t46=[00010]';%fault3
t51=[00001]';
t52=[00001]';
t53=[00001]';
t54=[00001]';
t55=[00001]';
t56=[00001]';%fault4
t=[t11t12t13t14t15t16t21t22t23t24t25t26t31t32t33t34t35t36t41t42t43t44t45t46t51t52t53t54t55t56];
[p,s1]=mapminmax(p);
%输入样本归一化归一化的范围是(-1,1),s1记录归一化的参数
net=newff(minmax(p),[60,5],{'tansig','purelin'},'trainlm');
%新建BP网络,p为样本输入:
p=martric(5*30)分别表示5个传感器,30个样本
%隐层神经元个数为60,根据输出目标t确定输出层神经元个数为5,
%从输入层到隐层的激励函数为双曲正切,隐层到输出层的激励函数为线性函数,训练方法利用LM(Levenberg-Marquardt)算法进行网络参数sita={W,b}的更新
%%设置网络训练参数
net.trainParam.show=10;%设置数据显示刷新频率,学习次刷新一次图象
net.trainParam.epochs=1000;%最大训练次数
net.trainParam.goal=1e-5;%设置训练误差
net=init(net);%网络初始化
[nettr]=train(net,p,t);%训练网络
%%testing
p1=[0.54930.26260.26590.30880.2221]';
p2=[0.00310.02350.00050.00300.0045]';
p3=[0.99200.98990.99790.99370.7979]';
p4=[0.67040.49720.52350.47410.9791]';
p5=[0.25720.10060.09580.09810.0890]';
p6=[0.98000.98250.98350.98870.8000]';%测试数据
pp=[p1p2p3p4p5p6];
pp=mapminmax('apply',pp,s1);%测试样本归一化
result_test=sim(net,pp)%测试样本仿真
result_test(result_test>0.85)=1;
result_test(result_test<=0.85)=0;
disp('网络输出:
')
result_test
pp_lab=[215435];%
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 BP 神经网络 故障诊断 方法 汇总