楊正理, 史 文, 陳海霞
(三江學(xué)院機(jī)械與電氣工程學(xué)院 南京,210012)
機(jī)械振動信號中蘊(yùn)含了設(shè)備運(yùn)行的豐富信息,所以常用于對設(shè)備進(jìn)行故障診斷和狀態(tài)監(jiān)測[1]。然而機(jī)械振動信號為動態(tài)復(fù)雜非平穩(wěn)信號,具有較高頻率。為了對機(jī)械振動信號實現(xiàn)不失真還原,根據(jù)傳統(tǒng)的奈奎斯特采樣定理,必須以不小于兩倍振動信號帶寬的頻率進(jìn)行全采樣,這必然會產(chǎn)生海量數(shù)據(jù),為信號的存儲、傳輸和重構(gòu)帶來很多困難[2]。
壓縮感知(compressed sensing,簡稱CS)理論為解決這一問題提供了良好解決方案[3-4],并在機(jī)械振動信號處理領(lǐng)域成為諸多學(xué)者研究的熱點,且取得了很大的研究成果。文獻(xiàn)[5]基于字典學(xué)習(xí)對軸承故障時的機(jī)械振動信號特征進(jìn)行提取,解決了故障信號中的沖擊成分微弱容易被噪聲覆蓋的問題,滿足了軸承實時故障監(jiān)測需求。文獻(xiàn)[6]基于K-奇異值分解(K-singular value decomposition,簡稱K-SVD)構(gòu)造過完備字典實現(xiàn)振動信號精確重構(gòu)方法,提高了信號的壓縮率和重構(gòu)性能。文獻(xiàn)[7]提出了一種基于K-SVD改進(jìn)算法的字典更新方法,算法每次奇異分解后同時對多列字典原子進(jìn)行更新,減少了迭代次數(shù),在保證信號重構(gòu)質(zhì)量的前提下有效縮短了字典訓(xùn)練的時間消耗。文獻(xiàn)[8]提出了基于稀疏編碼判別軸承故障的診斷方法,通過引入Fisher準(zhǔn)則,在頻域?qū)收闲盘栠M(jìn)行處理,提高了故障診斷的準(zhǔn)確率。文獻(xiàn)[9]提出基于提升小波的自適應(yīng)CS方法,利用小波系數(shù)的稀疏度對提升小波的濾波器和分解尺度進(jìn)行選取,優(yōu)化了提升小波參數(shù),提高了機(jī)械振動信號的重構(gòu)速度。
然而,目前對機(jī)械振動信號的CS仍存在一些不足:①CS的采樣率確定沒有和信號的重構(gòu)精度形成有效的閉環(huán)效果,無法實現(xiàn)對信號重構(gòu)精度進(jìn)行預(yù)控制,從而可能丟失一些重要信息;②時域下的機(jī)械振動信號表現(xiàn)復(fù)雜,當(dāng)分段對其進(jìn)行CS時,由于各分段信號信息特征差異較大,傳統(tǒng)的稀疏字典無法滿足不同信號段的稀疏要求,從而使重構(gòu)后的信號整體效果無法保證;③傳統(tǒng)的稀疏變換方法,如離散傅立葉變換、離散小波變換(discrete wavelet transformation,簡稱DWT)、曲波變換、離散余弦變換(discrete cosine transform,簡稱DCT)等,信號處理過程不夠精細(xì),稀疏度不夠高,且容易丟失原始信號的特征信息,影響了信號的重構(gòu)效果和壓縮率。
針對上述問題,筆者提出了一種稀疏度擬合的自適應(yīng)機(jī)械振動信號CS方法。首先,對機(jī)械振動信號進(jìn)行多尺度小波包變換,由于信號的高、低頻部分被同步分解,既保留了更多原始信號特征,也使信號的稀疏度和信號重構(gòu)精度得到提高;然后,采用自適應(yīng)方法確定信號采樣率,使各信號段的重構(gòu)精度滿足實用要求,并在此基礎(chǔ)上盡可能降低信號的采樣率;最后,采用K-SVD算法構(gòu)建包含信號特征的過完備字典,使各信號塊的稀疏度和重構(gòu)精度進(jìn)一步得到提高。
當(dāng)機(jī)械振動信號較長或者連續(xù)測量時,需要對信號進(jìn)行分段處理,設(shè)某一信號段為x,對其進(jìn)行CS處理主要包括信號采集、信號傳輸和信號重構(gòu)3部分,處理過程如圖1所示。
圖1 信號CS與重構(gòu)過程Fig.1 Signal CS and reconstruction process
根據(jù)CS理論,設(shè)有限長一維信號x∈RN在某一變換域是稀疏的,則信號x在該變換域下的稀疏表示為
x=Ψs
(1)
其中:Ψ∈RN×N為正交基矩陣;s∈RN×1為稀疏變換向量。
對信號x進(jìn)行稀疏表示后,再對其進(jìn)行M次線性觀測得到觀測向量y∈RM×1,即
y=Φx=ΦΨs
(2)
其中:Φ∈RM×N為一個與Ψ不相關(guān)的測量矩陣,且M?N;由于s是k稀疏且k min‖s‖0s.t.y=Φx=ΦΨs (3) 其中:‖s‖0為s的l0范數(shù),即s中的非零個數(shù)。 求解式(3)常用的方法為正交匹配追蹤(orthogonal matching pursuit,簡稱OMP)算法,求得s后代入式(1)可重構(gòu)出信號x。由觀測向量y重構(gòu)出信號s須具備2個條件,一是信號s是稀疏的;二是觀測矩陣Φ必須滿足有限等距(restricted isometry property,簡稱RIP)性質(zhì)[10],即對任意常數(shù)c滿足 (4) 其中:δ∈[0,1]為等距系數(shù)。 然而,有些信號在正交變換基Ψ下不夠稀疏,因此可以根據(jù)信號的具體特征構(gòu)建過完備字典D,用以對信號x進(jìn)行稀疏表示。根據(jù)CS理論,如果存在一個變換D,對任意k稀疏信號x,使x=Ds,s∈∑k,∑k={s:‖s‖0≤k},則式(3)可寫成 min‖s‖0s.t.y=Φx=ΦDs=θs (5) 其中:θ=ΦD為感知矩陣。 通過訓(xùn)練樣本得到的過完備字典D一般為非正交基,但由于測量矩陣Φ為高斯隨機(jī)矩陣,得到的感知矩陣θ也是隨機(jī)的,必然滿足RIP性質(zhì)。 文中采用壓縮比(compression ratio,簡稱CR)作為評價機(jī)械振動信號CS的壓縮效果評價指標(biāo),用n1和n2分別為機(jī)械振動信號壓縮前、后的數(shù)據(jù)量,其計算公式為 CR=(n1-n2)/n1 (6) 峰值信噪比(peak signal to noise ratio,簡稱PSNR)表示信號可能的最大功率和影響其精度的背景噪聲功率之間的比值,單位為分貝(dB)。文中采用PSNR作為機(jī)械振動信號重構(gòu)精度的評價指標(biāo) (7) 傳統(tǒng)的DCT和DWT變換重點關(guān)注的是信號低頻部分,忽略了仍具有豐富信息的高頻部分,采用這些方法進(jìn)行稀疏變換時,會丟失部分原始信號的信息特征,且信號處理不夠精細(xì),變換后的稀疏度較低,從而導(dǎo)致信號重構(gòu)精度下降。采用小波包對信號進(jìn)行稀疏變換時,信號的低頻部分和高頻部分被同步分解,信號處理更加精細(xì),保留了更多原始信號的特征信息,也使信號的稀疏度和重構(gòu)精度進(jìn)一步提高。 對同一信號來說,在其稀疏域的稀疏度越高,信號CS時的壓縮率就越高[11],變換過程也應(yīng)盡可能保留原始信號的特征,所以筆者選擇小波包對信號進(jìn)行稀疏變換。還需說明的是,在采用小波包對信號進(jìn)行稀疏變換時,還需要根據(jù)原始信號的特征,進(jìn)一步對小波基的類型進(jìn)行選擇。只有選擇合適的小波基,才能獲得最佳的稀疏效果[12]。文中通過實驗方法確定選擇DB4小波基函數(shù)。 對機(jī)械振動信號采用小波包進(jìn)行稀疏變換,是為了使信號在頻域表現(xiàn)出更高的稀疏度。信號在頻域的稀疏度還與小波包分解的尺度有關(guān),但并非分解尺度越多,稀疏度越高。所以在實際應(yīng)用中,應(yīng)該選擇合適的分解尺度。 通過一個實例來分析信號分解尺度和稀疏度之間的關(guān)系,并根據(jù)分析結(jié)果選擇合理的小波包分解尺度。選擇美國西儲大學(xué)軸承數(shù)據(jù)庫中的OR007@6號振動信號為測試樣本,該信號表示在軸承外圈6點方向、0.007″深度處發(fā)生了故障,故障負(fù)載為0,分別由位于電機(jī)驅(qū)動端和風(fēng)扇端的加速度傳感器采樣得到,信號采樣頻率為12 kHz。任意截取長度為512個采樣點的數(shù)據(jù),采用DB4小波基對信號進(jìn)行多尺度小波包分解,對各尺度下小波包系數(shù)絕對值不大于閾值T的系數(shù)進(jìn)行置零,置零后的小波包系數(shù)中為零的個數(shù)與所有系數(shù)的百分比定義為稀疏度k,統(tǒng)計結(jié)果如表1。 表1 不同分解尺度下的稀疏度Tab.1 The sparsity at different decomposition scales 從表1中數(shù)據(jù)看出,在不同閾值下,隨著分解尺度的增加,小波包系數(shù)的稀疏度呈上升趨勢;但達(dá)到一定分解尺度后,稀疏度開始下降。根據(jù)表1的數(shù)據(jù)和分析結(jié)果,文中的小波包分解尺度選擇為4。 利用機(jī)械振動信號進(jìn)行故障診斷和狀態(tài)監(jiān)測,必須保證重構(gòu)后的信號具有較高精度。當(dāng)采用PSNR作為信號重構(gòu)評價指標(biāo)時,一般要求振動信號的重構(gòu)精度PSNR不小于45 dB,否則難以保證重構(gòu)信號的完整性。對同一機(jī)械振動信號來說,如果要求重構(gòu)信號的PSNR越高,則需要較高采樣率。但采樣率越高時,信號的壓縮率會越低[13]。 通過實例來分析信號的重構(gòu)精度與采樣率之間的關(guān)系,并根據(jù)分析結(jié)果為自適應(yīng)采樣率的選擇提供理論基礎(chǔ)。仍采用文中2.2節(jié)所述的測試樣本,采用不同的采樣率對信號進(jìn)行CS,并選擇對應(yīng)的獨(dú)立同分布高斯隨機(jī)矩陣為觀測矩陣,采用OMP算法對信號進(jìn)行重構(gòu)。不同采樣率下的信號重構(gòu)PSNR值如表2所示。 表2 不同采樣率時信號重構(gòu)精度Tab.2 The signal reconstruction accuracy at different sampling rates 由表2可以看出,當(dāng)采樣率接近80%時,信號的重構(gòu)精度才能滿足實用要求,這主要是因為測試信號的奇異度較高。更多實驗結(jié)果證明,在重構(gòu)精度一定的前提下,信號越平穩(wěn),采樣率越低。 根據(jù)上述分析,基于信號的重構(gòu)精度為不同信號選擇精確采樣率的步驟如下(如圖2所示): 圖2 自適應(yīng)壓縮采樣流程Fig.2 The flow chart of adaptive compressed sampling 1) 對信號進(jìn)行4尺度小波包分解; 2) 對第4尺度下的高頻小波包系數(shù)中絕對值不大于閾值T的系數(shù)進(jìn)行置零處理,并求取該尺度下的小波包系數(shù)稀疏度k; 3) 設(shè)置信號初始采樣率f=20%,步長1%,終值100%,然后進(jìn)行迭代計算:在每個采樣率下對信號進(jìn)行CS并進(jìn)行重構(gòu),計算信號重構(gòu)精度PSNR值,當(dāng)PSNR不大于45 dB時,迭代繼續(xù);當(dāng)PSNR大于或等于45 dB時,所對應(yīng)的采樣率為精確自適應(yīng)采樣率值,記錄該值后迭代結(jié)束。 對機(jī)械振動信號采用上述方法進(jìn)行分段處理,當(dāng)完成m段信號的稀疏變換后,可以得到一組稀疏度-采樣率的數(shù)據(jù)對集合{ki,fi},i=1,2,…,m。由于各種測量誤差的存在,一些數(shù)據(jù)對會表現(xiàn)為離散的點。根據(jù)信號的慣性特征,這些離散的點往往是由測量誤差產(chǎn)生的。為了消除測量誤差,采用最小二乘法對這些數(shù)據(jù)對進(jìn)行擬合,即在m次線性函數(shù)簇P={p1,p1,…,pm}中找到最佳函數(shù)h(k,C),使其平方誤差和滿足 (8) 實際應(yīng)用中,在程序的初始化部分對m段振動信號進(jìn)行稀疏變換,并對m段信號的稀疏度-采樣率數(shù)據(jù)對進(jìn)行最小二乘擬合,得到一個確定性函數(shù)。程序運(yùn)行時,當(dāng)有新數(shù)據(jù)對加入時,直接調(diào)用該確定函數(shù)對采樣率進(jìn)行優(yōu)化。并將新數(shù)據(jù)對加入到數(shù)據(jù)對序列中,再次進(jìn)行最小二乘擬合并得到新的確定性函數(shù),當(dāng)有更新的數(shù)據(jù)對加入時,再次調(diào)用新的確定性函數(shù)對采樣率進(jìn)行優(yōu)化,依次類推。 機(jī)械振動信號的稀疏性是實現(xiàn)信號CS與重構(gòu)的前提。時域下的機(jī)械振動信號是非稀疏的,因而需要采用稀疏字典進(jìn)行變換。常用的稀疏字典有兩種類型:固定字典和學(xué)習(xí)字典。固定字典由數(shù)學(xué)變換得到,如傅里葉字典、DCT字典、DWT字典等。固定字典結(jié)構(gòu)良好,計算速度快,但固定字典對原始信號的依賴性較強(qiáng),自適應(yīng)較差,不能良好的表現(xiàn)原始信號特征;學(xué)習(xí)型字典基于原始信號樣本,通過機(jī)器學(xué)習(xí)方法構(gòu)建出非正交過完備字典,因其能夠良好表現(xiàn)原始信號特征,壓縮率高,重構(gòu)性能優(yōu)越受到廣泛關(guān)注,常用的方法有最優(yōu)方向法和K-SVD法[14]。眾多研究表明,K-SVD方法在字典學(xué)習(xí)過程中對信號特征的描述效果更好[15],應(yīng)用更為廣泛。 K-SVD算法與K-均值聚類算法關(guān)系密切,是K-均值聚類算法的高度泛化[16]。字典學(xué)習(xí)主要包括3個步驟:①字典初始化??梢赃x擇固定字典(如過完備DWT字典)或隨機(jī)選擇K個信號樣本得到初始化字典D,文中采用第2種方法。②稀疏編碼。在初始化字典D的基礎(chǔ)上,采用OMP算法查找信號在字典D上的最優(yōu)系數(shù)矩陣。③字典更新。更新字典D中的原子,并根據(jù)迭代次數(shù)或最小誤差要求,使字典D達(dá)到最優(yōu)。應(yīng)用步驟如下。 1) 選取機(jī)械振動信號樣本,并確定訓(xùn)練過完備字典的5個重要參數(shù):原子數(shù)量K、原子維數(shù)n、待分解信號進(jìn)行線性稀疏表示時所需要的最大原子數(shù)量L、K-SVD算法的迭代次數(shù)J和樣本信號集合S的原子個數(shù)N。 2) 對選取的機(jī)械振動信號樣本按照原子維數(shù)n大小進(jìn)行劃分,并隨機(jī)選擇K個原子對字典D進(jìn)行初始化,再選擇N個原子構(gòu)成機(jī)械振動信號樣本集合S,并保證所有原子均具有2-范數(shù)。 3) 在選取的機(jī)械振動信號樣本中采用OMP算法進(jìn)行迭代,求取字典D的稀疏系數(shù)矩陣X。 4) 對稀疏系數(shù)矩陣X進(jìn)行固定,利用K-SVD算法對字典D中的原子依次進(jìn)行更新,使其逼近誤差最小。 5) 重復(fù)步驟3和4,直到滿足最小誤差要求或達(dá)到預(yù)設(shè)的迭代次數(shù),得到最優(yōu)過完備字典D和最優(yōu)稀疏系數(shù)矩陣X。 仍以文中2.2節(jié)的測試樣本信號為例。由于信號的周期性和字典訓(xùn)練的需要,將該測試樣本0~121 991采樣點擴(kuò)展至0~609 955,其中0~563 200采樣點用以訓(xùn)練過完備字典,采樣點563 200后的46 755個采樣點為CS測試信號,采用OMP算法對信號進(jìn)行重構(gòu)計算。為了使實驗結(jié)果更有針對性,在進(jìn)行本節(jié)實驗時不采用自適應(yīng)采樣率,而是取固定采樣率80%進(jìn)行實驗。 采用K-SVD算法完成機(jī)械振動信號過完備字典訓(xùn)練過程就是合理選取文中第4節(jié)中所述的5個重要參數(shù)值。如何對這些參數(shù)進(jìn)行合理選取,還沒有統(tǒng)一的標(biāo)準(zhǔn)。下面分別通過實驗方法測試當(dāng)某一個參數(shù)發(fā)生變化時過完備字典對信號的稀疏度,進(jìn)而對信號重構(gòu)精度的影響進(jìn)行分析,獲得選取這些參數(shù)的實驗方法。 實驗1分別取K=600,L=14,J=10,N=1 100,當(dāng)原子維數(shù)n從100~500變化時,信號的重構(gòu)精度曲線如圖3所示。 圖3中的3條曲線分別表示在K-VSD過完備字典、DWT過完備字典和DWT正交基3種稀疏方式下的信號重構(gòu)精度曲線。可以看出,相同n值下,K-VSD過完備字典具有較好的稀疏性能,其信號重構(gòu)精度較高,DWT過完備字典次之,DWT正交基最低,這一結(jié)果比較明顯地反應(yīng)了3種稀疏變換方式下信號的稀疏度與信號重構(gòu)精度有關(guān)。另外,當(dāng)n=300時,3種稀疏方式下的重構(gòu)精度均較高,且長度為300的采樣點能夠反映振動信號的周期性變化,所以后面的幾項實驗中的n均取300。 圖3 不同n值下信號重構(gòu)精度Fig.3 The signal reconstruction accuracy under different n values 實驗2分別取n=300,L=14,J=10,N=1 100,當(dāng)字典的原子數(shù)量K從500~800變化時,信號的重構(gòu)精度曲線如圖4所示。 圖4 不同K值下信號重構(gòu)精度Fig.4 The signal reconstruction accuracy under different K values 顯然,由于n值固定,觀察矩陣Φ不變,則DWT正交基下信號的重構(gòu)精度不變。所以,圖中只給出了K變化時,在K-VSD過完備字典、DWT過完備字典2種稀疏方式下的信號重構(gòu)精度曲線??梢钥闯?,當(dāng)K=650時,信號重構(gòu)精度較高。 實驗3分別取n=300,K=650,L=14,J=10,當(dāng)樣本信號集合S的原子個數(shù)N從750~1 100變化時,信號的重構(gòu)精度曲線如圖5所示??梢钥闯?,N=850時信號的重構(gòu)精度較好。 圖5 不同N值下信號重構(gòu)精度Fig.5 The signal reconstruction accuracy under different N values 實驗4分別取n=300,K=650,N=850,J=10,待分解信號進(jìn)行線性稀疏表示時所需要的最大原子數(shù)量L從2~20變化時,信號的重構(gòu)精度曲線如圖6所示??梢园l(fā)現(xiàn),當(dāng)L≥10后信號的重構(gòu)精度變得相對比較穩(wěn)定,從而算法中的L取值不應(yīng)小于10。 圖6 不同L值下信號重構(gòu)精度Fig.6 The signal reconstruction accuracy under different L values 實驗5分別取n=300,K=650,N=850,L=10,K-SVD算法的迭代次數(shù)J從2~20變化時,信號的重構(gòu)精度曲線如圖7所示。容易看出,當(dāng)算法的迭代次數(shù)超過10次后,信號的重構(gòu)精度變得相對比較穩(wěn)定,所以算法的迭代次數(shù)取值不應(yīng)小于10次。 圖7 不同J值下信號重構(gòu)精度Fig.7 The signal reconstruction accuracy under different J values 為了驗證筆者提出的算法性能,對信號采用小波包自適應(yīng)稀疏變換,取信號重構(gòu)精度為45 dB,在K-VSD過完備字典、DWT過完備字典和DWT正交基3種不同稀疏方式下,對10種不同類型機(jī)械振動信號進(jìn)行CS,經(jīng)多次實驗,得到信號壓縮率CR的平均值計算結(jié)果如表3所示。從表中數(shù)據(jù)可以看出,筆者所述算法的信號壓縮率顯然最高。 表3 不同類型信號的壓縮率Tab.3 The Compression Ratio of different types signals 通過稀疏度擬合的自適應(yīng)CS方法,完成對機(jī)械振動信號的CS與重構(gòu),主要解決了3個方面問題:①采用小波包對機(jī)械振動信號進(jìn)行稀疏變換,對仍蘊(yùn)含豐富信息的高頻信號進(jìn)行分解,使機(jī)械振動信號在頻域的稀疏度更高,提高了信號的壓縮率和重構(gòu)精度;②采用稀疏度擬合的自適應(yīng)CS,在保證信號重構(gòu)精度的前提下,具有最低采樣率;最小二乘法擬合的采樣率優(yōu)化消除了信號測量過程中可能出現(xiàn)的誤差,使信號重構(gòu)精度進(jìn)一步提高;③根據(jù)機(jī)械振動信號特征,基于K-SVD算法訓(xùn)練過完備字典對機(jī)械振動信號進(jìn)行稀疏表示,進(jìn)一步提高了信號的壓縮率和重構(gòu)精度。但針對機(jī)械振動信號,采用K-SVD算法訓(xùn)練過完備字典時對參數(shù)的選取研究甚少,還沒有統(tǒng)一標(biāo)準(zhǔn)的方法可以借鑒。因此筆者通過實驗方法對這一部分內(nèi)容進(jìn)行了重點研究,對K-SVD算法的參數(shù)進(jìn)行了合理選取,使其更適合用于對機(jī)械振動信號進(jìn)行處理。1.2 信號CS與重構(gòu)評價指標(biāo)
2 基于小波包的信號稀疏變換
2.1 稀疏變換方法選擇
2.2 小波包分解尺度選擇
3 稀疏度擬合的自適應(yīng)CS
3.1 不同采樣率下信號重構(gòu)精度
3.2 精確自適應(yīng)采樣率選擇
3.3 信號自適應(yīng)采樣率優(yōu)化
4 機(jī)械振動信號過完備字典設(shè)計
5 實驗結(jié)果及分析
5.1 過完備字典重構(gòu)性能分析
5.2 本算法性能比較
6 結(jié)束語