基于嵌入式系统的BP神经网络及其在模拟电路故障诊断中的应用

2016-03-30 03:01赞,军,
大连工业大学学报 2016年1期
关键词:BP神经网络嵌入式故障诊断

赵 德 赞, 邢   军, 王 智 森

( 大连工业大学 信息科学与工程学院, 辽宁 大连 116034 )



基于嵌入式系统的BP神经网络及其在模拟电路故障诊断中的应用

赵 德 赞,邢 军,王 智 森

( 大连工业大学 信息科学与工程学院, 辽宁 大连116034 )

摘要:针对模拟电路故障的实时诊断问题,提出使用嵌入式系统实现BP神经网络进行诊断的解决方案。对诊断系统的芯片选择、系统架构、诊断流程、训练算法等问题进行了研究,提出使用STM32芯片作为核心芯片以及加入动量项的反向传播算法进行训练的策略,明确了系统的结构及运行流程。最后使用设计的系统分别进行了线性和非线性模拟电路的故障诊断实验进行验证。实验结果表明,基于嵌入式系统的BP神经网络能够有效及时地诊断出模拟电路的故障。

关键词:BP神经网络;嵌入式;模拟电路;故障诊断

0引言

自20世纪60年代以来,很多模拟电路故障诊断技术及理论被提出,如参数辨识法、故障字典法、逼近法、故障验证法等[1]。专家系统、模糊理论和神经网络被逐渐应用于模拟电路故障诊断中去,同时,将小波分析、遗传算法、支持向量机[2-3]及信息融合技术等应用于模拟电路故障诊断的研究,也为模拟电路诊断中所存在的元件容差与非线性、电路的模糊性等难题提供了途径[4-5]。其中,神经网络具有高度的并行处理、联想记忆[6]、自组织、自学习以及强非线性映射能力,因此在故障诊断方面具有很大的潜在优势和应用前景[7]。

BP神经网络[8]是目前应用最广泛的神经网络结构之一,具有理论成熟、易硬件实现等特点。目前实现BP神经网络用于故障检测有两种方式,一种是在PC机上进行软件检测,另一种是使用嵌入式系统进行硬件实现[9]。软件检测缺少检测的实时性,不适用于实时性要求高的场合,因此本文采用基于嵌入式系统的方案进行实现。

BP神经网络作为模拟电路故障诊断存在输入数据多,网络规模大,训练时间长,易陷入局部最优的缺点[10-11],限制了该神经网络在模拟电路故障诊断中的应用。为了解决这些缺点,很多用于模拟电路故障诊断的改进BP算法被提出[12-14]。文献[15-16]提出采用小波分析技术进行数据的预处理,大幅度减少了网络规模,提高了收敛速度和故障检测准确率。在众多的算法中,加入动量项的BP算法[17]比传统的BP算法具有收敛速度快,不容易陷入局部最优且容易硬件实现的特点,因此本文采用加入动量项的改进BP算法进行训练的方案,构建了基于嵌入式的BP神经网络故障诊断系统。

1用BP算法进行故障诊断的理论及原理分析

故障诊断问题的实质是分类问题[18],而BP网络可以有效解决分类问题,这是BP网络可以用于模拟电路故障诊断的基本依据。

1.1BP网络用于故障诊断的基本流程

使用BP网络进行故障诊断,首先建立故障字典,将此故障字典让神经网络记忆,然后根据神经网络的模糊性和记忆性,对电路的各种状态进行记忆和推理,即当输入新的状态参量时推理出电路此时的状态。

1.2故障诊断的四个假设

本文进行模拟电路故障诊断基于4个假设:

(1)发生故障的都是元器件,线路不发生故障。即电路的状态由元器件决定。

(2)元器件的发生为硬故障,即元件的状态为短路、断路、正常3种状态。

(3)模拟电路发生的故障为单故障即只有一个元器件发生故障。

(4)一个元器件占据一条支路。

1.3加入动量项的BP神经网络

BP神经网络的基本结构如图1所示。

图1 BP神经网络结构图

标准调整公式如公式(1)所示:

Δω(n)=ηδy

(1)

式(1)中:Δω(n)为新的权值调整量,δ为局域梯度,η为学习率,y为上一层输出信号。而在添加动量项的算法中权值ω的调整公式为

Δω(n)=(1-α)ηδy+αΔω(n-1)

(2)

式(2)中:α为动量因子,通常为正数,Δω(n-1)为上一次权值调整量。与标准的BP算法相比,更新权值时多了一个因子αΔω(n-1),它表示本次权值的更新方向和幅度不仅与本次计算所得的梯度有关,还与上一次更新的方向和幅度有关,这一因式的加入,使权值的更新具有一定的惯性,且具有了一定的抗震荡和加快收敛的能力。

2神经网络嵌入式系统的设计

2.1系统的结构框图

系统由PC离线训练模块、模数转换模块、数据处理模块及显示模块组成[19]。系统的结构图如图2所示。

