基于BP神经网络的故障诊断方法模板.doc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 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 结果分析 在本文中将正常状态设置为[1 0 0 0 0 ],故障1设置为[0 1 0 0 0 ],故障2设置为[0 0 1 0 0 ],故障3设置为[0 0 0 1 0 ],故障4设置为[0 0 0 0 1 ],输出阈值设置为0.85,即在输出值大于0.85即为1,否则为0。根据输出数据的分析判断属于哪种故障,表3-3为仿真输出。 表3-3仿真输出 样本序号 网络输出y 正常 故障1 故障2 故障3 故障4 1 2 3 4 5 6 0.0006 1.0139 -0.0014 0.0410 -0.0014 -0.0002 1.0008 0.0007 -0.0019 -0.0090 -0.0020 0.0004 0.0021 -0.0115 0.0010 -0.0159 1.0039 0.0025 -0.0096 0.0021 -0.0019 0.9811 -0.0027 0.0009 0.0011 -0.0024 0.9923 -0.0144 0.0015 0.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, Fault diagnosis of rotating machinery based on multiple ANFIS combination with Gas[J].Mech. Syst. Signal Process.2007(21)2280–2294. [7] V.T. Tran, F. AlThobiani, A. Ball, An approach to fault diagnosis of reciprocating compressor valves using Teager–Kaiser energy operator and deep belief networks[J].Expert Syst.Appl.2014(41)4113–4122. 附录程序 clc clear %%输入训练数据(包括正常数据和故障数据) %%训练样本中,每一列分别代表:“温度”,“压力”,“电压”,“电流”和“振动信号”;每一行分别代表一个样本 p11=[0.0000 0.0000 0.0013 0.0000 0.0000]'; p12=[0.0074 0.0335 0.0015 0.0032 0.0106]'; p13=[0.0043 0.0223 0.0000 0.0047 0.0053]'; p14=[0.0056 0.0315 0.0012 0.0027 0.0086]'; p15=[0.0063 0.0205 0.0020 0.0033 0.0066]'; p16=[0.0049 0.0300 0.0018 0.0026 0.0078]'; %正常数据 p21=[0.5520 0.3107 0.2581 0.3094 0.2316]'; p22=[0.5452 0.2793 0.2611 0.2988 0.2036]'; p23=[0.5502 0.2458 0.2717 0.3115 0.2347]'; p24=[0.5406 0.2862 0.2645 0.3009 0.2145]'; p25=[0.5604 0.3028 0.2835 0.3125 0.2225]'; p26=[0.5525 0.3125 0.2778 0.3005 0.2164]'; % 故障1 p31=[0.2462 0.1508 0.0947 0.0964 0.0999]'; p32=[0.2535 0.1061 0.0968 0.0971 0.0810]'; p33=[0.2665 0.0894 0.0937 0.0994 0.0908]'; p34=[0.2556 0.1465 0.0988 0.1000 0.1000]'; p35=[0.2628 0.1432 0.0899 0.0965 0.0899]'; p36=[0.2562 0.0999 0.0900 0.0999 0.0998]'; % 故障2 p41=[0.6615 0.5251 0.5195 0.4710 1.0000]'; p42=[0.6738 0.4413 0.5225 0.4732 0.9667]'; p43=[0.6665 0.4749 0.5255 0.4769 0.9758]'; p44=[0.6689 0.4652 0.5200 0.4756 0.9899]'; p45=[0.6700 0.4748 0.5235 0.4825 1.0000]'; p46=[0.6623 0.4832 0.5268 0.4669 0.9887]'; %故障3 p51=[1.000 1.0000 0.9812 1.0000 0.8206]'; p52=[0.9797 0.9777 1.0000 0.9960 0.7759]'; p53=[0.9846 0.9727 0.9847 0.9857 0.7600]'; p54=[0.9800 0.9825 0.9835 0.9887 0.8000]'; p55=[0.9965 0.9934 0.9862 0.9899 0.7800]'; p56=[1.0000 0.9912 0.9938 0.9961 0.8014]'; %故障4 p=[p11 p12 p13 p14 p15 p16 p21 p22 p23 p24 p25 p26 p31 p32 p33 p34 p35 p36 p41 p42 p43 p44 p45 p46 p51 p52 p53 p54 p55 p56]; %将所有的数据:包括正常数据和异常数据放在一个数据集中,将该数据集设置为输入神经网络的特征值 %%对被检测对象类别进行编码(设置目标值,即标签,用二进制类型表示) t11=[1 0 0 0 0]'; t12=[1 0 0 0 0]'; t13=[1 0 0 0 0]'; t14=[1 0 0 0 0]'; t15=[1 0 0 0 0]'; t16=[1 0 0 0 0]'; % normal t21=[0 1 0 0 0]'; t22=[0 1 0 0 0]'; t23=[0 1 0 0 0]'; t24=[0 1 0 0 0]'; t25=[0 1 0 0 0]'; t26=[0 1 0 0 0]'; % fault1 t31=[0 0 1 0 0]'; t32=[0 0 1 0 0]'; t33=[0 0 1 0 0]'; t34=[0 0 1 0 0]'; t35=[0 0 1 0 0]'; t36=[0 0 1 0 0]';% fault2 t41=[0 0 0 1 0]'; t42=[0 0 0 1 0]'; t43=[0 0 0 1 0]'; t44=[0 0 0 1 0]'; t45=[0 0 0 1 0]'; t46=[0 0 0 1 0]';% fault3 t51=[0 0 0 0 1]'; t52=[0 0 0 0 1]'; t53=[0 0 0 0 1]'; t54=[0 0 0 0 1]'; t55=[0 0 0 0 1]'; t56=[0 0 0 0 1]';% fault4 t=[t11 t12 t13 t14 t15 t16 t21 t22 t23 t24 t25 t26 t31 t32 t33 t34 t35 t36 t41 t42 t43 t44 t45 t46 t51 t52 t53 t54 t55 t56]; [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);%网络初始化 [net tr]=train(net,p,t);%训练网络 %%testing p1=[0.5493 0.2626 0.2659 0.3088 0.2221]'; p2=[0.0031 0.0235 0.0005 0.0030 0.0045]'; p3=[0.9920 0.9899 0.9979 0.9937 0.7979]'; p4=[0.6704 0.4972 0.5235 0.4741 0.9791]'; p5=[0.2572 0.1006 0.0958 0.0981 0.0890]'; p6=[0.9800 0.9825 0.9835 0.9887 0.8000]';%测试数据 pp=[ p1 p2 p3 p4 p5 p6]; 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=[2 1 5 4 3 5];% 测试样本标签(正确类别) res=vec2ind(result_test)%向量值变索引值 strr = cell(1,6); for i=1:6 if res(i) == pp_lab(i) strr{i} = '正确'; else strr{i} = '错误'; end end diag = {'正常','故障1', '故障2', '故障3', '故障4' }; disp('诊断结果:') fprintf(' 样本序号 实际类别 判断类别 正/误 故障类型 \n'); for i =1:6 fprintf(' %d %d %d %s %s\n',... i, pp_lab(i), res(i), strr{i}, diag{res(i)}); end figure plot(pp_lab,'-g*'); hold on plot(res,'-ro') legend('期望类型','预测数出类型') xlabel('样本') ylabel('类型') title('故障类型')展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




基于BP神经网络的故障诊断方法模板.doc



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/3680069.html