田 易,閻躍鵬,鐘燕清,李繼秀,孟 真
(1.中國科學(xué)院微電子研究所,北京 100029;2.中國科學(xué)院大學(xué) 集成電路學(xué)院,北京 100049)
微機電系統(tǒng)(Micro ElectroMechanical System,MEMS)陀螺是慣性導(dǎo)航系統(tǒng)中的核心器件之一,在姿態(tài)測量[1-2]領(lǐng)域有著廣泛的應(yīng)用。陀螺的測量精度直接影響姿態(tài)的解算精度,而隨機誤差是影響微機電系統(tǒng)陀螺測量精度的重要因素之一。目前關(guān)于陀螺隨機誤差的補償主要包括基于多尺度小波變換[3-4]的方法、基于卡爾曼濾波(Kalman Filter,KF)[5]的方法、基于前向預(yù)測濾波(Forward Linear Prediction,F(xiàn)LP)的方法[6-8]等?;诮?jīng)驗?zāi)B(tài)分解(Empirical Mode Decomposition,EMD)的方法于1998年由HUANG等提出[9],是一種新型的信號分解方法,適用于對非線性、非平穩(wěn)信號的降噪處理[10],已廣泛應(yīng)用于對微機電系統(tǒng)陀螺隨機誤差的消除[11-15]。但由于經(jīng)驗?zāi)B(tài)分解易產(chǎn)生模態(tài)混疊的問題[16],因此集成經(jīng)驗?zāi)B(tài)分解(Ensemble Empirical Mode Decomposition,EEMD)方法[17]、互補集成經(jīng)驗?zāi)B(tài)分解(Complementary Ensemble Empirical Mode Decomposition,CEEMD)方法[18]、自適應(yīng)噪聲的完整經(jīng)驗?zāi)B(tài)分解(Complete Ensemble Empirical Mode Decomposition with Adaptive Noise,CEEMDAN)方法[19]被相繼提出。但是EEMD和CEEMD方法都存在添加不同隨機噪聲導(dǎo)致分解本征模態(tài)函數(shù)數(shù)量不同的問題,而CEEMDAN通過附加自適應(yīng)白噪聲,不僅能減輕模態(tài)混疊現(xiàn)象,還可以精確重構(gòu)原始信號,可有效提高微機電系統(tǒng)陀螺信號的測量精度[20-21]。
在常規(guī)CEEMDAN算法中,信號分解為一系列的本征模態(tài)函數(shù)(Intrinsic Mode Functions,IMFs)后,將低階噪聲本征模態(tài)函數(shù)去除且將第一階本征模態(tài)函數(shù)用于混合本征模態(tài)函數(shù)濾波的閾值確定。然而載體運動狀態(tài)突然改變而導(dǎo)致陀螺傳感器數(shù)據(jù)發(fā)生階躍變化時,低階噪聲IMFs中將混入高頻信號,一方面直接去除噪聲本征模態(tài)函數(shù)將引起數(shù)據(jù)高頻信號丟失,另一方面將導(dǎo)致濾波閾值提升引起對混合本征模態(tài)函數(shù)過度濾波問題。因此筆者提出了一種改進的CEEMDAN-FLP混合濾波算法,對噪聲本征模態(tài)函數(shù)和噪聲信號混合本征模態(tài)函數(shù)分別采用軟閾值(Soft Interval Thresholding,SIT)濾波和FLP進行噪聲消除的改進算法,在降噪的同時實現(xiàn)對高頻信號的最大保留,為慣性導(dǎo)航后處理提供高精度的陀螺測量數(shù)據(jù)。
CEEMDAN是基于EEMD的一種改進算法,可有效解決經(jīng)驗?zāi)B(tài)分解過程中的模態(tài)混疊問題,與EEMD方法相比,有效減少了迭代次數(shù),增加了重構(gòu)精度。CEEMDAN的解算步驟如下:
(1) 在原始信號中分別添加I組滿足均值為0、標(biāo)準(zhǔn)差為β0的隨機噪聲,構(gòu)成I組序列,其中第i組序列為x(n)+β0ωi(n),ωi(n)為滿足標(biāo)準(zhǔn)正態(tài)分布的隨機白噪聲。對添加噪聲后的序列分別進行EMD分解,則第1階IMF滿足
(1)
(2) 殘差滿足
(2)
(3) 第2階IMF滿足
(3)
(4) 以此遞推,第k階殘差滿足
(4)
(5) 第k+1階IMF滿足
(5)
(6) 重復(fù)至(4),直到rk滿足終止調(diào)減,因此趨勢項滿足
(6)
最終經(jīng)過CEEMDAN分解后,信號x(n)被分解為若干IMFs和一個趨勢項,滿足
(7)
FLP濾波是一種適用于陀螺噪聲消除的濾波方法,其利用之前多個時刻的原始數(shù)據(jù)乘以對應(yīng)的權(quán)重值來預(yù)測當(dāng)前時刻的數(shù)據(jù),作為濾波器的輸出[7],即
x(n)=WT(n)X(n-1) ,
(8)
其中,X(n-1)=[x(n-1)x(n-2) …x(n-N)]T,為x(n)之前的數(shù)據(jù),N為FLP濾波階數(shù);W(n)為權(quán)重系數(shù),滿足
W(n+1)=W(n)+μ(n)e(n)X(n-1) ,
(9)
其中,e(n)為預(yù)測值與實測值的差值,μ(n)則為步長調(diào)整因子,用以控制自適應(yīng)過程的收斂速度和失調(diào)參數(shù)。
(10)
計算第1個IMF的噪聲方差σ1,通過中值估計法得到:
(11)
(12)
各階IMF的噪聲閾值與第1個噪聲閾值的關(guān)系滿足
(13)
根據(jù)文獻[13]的結(jié)果,取H=0.5,β和ρ分別為0.719 和2.01。
改進CEEMDAN-FLP混合濾波算法原理如圖1所示。對陀螺數(shù)據(jù)進行CEEMDAN分解,得到一系列頻率由高到低變化的窄帶IMFs信號和一個趨勢項。由于有用信號中多為低頻信號,噪聲信號中多為高頻信號,因此,隨著IMFs的階數(shù)增加,IMFs中包含的噪聲分量逐漸減小,信號分量逐漸增加。根據(jù)IMFs中包含噪聲分量和信號分量的多少,可以將IMFs區(qū)分為噪聲主導(dǎo)IMFs、信號噪聲混合IMFs和信號主導(dǎo)IMFs,對不同類型的IMFs采取不同的處理方式,達到對信號濾波降噪的目的。
圖1 改進CEEMDAN-FLP混合濾波算法框圖
首先,采用連續(xù)均方誤差分析(Consecutive Mean Square Errors,CMSE)來區(qū)分噪聲IMFs與混合IMFs,該方法不需要任何外部參考信息[11]。在噪聲IMFs和混合IMFs分類判別中,將連續(xù)的兩個重構(gòu)信號作比較,來判斷這兩個信號的相似程度。
(14)
因此,CMSE值的大小反映了連續(xù)的兩個重構(gòu)信號的相似程度,也反映了各階IMFs中的信號能量多少。隨著IMFs階數(shù)增加,CMSE的值呈先減小后增大的變化規(guī)律。CMSE值先減小,是由于低階IMFs中幾乎不含信號,而噪聲分量隨著階數(shù)的增加而降低;CMSE后增大,是由于IMFs中信號分量的出現(xiàn),并隨階數(shù)增長逐漸增加。因此,將CMSE取值最小時的IMFs階數(shù),作為噪聲IMFs與混合IMFs的分界點M1,滿足[11]
(15)
D(i)=dist[PDF(x(t)),PDF(IMFi(t))], 1≤i≤n。
(16)
M2=arg max[D(i)]+1 。
(17)
將IMFs區(qū)分為噪聲IMFs、混合IMFs和信號IMFs后,提出了一種改進CEEMDAN-FLP混合濾波算法。改進算法對CEEMDAN與FLP混合濾波進行了嘗試,并采用新的濾波方式,對噪聲IMFs進行軟閾值濾波,避免常規(guī)算法將噪聲IMFs直接剔除引起的高頻信號丟失問題;對混合IMFs進行FLP濾波,避免由于閾值提升引起的過度濾波問題。最后,將經(jīng)過軟閾值濾波的噪聲IMFs、經(jīng)過FLP濾波的混合IMFs與信號IMFs和趨勢項進行數(shù)據(jù)重構(gòu),得到最終的降噪信號。改進算法可在消除噪聲的同時,更有效地保留信號中的高頻分量。
模擬載體運動狀態(tài)突然改變的情況,在理想的階躍信號上添加均值為0、均方差為2°/s,滿足正態(tài)分布的隨機噪聲作為陀螺信號,對其進行CEEMDAN分解,并根據(jù)CMSE法和IMF與原始信號的2階范數(shù)分析法分別確定IMFs分類,其噪聲IMFs與混合IMFs的分界如圖2所示。由于3階IMFs的CMSE值最小,因此,噪聲IMFs與混合IMFs的分界為M1=3。信號IMFs與混合IMFs的分界如圖3所示,混合IMFs與信號IMFs的分界為M2=6。
圖2 噪聲IMFs與混合IMFs的分界
圖3 信號IMFs與混合IMFs的分界
1~3階IMFs被劃分為噪聲IMFs,4~6階IMFs被劃分為信號噪聲混合IMFs,而7階以上則為信號IMFs。對噪聲IMFs采用軟閾值濾波(以3階IMF為例),濾波結(jié)果及19 s處的細(xì)節(jié)放大圖如圖4所示。由圖可見,噪聲IMFs中明顯包含著有用的高頻信號信息,通過軟閾值濾波,實現(xiàn)了對噪聲的濾除,同時保留了有用的高頻信號。對混合IMFs采用FLP濾波(以4階IMF為例),濾波結(jié)果及19 s處的細(xì)節(jié)放大圖如圖5所示。由圖可見,混合IMFs中的有效信號得到了充分保留,噪聲得到了明顯抑制。
圖4 噪聲IMF3的軟閾值濾波前后對比
圖5 混合IMF4的FLP濾波前后對比
將濾波后的噪聲IMFs和混合IMFs與信號IMFs進行數(shù)據(jù)重構(gòu),得到濾波降噪后的陀螺數(shù)據(jù),將改進CEEMDAN-FLP濾波結(jié)果與原始數(shù)據(jù)、EMD濾波結(jié)果、CEEMDAN濾波結(jié)果及未改進CEEMDAN-FLP濾波結(jié)果進行仿真對比,結(jié)果及29 s和52 s處的細(xì)節(jié)放大圖如圖6所示。從圖6中可以看到,改進算法在信號突變時,具有最優(yōu)的動態(tài)跟蹤能力,CEEMDAN-FLP算法次之,而傳統(tǒng)的EMD數(shù)據(jù)延時最大,信號失真。
圖6 仿真信號降噪前后對比圖及細(xì)節(jié)放大圖
與仿真理想數(shù)據(jù)誤差統(tǒng)計對比結(jié)果如表1所示。改進的CEEMDAN-FLP濾波結(jié)果的均方根誤差最小,僅為0.95°/s,而原始信號的均方根誤差為1.96°/s,均方根誤差較濾波前相比降低了約51.53%;基于EMD分解的濾波結(jié)果均方根誤差為1.15°/s,改進算法與EMD濾波算法相比均方根誤差降低了約17.39%;基于CEEMDAN分解的濾波結(jié)果均方根誤差為1.12°/s,改進算法與CEEMDAN算法相比均方根誤差降低了約15.18%。
表1 濾波前后誤差統(tǒng)計對比 (°)/s
采集慣性導(dǎo)航模塊的傳感器數(shù)據(jù),對仿真結(jié)果作進一步驗證。陀螺采用ADXRS 645,傳感器先處于靜止?fàn)顟B(tài),然后繞滾轉(zhuǎn)軸以60°/s的速率旋轉(zhuǎn)一周,靜止20 s左右后,再逆向以60°/s的速率旋轉(zhuǎn)一周,回到初始位置。實采數(shù)據(jù)通過改進CEEMDAN-FLP算法與EMD、CEEMDAN及CEEMDAN-FLP算法的濾波結(jié)果及細(xì)節(jié)放大圖如圖7所示。改進算法在信號突變處的延時最小,基于CEEMDAN-FLP算法和CEEMDAN算法在突變處的延時依次增大,而基于EMD的濾波算法信號延時最大,產(chǎn)生了信號失真。
圖7 實采信號降噪前后對比圖及細(xì)節(jié)放大圖
陀螺濾波前后數(shù)據(jù)與轉(zhuǎn)臺運動角速率誤差統(tǒng)計對比結(jié)果如表2所示。改進的CEEMDAN-FLP濾波結(jié)果的均方根誤差最小,僅為1.01°/s?;贑EEMDAN-FLP、CEEMDAN和EMD的濾波結(jié)果均方根誤差依次增大。改進算法與原始信號相比,均方根誤差降低了約57.02%;與基于EMD分解的濾波算法相比,均方根誤差降低了約50.24%;與基于CEEMDAN的濾波算法相比,均方根誤差降低了約38.04%;與基于CEEMDAN- FLP濾波算法相比,均方根誤差降低了約35.67%。
表2 實采數(shù)據(jù)濾波前后誤差統(tǒng)計對比 (°)/s
慣導(dǎo)模塊正向旋轉(zhuǎn)一周,在43 s處,理論姿態(tài)角應(yīng)為360°,然后逆向旋轉(zhuǎn)一周,在57 s處,理論姿態(tài)應(yīng)為0°,對比分析正旋轉(zhuǎn)(43 s處)和反旋轉(zhuǎn)時(57 s處)改進CEEMDAN-FLP算法與EMD、CEEMDAN及CEEMDAN-FLP算法的濾波結(jié)果解算后的滾轉(zhuǎn)角解算結(jié)果如圖8所示。改進的CEEMDAN-FLP濾波算法解算的滾轉(zhuǎn)角累積誤差最小。
圖8 姿態(tài)解算對比圖及細(xì)節(jié)放大圖
滾轉(zhuǎn)角誤差對比結(jié)果如表3所示。正轉(zhuǎn)和反轉(zhuǎn)結(jié)束后,改進CEEMDAN-FLP算法得到的滾轉(zhuǎn)角誤差為0.44°,誤差最?。换贑EEMDAN-FLP濾波得到的滾轉(zhuǎn)角誤差為1.32°;基于CEEMDAN濾波得到的滾轉(zhuǎn)角誤差為2.14°。而基于EMD分解的濾波算法由于模態(tài)混疊引起信號失真,無法真實反映陀螺數(shù)據(jù)的變化情況,使得最終的滾轉(zhuǎn)角解算結(jié)果甚至不及原始數(shù)據(jù)的滾轉(zhuǎn)角解算結(jié)果。改進算法的姿態(tài)累積誤差僅約為CEEMDAN濾波算法的20.56%,有效降低了姿態(tài)誤差。
表3 姿態(tài)誤差對比 (°)
在處理器為Intel Core i7-8550U、操作系統(tǒng)為Windows 10的筆記本電腦上,對實測陀螺數(shù)據(jù)進行處理,各個算法的運行時間對比如表4所示?;贓MD的濾波算法雖然耗時最短,但是模態(tài)混疊的問題限制了其應(yīng)用;而基于CEEMDAN算法、CEEMDAN-FLP濾波算法和改進CEEMDAN-FLP濾波算法的時間消耗相當(dāng),通過仿真和實測數(shù)據(jù)驗證,改進的CEEMDAN-FLP濾波算法的濾波降噪效果最好。
表4 算法運行時間對比 s
在慣性導(dǎo)航數(shù)據(jù)后處理中,針對當(dāng)載體運動狀態(tài)突然改變,導(dǎo)致MEMS陀螺傳感器數(shù)據(jù)突變的情況,筆者提出了一種改進的CEEMDAN-FLP混合降噪方法。首先通過CEEMDAN算法將信號分解為多個IMFs 和一個趨勢項,并將IMFs劃分為噪聲主導(dǎo)IMFs、信號噪聲混合IMFs及信號主導(dǎo)IMFs。改進算法考慮了噪聲IMFs的影響,對噪聲IMFs和噪聲信號混合IMFs分別采用軟閾值(SIT)濾波和前向線性預(yù)測濾波(FLP)進行噪聲消除,最后對濾波后的IMFs與信號IMFs及趨勢項進行數(shù)據(jù)重構(gòu),在降噪的同時實現(xiàn)對高頻信號的最大保留。將改進的CEEMDAN-FLP算法分別與基于EMD的濾波算法、基于CEEMDAN的濾波算法及基于CEEMDAN-FLP的濾波算法比較。通過仿真驗證,改進算法濾波結(jié)果的均方根誤差與濾波前相比減小了約51.53%,與基于EMD的濾波算法相比減小了約17.39%;通過實測數(shù)據(jù)驗證,改進算法濾波后的陀螺數(shù)據(jù)與基于CEEMDAN的算法濾波后的陀螺數(shù)據(jù)分別用于姿態(tài)解算,在不明顯增加運算負(fù)擔(dān)的同時,改進算法姿態(tài)累積誤差僅約是CEEMDAN算法姿態(tài)累積誤差的20.56%,可見,改進算法可以有效提升姿態(tài)測量精度。