基于神经网络的电子线路故障诊断毕业设计论文(编辑修改稿)内容摘要:

除此之外 , 还 可 通过在训练样本的输入信号中加入噪声的方法来 提高 BP 网络的泛化能力。 4)适用范 围。 BP 网络适用于求解函数逼近、模式识别、分类、数据压缩等非精确解的 问题。 对于 求解精确解 一类 的问题 ,其并不适用。 5)对内部硬件故障具有良好的 容错性。 BP 网络是 一个 分布式 的 并行处理系统, 输入 信息储存在整个系统中, 网络中的每一个神经元以及 每 一 个连接 都对网络的整体性能有贡献,但是 这种贡献 往往 又都是 比较微小的。 所以 当 出现一定比例的神经元或者 连接损坏 的情况时,仅 可能使系统 的整体性能有所下降,而很难使 整个系统完全失效, 因此 BP 网络 具 有较强容错性。 基于 BP 神经网络的模拟电路故障诊断实例 诊断电路选 择与训练、测试样本集的采集 ( 1)诊断电路选择 功率放大器( Power Amplifier)在整个音响系统中起到了组织、协调的枢纽作用,在某种程度上主宰着整个系统能否提供良好的音质输出。 设计功放电路的基本要求是在负载一定的情况下,输出的功率尽可能大,输出信号的非线性失真尽可能地小,效率尽可能的高。 本文以功率放大器电路作为模拟电路故障诊断对象。 如图 5是一个功率放大器电路,本章将分别利用 BP 神经网络和基于遗传算法优化的 BP 网络对其进行仿真分析。 ( 2)神经网络的训练样本集采集 本文利用 Multisim 仿真 软件对 功率放大电路进行仿真,由于电路中的节点电压对电路中的故障状态较为敏感,因此本文以电路中的各节点电压的有效值作为模拟电路故障数据的特征参量,即在电路故障时,将电路中各节点的电压值作 12 为体现该故障状态的参量。 在图 5 中,功率放大器电路的输入信号 Vi 是幅度为 200mv,频率为 1Khz的 正弦信号。 通过分析电路的拓扑结构,根据电路元件的故障率以及模拟电路故障诊断的经验,了解到功率放大器电路产生多故障(一个或多个元件同一时间出现故障)的概率极少,通常为单故障(一个元件故障),功率放大器电路的所有典型的故障状态如表 1所示。 本文采集训练样本的方式为:首先选择功率放大器电路中标明的 1~ 16 号可测节点作为电压测试节点;然后在每一种故障状态下,测量电路中 16 个可测节点的电压值,并将测量数据保存在表 表 3 中。 完成上面两步即完成了 BP 网络训练样本的采集工作,表 表 3 中的数据即为 BP 神经网络的训练样本集。 需要说明的有以下三点: 1)本文元件故障的设置是利用 Multisim软件人为地设设置开路和短路状态。 2)电阻 R3 和电位器 Rp1 在断路状态下 各节点电压值相差无几,所以作为一种故障状态处理。 电位器 Rp2 和二极管 D1 也做一样处理。 3)电阻 RL 表示扬声器。 功率放大器电路在工作正常和故障时各节点的电压数据以及各种状态下对应的二进制编码如 表 表 3。 电压 值都 以毫伏( mv)为单位,小数点后保留三位有效数字。 由于电路的输入信号电压 V17=、 直流电源 Vcc=12V、 直流负电源 Vee=12v 在电路工作正常与故障时取值都不变 ,因此在表中不予给出。 ( 3)测试样本集 模拟电路元件普遍存在容差,因此在故障状态所测试的数据通常不会为恒定值。 由于神经网络的训练样本都是理想值,为突出神经网络的泛化能力、鲁棒性等优点,本文等间隔地从训练样 本集中选择几组训练样本,将选择的样本中的每一个数值 5% 的容差作为网络的测试样本。 BP 网络诊断模拟电路故障 用 BP网络实现对模拟电路故障诊断相当于在 BP网络中建立故障字典。 利用 故障字典法 进行模拟电路故障诊断 的基本 原理 是:首先 , 提取 模拟 电路在各种 可能的 故障状态下的电路特征 (如测试点的 电压 、 电路 的幅频特性等 ); 然后 , 将 电路特征与故障状态一一对应的关系制作 成一个 故障字典。 在实际诊断时, 只需要 获取 模拟 电路的实时特征,就可以从 所制作的 故障字典中查出此时 所 对应的故障 状态了。 模拟 电路的特征向量是一个可以 反映电路状态 (包括正常 工作状态以 及各种故障状态 )特征的向量,一般 由测试 电路 节点电压经 过 一定 的数学处理获得,考虑到电路元件的容差,假设 由测试值 所 获得的特征向量是 m 维向量 P ,电路 的 13 故障状态数目为 n , 那么 BP网络分类器就需 要完成从 m 维特征空间的点及其邻域到 1n 维空间的点及其邻域的映射。 因此, 可知 用 BP神经网络 来 实现模拟电路 故障诊断的原理与故障字典法的 有很多 相似之处。 本节将以一个功率放大器电路为例,对基于 BP神经网络的模拟电路故障 诊断 进行分析。 ( 1) BP 网络的构建 根据 映射存在定理 可 确定 BP神经 网络的层数 ,该定理的基本含义是: 任意连续函数 都 可由一个三层 BP神经 网络 来 逼近,对于 一般 的故障诊断问题,有一个或 者 两个隐含层的 BP神经 网络 就 已经够用了, 所以 确定神经网络结构 主要 就是确定 网络 隐含层 的 神经元数。 根据 以往的 经验 以及对 本例 的多次试验,本例选用双隐层的 BP神经网络,第一层隐层神经元数目选为 19,第二层隐层神经元数目选为 25。 如果待诊断的 模拟电路有 m 个 可 测试节点, 那么 BP神经网络 的 输入层可以选择 m 个神经元。 由于本例中有 16个可测节点,故输入层的神经元数目为 16。 由于电路的故障状态是采用二进制编码 , 因此 对于 N 个故障状态的模式 ,需要将 满足 不等式 122nnN 的 n 作为 BP网络 输出 层的 神经元 个 数 ,所以本例中的输出层数目为 5。 综上所述,本系统构成了一个 1619255的 BP神经网络。 ( 2)网络训练样本集 网络训练样本集如表 2和表 3所示,共有 25组样本,每组有 16个不同节点的电压值组成。 在 25组样本中,第一组为正常状态,第 2组至第 25组分别为功放电路的 24种单故障状态。 为加快网络的收敛速度,训练样本在输入网络之前进行了归一化处理。 ( 3)训练函数与激活函数 采用 不同的训练函数对网络的性能 有 较大的 影响, 如 收敛速度 、存储占用 等。 由于多层 BP网络大部分使用的是 S型的激励函数,这类函数又被称为“挤压”函数,它们可以将无限范围内的输入压缩至有限范围的输出,当输入值很大或 很小时,输出 函数的斜率将会接近于 0。 因此,当使用梯度下降法来训练多层神经网络时,它的梯度数量级将会非常小,从而减小网络的权值和阈值的调整范围,即使没有达到最优解,也会出现训练 停止的结果。 而弹性梯度下降法( trainrp)就能避免这种影响。 而且弹性梯度下降法训练多层的神经网络, 收敛速度快,网络的训练误差也比较小。 因此, 本例采用的训练 算法为弹性梯度下降法。 BP 网络的传递函数 通常 采 用 logsigmoid 型函数 logsig()、 tansigmoid 型函数 tansig()以及纯线性函数 purelin(),本文在隐层中采用的激励函数为 tansig函数,在输出层中采用的激励函数为 logsig 函数。 由于本例所构建的 BP网络的期望输出是一组二进制数,故本文在输出神经元 14 后添加了一个判决函数 ()fx,公式为 1 , 0 .5() 0 , 0 .5xfx x    ( 52) 保证 BP 网络的输出为一组二进制数,故障类型 如表 1 所示, 其输出节点的二进制 故障 编码如 表 2和 表 3中的故障编码所示。 设置诊断 系统 的目标精度 为 ,网络训练 次数为 5000 次, 根据试验,BP在 5000次内可以达到目标精度的要求。 在 ,调用 newff函数创建一个 BP神经网络,然后调用 train函数对所建网络进行训练。 训练完成后的调用 sim函数对网络进行仿真。 源序代码参看附录 A。 ( 4) 网络的 测试阶段 由于电路元件普遍存在容差,因此本例在构建测试样本时 , 随机选择几组故障状态,然后将 这些状态人为地加上一定比例的容差 , 构成 测试样本。 将测试样本输入 到 BP 神经网络中, 即可 得出分类结果。 倘若 期望 的 输出与实际输出一致,那么 表明 网络 故障诊断 是 正确 的 ,反之则不正确。 本例随机从 25 组训练样本中抽取六组样本,将这六组样本中的每一个值5% 的容差作为测试样本集。 ( 5)结果分析 1)网络训练结果分析 本例所设计的 BP 神经网络的训练过程如图 6 所示,由图可看出在经过的3123 迭代训练后网络输出达到了目标精度要求。 仿真输出结果与期望输出如表 4 所示,表中的数据 小数点后保留四位有效数字,例如在故障状态 2 情况下,网络仿真输出为 , , , , 五位浮点数,与期望输出 0, 0, 0, 1, 0五位二进制数十分接近,即可判定为故障状态 2 故障。 从表 4中的网络实际输出数据与期望输出数据对比,即可发现,每一个实际输出值与其对应的期望输出值非常接近,网路的均方误差为 10 ,因此本文设计的 BP神经网络达到了设计要求。 2)测试结果分析 本例中选取的是故障状态 1 1 17 的样本 ,将这六组样本中的每一个数据 5% 的容差构成测试样本。 将测试样本输入已经训练好的 BP 网络,测试输出数据与期望输出数据存放在表 5中 ,现举一例进行说明,当将第六组训练样本(即故障状态 5 下的 16 个电压值) +5% 的容差的情况下,网络输出为, , , , 五位浮点数,与期望输出 0, 0, 1,0, 1 五位二进制数十分接近,可判定为故障状态 5 故障。 从测试结果可以发现 ,本设计的 BP 神经网络能够准确的诊断出功率放大器电路的故障状态。 通过多次 15 统计测试的输出结果 , 本文设计的 BP神经网络故障诊断系统的 正确率接近 100%。 ( 6) BP 网络故障诊断系统的辅助设计 为使本设计的故障诊断系统的更为完善,本文在细节方面做了进一步的工作,主要有: 1)由于网络期望输出为一组五位的二进制数,但实际输出往往是五位浮点数,这使得在读取故障点时不是很直观,本文通过判决程序将浮点数转化为二进制数,然后将二进制转化为十进制数,方便测试人员一眼即可读出故障点。 2)读出故障点之后,并不能立刻知道电路中哪个元件发生故障 ,还需要根据故障状态表查询,这会使得测试效率比较低,所以为方便测试员立刻知道故障点的具体位置,本文添加了语音报错的功能,即将网络诊断输出的二进制数转变为十进制数并通过 Matlab程序驱动计算机声卡,当将一组特征向量输入本文所设计的诊断系统时,如果诊断电路处于正常状态,则会进行双语播报(中文和英文),如果存在故障,则会语音报出电路的故障点以及故障元件。 4 基于 GABP 算法的模拟电路故障诊断 神经网络 具有很强的学习能力 与 适应能力 , 在实际应用中 ,大部分神经网络的模型 采用 的是 BP 神经网络 ,BP 网络是前馈网络的主 要 部分 ,是 神经网络的精华。 但 BP 神经网络还不是 一个十分完善的网络 ,具有 收敛 速度慢、不易收敛到全局最小值等缺陷。 遗传算法 的引入 为 人工神经网络的设计与 训练提供了 一条 新的途径。 其不受其搜索空间约束条件的限制 、不需要导数等 相关 辅助信息 ,可以有效的克服 BP网络存在的缺陷。 遗传算法的 基本原理及其 特点 遗传算法( Geic Algorithm,简称 GA)的基本原理是以英国博物学家达尔文( Darwin) 的进化论 与奥地利遗传学家孟德尔( Mendel) 的基因遗传学原理[25]为根据的。 进化论认为自然界中的 每一种 生物 都是在不断发展的过程中逐渐变得更适应 环境的。 物种 中 的每 一个个体的基本特征为 后代所继承 ,但 是 后代又不会 完全与父代相同 ,与父代的有差异特征如果能有利于后代 适应环境 ,就被留存下来。 在自然界 中 ,适应环境 能力强的个体 存活下来 ,适应能力弱的将会被淘汰,这就是 进化论中 适者生存的原理。 基因 遗传 学认为 ,基因 杂交和基因突变会 产生对 自然 环境 有更强适应性 的后代 ,基因杂交和突变后的个体经过 优胜劣汰的自然选择 后 ,适应性强的基因就会被保留 下来。 遗传算法 在优化问题中,是将问题的 解表示成 “ 染色体 ” (编码 产生 字符串 ), 16 从一群 “ 染色体 ” 串 出发 ,按照适者生存的法 则 ,将它们置于 待解决的问题( 环境 )中 ,选择出适应 性强 的 “ 染色体 ” 进行复制 ,然后 通过交叉 、变异产生新一代 更适应环境的 “ 染色体 ”新 种群。 随着 选择、交叉、变异的循环进行 ,适应性强的染色体会被一代一代选出 并加以组合 ,进而 不断 地 产生出更好的个体。 整个这个过程就如同自然界的 生物进化 一样 ,更能适应环境 的特征被不断继承下来 ,不适应环境 的特征逐渐被淘汰 掉。 子代往往会包含父代的 大量信息 ,但子代 在总体特性上 总会 胜过 父代,从而使整个种群向前进化,就 遗传算法来说 ,这 也就是 一个 不断接近最优解 的过程。 为突出遗传算法的优越性,下面先介绍三种传统的寻优算法 类型。 ( 1) 解析法 解析法是三种算法中研究的最多的一种。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。