本發(fā)明涉及信號分析處理技術(shù)領(lǐng)域,特別是涉及一種基于差分進(jìn)化算法的分?jǐn)?shù)階希爾伯特變換階次優(yōu)化方法。
背景技術(shù):
希爾伯特變換在信號處理中是重要的分析方法,通常用于瞬時(shí)參數(shù)的計(jì)算和窄帶信號的表示。它將一個(gè)實(shí)信號變換為對應(yīng)的解析信號,使信號只包含正頻率部分,從而降低信號的采樣率。希爾伯特變換定義為幅度相等、相移±90°的空間濾波器,對輸入信號進(jìn)行希爾伯特變換可有效地提取其包絡(luò),然后對包絡(luò)信號進(jìn)行頻域分析則可以獲得特征頻率。
分?jǐn)?shù)階希爾伯特變換(fht)定義為不同分?jǐn)?shù)階次(-2~2)下幅度相等、相移-90°~90°的改良型空間濾波器,利用較優(yōu)階次對信號進(jìn)行分?jǐn)?shù)階希爾伯特變換包絡(luò)分析,可以獲得更顯著的特征頻率。而分?jǐn)?shù)階希爾伯特變換的階次優(yōu)化性成為信號分析時(shí)評估特征頻率顯著性的主要依據(jù)。在信號分析處理技術(shù)的發(fā)展中,對信號特征頻率顯著性的要求越來越高,因此信號進(jìn)行包絡(luò)分析時(shí)對分?jǐn)?shù)階希爾伯特變換的階次的優(yōu)化性提出了比較苛刻的要求。
如圖1所示,分?jǐn)?shù)階希爾伯特變換階次優(yōu)化的傳統(tǒng)方法的基本思想是,設(shè)置步進(jìn)精度使階次從-2至2等間隔改變,然后信號分析對比后得到優(yōu)化后的階次。步進(jìn)精度即間隔為a,取值范圍為-2~2,a值越小精度越高,最終階次的誤差則越小。信號分析方法的步驟為先在當(dāng)前階次p下進(jìn)行信號fht,然后對信號包絡(luò)進(jìn)行峭度(k)計(jì)算,峭度最大的階次為最終階次。
假設(shè)設(shè)置步進(jìn)間隔a=0.01,首先讀取輸入的信號數(shù)據(jù)并初始化當(dāng)前階次p=0和目前最終階次pm=0。然后進(jìn)入for循環(huán)在當(dāng)前階次p下進(jìn)行信號fht和峭度分析,若當(dāng)前階次p比目前最終階次pm更好,則令pm=p;否則跳過此步驟使當(dāng)前階次p加一步進(jìn)間隔a,進(jìn)入下一階次的循環(huán)中。若階次溢出即p大于1則完成優(yōu)化結(jié)束程序,pm為獲得的fht的優(yōu)化后的階次。最后利用最終階次pm對振動信號進(jìn)行分?jǐn)?shù)階希爾伯特變換和包絡(luò)分析得到特征頻率。
傳統(tǒng)分?jǐn)?shù)階希爾伯特變換階次優(yōu)化方法,程序的運(yùn)行時(shí)間取決于階次精度的設(shè)置,尋求階次的更優(yōu)是以犧牲運(yùn)行時(shí)間為代價(jià)的。造成這種現(xiàn)象的原因,是程序利用for循環(huán)將步進(jìn)精度范圍內(nèi)的每一個(gè)階次全部遍歷一遍,這樣步進(jìn)精度設(shè)置的越高(a越小),for循環(huán)的次數(shù)越多,階次優(yōu)化的時(shí)間則越長。并且步進(jìn)精度每高一個(gè)數(shù)量級時(shí),程序的運(yùn)行時(shí)間也會相應(yīng)的高出一個(gè)數(shù)量級。如想得到10-6精度的優(yōu)化階次,則需要進(jìn)行106次的計(jì)算。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明針對現(xiàn)有分?jǐn)?shù)階希爾伯特變換階次優(yōu)化方法的程序運(yùn)行時(shí)間長、效率低的技術(shù)問題,提供一種程序運(yùn)行時(shí)間短、效率高的基于差分進(jìn)化算法的分?jǐn)?shù)階希爾伯特變換階次優(yōu)化方法。
為此,本發(fā)明提供一種基于差分進(jìn)化算法的分?jǐn)?shù)階希爾伯特變換階次優(yōu)化方法,包括以下步驟:
步驟1,讀取需要處理的信號數(shù)據(jù),存入待處理的寄存器中,選擇需要優(yōu)化的階次參數(shù),設(shè)置優(yōu)化的收斂精度,即允許的最大誤差;
步驟2,使用差分進(jìn)化算法,設(shè)置合適的算法參數(shù)和迭代次數(shù),初始化種群,循環(huán)進(jìn)行變異操作、交叉操作、峭度分析和選擇操作來優(yōu)化分?jǐn)?shù)階階次,直到滿足設(shè)置的收斂精度或達(dá)到最大迭代次數(shù);
步驟3,對信號進(jìn)行頻域分析處理,使用優(yōu)化后的階次對信號進(jìn)行分?jǐn)?shù)階希爾伯特變換,得到變換后的包絡(luò)信號,對包絡(luò)信號進(jìn)行快速傅里葉變換,得到優(yōu)化后的頻譜信號和特征頻率。
優(yōu)選地,步驟2中初始化種群是在變量允許范圍內(nèi)隨機(jī)生成,其表達(dá)式如下:
其中,rand()是0至1范圍內(nèi)的隨機(jī)數(shù),
xg=xi,g={xi1,g,xi2,g,…,xidim,g}(1)
其中,i=1,2,…,np,g=1,2,…,gm;gm代表最大進(jìn)化數(shù)。
優(yōu)選地,步驟2中差分變異操作的表達(dá)式如下:
vi,g+1=xr1,g+f×(xr2,g-xr3,g)(3)
其中r1,r2,r3∈[1,np],是隨機(jī)抽取的整數(shù),且滿足i≠r1≠r2≠r3,vi,g+1表示變異矢量,f是變異算子。
優(yōu)選地,步驟2中交叉操作表達(dá)式如下:
其中,
優(yōu)選地,在當(dāng)前優(yōu)化過程的階次下,對信號進(jìn)行分?jǐn)?shù)階希爾伯特變換得到包絡(luò)信號,然后利用快速傅里葉變換對包絡(luò)信號進(jìn)行頻域分析,之后對變換得到的頻域信號進(jìn)行步驟2中的峭度分析計(jì)算,其表達(dá)式如下:
其中,
優(yōu)選地,步驟2中選擇操作的表達(dá)式如下:
其中,
優(yōu)選地,為保證
本發(fā)明的有益效果是,利用差分進(jìn)化算法,通過變異操作、交叉操作、峭度分析和選擇操作來優(yōu)化分?jǐn)?shù)階階次,計(jì)算300次左右即可達(dá)到10-6精度,相比于傳統(tǒng)方法的106次運(yùn)算,算法處理速度明顯提升,能夠高效率地完成分?jǐn)?shù)階希爾伯特變換的階次優(yōu)化,同時(shí)具有良好的精度和高魯棒性。
附圖說明
圖1是傳統(tǒng)分?jǐn)?shù)階希爾伯特變換階次優(yōu)化方法流程圖;
圖2是基于差分進(jìn)化算法的分?jǐn)?shù)階希爾伯特變換階次優(yōu)化方法流程圖。
具體實(shí)施方式
下面結(jié)合實(shí)施例對本發(fā)明做進(jìn)一步描述。
如圖2所示,本發(fā)明一種基于差分進(jìn)化算法的分?jǐn)?shù)階希爾伯特變換階次優(yōu)化方法,具體步驟如下:
步驟1,讀取需要處理的信號數(shù)據(jù),存入待處理的寄存器中。選擇需要優(yōu)化的階次參數(shù),設(shè)置優(yōu)化的收斂精度,即允許的最大誤差。
步驟2,使用差分進(jìn)化算法(de),設(shè)置合適的算法參數(shù)和迭代次數(shù),初始化種群,循環(huán)進(jìn)行變異操作、交叉操作、峭度分析和選擇操作來優(yōu)化分?jǐn)?shù)階階次,直到滿足設(shè)置的收斂精度或達(dá)到最大迭代次數(shù)。其中,具體包括以下步驟:
(1)初始化種群:種群中的每一個(gè)個(gè)體代表問題的一個(gè)解。第g代種群包含np數(shù)量的個(gè)體,每個(gè)個(gè)體有dim維。其表達(dá)式如下:
xg=xi,g={xi1,g,xi2,g,…,xidim,g}(1)
其中,i=1,2,…,np,g=1,2,…,gm,gm代表最大進(jìn)化數(shù)。
初始種群是在變量允許范圍內(nèi)隨機(jī)生成,表達(dá)式如下:
其中,rand()是0至1范圍內(nèi)的隨機(jī)數(shù),
(2)差分變異操作。差分進(jìn)化算法采用差分策略產(chǎn)生變異個(gè)體,采用二項(xiàng)交叉模式,從上一代種群中隨機(jī)選擇3個(gè)個(gè)體xi1,xi2,xi3,i≠r1≠r2≠r3,將其中兩個(gè)個(gè)體向量差縮放后與待變異個(gè)體進(jìn)行向量合成,表達(dá)式如下:
vi,g+1=xr1,g+f×(xr2,g-xr3,g)(3)
其中,r1,r2,r3∈[1,np],是隨機(jī)抽取的整數(shù),滿足i≠r1≠r2≠r3,vi,g+1表示變異矢量,f是變異算子,它對差分矢量進(jìn)行縮放,從而控制搜索步長。
(3)交叉操作:交叉算子把通過變異操作得到的變異矢量vi,g+1與個(gè)體目標(biāo)矢量
其中,
為保證
(4)峭度分析:在當(dāng)前優(yōu)化過程的階次下,對信號進(jìn)行分?jǐn)?shù)階希爾伯特變換得到包絡(luò)信號,然后利用快速傅里葉變換對包絡(luò)信號進(jìn)行頻域分析,然后對變換得到的頻域信號進(jìn)行峭度(k)計(jì)算,其表達(dá)式如下:
其中,
(5)選擇操作:在經(jīng)過峭度分析得到當(dāng)前向量的峭度之后,選擇操作采用貪婪篩選算子,以峭度為標(biāo)準(zhǔn),將當(dāng)前向量和目標(biāo)向量進(jìn)行比較,較優(yōu)者保存到下一代,貪婪篩選算子表達(dá)式如下:
其中,
基于de的方法,計(jì)算300次左右即可達(dá)到10-6精度,相比于傳統(tǒng)方法的106次運(yùn)算,算法處理速度明顯提升。
步驟3,對信號進(jìn)行頻域分析處理,使用優(yōu)化后的階次對信號進(jìn)行分?jǐn)?shù)階希爾伯特變換,得到變換后的包絡(luò)信號,對包絡(luò)信號進(jìn)行快速傅里葉變換(fft),得到優(yōu)化后的頻譜信號和特征頻率。
利用差分進(jìn)化算法,通過變異操作、交叉操作、峭度分析和選擇操作來優(yōu)化分?jǐn)?shù)階階次,計(jì)算速度快并且保持了良好的精度,解決了傳統(tǒng)方法以犧牲運(yùn)行時(shí)間為代價(jià)來獲得更優(yōu)階次的缺點(diǎn)。采用該方法,能夠高效率地完成分?jǐn)?shù)階希爾伯特變換的階次優(yōu)化,同時(shí)具有良好的精度和高魯棒性。
惟以上者,僅為本發(fā)明的具體實(shí)施例而已,當(dāng)不能以此限定本發(fā)明實(shí)施的范圍,故其等同組件的置換,或依本發(fā)明專利保護(hù)范圍所作的等同變化與修改,皆應(yīng)仍屬本發(fā)明權(quán)利要求書涵蓋之范疇。