吳世浩 孟亞峰 王超
摘要:為增強非線性模擬電路故障診斷中故障模式之間的可辨識性,提高故障診斷率,提出一種基于改進煙花算法的非線性模擬電路測試激勵優(yōu)化方法。該方法首先采用基于Volterra頻域核和BP神經網絡的方法對非線性模擬電路進行建模,進而針對煙花算法存在尋優(yōu)速度慢、效率低等問題,對其爆炸算子、變異算子、選擇策略等進行改進,采用改進后的煙花算法對非線性模擬電路的測試激勵進行尋優(yōu),通過電路仿真表明,優(yōu)化后的信號可有效提高故障可分性,從而提高故障診斷率。
關鍵詞:Volterra級數;BP神經網絡;非線性模擬電路;煙花算法
中圖分類號:TV641 文獻標志碼:A 文章編號:1674-5124(2019)06-0138-08
收稿日期:2018-03-02;收到修改稿日期:2018-04-13
基金項目:國家自然科學基金(61372039)
作者簡介:吳世浩(1993-),男,河南焦作市人,碩士研究生,專業(yè)方向為裝備測試與故障診斷。
通信作者:孟亞峰(1970-),男,河北石家莊市人,副教授,博士,主要從事電子裝備性能監(jiān)測與故障診斷。
0 引言
由于非線性模擬電路中的元件存在非線性、容差性等原因,導致電路發(fā)生故障時故障特征區(qū)分不明顯,診斷困難。在對電路進行故障診斷時,不同測試激勵下,電路的響應不同,優(yōu)化測試激勵信號可以降低故障特征的模糊性,從根源上改善故障特征,從而提高故障診斷精度和效率[1],在非線性模擬電路故障診斷中具有重要作用。
文獻[2]選取多音信號對非線性電路進行激勵,但獲取的故障特征仍存在混疊的問題;文獻[3]采用多變量自適應回歸樣條函數對非線性電路建模,同時將遺傳算法引入激勵優(yōu)化,效果顯著,為非線性模擬電路激勵優(yōu)化提供了新的思路;文獻[4]將智能算法引入基于Volterra級數的故障診斷中,提出一種盡量少的激勵信號生成盡量多的特征頻率的信號設計方法,但找到的最優(yōu)激勵為局部最優(yōu);文獻[5]采用退火遺傳混合算法對非線性模擬電路的測試激勵進行尋優(yōu),但沒有模型進行分析,同時沒有對尋找到的激勵信號進行診斷效果的檢驗;文獻[6]采用靈敏度分析對確定了激勵信號的頻率分量,提高了故障診斷的精確度,但該方法比較復雜,對于規(guī)模較大的非線性電路難以實現。
可以看出,尋找最佳測試激勵信號是非線性模擬電路故障診斷中的一個重要方向,但仍存在不少問題。本文利用Volterra級數可有效表征非線性模擬電路的特點[7],結合BP神經網絡,實現對非線性模擬電路的準確建模,在此基礎上,采用比較新穎的煙花算法(fireworks algorithm,FWA)對測試激勵信號進行尋優(yōu),并根據FWA存在的問題進行改進,設計了更適用于測試激勵信號尋優(yōu)的爆炸算子、變異算子、選擇策略等,并采用各故障間的歐氏距離來構造適應度函數,從而實現測試激勵信號的優(yōu)化。
1 基于Volterra-BPNN的非線性模擬電路建模
Volterra級數理論上可以任意逼近一個連續(xù)函數,類似于線性系統(tǒng)的傳遞函數,能夠直觀反映非線性系統(tǒng)的特性[8]。其頻域核只與系統(tǒng)自身的特征參數有關,不會隨著系統(tǒng)輸入的改變而發(fā)生改變,具有魯棒性較強、對激勵信號的特性沒有限制等特點,可使人們直觀、準確地理解許多非線性現象,具有較高的可靠性。
BP神經網絡具有逼近任意非線性函數的特點,且輸入節(jié)點靈活,訓練方便,在非線性模擬電路中,頻率成分的個數不同,對應著不同階的Volterra頻域核,BP神經網絡的特性適用于基于Volterra級數的非線性電路建模。首先準確測量非線性模擬電路的Volterra頻域核值[9],在此基礎上,利用BP神經網絡對非線性模擬電路進行建模。將頻率成分及對應的頻域核幅值作為輸入輸出數據,對BP神經網絡進行訓練,采用BP神經網絡對非線性系統(tǒng)前N階頻域核進行辨識模型時,需要建立N個神經網絡模型,如圖1所示。
圖1中,ω1,ω2,…,ωN為輸入的頻率成分,HN(ω1,ω2,…,ωN)為對應的Volterra頻域核值,其中,一階頻域核神經網絡模型輸入層結點數為1,二階頻域核神經網絡模型輸入層結點數為2,三階頻域核神經網絡模型輸入層結點數為3,以此類推。
訓練好模型后,響應獲取任意階的Volterra頻域核值,只要將對應的頻點坐標輸入模型即可獲得。以前3階頻域核辨識為例,多音激勵下基于神經網絡的Volterra頻域核辨識流程如圖2所示。
具體流程為
1)對被測非線性模擬電路進行掃頻分析,確定有效頻率范圍。
2)采用多音信號頻率基搜索算法搜索多組多音激勵信號。
3)在幅值范圍內改變多音信號幅值對非線性電路進行激勵(激勵次數不小于多音信號的音數),并對輸出信號進行采集,由Vandermonde法[7]測量前3階頻域核。
4)根據前3階頻域核特點分別設計3個BP神經網絡結構,將各頻率組合對應的頻域核值輸入到神經網絡中進行訓練,隱含層神經元個數通過平均相對誤差和決定系數來確定,從而獲得各階Volterra頻域核的神經網絡模型。
2 改進煙花算法
FWA是由Tan和Zhu于2010年提出的一種新型智能算法[10],具有很好的局部搜索能力和全局搜索能力,可有效避免算法早熟問題,并具有較高的求解穩(wěn)定性,在多個領域得到廣泛應用[11-13]。
2.1 標準煙花算法
FWA采用并行搜索方法,尋優(yōu)過程中,每個煙花作為爆炸點,按一定的規(guī)則向周圍產生火花,符合要求的火花作為新的煙花,繼續(xù)對空間進行搜索,直至尋找到最優(yōu)值或達到迭代次數。標準的FWA主要流程如圖3所示[14]。
FWA主要由爆炸算子、變異算子、選擇策略3部分組成。爆炸算子是FWA的核心,其中包括爆炸幅度、爆炸火花數目和位移操作。煙花通過爆炸可以產生若干火花,對于煙花xi,其爆炸幅度Ai和爆炸火花數目Si的計算公式分別為式中:A——常數,表示煙花最大爆炸幅度;
M——常數,用來控制爆炸產生火花的數目;
ymax,ymin——當前種群中最好個體的適應度值和最差個體的適應度值;
ε——避免除零操作。
從式(1)和式(2)中可以看到,適應度值較好的煙花可以產生較多的火花,爆炸幅度較小,局部搜索能力強,適應度值較差的煙花產生較少的火花,但爆炸幅度較大,有利于全局搜索。
為避免爆炸火花過多或過少,定義火花數量限制公式如下:式中:Si——實際產生的火花數目;
a、b——控制花火規(guī)模邊界的參數;
round()——四舍五入取整函數。
位移操作公式如下:式中:xik——第i個個體在第k維上的位置;rand()——生成隨機數。
為增加爆炸火花多樣性,引入高斯變異操作,公式如下:式中:gauss——服從均值為1,方差為1的高斯分布;
xik——第i個煙花在第k維的位置。
FWA的選擇策略中,首先保留適應度值最好的個體,再采用歐氏距離計算任意兩個個體之間的距離,采用輪盤賭法對剩下的個體進行選擇,計算公式為式中:p(xi)——個體被選擇的概率;
R(xi)——個體與其他個體之間的歐氏距離。
選擇出來的個體作為新一代的煙火重新進行爆炸、變異、選擇操作。
2.2 算法分析與改進
采用FWA尋優(yōu)時,發(fā)現其存在耗時較長、效率較低等缺點,結合非線性模擬電路測試激勵優(yōu)化問題,對FWA進行改進。
1)爆炸幅度改進
式(1)保證了適應度值好的個體爆炸幅度小,目的是加強局部搜索,然而實驗過程中發(fā)現,適應度值高的個體的爆炸幅度幾乎為零,對爆炸幅度進行分析,將最優(yōu)個體適應度值代入式(1)中得到:
由于E為非常小的常數,由式(8)可以得到此時爆炸幅度Ai趨于0,可以認為,最優(yōu)個體進行爆炸操作時,幾乎原樣復制,而由式(2)可知最優(yōu)個體產生的火花數量最多,相互之間歐氏距離很小,采用式(6)進行選擇時,幾乎全被淘汰,既消耗了時間,也沒有產生好的效果,文獻[15]對爆炸幅度改進如下:式中:t——爆炸搜索代數;
T——總的搜索代數;
Amin——爆炸半徑最小值。
這種方法尋優(yōu)前期爆炸幅度大,利于全局尋優(yōu),后期爆炸幅度小,利于局部尋優(yōu),但該方法每一次迭代,產生的個體無論適應度值好壞,爆炸幅度均一致,不能很好地反映個體的差異性,因此本文將個體的適應度值大小考慮進去,對式(9)進行改進:其中,favg(x)為當前代數所有個體的平均適應度值的。由式(10)可以看到,該方法產生的爆炸幅度不僅隨迭代次數的增加逐漸減小,每代中不同煙花所產生的爆炸幅度也不同,這增加了煙花的差異性,有利于尋優(yōu)。
2)爆炸火花數目生成
尋找非線性模擬電路最優(yōu)測試激勵信號的過程,是使故障類型區(qū)分最大,即尋找適應度函數的最大值,當適應度函數較大時產生的火花數目應當較多,仍采用標準算法中的方法,將式(2)而轉換為
3)變異算子改進
高斯變異增加種群多樣性,式(5)選擇任意煙花進行變異,事實上,適應度值低的煙花具有較大的爆炸幅度,可對空間進行搜索,為使所有煙花中適應度值高且數目多的煙花產生變異以利于提高生成更優(yōu)良煙花的概率,因此將式(5)改進為其中xibestk為當前最優(yōu)煙花在第k維上的位置。
4)選擇策略改進
標準FWA中的選擇策略是基于個體之間的歐式距離進行篩選,而適應度值高的煙花爆炸產生的火花間距離較近,在采用式(6)進行篩選時,很多好的火花被摒棄,同時增加了時間消耗,本文采用精英選擇策略對煙花進行篩選,公式如下所示:
可以看到,適應度值高的煙花被選擇的概率大,當前種群中適應度值最高的煙花被選擇的概率為1,直接保留到下一代。
5)適應度函數構造
設電路有N種故障狀態(tài),則每個輸入信號通過神經網絡模型獲得N個Volterra頻域核,即N個故障狀態(tài)矢量,以各狀態(tài)矢量之間的歐氏距離總和作為適應度函數,來對激勵信號進行優(yōu)選。適應度函數表達式為式中:J——電路適應度函數;
Hj和Hjj——某激勵下的各故障狀態(tài)響應;
‖Hj-Hij‖——各故障狀態(tài)矢量之間的歐氏距離。
本文中的適應度值函數考慮了各故障特征相互之間的關系,當適應度函數J最大時,各故障類型的可分性最好,越有利于故障診斷。
基于改進煙花算法的測試激勵優(yōu)化流程如下:
1)對被測非線性模擬電路進行分析,采用第1節(jié)提出來的基于Volterra-BPNN的建模方法對電路進行建模;
2)根據尋優(yōu)信號的音數確定煙花算法中的維度,同時設定爆炸產生最大火花數目及最小火花數目、爆炸最大幅度、變異火花數、最大迭代次數等參數,同時根據電路有效頻率范圍設定搜索空間;
3)計算初始煙花種群的適應度值,適應度函數構造方法如式(14)所示,由式(11)確定各煙花爆炸產生的火花數目;
4)由式(10)確定各煙花的爆炸幅度,計算產生火花的適應度值;
5)根據式(12),從適應度值最高的火花中選擇個體進行高斯變異,產生變異火花;
6)采用式(13)對煙花、子代火花、變異火花進行選擇,將結果存到下一代,循環(huán)到滿足停止條件或達到循環(huán)次數,結束。至此,輸出結果即為最優(yōu)測試激勵信號,此時的適應度值即為各故障之間的最大距離。
3 仿真驗證
本文以典型的非線性電路低通濾波器為例,進行仿真驗證,如圖4所示。
該低通濾波器中,電源u1為可編輯激勵信號源,R1為10Ω,C1為4.7μF,C1和R2兩端的電壓同為u2,u2為系統(tǒng)電壓輸出值,流過R1和R2的電流分別為i1和i2。非線性電阻R2的伏安特性表示為:i2=0.001×(u2+5u22)。設激勵信號為u(t)=a(cos(2πf1t)+cos(2πf2t)+cos(2πf3t)),在PSpice環(huán)境下掃頻及參數掃描分析得有效頻率范圍為0~3.4kHz。
在頻率范圍內,采用多音信號搜索方法搜索得到20組多音信號(頻率成分盡量分布均勻),采用第1節(jié)中提到的流程對電路進行建模,以無故障狀態(tài)為例,將獲得的頻率值輸入,再取300個頻率對模型進行驗證。前3階頻域核理論值、測量值和誤差值分別如圖5所示。
從而得到,一階核最大誤差值為0.00087V,二階核最大誤差值為0.000 23V,三階核最大誤差值為0.00012V,精度較高,說明基于Volterra-BPNN建模方法的有效性。
基于此模型,采用改進FWA對該電路的測試激勵進行尋優(yōu)。由于硬故障的特征明顯,易于診斷,本文只對軟故障的情況進行分析。將電路設置6種待診斷故障狀態(tài),如表1所示。
由于輸入信號為三音信號,故煙花的維度為3維,設定初始煙花個數為5,爆炸產生最大火花數目為50,變異火花數目為5,迭代次數為40,頻率搜索范圍為0~3.4kHz,重復10次操作,將每次搜索得到的最優(yōu)適應度值和消耗時間與遺傳算法(GA)、粒子群算法(PSO)和標準煙花算法(FWA)進行對比,如圖6和圖7所示,為更好地對比各算法的性能,分別計算各算法結果的平均值、方差和運行平均時間如表2所示。
由圖6、圖7和表2可以看到,GA尋優(yōu)的速度較快,平均時間為840.95838s,但尋優(yōu)效果一般,適應度函數的平均值和方差分別為1.4408V和7.1440×10-6V2;采用PSO進行尋優(yōu)過程中,容易陷入局部最優(yōu),導致其平均值和方差在4個方法中最差,分別為1.4227V和6.4310×10-4V2;FWA本身尋優(yōu)能力較強,穩(wěn)定性較好,適應度函數的平均值為1.4443V,方差為1.6988×10-6V2,但消耗時間過長,平均消耗時間達1516.1166s,改進后FWA尋優(yōu)效果得到加強,適應度函數的均值和方差均為最優(yōu),分別為1.4469V和6.8400×10-7V2,消耗時間也大幅縮減,與GA速度相當,通過對FWA的爆炸算子、變異算子和選擇策略的改進,FWA在尋優(yōu)效果和尋優(yōu)速度上都得到了加強。
將優(yōu)化后的激勵信號輸入到電路中,通過診斷進一步檢驗采用改進煙花算法尋優(yōu)的效果。優(yōu)化后的激勵信號為{3399.9883,3399.6913,3365.8461}Hz。將該激勵信號輸入到被測電路中,根據Volterra級數特性,產生的前3階頻域核對應的頻率成分如表3所示。
其中一階頻域核對應3個頻率成分,二階頻域核對應9個頻率成分,三階頻域核對應19個頻率成分,所以在此激勵信號下產生的故障特征為31維,故障特征值為各階頻域核中各頻率點對應的幅值。
將電阻和電容的容錯值分別設為5%,設置電路的各種故障狀態(tài),分別進行50次蒙特卡羅仿真,提取到各維故障特征,如圖8所示。
采用任取30次故障特征對SVM進行訓練,其余20次故障特征進行檢驗,并與其他算法搜索的結果進行對比,如表4所示。
采用改進FWA尋優(yōu)結果對電路進行激勵時,故障診斷率最高,達99.17%,僅有狀態(tài)F3中出現一次誤診,誤診為故障F4;采用GA和FWA優(yōu)化方法得到平均故障診斷率均為98.33%,狀態(tài)F3各出現兩次誤診;采用PSO優(yōu)化方法得到的平均故障診斷率最低,為97.5%,除了狀態(tài)F3出現兩次誤診外,狀態(tài)F0也出現一次誤診。
4 結束語
本文針對非線性模擬電路的測試激勵優(yōu)化問題進行研究,提出了基于改進煙花算法的測試激勵優(yōu)化方法,首先對非線性模擬電路的建模方法進行研究,在此基礎上,針對煙花算法存在的問題,對其爆炸幅度、變異算子、選擇策略等進行改進,采用改進后的煙花算法對測試激勵進行尋優(yōu)。仿真實驗表明,本文提出的基于Volterra-BPNN的建模方法可以實現對非線性模擬電路的準確建模,本文對煙花算法的改進不僅提高了算法的速度和穩(wěn)定性,其尋優(yōu)的性能也得到加強,能夠尋找到使各故障狀態(tài)距離最大的測試激勵信號,有效提高了非線性模擬電路的故障診斷率。
參考文獻
[1]趙鵬.模擬電路測點優(yōu)選與測試生成方法研究[D].南京:南京航空航天大學,2010.
[2]CHUA L O,LIAO Y L.Measuring Volterra kernel[J].International Journal of Circuit Theoty and Applications,1989,17(2):151-190.
[3]VARIYAM V N,CHERUBAL S,CHATTERJEE A.Prediction of analog performance parameters using fasttransient testing[J].IEEE Transactions on Computer-AidedDesign of Integrated Circuits and Systems,2006,21(3):349-361.
[4]殷時蓉.基于Volterra級數和神經網絡的非線性電路故障診斷研究[D].成都:電子科技大學,2007.
[5]林海軍,張禮勇,顧耕,等.基于退火遺傳混合算法的模擬電路診斷激勵優(yōu)化[J].電測與儀表,2009,46(12):17-19.
[6]韓海濤,馬紅光,譚力寧.基于靈敏度分析及Volterra級數的非線性模擬電路故障診斷[J].電路系統(tǒng)學報,2013,18(1):17-22.
[7]孔祥玉,馬紅光,韓崇昭.非線性系統(tǒng)建模及故障診斷應用[M].北京:科學出版社,2014:125-144.
[8]衛(wèi)小娟,丁旺才,李寧洲,等.基于改進粒子群算法的Volterra模型參數辨識[J].振動與沖擊,2015,34(21):105-112.
[9]HAN H T,MA H G,TAN L N,et al.Non-parametricidentification method of Volterra kernels for nonlinear systemsexcited by multitone signal[J].Asian Journal of Control,2014,16(2):519-529.
[10]TAN Y,ZHi]Y.Fireworks algorithm for optimization[C]//ICSI.Berlin:Springer,2010:355-364.
[11]ZHANG B,ZHANG M X,ZHENG Y J.A hybridbiogeography-based optimization and fireworks algorithm[C]//CEC,2014:3200-3206.
[12]黃偉建,郭芳.基于煙花算法的云計算多目標任務調度[J].計算機應用研究,2017,34(6):1718-1720.
[13]王嘯,韓太林,張恩奎,等.基于煙花算法的壓阻式壓力傳感器動態(tài)補償方法[J].兵工學報,2017,38(11):2226-2233.
[14]譚營,鄭少秋.煙花算法研究進展[J].智能系統(tǒng)學報,2014,9(5):515-528.
[15]杜振鑫.煙花算法中爆炸半徑的改進研究[J].計算機時代,2013(1):28-29.
(編輯:徐柳)