本發(fā)明屬于電力電子運用與故障診斷技術(shù)領(lǐng)域,具體涉及基于改進的隱馬爾可夫模型ghmm的npc光伏逆變器故障診斷方法。
背景技術(shù):
由于當(dāng)前環(huán)境形勢日益嚴峻、資源日趨匿乏,開發(fā)和利用清潔型能源逐漸發(fā)展為世界各國能源戰(zhàn)略的重中之重。在對太陽能的各種開發(fā)利用中,以在光伏發(fā)電技術(shù)領(lǐng)域的應(yīng)用最為常見也最為有價值。
現(xiàn)代控制技術(shù)也在光伏發(fā)電領(lǐng)域中得到廣泛應(yīng)用。促使光伏發(fā)電控制技術(shù)發(fā)展的逐漸龐大起來,也越來越復(fù)雜。光伏發(fā)電系統(tǒng)的電源動力和控制系統(tǒng)一般有大功率逆變器擔(dān)當(dāng),逆變器若出現(xiàn)故障而得不到技術(shù)的診斷與修復(fù),定會造成無法挽回的經(jīng)濟損失和安全風(fēng)險。對其安全與平穩(wěn)運行的保證是光伏發(fā)電技術(shù)函需處理的重要問題,其在現(xiàn)實應(yīng)用中的意義非常重大。所以研究光伏逆變器的故障診斷技術(shù)就表現(xiàn)得尤為關(guān)鍵。
隱馬爾可夫模型(hmm)是一種統(tǒng)計模型,它用來描述一個含有隱含未知參數(shù)的馬爾可夫過程。隱馬爾可夫模型創(chuàng)立于20世紀70年代,80年代得到了傳播和發(fā)展,成為信號處理的一個重要方向,現(xiàn)已成功地用于語音識別,行為識別,文字識別以及故障診斷等領(lǐng)域。
隱馬爾可夫模型則是雙重隨機過程,不僅狀態(tài)轉(zhuǎn)移之間是個隨機事件,狀態(tài)和輸出之間也是一個隨機過程。但是hmm有一個致命的缺陷,最終所得解依賴于初始值的選取,往往只是局部最優(yōu),影響了最終系統(tǒng)的識別率。
遺傳算法是模擬自然界的進化現(xiàn)象,把搜索空間映射為遺傳空間,把可能的解編碼成一個向量——染色體,向量的每個元素稱為基因。通過不斷計算各染色體的適應(yīng)值,選擇最好的染色體,獲得最優(yōu)解。設(shè)計遺傳算法時通常包括以下幾個方面內(nèi)容:確定編碼方案,確定適應(yīng)度函數(shù),控制參數(shù)的選取,遺傳算子及選擇策略的選擇和確定算法的終止條件。由于遺傳算法中使用的是基于種群的全局搜索,非常容易獲得全局最優(yōu)解。
此外,當(dāng)前較為傳統(tǒng)的npc逆變器故障診斷方法有基于信號處理的方法和基于知識的方法等。其中基于信號處理的方法雖使用方便,但是其故障特征的判別參數(shù)需要根據(jù)專家的經(jīng)驗來設(shè)定,這個缺點降低了此方法的實用性;基于知識的方法雖提高了故障診斷的時效性,但識別正確率較低,有很大的局限性。
技術(shù)實現(xiàn)要素:
為解決現(xiàn)有技術(shù)存在的問題,本發(fā)明先用遺傳算法訓(xùn)練出了最優(yōu)觀測值概率矩陣b的初始值,然后訓(xùn)練模型,用訓(xùn)練出的模型進行故障診斷,改善了隱馬爾可夫模型的缺陷,并解決傳統(tǒng)逆變器故障診斷中識別率低及診斷速度慢的問題。
本發(fā)明是通過以下技術(shù)方案實現(xiàn)上述技術(shù)目的的。
基于改進的隱馬爾可夫模型ghmm的npc光伏逆變器故障診斷方法,其特征在于,包括以下步驟:
s1,由獲得的npc光伏逆變器的輸出電壓u和輸出電流i訓(xùn)練ghmm,具體過程如下:
s1.1,獲得用于訓(xùn)練ghmm的npc光伏逆變器的輸出電壓u和輸出電流i,包括所有已明確故障類型及正常狀態(tài)的輸出電壓u和輸出電流i;
s1.2,對s1.1獲得的所有故障狀態(tài)時的輸出電壓u和輸出電流i的值進行處理;
s1.3,建立一個ghmm:λ=(π,a,b),確定λ模型中的參數(shù)初始值;
s1.4,用遺傳算法訓(xùn)練出最優(yōu)觀測值概率矩陣b的初始值,此時λ=(π,a,b)的初始化完成;
s1.5,得到λ模型中參數(shù)π、a、b的初始值后,用baum-welch算法對參數(shù)π、a、b進行重估,得到重估后的模型
s2,由某一故障狀態(tài)時的輸出電壓u和輸出電流i值,對npc光伏逆變器故障進行診斷,具體過程如下:
s2.1,根據(jù)步驟s1完成訓(xùn)練后得到的參數(shù)π、a、b,可以得到對應(yīng)于npc光伏逆變器各故障狀態(tài)的改進的隱馬爾可夫模型;
s2.2,將待測故障狀態(tài)中的輸出電壓u與輸出電流i用s1.2的方法處理后,帶入s2.1中各故障狀態(tài)的改進的隱馬爾可夫模型,用viterbi算法求出最大的概率輸出值p(o|λ);
s2.3,概率輸出值最大的模型所對應(yīng)的狀態(tài)為當(dāng)前npc光伏逆變器所處的故障。
進一步,s1.1中在訓(xùn)練各個故障狀態(tài)的ghmm時使用對應(yīng)狀態(tài)的輸出電壓u和輸出電流i。
進一步,s1.1中用于訓(xùn)練ghmm的輸出電壓u和輸出電流i的數(shù)值,既可以是離線的數(shù)據(jù),也可以是在線監(jiān)測數(shù)據(jù)。
進一步,所述s1.2具體為:將獲得的輸出電壓u和輸出電流i值轉(zhuǎn)化為離散數(shù)值,即把輸出電壓u和輸出電流i的幅值等分為多個區(qū)域并升序排列,將各區(qū)域映射為各個離散值,在此基礎(chǔ)上確定獲得的輸出電壓u和輸出電流i值對應(yīng)的離散數(shù)值。
進一步,所述s1.3具體為:基于npc光伏逆變器的電路模型,選擇無跳躍的左右型hmm,設(shè)其隱含狀態(tài)數(shù)為4,那么轉(zhuǎn)移狀態(tài)概率矩陣
本發(fā)明的有益效果為:改進的隱馬爾可夫模型ghmm作為一種強有力的統(tǒng)計分析模型,是一種基于統(tǒng)計模式識別理論的方法,能很好地處理動態(tài)過程,本發(fā)明將改進的隱馬爾可夫模型ghmm與遺傳算法結(jié)合,用遺傳算法改善了hmm的固有缺陷,使訓(xùn)練模型達到全局最優(yōu),大幅提高了故障識別率,識別速度比傳統(tǒng)逆變器快。
附圖說明
圖1為本發(fā)明使用的改進的隱馬爾可夫模型圖;
圖2為本發(fā)明改進的隱馬爾可夫模型ghmm模型訓(xùn)練流程圖;
圖3為本發(fā)明使用的遺傳算法的流程圖;
圖4為本發(fā)明遺傳算子采用的多點交叉圖;
圖5為本發(fā)明遺傳算子采用的多點變異圖;
圖6為本發(fā)明基于改進的隱馬爾可夫模型ghmm的npc光伏逆變器故障診斷流程圖。
具體實施方式
下面結(jié)合附圖及具體實施例對本發(fā)明的技術(shù)方案進行詳細說明,但本發(fā)明的保護范圍并不限于此。
隱馬爾可夫模型有五個基本要素,即一個五元組{n,m,π,a,b}:
其中,n:模型中隱含的狀態(tài)個數(shù),n個狀態(tài)用θ1,θ2,…θn表示,某一時刻的狀態(tài)qt∈(θ1,θ2,…θn),如圖1所示;
m:各狀態(tài)對應(yīng)的觀測值數(shù)目,m個觀測值可以用v1,v2,v3…vm表示,某一時刻的觀測值ot∈(v1,v2,v3…vm),如圖1所示;
π:初始狀態(tài)概率矩陣,π∈{πi},其中:πi=p(qt=θi)1≤i≤n;
a:轉(zhuǎn)移概率矩陣,a={aij},其中:aij=p(qt+1=θj,qt=θi)1≤i,j≤n;
b:觀測值概率矩陣,b={bj(k)},其中:bj(k)=p(ot=vk,qt=θj)1≤j≤n,1≤k≤m。
為簡便,hmm簡記為λ=(π,a,b)。
hmm可以解決的三個基本問題:a)評估問題:給定觀察序列o和模型λ,如何快速地計算給定模型的條件下觀察序列的概率;b)解碼問題:給定一個觀察序列o和模型λ,怎樣尋找某種意義上最優(yōu)的隱狀態(tài)序列;c)訓(xùn)練問題:即hmm的模型參數(shù)未知,如何調(diào)整這些參數(shù)以使觀測序列的概率盡可能的大。
基于改進的隱馬爾可夫模型ghmm的npc光伏逆變器故障診斷,包括步驟:
s1,如圖2所示,由獲得的npc光伏逆變器的輸出電壓u和輸出電流i訓(xùn)練ghmm,具體過程如下:
s1.1,獲得用于訓(xùn)練ghmm的npc光伏逆變器的輸出電壓u和輸出電流i(可以是離線的數(shù)據(jù),也可以是在線監(jiān)測數(shù)據(jù)),包括所有已明確故障類型及正常狀態(tài)的輸出電壓u和輸出電流i,在訓(xùn)練各個故障狀態(tài)的ghmm時使用對應(yīng)狀態(tài)的輸出電壓u和輸出電流i。
s1.2,對s1.1獲得的所有故障狀態(tài)時的輸出電壓u和輸出電流i的值進行處理;
將獲得的輸出電壓u和輸出電流i值轉(zhuǎn)化為離散數(shù)值,即把輸出電壓u和輸出電流i的幅值等分為多個區(qū)域并升序排列,將各區(qū)域映射為各個離散值,在此基礎(chǔ)上確定獲得的輸出電壓u和輸出電流i值對應(yīng)的離散數(shù)值,即可得到每個故障狀態(tài)的觀測值ot=[u,i]。
s1.3,建立一個ghmm:λ=(π,a,b),確定λ模型中的參數(shù)初始值;
基于npc光伏逆變器的電路模型,選擇無跳躍的左右型hmm,設(shè)其隱含的狀態(tài)個數(shù)n為4,那么轉(zhuǎn)移狀態(tài)概率矩陣a如(1)所示,初始狀態(tài)概率矩陣π設(shè)置為π=[1000]。
s1.4,用遺傳算法訓(xùn)練出最優(yōu)觀測值概率矩陣b的初始值,如圖3所示。
a.編碼:對觀測值概率矩陣b的初始值進行編碼
本發(fā)明采用二進制編碼方法,觀測值概率矩陣b的初始值的取值范圍時[0,1],如果用長度為64的二進制編碼符號串來表示它,則總共能產(chǎn)生264種不同的編碼,參數(shù)編碼時的對應(yīng)關(guān)系如下:
編碼精度為:
假設(shè)某一個體的編碼是:
x:a64a63a62…a2a1(3)
編碼對應(yīng)的解碼公式為:
觀測值概率矩陣b的初始值滿足以下約束條件:
適應(yīng)度函數(shù)反映的是各個染色體的優(yōu)劣,p(o|λ)是已知觀測序列o和模型λ產(chǎn)生每種狀態(tài)序列的概率,將其優(yōu)化目標(biāo),p(o|λ)最大的染色體就是最好的染色體,通常用viterbi算法求得p(o|λ);由于本發(fā)明的識別算法也是viterbi算法,所以算法的具體步驟將在識別階段加以介紹,此處將p(o|λ)作為優(yōu)化目標(biāo),個體的適應(yīng)度用各個訓(xùn)練樣本的對數(shù)似然概率表示:
f(λ)=ln(p(o(k)|λ))(6)
其中:o(k)是訓(xùn)練模型的第k個觀測序列,p(o(k)|λ)用viterbi算法求得。
b.設(shè)計遺傳算子
遺傳算子包括雜交算子和變異算子,雜交算子相當(dāng)于一個局部搜索操作,長生父代附近的兩個子代,而變異算子則使個體能跳出當(dāng)前的局部搜索區(qū)域,兩者結(jié)合更能體現(xiàn)出遺傳算法的優(yōu)化,因此本發(fā)明采用的是多點交叉與多點變異如圖4和圖5。
c.終止準則,即最大進化代數(shù),本發(fā)明設(shè)置為150;至此,遺傳算法完成,得到最優(yōu)觀測值概率矩陣b的初始值,所以模型λ=(π,a,b)初始化完成。
s1.5,得到λ模型中參數(shù)π、a、b的初始值后,用baum-welch算法對參數(shù)π、a、b進行重估,得到重估后的模型
首先,定義一個變量ξt(i,j),表示在觀測序列o和模型λ存在的條件下,馬爾可夫模型hmm在t時刻處于θi狀態(tài)且在t+1時刻處于θj的概率,即
ξt(i,j)=p(o,qt=θi,qt+1=θj|λ)(7)
定義αt(i)為在t時刻生成部分觀測序列o={o1,o2,...,ot}的概率,βt(i)為在t時刻生成部分觀測序列o={ot+1,ot+2,...,ot}(t為時間長度)的概率,則式(7)變形為:
ξt(i,j)=[αt(i)aijbj(ot+1)βt+1(j)]/p(o|λ)(8)
所以馬爾可夫模型hmm在t時刻處于狀態(tài)θi的概率為:
其中:
baum-welch算法重估公式為:
得到重估后的模型
s2,如圖6所示,由某一故障狀態(tài)時的輸出電壓u和輸出電流i值,對npc光伏逆變器故障進行診斷,具體過程如下:
s2.1,根據(jù)步驟s1完成訓(xùn)練后得到的參數(shù)π、a、b,可以得到對應(yīng)于npc光伏逆變器各故障狀態(tài)的改進的隱馬爾可夫模型。
s2.2,將待測故障狀態(tài)中的輸出電壓u與輸出電流i用s1.2的方法處理后,帶入s2.1中各故障狀態(tài)的改進的隱馬爾可夫模型,用viterbi算法求出最大的概率輸出值p(o|λ);
方法如下;
首先定義一個變量δt(i):
表示在t時刻,沿著一條路徑抵達狀態(tài)si,并生成觀測序列{o1,o2,…ot}得最大概率;
δt(i)可以用迭代算法進行計算:
(1)初始化:
δt(i)=πibi(o1),1≤i≤n1(14)
初始化迭代步數(shù)ψ1(i)=0;
(2)迭代計算
(3)最后計算
此處的p就是所要求的最大的概率輸出值p(o|λ)。
s2.3,概率輸出值最大的模型所對應(yīng)的狀態(tài)為當(dāng)前npc光伏逆變器所處的故障。
以上實施例僅用于說明本發(fā)明的設(shè)計思想和特點,其目的在于使本領(lǐng)域內(nèi)的技術(shù)人員能夠了解本發(fā)明的內(nèi)容并據(jù)以實施,本發(fā)明的保護范圍不限于上述實施例。所以,凡依據(jù)本發(fā)明所揭示的原理、設(shè)計思路所作的等同變化或修飾,均在本發(fā)明的保護范圍之內(nèi)。