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