基于BP神经网络的故障诊断方法Word格式文档下载.docx
《基于BP神经网络的故障诊断方法Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于BP神经网络的故障诊断方法Word格式文档下载.docx(12页珍藏版)》请在冰豆网上搜索。
![基于BP神经网络的故障诊断方法Word格式文档下载.docx](https://file1.bdocx.com/fileroot1/2022-10/13/8ad418fd-f6da-442c-b74b-ebce1232fd66/8ad418fd-f6da-442c-b74b-ebce1232fd661.gif)
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.0335
0.0223
0.0315
0.0205
0.0300
0.0013
0.0015
0.0012
0.0020
0.0018
0.0032
0.0047
0.0027
0.0033
0.0026
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.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.0810
0.0908
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
0.9812
0.8206
26
27
28
29
30
0.9797
0.9846
0.9800
0.9965
0.9777
0.9727
0.9825
0.9934
0.9912
0.9847
0.9835
0.9862
0.9938
0.9960
0.9857
0.9961
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测试数据
0.5493
0.0031
0.9920
0.6704
0.2572
0.2626
0.0235
0.4972
0.1006
0.2659
0.0005
0.9979
0.0958
0.3088
0.0030
0.9937
0.4741
0.0981
0.2221
0.0045
0.7979
0.9791
0.0890
根据故障诊断的特点建立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
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