图2 检测系统的结构图

模数转换模块的功能是把故障电路中的电压信号转换为数字信号,在BP网络芯片将数字量转化为模拟值进行处理和运算,然后将运算的结果在显示模块进行显示。显示模块可以是LED灯显示,也可以是液晶显示屏显示。

故障诊断流程如图3表示。

图3 系统故障诊断流程图

首先构造模拟电路故障字典,在PC机上进行网络训练,然后将所得到的权值存储进入BP网络芯片,最后数据输入BP网络芯片进行数据处理后显示输出的结果。

2.2BP网络芯片的选择

BP神经网络是多层的,包括输入层、输出层和若干隐层,一般神经网络3层即可解决大多数的问题,本文采用单隐层的神经网络。设输入层为i个节点,隐藏层为j个节点,输出为k个节点,则权值有i×j×k个。设权值的类型为单精度浮点型,则根据每个单精度浮点型数值占用32位即4个字节,则要求BP处理芯片的RAM大小至少是4×i×j×k字节。本文采用带有STM32F103RBT6芯片开发板,可以满足BP网络移植到嵌入式芯片的要求。

2.3改进BP算法的选择

传统的BP算法具有收敛速度慢和易陷入局部极小点的缺点,针对这些缺点,很多BP算法的改进方案被提出。无论国内国外,大部分基于BP神经网络进行故障诊断的论文都研究如何改进BP算法提高收敛速度的问题。本文认为对于故障诊断研究BP算法收敛的速度是没有必要的。因为对于特定的电路,故障诊断采用的训练方法一般是离线训练,无论是什么类型改进的BP算法,最终目的都是要使误差函数达到最小即可,然后使用训练后得到的权值。换句话说,效果和训练的速度关系不大,只和最终的误差有关,重要的是数据的完整性和诊断精度。因此,本文只是使用传统的附加动量项的改进BP算法,达到所需要的精度,实现了对电路的故障诊断。

2.4离线训练样本的获取

采用Multisium和Pspice软件对各种状态下的电路进行仿真,获取各个状态下的对应节点电压值,作为网络训练样本。电路中的参数是有一定容差的,并且符合或接近正态分布。本文采用Monte-Carlo法产生足够多的测试样本对已经训练完成的神经网络进行测试。

3BP神经网络在模拟电路中的应用

3.1在线性电路中的应用

使用Pspice软件建立如图4所示的纯电阻线性电路。选取两个测试点进行测试,数据经过归一化后故障表如表1所示。采用同时除以最大值的方法,各个节点的电压同时除以最大值5,将所要求的电压值,归一化到0~1。

图4 线性电阻电路

表1 电阻电路故障表

使用蒙特卡洛算法获取600条数据集进行测试,得到电阻容差为20%,15%,10%,5%时,对应的测试正确率为28%,37%,51%,91%。容差越大则网络测试的正确率越低,这符合实际故障诊断的实际情况。当容差为5%时,网络测试的正确率是在实际情况中诊断正确率允许的范围内。事实上,实际的电阻容差值也在5%附近。诊断错误的原因之一是容差太大时,状态之间有交叉。

3.2在非线性模拟电路中的应用

RC耦合放大器在模拟电路中具有代表性,本文采用两级RC放大器作为故障诊断的研究对象。在真实的模拟电路中硬故障有很大的比例。这里只考虑硬故障,不考虑软故障。两极RC放大电路的原型电路如图5所示。

图5 非线性电路

对此电路进行诊断,首先构造一个故障集。由于电路的多故障组合的情况是非常大的,这里仅仅考虑单一故障的情况。下面的符号定义如下。B代表三极管基础极,C代表三极管集电极,E代表三极管发射级,OC代表开路,SC代表短路。建立如下的故障表及通过仿真得到的节点电压如表2所示。

用上述数据对网络进行训练,最终达到要求收敛误差0.01,并用表2数据集进行网络测试,得到的网络故障诊断的诊断速度和正确率如表3所示。从表3中可以看出,采用改进的BP算法较大提高了网络的收敛速度,并取得了满意的诊断精度。

表2 仿真出来的不同状态时测量节点电压及编号

表3 训练速度和诊断率比较

4结论

增加动量项的BP算法较之标准BP算法具有更快的收敛速度,故障定位准确率更高。此外,本文提出的基于嵌入式系统的BP神经网络在模拟电路系统中应用,能够有效解决模拟电路故障问题,为模拟电路故障诊断方法的实用化提供了新的思路。

参考文献:

[1] 祝文姬,何怡刚.容差模拟电路软故障诊断的神经网路方法[J].电工技术学报,2009,24(11):184-191.

[2] 韩海涛,马红光,曹建福.基于非线性频谱特征及核主元分析的模拟电路故障诊断方法[J].电工技术学报,2012,27(8):248-253.

[3] 唐静远,师奕兵,周龙浦.非线性模拟电路故障诊断的小波领袖多重分形分析方法[J].控制与决策,2010,25(4):605-609.

