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