本發(fā)明涉及一種信號包絡(luò)線提取方法,尤其涉及一種尺度參數(shù)控制可調(diào)的信號包絡(luò)線提取方法。
背景技術(shù):
信號的包絡(luò)線即是信號的外輪廓,包絡(luò)線分析方法是工程信號處理中常用且有效的一種信號分析方法,尤其是在往復(fù)機(jī)械振動信號分析以及機(jī)械故障診斷分析中具有非常重要的作用。很多的工程實(shí)際信號(尤其是往復(fù)機(jī)械振動信號)波形非常復(fù)雜,多為包含多個(gè)局部沖擊的非平穩(wěn)信號,直接對信號分析處理的難度較大,但其包絡(luò)線具有一定的規(guī)律或一定的趨勢,對包絡(luò)線進(jìn)一步分析可以獲取很多有用的信息。例如,內(nèi)燃機(jī)缸蓋振動信號屬于典型的準(zhǔn)周期非平穩(wěn)信號,其中包含了多個(gè)局部沖擊,直接對信號進(jìn)行時(shí)域分析、頻域分析甚至?xí)r頻分析等的復(fù)雜度較大,且難以獲取直觀有效的規(guī)律特征,但振動信號整周期的包絡(luò)線具有清晰直觀的波形特征,且各周期的振動信號包絡(luò)線具有顯著的相似性,便于對異常振動沖擊的出現(xiàn)和沖擊特征的變化進(jìn)行檢測,此外通過對包絡(luò)線進(jìn)一步分析可以有效獲取各個(gè)沖擊出現(xiàn)的相位和沖擊的能量。
描繪出合適的包絡(luò)線是進(jìn)行包絡(luò)分析的關(guān)鍵所在,也是保證包絡(luò)分析有效性的前提條件。其難點(diǎn)在于如何通過算法實(shí)現(xiàn)自動描繪出符合工程信號處理需要的包絡(luò)線,且能夠通過少量的參數(shù)控制包絡(luò)線特性,如本方法中僅通過一個(gè)參數(shù)控制包絡(luò)線的平滑程度等特性。
目前對信號包絡(luò)線提取的方法主要包括兩大類:一類是直接提取原始信號的特征點(diǎn),再通過插值方法將特征點(diǎn)連接起來構(gòu)成包絡(luò)線,如emd分解中采用的利用一階極值點(diǎn)求取信號包絡(luò)線的方法,即提取信號中的極大(小)值點(diǎn)后通過三次樣條插值的方法求取信號的上(下)包絡(luò)線,此外也包絡(luò)二階極值或多階極值作為特征點(diǎn),并通過其它各類插值方法進(jìn)行連線的方法。二類是通過解調(diào)的方法將信號中的低頻信號分離出來作為原始信號的包絡(luò)線,如hilbert變換和小波變換進(jìn)行包絡(luò)解調(diào)求取低頻包絡(luò)線的方法。上述兩類方法中,第一類較為簡單直接,計(jì)算量小,對各類信號的適應(yīng)性也很強(qiáng),但經(jīng)常出現(xiàn)包絡(luò)線光滑性不好(如存在“折點(diǎn)”)或緊密貼合性不好(如“過沖”失真)等顯著缺陷問題,更重要的是在出現(xiàn)上述問題后,現(xiàn)有傳統(tǒng)方法難以在不改變包絡(luò)算法的情況下僅通過控制某一參數(shù)來達(dá)到連續(xù)調(diào)整包絡(luò)線性能的目的。而第二類方法中,直接用hilbert變換提取的機(jī)械沖擊信號的包絡(luò)往往不夠光滑,存在的毛刺很多,含有大量的高頻分量;而小波變換求包絡(luò)的方法雖然可以通過調(diào)整尺度參數(shù)獲得不同光滑程度的包絡(luò)線,但具有確切表達(dá)式的基函數(shù)導(dǎo)致其自適應(yīng)能力較差,使得對任意非平穩(wěn)、非線性信號的處理能力有限;此外,第二類方法的計(jì)算較為復(fù)雜,計(jì)算量較大,在一些數(shù)據(jù)量大且要求實(shí)時(shí)多次計(jì)算或循環(huán)計(jì)算包絡(luò)線的場合難以得到有效應(yīng)用。
本發(fā)明充分分析了現(xiàn)有傳統(tǒng)方法求取包絡(luò)線的優(yōu)缺點(diǎn),提出一種尺度參數(shù)控制可調(diào)的信號包絡(luò)線提取方法,該方法同時(shí)兼顧了上述兩類方法的優(yōu)點(diǎn),其本質(zhì)上屬于上述第一類方法,但同時(shí)具備可通過調(diào)整尺度參數(shù)來達(dá)到連續(xù)控制包絡(luò)線光滑性的能力。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于針對現(xiàn)有傳統(tǒng)的信號包絡(luò)線提取方法存在的缺點(diǎn)和不足,提供一種簡單有效的尺度參數(shù)控制可調(diào)的信號包絡(luò)線提取方法。這種方法不僅計(jì)算簡單、適應(yīng)性強(qiáng),并且具備僅調(diào)整單個(gè)尺度參數(shù)即可連續(xù)控制包絡(luò)線光滑性的能力。
本發(fā)明的目的通過以下技術(shù)方案實(shí)現(xiàn)(以上包絡(luò)線為例,下包絡(luò)線同理):本發(fā)明首先提取原信號中的極大值點(diǎn)(一階極大值點(diǎn)或多階極大值點(diǎn))構(gòu)成一組特征點(diǎn);然后求取該組特征點(diǎn)的極小值,并計(jì)算每個(gè)極小值點(diǎn)處的某一個(gè)或多個(gè)特征值,若該特征值滿足預(yù)設(shè)條件則將其從該組特征點(diǎn)中剔除,得到新的特征點(diǎn)序列;再對新的特征點(diǎn)序列重復(fù)上一步驟,循環(huán)剔除部分特征點(diǎn),直到連續(xù)兩次循環(huán)得到的特征點(diǎn)個(gè)數(shù)只差不大于1(或其它正整數(shù));最后將最終得到的特征點(diǎn)序列通過插值的方法連接起來,得到信號的上包絡(luò)線。其中,特征點(diǎn)的剔除條件由尺度參數(shù)控制,從而達(dá)到調(diào)整單一參數(shù)即可連續(xù)控制包絡(luò)線光滑性的目的。
1、一種尺度參數(shù)控制可調(diào)的信號包絡(luò)線提取方法,其特征在于包括以下步驟:
(1)提取原信號中的極大值點(diǎn),構(gòu)成一組特征點(diǎn)序列;
(2)提取上述特征點(diǎn)序列中所有極小值點(diǎn),計(jì)算上述每個(gè)極小值點(diǎn)處的特征值;并將上述特征值滿足給定條件的極小值點(diǎn)從上述特征點(diǎn)序列中剔除,形成新的上述特征點(diǎn)序列;
(3)在上述新的特征點(diǎn)序列中再次尋找極小值點(diǎn),剔除上述特征值滿足設(shè)定條件的極小值點(diǎn);循環(huán)剔除上述特征點(diǎn)序列中的部分點(diǎn),直到滿足循環(huán)終止條件,得到最終的特征點(diǎn)序列;
(4)將最終得到的上述新特征點(diǎn)序列在原始信號中進(jìn)行插值,將上述特征點(diǎn)序列和插值點(diǎn)連線得到上包絡(luò)線。
或者
(1)提取原信號中的極小值點(diǎn),構(gòu)成一組特征點(diǎn)序列;
(2)提取上述特征點(diǎn)序列中所有極大值點(diǎn),計(jì)算上述每個(gè)極大值點(diǎn)處的特征值;并將上述特征值滿足給定條件的極大值點(diǎn)從上述特征點(diǎn)序列中剔除,形成新的上述特征點(diǎn)序列;
(3)在上述新的特征點(diǎn)序列中再次尋找極大值點(diǎn),剔除上述特征值滿足設(shè)定條件的極大值點(diǎn);循環(huán)剔除上述特征點(diǎn)序列中的部分點(diǎn),直到滿足循環(huán)終止條件,得到最終的特征點(diǎn)序列;
(4)將最終得到的上述新特征點(diǎn)序列在原始信號中進(jìn)行插值,將上述特征點(diǎn)序列和插值點(diǎn)連線得到下包絡(luò)線。
步驟(2)中的特征值char(a)(k)的計(jì)算公式為:
char(a)(k)=c(a)(k)-d(a)(k)
其中,c(a)(k)表示在橫坐標(biāo)伸縮尺度為a的情況下,三個(gè)點(diǎn)通過三點(diǎn)作圓求得的圓心縱坐標(biāo),上述三個(gè)點(diǎn)為:上述步驟(2)極值點(diǎn)及該極值在步驟(1)所述特征點(diǎn)序列中前后相鄰的兩個(gè)點(diǎn)。d(a)(k)表示在橫坐標(biāo)伸縮尺度為a的情況下,上述步驟(2)極值點(diǎn)在步驟(1)所述特征點(diǎn)序列前后兩點(diǎn)的連線在上述極值點(diǎn)處的線性插值。
且特征值char(a)(k)不大于0。
步驟(3)中的循環(huán)終止條件為:連續(xù)兩次形成的新特征點(diǎn)序列的長度之差不大于給定個(gè)數(shù)n_stop。n_stop一般取1-10之間的正整數(shù),包括1-10。
以下對本發(fā)明作進(jìn)一步的說明,包括如下步驟(仍以上包絡(luò)線為例,下包絡(luò)線同理):
第一步,提取原信號s(i)中的極大值點(diǎn)(一階極大值點(diǎn)或多階極大值點(diǎn)),構(gòu)成一組特征點(diǎn)序列y1(j),并記錄其在原信號中的位置序列x1(j);
第二步,計(jì)算y1(j)的極小值序列y2(k),并記錄其在x1(j)中的位置序列x2(k),則其在原信號s(i)中的位置序列x1(x2(k)),計(jì)算點(diǎn)(x1(x2(k)),y2(k))處的特征值char(a)(k):
char(a)(k)=c(a)(k)-d(a)(k)(1)
其中c(a)(k)表示點(diǎn)(x2(k),y2(k))及其在(x1(j),y1(j))序列中與其相鄰的前后兩點(diǎn),在橫坐標(biāo)伸縮比例為a的情況下,通過三點(diǎn)作圓求得的圓心縱坐標(biāo);d(a)(k)表示在橫坐標(biāo)伸縮比例為a的情況下,以特征點(diǎn)在原信號s(i)的位置序列作為橫坐標(biāo),點(diǎn)(x2(k),y2(k))在(x1(j),y1(j))序列中與其相鄰的前后兩點(diǎn)連線在x1(x2(k))處的線性插值。
若char(a)(k)<0,則將該點(diǎn)(x2(k),y2(k))從(x1(j),y1(j))序列中剔除。
此處為給出c(a)(k)和d(a)(k)的表達(dá)式及其隨橫軸伸縮系數(shù)a的變化規(guī)律,給出以下計(jì)算過程:
設(shè)平面中三點(diǎn)坐標(biāo)分別是(x1,y1)、(x2,y2)、(x3,y3),其中x1<x2<x3,y1>y2,y2<y3,此三點(diǎn)確定的圓心坐標(biāo)為(xc,yc);(x1,y1)、(x3,y3)兩點(diǎn)連線在x2處的線性插值為yi,則:
?。?/p>
x1=x1-x2,x3=x3-x2,xc=xc-x2;y1=y(tǒng)1-y2,y3=y(tǒng)3-y2,yc=y(tǒng)c-y2;(4)
則:
x1<0,x3>0;y1>0,y3>0;(5)
將(4)中各式帶入(2)中,得:
由(5)可知:
yc>0
(8)
若令x′=a·x(a>0),則得到新的圓心縱坐標(biāo)yc′及插值點(diǎn)縱坐標(biāo)yi′:
yi′=y(tǒng)i
(10)
由(5)得:
因此:a=1時(shí),yc′=y(tǒng)c>0;
a>1時(shí),yc′>yc>0;
0<a<1時(shí),0<yc′<yc;
根據(jù)以上計(jì)算可知:一方面,可以通過調(diào)節(jié)尺度參數(shù)a(a>0)的方法來調(diào)整三點(diǎn)作圓的圓心位置,并且當(dāng)尺度參數(shù)a大于1時(shí),隨著a的增大,圓心位置提高;當(dāng)尺度參數(shù)a小于1時(shí),隨著尺度參數(shù)a的減小,圓心位置下降。另一方面,插值點(diǎn)的縱坐標(biāo)不會隨著尺度參數(shù)a的變化而變化,因此插值點(diǎn)可以作為不動的參考點(diǎn)。
為便于后續(xù)分析,此處需要證明:無論a(a>0)取何值,存在yc′始終大于yi。
由公式(9)中yc′的表達(dá)式可知,雖然a=0的情況在公式推導(dǎo)的過程中會導(dǎo)致推導(dǎo)過程中某些式子的分母為零,但最終結(jié)果均能夠?qū)從分母中約掉,又由于在題設(shè)情況下,yc′是a的增函數(shù),所以可在yc′中直接令a=0獲得趨近于零時(shí)的yc′的最小值。
將a=0帶入公式(9),并將yc′與yi相減可得:
由公式(5)可知:公式(11)等號右邊的分母始終小于零,若要證明存在yc'>yi恒成立,則只需證明存在(x1,y1)和(x2,y2),使得(x1y32+x3y12)(x3+x1)-4x1x3y1y3<0即可。
根據(jù)(5)可設(shè):x1=-αx3;y1=βy3,其中α>0,β>0,由于在隨機(jī)信號中,x1,y1,x2,y2是四個(gè)獨(dú)立的變量,則α,β可以取任意正實(shí)數(shù)。則公式(11)等號右邊分子部分可化簡為:
則容易看出在α介于β2與1之間,并且β足夠小(趨于0)(例如:β=0.1,α=0.5)或β足夠大(趨于正無窮)(例如β=10,α=5)時(shí),式(12)均可以小于0。綜上可知,存在(x1,y1)、(x2,y2)、(x3,y3)(x1<x2<x3,y1>y2,y2<y3)使得無論縮放系數(shù)a如何變化,yc>yi恒成立。
基于以上計(jì)算過程,并且為便于計(jì)算,令:
x1(x2(k)-1)=x1(x2(k)-1)-x1(x2(k))
x1(x2(k)+1)=x1(x2(k)+1)-x1(x2(k))
y1(x2(k)-1)=y(tǒng)1(x2(k)-1)-y1(x2(k))
y1(x2(k)+1)=y(tǒng)1(x2(k)+1)-y1(x2(k))
可以得到ca(k)和da(k)的表達(dá)式:
第三步,將序列y1(j)中滿足式(1)條件的特征點(diǎn)剔除后,形成新的一組序列,并重復(fù)第二步,循環(huán)剔除滿足條件的點(diǎn),直到連續(xù)兩次剔除的點(diǎn)數(shù)不大于n_stop。
第四步,將經(jīng)上述第二步和第三步驟后仍保留下來的點(diǎn),用插值的方法連接起來,作為信號的上包絡(luò)線。
本發(fā)明中,ca(k)是尺度參數(shù)a(a>0)的函數(shù),da(k)與a無關(guān)??梢酝ㄟ^調(diào)整尺度參數(shù)控制信號中某些特征點(diǎn)是否被剔除,當(dāng)a增大時(shí),則ca(k)增大,被踢出的特征點(diǎn)數(shù)量減少,得到的曲線更不平滑(即更接近極值點(diǎn)包絡(luò)線);當(dāng)a減小時(shí),則ca(k)減小,被踢出的特征點(diǎn)數(shù)量增加,得到的曲線更平滑,并且存在永遠(yuǎn)無法剔除的特征點(diǎn),即通過改變尺度參數(shù)a得到的一族包絡(luò)線中存在“最光滑”包絡(luò)線的極限情況。同時(shí),同一參數(shù)a保證了在整個(gè)信號長度范圍內(nèi),信號在同一尺度下進(jìn)行包絡(luò)提取。
附圖說明
圖1內(nèi)燃機(jī)振動原始波形
圖2a本發(fā)明中尺度參數(shù)為10的包絡(luò)線
圖2b本發(fā)明中尺度參數(shù)為10的包絡(luò)線細(xì)化波形
圖3a本發(fā)明中尺度參數(shù)為1的包絡(luò)線
圖3b本發(fā)明中尺度參數(shù)為1的包絡(luò)線細(xì)化波形
圖4a本發(fā)明中尺度參數(shù)為0.1的包絡(luò)線
圖4b本發(fā)明中尺度參數(shù)為0.1的包絡(luò)線細(xì)化波形
圖5a本發(fā)明中尺度參數(shù)為0的包絡(luò)線及其細(xì)化波形
圖5b本發(fā)明中尺度參數(shù)為0的包絡(luò)線細(xì)化波形
圖6a一階極值包絡(luò)線
圖6b一階極值包絡(luò)線細(xì)化波形
圖7ahilbert變換所求包絡(luò)線
圖7bhilbert變換所求包絡(luò)線的細(xì)化波形
具體實(shí)施方式
為了更好地了解本發(fā)明的技術(shù)方案,以下結(jié)合附圖對本發(fā)明的具體實(shí)施方式作進(jìn)一步的詳細(xì)說明。
第一步,內(nèi)燃機(jī)缸蓋振動整周期信號s(i),如圖1所示,提取s(i)的極大(小)值點(diǎn),構(gòu)成一組特征點(diǎn)序列y1(j),并記錄其在原信號s(i)中的位置序列x1(j);
第二步,計(jì)算y1(j)的極小(大)值序列y2(k),并記錄其在x1(j)中的位置序列x2(k),則其在原信號s(i)中的位置序列x1(x2(k)),計(jì)算點(diǎn)(x1(x2(k)),y2(k))處的特征值char(a)(k),
char(a)(k)=c(a)(k)-d(a)(k)
其中:
x1(x2(k)-1)=x1(x2(k)-1)-x1(x2(k))
x1(x2(k)+1)=x1(x2(k)+1)-x1(x2(k))
y1(x2(k)-1)=y(tǒng)1(x2(k)-1)-y1(x2(k))
y1(x2(k)+1)=y(tǒng)1(x2(k)+1)-y1(x2(k))
若滿足char(a)(k)<0條件,則將該點(diǎn)(x2(k),y2(k))從(x1(j),y1(j))序列中剔除,形成新的上述特征點(diǎn)序列;
第三步,將上述第二步得到的新的特征點(diǎn)序列中再次尋找極小(大)值點(diǎn),剔除上述特征值滿足設(shè)定條件的極小(大)值點(diǎn),再次形成新的特征點(diǎn)序列,循環(huán)剔除滿足char(a)(k)<0條件的點(diǎn),直到連續(xù)兩次形成的新特征點(diǎn)序列的長度之差不大于給定個(gè)數(shù)n_stop。
第四步,將經(jīng)上述第(2)步和第(3)步驟后仍保留下來的點(diǎn),用插值的方法連接起來,作為信號的上(下)包絡(luò)線。
分別將尺度參數(shù)設(shè)置為a=10,a=1,a=0.1,a=0,得到四種包絡(luò)線的波形,如圖2-圖5所示;此外,圖6為利用一階極值求包絡(luò)的方法求得的包絡(luò)線,圖7為hilbert變換求包絡(luò)的方法求得的包絡(luò)線,容易看出:與傳統(tǒng)的求包絡(luò)線的方法相比本發(fā)明的包絡(luò)線提取方法簡潔靈活,可根據(jù)求取包絡(luò)線的目的及平滑性要求,僅通過修改單一的尺度參數(shù)就可以控制包絡(luò)線的平滑性。