[4] LI X, ZHANG Y, WANG S J, et al. A method for analog circuits fault diagnosis by neural network and virtual instruments[C]// Intelligent Systems and Applications (ISA), 2011 3rd International Workshop on. IEEE, 2011: 1-5.

[5] 彭敏放,沈美娥,何建飚.容差电路软故障检测与定位[J].电工技术学报,2009,24(3):222-228.

[6] 郭瑞丽,赵凤遥,李亚楠.基于递归小波神经网络的流域降雨-径流过程动态模型[J].水力发电学报,2013,32(2):54-59.

[7] 李瑞敏,马韦.基于BP神经网络与D-S证据理论的路段平均速度融合方法[J].交通运输工程学报,2014,14(5):111-117.

[8] 李建伟,程晓卿,秦勇.基于BP神经网络的城市轨道交通车辆可靠性预测[J].中南大学学报(自然科学版),2013,44(1):42-45.

[9] QIU S H. Analog circuit fault diagnosis based on artificial neural network[J]. Science Technology and Engineering, 2012, 12(30): 8042-8046.

[10] 师彪,李郁侠,于新花.动态调整蚁群-BP神经网络模型在短期负荷预测中的应用[J].水力发电学报,2011,30(3):5-9.

[11] HAN B R, LI J B, WU H Y. Diagnosis method for analog circuit hard fault and soft fault[J]. TELKOMNIKA Indonesian Journal of Electrical Engineering, 2013, 11(9): 5420-5426.

[12] MAHDIEH J, FARHAD R. Fault detection in analogue circuit using hybrid evolutionary algorithm and neural network [J]. Analog Integrated Circuits and Signal Processing, 2014, 80(3): 551-556.

[13] WANG H T, SHAN G L, DUAN X S. Optimization of LM-BP neural network algorithm for analog circuit fault diagnosis[C]// Information Science and Technology (ICIST), 2013 International Conference on. IEEE, 2013: 271-274.

[14] SHEIKHAN M, SHABANI, A A. PSO-optimized modular neural network trained by OWO-HWO algorithm for fault location in analog circuits[J]. Neural Computing and Applications, 2013, 23(3): 519-530.

[15] 彭卫韶,李力争,胡燕瑜.模拟电路故障信号的小波预处理[J].中南大学学报(自然科学版),2008,39(3):584-589.

[16] 王淑娟,陈博,赵国良.基于小波包变换预处理的模拟电路故障诊断方法[J].电工技术学报,2003,18(4):118-122.

[17] 田学民,王强,邓晓刚.一种引入动量项的小波神经网络软测量建模方法[J].化工学报,2011,62(8):2238-2242.

[18] 周建萍,郑应平.基于Morlet小波核多类支持向量机的故障诊断[J].华东电力,2008,36(8):76-79.

[19] 丁力,宋志平,徐萌萌.基于STM32的嵌入式测控系统设计[J].中南大学学报(自然科学版),2013,44(1):260-265.

[20] 樊丁,郭晋昌,黄健康.双丝旁路耦合电弧MIG焊嵌入式控制系统设计与实现[J].焊接学报,2013,34(9):1-4.

BP neural network based on embedded systems and its application in diagnosis of fault analog circuits

ZHAODezan,XINGJun,WANGZhisen

( School of Information Science and Technology, Dalian Polytechnic University, Dalian 116034, China )

Abstract:BP neural network based on embedded system was proposed for diagnosing fault analog circuits. The problem in the chip selection, system architecture, diagnosis processes, training algorithms was studied. STM32 was chosen as the core chip and the added momentum of back-propagation algorithm was used as training strategy, the structure and operation of process system was determined. The experiments were carried out for validation of fault diagnosis of linear and nonlinear analog circuits of the designed systems. The results showed that the BP neural network based on embedded system could diagnose analog circuit fault effectively and timely.

Key words:BP neural network; embedded system; analog circuit; fault detection

作者简介:赵德赞(1990-),男,硕士研究生;通信作者:邢 军(1972-),男,副教授.

基金项目:国家自然科学基金资助项目(61374154).

收稿日期:2014-12-23.

中图分类号:TN707

文献标志码:A

文章编号:1674-1404(2016)01-0057-05

猜你喜欢
BP神经网络嵌入式故障诊断
基于包络解调原理的低转速滚动轴承故障诊断
Focal&Naim同框发布1000系列嵌入式扬声器及全新Uniti Atmos流媒体一体机
TS系列红外传感器在嵌入式控制系统中的应用
数控机床电气系统的故障诊断与维修
搭建基于Qt的嵌入式开发平台
复杂背景下的手势识别方法
BP神经网络在软件质量评价中的应用研究 
BP神经网络算法在数值预报产品释用中的应用
因果图定性分析法及其在故障诊断中的应用
基于LCD和排列熵的滚动轴承故障诊断