趙 德 贊, 邢 軍, 王 智 森
( 大連工業(yè)大學 信息科學與工程學院, 遼寧 大連 116034 )
?
基于嵌入式系統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)及其在模擬電路故障診斷中的應(yīng)用
趙 德 贊,邢 軍,王 智 森
( 大連工業(yè)大學 信息科學與工程學院, 遼寧 大連116034 )
摘要:針對模擬電路故障的實時診斷問題,提出使用嵌入式系統(tǒng)實現(xiàn)BP神經(jīng)網(wǎng)絡(luò)進行診斷的解決方案。對診斷系統(tǒng)的芯片選擇、系統(tǒng)架構(gòu)、診斷流程、訓練算法等問題進行了研究,提出使用STM32芯片作為核心芯片以及加入動量項的反向傳播算法進行訓練的策略,明確了系統(tǒng)的結(jié)構(gòu)及運行流程。最后使用設(shè)計的系統(tǒng)分別進行了線性和非線性模擬電路的故障診斷實驗進行驗證。實驗結(jié)果表明,基于嵌入式系統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)能夠有效及時地診斷出模擬電路的故障。
關(guān)鍵詞:BP神經(jīng)網(wǎng)絡(luò);嵌入式;模擬電路;故障診斷
0引言
自20世紀60年代以來,很多模擬電路故障診斷技術(shù)及理論被提出,如參數(shù)辨識法、故障字典法、逼近法、故障驗證法等[1]。專家系統(tǒng)、模糊理論和神經(jīng)網(wǎng)絡(luò)被逐漸應(yīng)用于模擬電路故障診斷中去,同時,將小波分析、遺傳算法、支持向量機[2-3]及信息融合技術(shù)等應(yīng)用于模擬電路故障診斷的研究,也為模擬電路診斷中所存在的元件容差與非線性、電路的模糊性等難題提供了途徑[4-5]。其中,神經(jīng)網(wǎng)絡(luò)具有高度的并行處理、聯(lián)想記憶[6]、自組織、自學習以及強非線性映射能力,因此在故障診斷方面具有很大的潛在優(yōu)勢和應(yīng)用前景[7]。
BP神經(jīng)網(wǎng)絡(luò)[8]是目前應(yīng)用最廣泛的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)之一,具有理論成熟、易硬件實現(xiàn)等特點。目前實現(xiàn)BP神經(jīng)網(wǎng)絡(luò)用于故障檢測有兩種方式,一種是在PC機上進行軟件檢測,另一種是使用嵌入式系統(tǒng)進行硬件實現(xiàn)[9]。軟件檢測缺少檢測的實時性,不適用于實時性要求高的場合,因此本文采用基于嵌入式系統(tǒng)的方案進行實現(xiàn)。
BP神經(jīng)網(wǎng)絡(luò)作為模擬電路故障診斷存在輸入數(shù)據(jù)多,網(wǎng)絡(luò)規(guī)模大,訓練時間長,易陷入局部最優(yōu)的缺點[10-11],限制了該神經(jīng)網(wǎng)絡(luò)在模擬電路故障診斷中的應(yīng)用。為了解決這些缺點,很多用于模擬電路故障診斷的改進BP算法被提出[12-14]。文獻[15-16]提出采用小波分析技術(shù)進行數(shù)據(jù)的預(yù)處理,大幅度減少了網(wǎng)絡(luò)規(guī)模,提高了收斂速度和故障檢測準確率。在眾多的算法中,加入動量項的BP算法[17]比傳統(tǒng)的BP算法具有收斂速度快,不容易陷入局部最優(yōu)且容易硬件實現(xiàn)的特點,因此本文采用加入動量項的改進BP算法進行訓練的方案,構(gòu)建了基于嵌入式的BP神經(jīng)網(wǎng)絡(luò)故障診斷系統(tǒng)。
1用BP算法進行故障診斷的理論及原理分析
故障診斷問題的實質(zhì)是分類問題[18],而BP網(wǎng)絡(luò)可以有效解決分類問題,這是BP網(wǎng)絡(luò)可以用于模擬電路故障診斷的基本依據(jù)。
1.1BP網(wǎng)絡(luò)用于故障診斷的基本流程
使用BP網(wǎng)絡(luò)進行故障診斷,首先建立故障字典,將此故障字典讓神經(jīng)網(wǎng)絡(luò)記憶,然后根據(jù)神經(jīng)網(wǎng)絡(luò)的模糊性和記憶性,對電路的各種狀態(tài)進行記憶和推理,即當輸入新的狀態(tài)參量時推理出電路此時的狀態(tài)。
1.2故障診斷的四個假設(shè)
本文進行模擬電路故障診斷基于4個假設(shè):
(1)發(fā)生故障的都是元器件,線路不發(fā)生故障。即電路的狀態(tài)由元器件決定。
(2)元器件的發(fā)生為硬故障,即元件的狀態(tài)為短路、斷路、正常3種狀態(tài)。
(3)模擬電路發(fā)生的故障為單故障即只有一個元器件發(fā)生故障。
(4)一個元器件占據(jù)一條支路。
1.3加入動量項的BP神經(jīng)網(wǎng)絡(luò)
BP神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)如圖1所示。
圖1 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
標準調(diào)整公式如公式(1)所示:
Δω(n)=ηδy
(1)
式(1)中:Δω(n)為新的權(quán)值調(diào)整量,δ為局域梯度,η為學習率,y為上一層輸出信號。而在添加動量項的算法中權(quán)值ω的調(diào)整公式為
Δω(n)=(1-α)ηδy+αΔω(n-1)
(2)
式(2)中:α為動量因子,通常為正數(shù),Δω(n-1)為上一次權(quán)值調(diào)整量。與標準的BP算法相比,更新權(quán)值時多了一個因子αΔω(n-1),它表示本次權(quán)值的更新方向和幅度不僅與本次計算所得的梯度有關(guān),還與上一次更新的方向和幅度有關(guān),這一因式的加入,使權(quán)值的更新具有一定的慣性,且具有了一定的抗震蕩和加快收斂的能力。
2神經(jīng)網(wǎng)絡(luò)嵌入式系統(tǒng)的設(shè)計
2.1系統(tǒng)的結(jié)構(gòu)框圖
系統(tǒng)由PC離線訓練模塊、模數(shù)轉(zhuǎn)換模塊、數(shù)據(jù)處理模塊及顯示模塊組成[19]。系統(tǒng)的結(jié)構(gòu)圖如圖2所示。
圖2 檢測系統(tǒng)的結(jié)構(gòu)圖
模數(shù)轉(zhuǎn)換模塊的功能是把故障電路中的電壓信號轉(zhuǎn)換為數(shù)字信號,在BP網(wǎng)絡(luò)芯片將數(shù)字量轉(zhuǎn)化為模擬值進行處理和運算,然后將運算的結(jié)果在顯示模塊進行顯示。顯示模塊可以是LED燈顯示,也可以是液晶顯示屏顯示。
故障診斷流程如圖3表示。
圖3 系統(tǒng)故障診斷流程圖
首先構(gòu)造模擬電路故障字典,在PC機上進行網(wǎng)絡(luò)訓練,然后將所得到的權(quán)值存儲進入BP網(wǎng)絡(luò)芯片,最后數(shù)據(jù)輸入BP網(wǎng)絡(luò)芯片進行數(shù)據(jù)處理后顯示輸出的結(jié)果。
2.2BP網(wǎng)絡(luò)芯片的選擇
BP神經(jīng)網(wǎng)絡(luò)是多層的,包括輸入層、輸出層和若干隱層,一般神經(jīng)網(wǎng)絡(luò)3層即可解決大多數(shù)的問題,本文采用單隱層的神經(jīng)網(wǎng)絡(luò)。設(shè)輸入層為i個節(jié)點,隱藏層為j個節(jié)點,輸出為k個節(jié)點,則權(quán)值有i×j×k個。設(shè)權(quán)值的類型為單精度浮點型,則根據(jù)每個單精度浮點型數(shù)值占用32位即4個字節(jié),則要求BP處理芯片的RAM大小至少是4×i×j×k字節(jié)。本文采用帶有STM32F103RBT6芯片開發(fā)板,可以滿足BP網(wǎng)絡(luò)移植到嵌入式芯片的要求。
2.3改進BP算法的選擇
傳統(tǒng)的BP算法具有收斂速度慢和易陷入局部極小點的缺點,針對這些缺點,很多BP算法的改進方案被提出。無論國內(nèi)國外,大部分基于BP神經(jīng)網(wǎng)絡(luò)進行故障診斷的論文都研究如何改進BP算法提高收斂速度的問題。本文認為對于故障診斷研究BP算法收斂的速度是沒有必要的。因為對于特定的電路,故障診斷采用的訓練方法一般是離線訓練,無論是什么類型改進的BP算法,最終目的都是要使誤差函數(shù)達到最小即可,然后使用訓練后得到的權(quán)值。換句話說,效果和訓練的速度關(guān)系不大,只和最終的誤差有關(guān),重要的是數(shù)據(jù)的完整性和診斷精度。因此,本文只是使用傳統(tǒng)的附加動量項的改進BP算法,達到所需要的精度,實現(xiàn)了對電路的故障診斷。
2.4離線訓練樣本的獲取
采用Multisium和Pspice軟件對各種狀態(tài)下的電路進行仿真,獲取各個狀態(tài)下的對應(yīng)節(jié)點電壓值,作為網(wǎng)絡(luò)訓練樣本。電路中的參數(shù)是有一定容差的,并且符合或接近正態(tài)分布。本文采用Monte-Carlo法產(chǎn)生足夠多的測試樣本對已經(jīng)訓練完成的神經(jīng)網(wǎng)絡(luò)進行測試。
3BP神經(jīng)網(wǎng)絡(luò)在模擬電路中的應(yīng)用
3.1在線性電路中的應(yīng)用
使用Pspice軟件建立如圖4所示的純電阻線性電路。選取兩個測試點進行測試,數(shù)據(jù)經(jīng)過歸一化后故障表如表1所示。采用同時除以最大值的方法,各個節(jié)點的電壓同時除以最大值5,將所要求的電壓值,歸一化到0~1。
圖4 線性電阻電路
表1 電阻電路故障表
使用蒙特卡洛算法獲取600條數(shù)據(jù)集進行測試,得到電阻容差為20%,15%,10%,5%時,對應(yīng)的測試正確率為28%,37%,51%,91%。容差越大則網(wǎng)絡(luò)測試的正確率越低,這符合實際故障診斷的實際情況。當容差為5%時,網(wǎng)絡(luò)測試的正確率是在實際情況中診斷正確率允許的范圍內(nèi)。事實上,實際的電阻容差值也在5%附近。診斷錯誤的原因之一是容差太大時,狀態(tài)之間有交叉。
3.2在非線性模擬電路中的應(yīng)用
RC耦合放大器在模擬電路中具有代表性,本文采用兩級RC放大器作為故障診斷的研究對象。在真實的模擬電路中硬故障有很大的比例。這里只考慮硬故障,不考慮軟故障。兩極RC放大電路的原型電路如圖5所示。
圖5 非線性電路
對此電路進行診斷,首先構(gòu)造一個故障集。由于電路的多故障組合的情況是非常大的,這里僅僅考慮單一故障的情況。下面的符號定義如下。B代表三極管基礎(chǔ)極,C代表三極管集電極,E代表三極管發(fā)射級,OC代表開路,SC代表短路。建立如下的故障表及通過仿真得到的節(jié)點電壓如表2所示。
用上述數(shù)據(jù)對網(wǎng)絡(luò)進行訓練,最終達到要求收斂誤差0.01,并用表2數(shù)據(jù)集進行網(wǎng)絡(luò)測試,得到的網(wǎng)絡(luò)故障診斷的診斷速度和正確率如表3所示。從表3中可以看出,采用改進的BP算法較大提高了網(wǎng)絡(luò)的收斂速度,并取得了滿意的診斷精度。
表2 仿真出來的不同狀態(tài)時測量節(jié)點電壓及編號
表3 訓練速度和診斷率比較
4結(jié)論
增加動量項的BP算法較之標準BP算法具有更快的收斂速度,故障定位準確率更高。此外,本文提出的基于嵌入式系統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)在模擬電路系統(tǒng)中應(yīng)用,能夠有效解決模擬電路故障問題,為模擬電路故障診斷方法的實用化提供了新的思路。
參考文獻:
[1] 祝文姬,何怡剛.容差模擬電路軟故障診斷的神經(jīng)網(wǎng)路方法[J].電工技術(shù)學報,2009,24(11):184-191.
[2] 韓海濤,馬紅光,曹建福.基于非線性頻譜特征及核主元分析的模擬電路故障診斷方法[J].電工技術(shù)學報,2012,27(8):248-253.
[3] 唐靜遠,師奕兵,周龍浦.非線性模擬電路故障診斷的小波領(lǐng)袖多重分形分析方法[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].電工技術(shù)學報,2009,24(3):222-228.
[6] 郭瑞麗,趙鳳遙,李亞楠.基于遞歸小波神經(jīng)網(wǎng)絡(luò)的流域降雨-徑流過程動態(tài)模型[J].水力發(fā)電學報,2013,32(2):54-59.
[7] 李瑞敏,馬韋.基于BP神經(jīng)網(wǎng)絡(luò)與D-S證據(jù)理論的路段平均速度融合方法[J].交通運輸工程學報,2014,14(5):111-117.
[8] 李建偉,程曉卿,秦勇.基于BP神經(jīng)網(wǎng)絡(luò)的城市軌道交通車輛可靠性預(yù)測[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] 師彪,李郁俠,于新花.動態(tài)調(diào)整蟻群-BP神經(jīng)網(wǎng)絡(luò)模型在短期負荷預(yù)測中的應(yīng)用[J].水力發(fā)電學報,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] 彭衛(wèi)韶,李力爭,胡燕瑜.模擬電路故障信號的小波預(yù)處理[J].中南大學學報(自然科學版),2008,39(3):584-589.
[16] 王淑娟,陳博,趙國良.基于小波包變換預(yù)處理的模擬電路故障診斷方法[J].電工技術(shù)學報,2003,18(4):118-122.
[17] 田學民,王強,鄧曉剛.一種引入動量項的小波神經(jīng)網(wǎng)絡(luò)軟測量建模方法[J].化工學報,2011,62(8):2238-2242.
[18] 周建萍,鄭應(yīng)平.基于Morlet小波核多類支持向量機的故障診斷[J].華東電力,2008,36(8):76-79.
[19] 丁力,宋志平,徐萌萌.基于STM32的嵌入式測控系統(tǒng)設(shè)計[J].中南大學學報(自然科學版),2013,44(1):260-265.
[20] 樊丁,郭晉昌,黃健康.雙絲旁路耦合電弧MIG焊嵌入式控制系統(tǒng)設(shè)計與實現(xiàn)[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