郭寶英,鄭思凡
(1.仰恩大學 工程技術學院,福建 泉州362000;
2.黎明職業(yè)大學 機電工程與自動化學院,福建 泉州362000)
諧波源的神經網(wǎng)絡系統(tǒng)辨識與樣本建模
郭寶英1,鄭思凡2
(1.仰恩大學 工程技術學院,福建 泉州362000;
2.黎明職業(yè)大學 機電工程與自動化學院,福建 泉州362000)
針對當前電網(wǎng)諧波的診斷與分類識別均依賴于大量的樣本采集作特征提取,采用系統(tǒng)辨識的方法以三相直流勵磁同步發(fā)電機為對象,以三相直流勵磁電壓和定子感應電動勢為激勵,對發(fā)電機的正常發(fā)電過程及暫態(tài)震蕩與短路故障進行系統(tǒng)辨識。文中根據(jù)問題的實際情況確定了神經網(wǎng)絡的類型結構,訓練算法等參數(shù),并給出了仿真實現(xiàn)。仿真結果表明,所訓練的BP神經網(wǎng)絡具有一定泛化能力并可用于激勵參數(shù)異常的故障樣本建模。
系統(tǒng)辨識;levenberg-marquardt;同步勵磁發(fā)電機;VC維;BP神經網(wǎng)絡
當前隨著IGBT,GTO,大功率場效應管等電力電子器件在逆變,變流及開關電源驅動電路中大量推廣應用[1],電網(wǎng)中非線性負載諸如變頻器、同步勵磁電機、電壓適配器,整流器、高頻開關電源等比重越來越多,基于這些功率器件的開關電源技術雖然有著節(jié)約能源,提高效率和易于數(shù)字化,智能化的優(yōu)點,但同時,也因為其非線性產生了大量的諧波注入電網(wǎng)中,使用電效率降低,供電質量變壞,對電氣設備的壽命及故障產生不良影響。另一方面,以卷積神經網(wǎng)絡為基礎的深度機器學習算法因為具有能夠自學習出代表信號特征的卷積核矩陣從而比傳統(tǒng)的神經網(wǎng)絡需要人為的去設計和選取特征矢量具有更優(yōu)的性能及更少的偶然性而得到重視與發(fā)展,但是將深度機器學習用在諧波源與異常電網(wǎng)波形分類識別目前還處在發(fā)展的初期階段,主要的問題在于深度學習因為其要提取的特征卷積核數(shù)目眾多,隱層層數(shù)大,需要的訓練樣本比傳統(tǒng)的神經網(wǎng)絡更多,甚至跨越幾個數(shù)量級。
正因為需要諧波樣本數(shù)量繁多,其幅度與持續(xù)時間,功率譜分布及RMS等統(tǒng)計值呈現(xiàn)隨機狀態(tài),在實際研究中不易實地采集,因此本文從三相直流勵磁同步發(fā)電機的暫態(tài)震蕩故障及斷路故障波形為目標,采用系統(tǒng)辨識的方法,利用改進的動量誤差反傳作為訓練學習算法,訓練出一個多層BP神經網(wǎng)絡對三相直流勵磁同步發(fā)電機的故障波形進行擬合,并作為諧波源參與后續(xù)的數(shù)據(jù)處理分析,實驗數(shù)據(jù)表明,該模型能夠很好擬合以電路模型仿真的故障波形,在三相電壓幅值改變情況下具有很好跟蹤新的故障波形的能力,從而驗證了模型驗證模型對新故障樣本的泛化能力。
系統(tǒng)辨識可以具體定義為給定一個模型類[5]μ={M}(在本文中M為帶權值矩陣參數(shù)的BP神經網(wǎng)絡),一類輸入信號u和等價準則J=L(y,yM)(其中J為誤差函數(shù),是過程輸出y和模型輸出yM的相減的泛函);然后選擇使誤差函數(shù)J達到最小的模型來作為辨識所要求的結果。傳統(tǒng)的辨識方法為根據(jù)系統(tǒng)滿足的數(shù)學關系式將此泛函具體化為依賴于參數(shù)θ的方程組模型,而后對θ進行參數(shù)估計,這類算法一般應用于線性系統(tǒng)或經過局部微分近似處理后的可線性化的系統(tǒng)辨識,因為非線性的系統(tǒng)不能轉換為參數(shù)空間矩陣自身與其轉置的這種最小二乘格式,因而此類算法并不適用非線性系統(tǒng),另一方面,神經網(wǎng)絡對系統(tǒng)的辨識則是通過系統(tǒng)的輸入/輸出數(shù)據(jù)對自身的權值矩陣元素進行調整學習,使得每對的輸入數(shù)據(jù)與給定的輸出誤差函數(shù)達到最小,因而不依賴理想的線性化的動力學等物理模型,所以對于非線性的系統(tǒng)的辨識具有更好的適應性。
圖1給出了基于輸出誤差的神經網(wǎng)絡辨識原理圖。圖中TDL(Tapped Delay Line)為多分頭時延系統(tǒng),其輸出矢量由輸入信號的延時構成。本文就以神經網(wǎng)絡拓撲結構的選擇、神經網(wǎng)絡的權值矩陣的訓練和網(wǎng)絡泛化能力的檢驗這3個環(huán)節(jié)介紹同步勵磁發(fā)電機兩個故障諧波源的辨識過程。
圖1 神經網(wǎng)絡辨識原理圖
本文考慮的多相直流勵磁發(fā)電機構造如圖2,圖中,轉子由直流電源F提供勵磁,定子的交流感應電動勢A,B,C經過6個硅二極管全橋整流給負載供電,考慮到故障勵磁發(fā)電的系統(tǒng)狀態(tài)無法獲得,及狀態(tài)不都可測,本文將直流勵磁電壓u(k)、三相定子感應電動勢作為系統(tǒng)辨識輸入,輸出為整流負載電壓y(k),則當將此發(fā)電機及故障模型視為非線性動態(tài)系統(tǒng)時,其輸入輸出關系可采用非線性自回歸滑動平均(NARMA)模型圖3來描述[2-4],在不考慮干擾及系統(tǒng)誤差情況下系統(tǒng)可表示為:
其中[u(k),yp(k)]為 SISO(m≤n)系統(tǒng)在 k時刻的輸入輸出對,g為非線性函數(shù),這樣時刻 k+1上系統(tǒng)的輸出由過去的n個輸出值,m個輸入值決定。因此g可用多層前饋神經網(wǎng)絡建模。yp(k)作目標輸出,整個模型關系式可用BP算法進行訓練,確定g的權值元素。
圖2 多相同步勵磁交流發(fā)電機
圖3 NARMA模型
本文要辨識的故障諧波源和正常發(fā)電過程是在負載上采樣輸出電壓,系統(tǒng)的輸入為勵磁直流電壓及定子感應電勢,系統(tǒng)本身因為具有電容與電感等延遲元器件,所以一并考慮系統(tǒng)的歷史輸出。對于直流無刷勵磁發(fā)電機來說,勵磁繞組存在自感,轉子繞組有三相,各有自感和互感,負載有一自感,故系統(tǒng)的階次n取5,m取0。
根據(jù)式(1)選擇的NARMA模型,系統(tǒng)的階次n取5,加上勵磁輸入與電樞電動勢輸入,故在此確定輸入神經元個數(shù)為9,輸出的目標樣本是負載電壓,故輸出層取一個神經元,由映射存在定理[5]可知:“給定任一連續(xù)函數(shù) f∶un→rm,f(x)=y。 這里 u 是閉單位區(qū)間[0,1]。 則 f總可以精確地用一個三層感知器網(wǎng)絡實現(xiàn)”。因此本文在此取1層隱層。對于隱層節(jié)點數(shù),本文參考BP神經網(wǎng)絡的VC維度,保證樣本數(shù)量足夠情況下最優(yōu)目標函數(shù)有解,具體公式如式(2)[9]:
其中m、n分別為輸入結點數(shù)目與輸出結點數(shù)目,將m、n值代入,可得本方案隱層取11個節(jié)點。
雖然BP網(wǎng)絡剛開始時可以用于二值化的邏輯回歸,但在處理模擬數(shù)據(jù)擬合和回歸時為了方便計算誤差的梯度,要求輸出神經元的激活函數(shù)以及隱層神經元傳輸函數(shù)必須是連續(xù)可微的,通常選擇S形函數(shù),因采用logsig(x)函數(shù),可能使網(wǎng)絡陷入一個較大的平坦區(qū)導致收斂變慢。故在此選擇tansig(x)函數(shù)為神經元的作用函數(shù)。
鑒于傳統(tǒng)的BP算法具有局部收斂的局限性,一旦梯度過小,程序將提前退出,為此我們考慮包含取函數(shù)二階赫森矩陣的牛頓法的改進方案。即若將目標函數(shù)F(x)在等0處一階泰勒展開并令其導數(shù)為零[7],可得:
假設F(x)是平方函數(shù)之和,即
那么第j個梯度分量為:
因此梯度可以寫成矩陣形式:
赫森矩陣可以表示為:
將(10)式和(7)式代入(3)式,可以得到高斯-牛頓方法:
此算法的優(yōu)點是不需計算二階導數(shù)。由于矩陣H=JTJ可能不可逆,故用下述近似赫森矩陣代替:
由此可導出L-M算法:
對應地,在Matlab構造網(wǎng)絡時只要傳遞“trainlm”參數(shù)即可。
因為隱層激活函數(shù)在 [0,1]之外函數(shù)趨于飽和,導致梯度變小,收斂速度慢,故必須對輸入變量進行歸一化。保證位于[0,1]之內,為簡單起見,本文采用公式 :
來歸一化,網(wǎng)絡仿真結束之后,需要通過反歸一化將仿真結果轉換成原始數(shù)據(jù)尺度,也就是將仿真后的結果代入xl,得出sl,考慮到諧波分析的最高階數(shù)25次,即1.25 K,采樣間隔取0.00002 s,是最高分析頻率的40倍,已滿足奈奎斯特定理要求。
綜上所述,本文對5階NARMA辨識系統(tǒng)的神經網(wǎng)絡的輸入為發(fā)電機負載電阻電壓的前5個采樣值以及當前3個轉子正弦交流激勵電壓瞬時值以及勵磁電壓值。此9個元素組成輸入層各神經元的輸入向量,具體為:[y(k-1),y(k-2),y(k-3),y(k-4),y(k-5),u(k),ε1(k),ε2(k),ε3(k)],其中y(k-1)由 y(k)右移形成,同理推廣至 y(k-5),為考慮神經網(wǎng)絡本身的延遲效應,對 u(k)亦進行右移一單位,這樣右移后,將靠前的數(shù)移至后面以決定后面的值,符合因果系統(tǒng)的要求。
根據(jù)參考文獻[6]提供的仿真模型,在直流勵磁電壓不變情況下,對定子電動勢以步長20取0~600 V的30組樣本進行訓練,另外令圖2中節(jié)點X,節(jié)點Y電壓為0,經過模型磁鏈回路方程及元器件U-I方程聯(lián)立計算,可以得到斷路故障負載波形數(shù)據(jù)作為辨識數(shù)據(jù)源樣本,最后在電樞電壓疊加因機械沖擊或碰撞等的波形來得到暫態(tài)震蕩故障波形樣本。
綜合上述,在matlab可用如下代碼完成神經網(wǎng)絡的初始化[8]:
net=newff([0 600;0 600;0 600;0 600;0 600;0 50;0 400;
0 400;0 400],[9,11,1],{'tansig','tansig','purelin'},'trainlm');
其中輸入矩陣前五行為負載輸出的過去歷史輸出形成的自遞歸矢量即 ,第六行為當前直流勵磁輸入。輸出是一個神經元,為下一時刻的負載輸出電壓YT。
net=init(net);%以matlab默認的方式初始化
………….
YT=sordata';其中sordata為上述各需要辨識波形的數(shù)據(jù)源;
YT1=(circshift(sordata,1))';circshift為循環(huán)右移函數(shù),YT1,YT2前被移元素必須補零;
YT2=(circshift(sordata,2))';
…………….
另外因為訓練樣本是取不同激勵電壓構成,故每次的輸出矢量必須連接,這可以用cat函數(shù)完成
ZYT1=cat(2,ZYT1,YT1);ZYT2=cat(2,ZYT2,YT2);其中ZYT是累積連接的矢量樣本。這樣就把各種電壓幅值參數(shù)的樣本組合為較大的列向量,一次參與訓練學習,最終的組合的輸入矢量如下:Z=[ZYT1,ZYT2,ZYT3,ZYT4,ZYT5,E1,E2,E3,ZINPU];其中ZINPU為u(k)右移一位補零得到。
net.trainParam.show=10;%確定顯示步數(shù)間隔
net.trainParam.epochs=400;%確定總訓練步數(shù)
net.trainParam.goal=0.005;%目標性能誤差
net.trainParam.lr=0.01;%學習率
net.trainParam.min_grad=14;%最小梯度值,小于此梯度退出。
[pn,meanp,stdp,tn,meant,stdt]=prestd(Z,ZYT);
其中 meanp,stdp,meant,stdt分別為輸入和目標數(shù)據(jù)規(guī)范化后的均值和標準差,pn,tn分別為規(guī)范化后結果,他們才參與訓練和模型驗證即
[net,tr]=train(net,pn,tn);antemp=sim(net,pn);
驗證結果antemp必須進行反歸一化才可以與原信號相比較。即
yafter=poststd(antemp,meant,stdt);
對于正常勵磁發(fā)電機電樞幅值從0~420 V的0.1 s發(fā)電過程辨識在訓練過程中目標性能誤差的下降情況如圖4。
由圖可見,30組樣本經過50(圖4步數(shù)間隔為10)輪迭代便達到誤差目標0.005.收斂速度比較理想,各樣本理想電路模型輸出與辨識神經網(wǎng)絡輸出結果比對如圖5。
圖中虛線為訓練前神經網(wǎng)絡的輸出,默認為零,訓練后,則很好地擬合了各組發(fā)電過程中的全波整流后的周期起伏波形。將辨識輸出與樣本輸出相減取絕對值可得辨識輸出與系統(tǒng)輸出的擬合誤差如圖6。
可以發(fā)現(xiàn),辨識的輸出與樣本輸出的誤差在0.06%以下。 神經網(wǎng)絡樣本的輸出與期望輸出的均方差為err=0.0229,在Matlab命令窗口里可方便得到訓練好的網(wǎng)絡權值與偏置,其中隱含層的權w1和閾值b1為:net.IW{1,1}=
同理訪問元胞數(shù)組net.LW{2,1},net.LW{2,3},net.b{2,1},net.b{3,1}可以得到隱層,輸出層的權w2和閾值b2。
圖4 0.1s發(fā)電過程辨識在訓練過程
圖5 系統(tǒng)輸出與辨識神經網(wǎng)絡輸出結果比對
圖6 辨識輸出與系統(tǒng)輸出的擬和誤差
圖7 暫態(tài)震蕩故障辨識訓練過程
同樣可以得到暫態(tài)震蕩故障的訓練結果如圖7。
從圖可以看出,因暫態(tài)震蕩在每個交變周期存在隨機幅度與頻率變化,波形突變較多,平滑度下降,網(wǎng)絡需經過接近400次同組樣本迭代才收斂,收斂速度比正常發(fā)電過程的擬合慢。暫態(tài)震蕩的系統(tǒng)辨識擬合結果如圖8。
圖中可看出,擬合誤差主要集中在波形尖峰突變點處,總體上數(shù)據(jù)MSE誤差仍然可以達到要求。最后,關于斷路故障的仿真與辨識訓練過程及仿真結果對比如圖9~10。
圖8 暫態(tài)辨識輸出與系統(tǒng)輸出的比對
圖9 斷路故障的辨識訓練過程
由圖10斷路故障的波形可以看出,斷路故障含有較多的高次諧波分量,突變點較多,曲線平滑度嚴重下降致使訓練過程在迭代350次后,誤差梯度即趨于飽和,最終誤差在0.05左右,從最終擬合的結果圖(5~7)可以看出,誤差集中在具有高次諧波的突變點處,理論上雖然可以通過增加隱層結點數(shù)來逼近更多的峰值點,但也會造成過擬合而降低泛化能力,因此只能在不影響實際應用的情況下降低誤差要求。
圖10 斷路故障的系統(tǒng)辨識和系統(tǒng)仿真比對結果
現(xiàn)給系統(tǒng)輸入50 V的交流定子激勵以與樣本20 V倍數(shù)幅值分開,時間0.1 s,采樣間隔擴大為0.005來進行泛化能力檢查,同樣在函數(shù)調用前對輸入數(shù)據(jù)歸一化,仿真結束之后,需要反歸一化將結果轉換成原始數(shù)據(jù)尺度,實現(xiàn)代碼如下:[pn,meanp,stdp,tn,meant,stdt]=prestd(Z,ZYT);meanp,stdp,meant,stdt分別為輸入和目標數(shù)據(jù)規(guī)范化后的均值和標準差,pn,tn分別為規(guī)范化后結果,他們才參與訓練和模型驗證即[net,tr]=train(net,pn,tn);antemp=sim(net,pn);驗證結果 antemp必須進行反歸一化才可以與原信號相比較。即yafter=poststd(antemp,meant,stdt);得到的神經網(wǎng)絡辨識模型的輸出與系統(tǒng)的電路仿真輸出比較結果如圖11。
圖11 三相直流勵磁發(fā)電機的神經網(wǎng)絡模型輸出與系統(tǒng)的電路仿真輸出
由此可見,系統(tǒng)在幅值與采樣頻率不同的條件下,BP神經網(wǎng)絡辨識輸出還是很好與電路模型仿真輸出一致。
以常見的三相同步勵磁發(fā)電機的正常發(fā)電與暫態(tài)震蕩故障與斷路故障為系統(tǒng)辨識目標,利用非線性NMARMA的前向遞歸模型作為反饋調整環(huán)節(jié)的辨識方法,對三種波形以不同的激勵電壓幅度為樣本進行學習訓練,實驗仿真結果表明,本文的系統(tǒng)辨識方法能夠很好地與參考文獻6中依據(jù)發(fā)電機磁鏈等微分方程等數(shù)學模型以及利用Matlab內建的sim Power System模塊庫建立的發(fā)電機輸出保持很高的一致性,誤差在10-2數(shù)量級左右。同時修改轉子輸出交流電壓幅度完成訓練后,可以看到本系統(tǒng)也能很好的跟蹤擬合訓練之外的電壓幅度,從而證明神經網(wǎng)絡采用系統(tǒng)辨識的方法可以很好的泛化能力。
考慮到不管是Matlab的模塊,還是利用磁鏈的微分方程建立的發(fā)電機模型都是在一些元器件理想化的模型進行抽象,使得模型存在系統(tǒng)誤差,本文提出的利用神經網(wǎng)絡則在非線性映射能力方面則更具有能夠擬合實際場景中故障的波形的潛力,從而使得采用系統(tǒng)辨識構建諧波源樣本對于進一步的深度學習與模式識別方面的研究方面具有廣闊的前景。
[1] 路德亮.簡述電力諧波的產生、危害及治理方案[J].中國科技博覽,2012(18):64.
[2] 許慧雅,王華東.發(fā)電機勵磁系統(tǒng)參數(shù)辨識的仿真研究[J].計算機仿真,2013,30(6);129-132.
[3]羅玉春.發(fā)電機勵磁系統(tǒng)參數(shù)辨識研究[D].南京:南京理工大學,2008.
[4] 羅國云,嚴東超,祝雪平.基于 MATLAB 的同步發(fā)電機勵磁系統(tǒng)仿真[J].電氣傳動,2003(5);62-64.
[5]陸桂琴.基于動態(tài)神經網(wǎng)絡的非線性動態(tài)系統(tǒng)辨識[D].銀川:寧夏大學,2015.
[6] 鄭思凡,楊冠魯.換相重疊角的計算機仿真及辨識[J].華僑大學學報(自然科學版),2009,30(3):272-276.
[7]李捷.基于神經網(wǎng)絡的軸承故障診斷技術研究[D].成都:電子科技大學,2015.
[8] 岑紅蕾,魯敏 基于 BP 神經網(wǎng)絡的非線性函數(shù)逼近仿真研究[J].農業(yè)網(wǎng)絡信息,2015(1):52-55.
[9]李新龍.基于人工神經元網(wǎng)絡的系統(tǒng)辨識及其在匯率預測中的應用[D].西安:西安交通大學,2003.
(責任編輯:朱聯(lián)九)
Neural Network System Identification and Sample Modeling of Harmonic Sources
GUO Bao-ying1,ZHENG Si-fan2
(1.College of Engineering,Yang-En University,Quanzhou 362000,China;2.College of Mechanical and Electrical Engineering,Liming Vocational University,Quanzhou 362000,China)
Considering that the current power quality diagnosis and classification are dependent on a large number of sample acquisition for feature extraction,the normal generation process,transient concussion and short-circuit fault are made system identification by adopting system identification and taking three-phase direct current excitation generator system as research object.Then the type structure and training algorithm etc of the neural network are determined according to the actual situation of the problem and the simulation implementation is given.The simulation results show that the trained BP neural network has some generalization ability and can be used to model the fault samples with abnormal input parameters.
system identification;levenberg-marquardt;synchronous excitation generator;VC dimension;BP neural network
TM711
A
1673-4343(2017)04-0061-08
10.14098 /j.cn35-1288 /z.2017.04.011
2017-05-21
福建省中青年教師教育科研項目(JAT160588);泉州市科技局項目(2014Z138)
郭寶英,女,福建泉州人,講師。主要研究方向:電氣控制。