王 恒,唐孝國,郭俊亮
(銅仁職業(yè)技術(shù)學(xué)院 信息工程學(xué)院,貴州 銅仁 554300)
隨著各種智能化診斷方法的出現(xiàn),模擬電路的故障診斷技術(shù)也得到了很大的發(fā)展。神經(jīng)網(wǎng)絡(luò)作為智能信息處理工具,已成為科學(xué)研究中最活躍和應(yīng)用最廣的學(xué)科之一。由于其可以克服小樣本、高維數(shù)以及時變性等困難的優(yōu)勢,因此得到迅速的發(fā)展和廣泛應(yīng)用。目前神經(jīng)網(wǎng)絡(luò)主要用于線性或非線性模型的建模與仿真,而對于復(fù)雜網(wǎng)絡(luò)研究還不夠深入。與傳統(tǒng)的故障診斷方法相比,人工神經(jīng)網(wǎng)絡(luò)不需要建立對象的精確數(shù)學(xué)模型,具有并行處理、聯(lián)想記憶、自組織、自學(xué)習(xí)和較強的強非線性映射能力,同時又有很高的容錯性能,能夠?qū)斎霐?shù)據(jù)進行自動分類。由于神經(jīng)網(wǎng)絡(luò)可以克服小波變換存在“維數(shù)災(zāi)”問題,因此在故障診斷中具有巨大的潛力和應(yīng)用前景,在實踐中越來越受到重視。目前,模糊神經(jīng)網(wǎng)絡(luò)技術(shù)為故障診斷開辟了新的研發(fā)方向,模糊神經(jīng)網(wǎng)絡(luò)在本質(zhì)上是雙重模擬人腦的結(jié)構(gòu)和思維功能,其可以充分利用各自的模糊理論和神經(jīng)網(wǎng)絡(luò)的優(yōu)勢,彌補其不足。此外,小波分析和神經(jīng)網(wǎng)絡(luò)的結(jié)合也是一個研究非常活躍的領(lǐng)域。傳統(tǒng)的信號處理方法由于具有非平穩(wěn)性、非線性和不確定性等特性,難以取得良好的效果,而神經(jīng)網(wǎng)絡(luò)可以以更高的效率和精度解決這些問題。另外,由于神經(jīng)網(wǎng)絡(luò)是由大量神經(jīng)元構(gòu)成的網(wǎng)絡(luò)模型,因而能對復(fù)雜問題進行快速而準(zhǔn)確地識別和判斷,從而使之更易于推廣到其他領(lǐng)域。因此,許多學(xué)者開始重視模擬電路故障診斷,并取得了許多成果。歸納起來,診斷方法大致分為6大類:故障字典法、故障參數(shù)識別法、驗證法故障診斷、逼近法、人工智能法、神經(jīng)網(wǎng)絡(luò)法。
本文根據(jù)現(xiàn)有的研究成果,分析總結(jié)各種故障診斷方法的基本原理,運用基于BP神經(jīng)網(wǎng)絡(luò)的故障診斷方法,設(shè)計帶通濾波電路的故障診斷方法,使用MATLAB軟件進行仿真,使之能夠有效診斷電路的故障。
應(yīng)用BP神經(jīng)網(wǎng)絡(luò)進行模擬電路故障診斷的方法一般是:在一定的測試激勵下,將電路常見的各種故障狀態(tài)及正常狀態(tài)所對應(yīng)的參數(shù)通過PSpice求出,進行數(shù)據(jù)預(yù)處理后作為BP網(wǎng)絡(luò)的輸入樣本,對網(wǎng)絡(luò)進行訓(xùn)練,然后在相同的激勵下,檢測電路實際輸出,作為待診斷樣本集提供給BP網(wǎng)絡(luò),網(wǎng)絡(luò)輸出即為對應(yīng)的故障模式。
常用BP神經(jīng)網(wǎng)絡(luò)包括輸入層、隱含層和輸出層。其中,輸入層沒有神經(jīng)元,只有信息輸入;隱含層和輸出層都可以相應(yīng)地更改傳入的數(shù)據(jù)。隱含層可以通過多次實驗或經(jīng)驗公式得到,隱含層中每個神經(jīng)元都有一個權(quán)值,其反映了神經(jīng)元之間的聯(lián)系程度,輸入層和輸出層的數(shù)量取決于輸入向量和輸出向量的尺寸。
采用BP神經(jīng)網(wǎng)絡(luò)進行故障診斷,需先建立故障字典,這一步需要設(shè)計電路的故障特征,對可能出現(xiàn)的故障進行歸類,從而生成故障集,生成故障集能夠消除故障診斷過程中大量的冗余信息和不精確信息。使BP神經(jīng)網(wǎng)絡(luò)能夠?qū)收献值溥M行記憶,然后根據(jù)BP神經(jīng)網(wǎng)絡(luò)的模糊性和記憶性,獲取測量數(shù)據(jù)集,按比例和隨機方式收集數(shù)據(jù),形成訓(xùn)練集和測試集。接下來對數(shù)據(jù)樣本集進行預(yù)處理,因為很多樣本數(shù)據(jù)是參差不齊的,直接訓(xùn)練會降低神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的效率。然后對電路狀態(tài)進行記憶和推斷,即輸入新的狀態(tài)參量時對電路狀態(tài)進行推斷,訓(xùn)練后將測試樣本數(shù)據(jù)輸入網(wǎng)絡(luò),獲得預(yù)測結(jié)果。將預(yù)測結(jié)果與實際輸出結(jié)果進行比較,驗證網(wǎng)絡(luò)性能是否滿足設(shè)計要求,如果不能滿足要求,則需要對網(wǎng)絡(luò)的參數(shù)進行調(diào)整,甚至可能對網(wǎng)絡(luò)結(jié)構(gòu)進行調(diào)整,以便再次培訓(xùn)和學(xué)習(xí),從而獲得最合適的網(wǎng)絡(luò)參數(shù)和網(wǎng)絡(luò)結(jié)構(gòu)。
本文設(shè)計選用Sallen-Key帶通濾波電路為主電路進行分析,電路具體參數(shù)為:1 kΩ、3 kΩ、2 kΩ、4 kΩ、4 kΩ、5 nF、5 nF,激勵信號為5 V的交流信號。使用的仿真軟件為OrCAD/PSPice,在OrCAD中繪制電路(如圖1)。對電路進行交流分析(AC Sweep),考慮到元件中存在容差值,設(shè)定電阻的容差為10%、電容的容差為5%、激勵信號為5 V、起始頻率為1 kHz、終止頻率為1 MHz的交流掃頻信號。電路幅頻響應(yīng)波形如圖2所示。
圖1 Sallen-Key帶通濾波電路Fig.1 Sallen-Key band pass filter circuit
圖2 Sallen-Key帶通濾波電路幅頻響應(yīng)波形圖Fig.2 Sallen-Key band-pass filter circuit amplitude-frequency response waveform diagram
利用PSPice的靈敏度分析儀對電路進行靈敏度分析,選用帶通濾波電路的輸出電壓V(OUT)作為電路性能參數(shù),根據(jù)電路元件的相對靈敏度,選擇電路測試點。在PSPice軟件中,可以利用MATLAB語言編程,計算出各種不同情況下的電路系統(tǒng)參數(shù),對所得到的組件的相對靈敏度的分析結(jié)果如圖3所示。
圖3 Sallen-Key帶通濾波電路相對靈敏度分析圖Fig.3 Sallen-Key band-pass filter circuit relative sensitivity analysis diagram
通過相對靈敏度測試結(jié)果可知,2、3、1、2的相對靈敏度較大,因此測試點的選取應(yīng)靠近這幾個元件。根據(jù)所需數(shù)據(jù)的復(fù)雜性,并綜合考慮計算和時間因素,選擇1、2、OUT 3個測試點,作為故障數(shù)據(jù)的提取點(見圖4)。
圖4 測試點選取Fig.4 Test point selection
根據(jù)圖3中的靈敏度分析,當(dāng)2、3、1和2發(fā)生改變時,能夠?qū)﹄娐份敵霎a(chǎn)生比較明顯的影響??紤]軟故障情況下2、3、1和2各組件狀態(tài),設(shè)置其高于或低于標(biāo)稱值50%時為故障狀態(tài),用“↑”表示偏大,用“↓”表示偏小。從而可以得到9種狀態(tài)類型,分別是:無故障、2↑50、2↓50、3↑50、3↓50、1↑50、1↓50、2↑50、2↓50。通過設(shè)置故障類型輸出值來區(qū)分網(wǎng)絡(luò)識別結(jié)果,故障分類見表1。
表1 故障類型Tab.1 Fault type
本文采用多測試點、多信息特征量的模擬電路故障診斷方法,即通過多個測試點提取不同頻率信號下的電壓值做為原始訓(xùn)練數(shù)據(jù)。運用OrCAD進行電路仿真,在軟件繪制中如圖4所示電路,輸為5 V、1 kHz、1 MHz的交流掃頻信號,進行交流分析(AC Sweep),輸出頻響曲線如圖5所示。3條曲線分別為OUT、1、2,3點的輸出頻響曲線,褐色曲線“□”表示OUT的輸出頻響曲線,綠色曲線“◇”表示1點的輸出頻響曲線,紅色曲線“▽”表示2點的輸出頻響曲線.
圖5 輸出頻響曲線Fig.5 Output frequency response curve
根據(jù)其它8種故障狀態(tài),直接修改相應(yīng)元件的數(shù)值,重復(fù)進行交流分析,得到圖6中(a)、(b)、(c)、(d)的輸出頻響曲線。
圖6 R2、R3、C1、C2故障時的輸出頻響曲線Fig.6 The output frequency response curve when R2、R3、C1、C2 fails
通過仿真波形可以看到,當(dāng)元件發(fā)生故障時,3條波形變化最大的區(qū)域在3 kHz~30 kHz的范圍內(nèi),3個測試點的電壓對每種狀態(tài)的情況具有代表性。因此,為了盡可能少截取到對訓(xùn)練無用的數(shù)據(jù),選擇在3 kHz~30 kHz頻率中截取訓(xùn)練數(shù)據(jù)。
仿真分析時,將交流分析的起始頻率和終止頻率分別設(shè)定為3 kHz和30 kHz,對以上9種狀態(tài)各自進行20次蒙特卡洛實驗,每次蒙特卡洛分析得到3個輸出點各20條曲線,如圖7所示。
圖7 電路無故障時蒙特卡洛分析仿真圖Fig.7 Monte Carlo analysis simulation diagram without circuit failure
設(shè)定每單位采樣點數(shù)為40,則從每條輸出頻響曲線上能提取41個不同頻點對應(yīng)電壓值,每種狀態(tài)下提取20組3×41維的數(shù)據(jù)序列,9種狀態(tài)下共能獲得9×20組123維的原始數(shù)據(jù)樣本,將其作為訓(xùn)練樣本集。節(jié)選其中每種情況下各兩組3 kHz和30 kHz頻率下的輸出電壓值,見表2。
表2 原始訓(xùn)練數(shù)據(jù)節(jié)選Tab.2 Examples of the original training data
設(shè)計BP網(wǎng)絡(luò)時,主要利用MATLAB神經(jīng)網(wǎng)絡(luò)工具箱完成網(wǎng)絡(luò)的構(gòu)建。
(1)確定網(wǎng)絡(luò)的結(jié)構(gòu)。輸入輸出層節(jié)點的數(shù)量由輸入輸出訓(xùn)練樣本的數(shù)量確定,每個采集的樣本集包含123個數(shù)據(jù)集和1個輸出集。
(2)隱含層設(shè)計。一般情況下,單個隱含層滿足大多數(shù)應(yīng)用場景。雖然多層隱含層可以進一步減少誤差,但其使網(wǎng)絡(luò)變得復(fù)雜,增加了訓(xùn)練時間。為了減小誤碼率和計算量,可采用多個隱含層同時進行數(shù)據(jù)融合處理。
通過反復(fù)試驗確定了123-10-1的網(wǎng)絡(luò)結(jié)構(gòu);為了使神經(jīng)網(wǎng)絡(luò)能適應(yīng)復(fù)雜系統(tǒng),可將其分為3層結(jié)構(gòu):輸入層、隱含層及輸出層。其中前兩層為簡單模型,后一層為精確模型。
在進行BP網(wǎng)絡(luò)設(shè)計時,采用MATLAB神經(jīng)網(wǎng)絡(luò)工具箱對網(wǎng)絡(luò)進行構(gòu)造和初始化。在此基礎(chǔ)上,為了驗證該方法的有效性,原始數(shù)據(jù)中有180套數(shù)據(jù),其中150套是隨機抽取的訓(xùn)練集,30套是測試集。通過仿真得到了BP網(wǎng)絡(luò)訓(xùn)練的訓(xùn)練效果。以下為MATLAB程序設(shè)計的主要部分:
(1)導(dǎo)入數(shù)據(jù)。180組輸入數(shù)據(jù)集y和輸出數(shù)據(jù)集x分別放在61.mat和6.mat文件中,首先導(dǎo)入數(shù)據(jù)集x和y。
(2)產(chǎn)生1~180的隨機數(shù)排列的數(shù)組。用以隨機提取測試集和故障集。
(3)定義數(shù)據(jù)。定義輸入集為input,輸出集為group。
(4)提取150組為訓(xùn)練集,提取30組為測試集。
(5)數(shù)據(jù)的歸一化預(yù)處理。
(6)初始化網(wǎng)絡(luò)結(jié)構(gòu)。
(7)網(wǎng)絡(luò)訓(xùn)練。
(8)預(yù)測輸出。將測試集連接到經(jīng)過訓(xùn)練的網(wǎng)絡(luò)得出診斷數(shù)據(jù),并讓數(shù)據(jù)進行反歸一化處理。
運行程序后,診斷結(jié)果準(zhǔn)確率如圖8所示。其中,預(yù)測類別是BP網(wǎng)絡(luò)診斷結(jié)果,輸出類別是實際故障類型。經(jīng)多次重復(fù)運行程序,診斷結(jié)果準(zhǔn)確率均在90%以上,說明本文設(shè)計的BP網(wǎng)絡(luò)診斷故障成功率較高,可以有效的進行故障診斷。實驗結(jié)果表明,神經(jīng)網(wǎng)絡(luò)對故障診斷具有一定的效果,預(yù)測和輸出類別完全相同,誤差的減少如圖9所示。
圖8 預(yù)測與實際結(jié)果對比圖Fig.8 Comparison between prediction and actual results
圖9 BP網(wǎng)絡(luò)結(jié)構(gòu)仿真誤差曲線圖Fig.9 BP network simulation error curve
通過仿真結(jié)果及過程可以看出,本文設(shè)計的BP網(wǎng)絡(luò)結(jié)構(gòu)模型能快速訓(xùn)練將誤差縮小到目標(biāo)值,預(yù)測結(jié)果準(zhǔn)確率高。說明BP網(wǎng)絡(luò)的收斂速度較快,故障的定位準(zhǔn)確率較高,確實是故障診斷中一種較優(yōu)越的選擇方案。
本文基于神經(jīng)網(wǎng)絡(luò)原理,通過對帶通濾波電路的故障診斷方法設(shè)計,分析了模擬電路故障診斷的方法。在故障提取中,采用多測試點、多信息特征的方法,使故障集數(shù)據(jù)更具有代表性,并對網(wǎng)絡(luò)進行更好的訓(xùn)練。利用MATLAB軟件建立了BP神經(jīng)網(wǎng)絡(luò)的故障診斷模型,并對BP網(wǎng)絡(luò)進行了訓(xùn)練,得到了仿真結(jié)果。利用該診斷模型對一個實際的模擬電路進行故障診斷。仿真結(jié)果表明,BP神經(jīng)網(wǎng)絡(luò)能夠較快地達(dá)到目標(biāo)誤差,具有較高的診斷識別率,從而證明神經(jīng)網(wǎng)絡(luò)在模擬電路故障診斷中具有良好的應(yīng)用效果。