田 易,閻躍鵬,鐘燕清,李繼秀,孟 真
(1.中國科學院微電子研究所,北京 100029;2.中國科學院大學 集成電路學院,北京 100049)
微機電系統(Micro ElectroMechanical System,MEMS)陀螺是慣性導航系統中的核心器件之一,在姿態測量[1-2]領域有著廣泛的應用。陀螺的測量精度直接影響姿態的解算精度,而隨機誤差是影響微機電系統陀螺測量精度的重要因素之一。目前關于陀螺隨機誤差的補償主要包括基于多尺度小波變換[3-4]的方法、基于卡爾曼濾波(Kalman Filter,KF)[5]的方法、基于前向預測濾波(Forward Linear Prediction,FLP)的方法[6-8]等。基于經驗模態分解(Empirical Mode Decomposition,EMD)的方法于1998年由HUANG等提出[9],是一種新型的信號分解方法,適用于對非線性、非平穩信號的降噪處理[10],已廣泛應用于對微機電系統陀螺隨機誤差的消除[11-15]。但由于經驗模態分解易產生模態混疊的問題[16],因此集成經驗模態分解(Ensemble Empirical Mode Decomposition,EEMD)方法[17]、互補集成經驗模態分解(Complementary Ensemble Empirical Mode Decomposition,CEEMD)方法[18]、自適應噪聲的完整經驗模態分解(Complete Ensemble Empirical Mode Decomposition with Adaptive Noise,CEEMDAN)方法[19]被相繼提出。但是EEMD和CEEMD方法都存在添加不同隨機噪聲導致分解本征模態函數數量不同的問題,而CEEMDAN通過附加自適應白噪聲,不僅能減輕模態混疊現象,還可以精確重構原始信號,可有效提高微機電系統陀螺信號的測量精度[20-21]。
在常規CEEMDAN算法中,信號分解為一系列的本征模態函數(Intrinsic Mode Functions,IMFs)后,將低階噪聲本征模態函數去除且將第一階本征模態函數用于混合本征模態函數濾波的閾值確定。然而載體運動狀態突然改變而導致陀螺傳感器數據發生階躍變化時,低階噪聲IMFs中將混入高頻信號,一方面直接去除噪聲本征模態函數將引起數據高頻信號丟失,另一方面將導致濾波閾值提升引起對混合本征模態函數過度濾波問題。因此筆者提出了一種改進的CEEMDAN-FLP混合濾波算法,對噪聲本征模態函數和噪聲信號混合本征模態函數分別采用軟閾值(Soft Interval Thresholding,SIT)濾波和FLP進行噪聲消除的改進算法,在降噪的同時實現對高頻信號的最大保留,為慣性導航后處理提供高精度的陀螺測量數據。
CEEMDAN是基于EEMD的一種改進算法,可有效解決經驗模態分解過程中的模態混疊問題,與EEMD方法相比,有效減少了迭代次數,增加了重構精度。CEEMDAN的解算步驟如下:
(1) 在原始信號中分別添加I組滿足均值為0、標準差為β0的隨機噪聲,構成I組序列,其中第i組序列為x(n)+β0ωi(n),ωi(n)為滿足標準正態分布的隨機白噪聲。對添加噪聲后的序列分別進行EMD分解,則第1階IMF滿足
(1)
(2) 殘差滿足
(2)
(3) 第2階IMF滿足
(3)
(4) 以此遞推,第k階殘差滿足
(4)
(5) 第k+1階IMF滿足
(5)
(6) 重復至(4),直到rk滿足終止調減,因此趨勢項滿足
(6)
最終經過CEEMDAN分解后,信號x(n)被分解為若干IMFs和一個趨勢項,滿足
(7)
FLP濾波是一種適用于陀螺噪聲消除的濾波方法,其利用之前多個時刻的原始數據乘以對應的權重值來預測當前時刻的數據,作為濾波器的輸出[7],即
x(n)=WT(n)X(n-1) ,
(8)
其中,X(n-1)=[x(n-1)x(n-2) …x(n-N)]T,為x(n)之前的數據,N為FLP濾波階數;W(n)為權重系數,滿足
W(n+1)=W(n)+μ(n)e(n)X(n-1) ,
(9)
其中,e(n)為預測值與實測值的差值,μ(n)則為步長調整因子,用以控制自適應過程的收斂速度和失調參數。

(10)

計算第1個IMF的噪聲方差σ1,通過中值估計法得到:
(11)
(12)
各階IMF的噪聲閾值與第1個噪聲閾值的關系滿足
(13)
根據文獻[13]的結果,取H=0.5,β和ρ分別為0.719 和2.01。
改進CEEMDAN-FLP混合濾波算法原理如圖1所示。對陀螺數據進行CEEMDAN分解,得到一系列頻率由高到低變化的窄帶IMFs信號和一個趨勢項。由于有用信號中多為低頻信號,噪聲信號中多為高頻信號,因此,隨著IMFs的階數增加,IMFs中包含的噪聲分量逐漸減小,信號分量逐漸增加。根據IMFs中包含噪聲分量和信號分量的多少,可以將IMFs區分為噪聲主導IMFs、信號噪聲混合IMFs和信號主導IMFs,對不同類型的IMFs采取不同的處理方式,達到對信號濾波降噪的目的。

圖1 改進CEEMDAN-FLP混合濾波算法框圖
首先,采用連續均方誤差分析(Consecutive Mean Square Errors,CMSE)來區分噪聲IMFs與混合IMFs,該方法不需要任何外部參考信息[11]。在噪聲IMFs和混合IMFs分類判別中,將連續的兩個重構信號作比較,來判斷這兩個信號的相似程度。
(14)

因此,CMSE值的大小反映了連續的兩個重構信號的相似程度,也反映了各階IMFs中的信號能量多少。隨著IMFs階數增加,CMSE的值呈先減小后增大的變化規律。CMSE值先減小,是由于低階IMFs中幾乎不含信號,而噪聲分量隨著階數的增加而降低;CMSE后增大,是由于IMFs中信號分量的出現,并隨階數增長逐漸增加。因此,將CMSE取值最小時的IMFs階數,作為噪聲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區分為噪聲IMFs、混合IMFs和信號IMFs后,提出了一種改進CEEMDAN-FLP混合濾波算法。改進算法對CEEMDAN與FLP混合濾波進行了嘗試,并采用新的濾波方式,對噪聲IMFs進行軟閾值濾波,避免常規算法將噪聲IMFs直接剔除引起的高頻信號丟失問題;對混合IMFs進行FLP濾波,避免由于閾值提升引起的過度濾波問題。最后,將經過軟閾值濾波的噪聲IMFs、經過FLP濾波的混合IMFs與信號IMFs和趨勢項進行數據重構,得到最終的降噪信號。改進算法可在消除噪聲的同時,更有效地保留信號中的高頻分量。
模擬載體運動狀態突然改變的情況,在理想的階躍信號上添加均值為0、均方差為2°/s,滿足正態分布的隨機噪聲作為陀螺信號,對其進行CEEMDAN分解,并根據CMSE法和IMF與原始信號的2階范數分析法分別確定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為例),濾波結果及19 s處的細節放大圖如圖4所示。由圖可見,噪聲IMFs中明顯包含著有用的高頻信號信息,通過軟閾值濾波,實現了對噪聲的濾除,同時保留了有用的高頻信號。對混合IMFs采用FLP濾波(以4階IMF為例),濾波結果及19 s處的細節放大圖如圖5所示。由圖可見,混合IMFs中的有效信號得到了充分保留,噪聲得到了明顯抑制。

圖4 噪聲IMF3的軟閾值濾波前后對比

圖5 混合IMF4的FLP濾波前后對比
將濾波后的噪聲IMFs和混合IMFs與信號IMFs進行數據重構,得到濾波降噪后的陀螺數據,將改進CEEMDAN-FLP濾波結果與原始數據、EMD濾波結果、CEEMDAN濾波結果及未改進CEEMDAN-FLP濾波結果進行仿真對比,結果及29 s和52 s處的細節放大圖如圖6所示。從圖6中可以看到,改進算法在信號突變時,具有最優的動態跟蹤能力,CEEMDAN-FLP算法次之,而傳統的EMD數據延時最大,信號失真。

圖6 仿真信號降噪前后對比圖及細節放大圖
與仿真理想數據誤差統計對比結果如表1所示。改進的CEEMDAN-FLP濾波結果的均方根誤差最小,僅為0.95°/s,而原始信號的均方根誤差為1.96°/s,均方根誤差較濾波前相比降低了約51.53%;基于EMD分解的濾波結果均方根誤差為1.15°/s,改進算法與EMD濾波算法相比均方根誤差降低了約17.39%;基于CEEMDAN分解的濾波結果均方根誤差為1.12°/s,改進算法與CEEMDAN算法相比均方根誤差降低了約15.18%。

表1 濾波前后誤差統計對比 (°)/s
采集慣性導航模塊的傳感器數據,對仿真結果作進一步驗證。陀螺采用ADXRS 645,傳感器先處于靜止狀態,然后繞滾轉軸以60°/s的速率旋轉一周,靜止20 s左右后,再逆向以60°/s的速率旋轉一周,回到初始位置。實采數據通過改進CEEMDAN-FLP算法與EMD、CEEMDAN及CEEMDAN-FLP算法的濾波結果及細節放大圖如圖7所示。改進算法在信號突變處的延時最小,基于CEEMDAN-FLP算法和CEEMDAN算法在突變處的延時依次增大,而基于EMD的濾波算法信號延時最大,產生了信號失真。

圖7 實采信號降噪前后對比圖及細節放大圖
陀螺濾波前后數據與轉臺運動角速率誤差統計對比結果如表2所示。改進的CEEMDAN-FLP濾波結果的均方根誤差最小,僅為1.01°/s。基于CEEMDAN-FLP、CEEMDAN和EMD的濾波結果均方根誤差依次增大。改進算法與原始信號相比,均方根誤差降低了約57.02%;與基于EMD分解的濾波算法相比,均方根誤差降低了約50.24%;與基于CEEMDAN的濾波算法相比,均方根誤差降低了約38.04%;與基于CEEMDAN- FLP濾波算法相比,均方根誤差降低了約35.67%。

表2 實采數據濾波前后誤差統計對比 (°)/s
慣導模塊正向旋轉一周,在43 s處,理論姿態角應為360°,然后逆向旋轉一周,在57 s處,理論姿態應為0°,對比分析正旋轉(43 s處)和反旋轉時(57 s處)改進CEEMDAN-FLP算法與EMD、CEEMDAN及CEEMDAN-FLP算法的濾波結果解算后的滾轉角解算結果如圖8所示。改進的CEEMDAN-FLP濾波算法解算的滾轉角累積誤差最小。

圖8 姿態解算對比圖及細節放大圖
滾轉角誤差對比結果如表3所示。正轉和反轉結束后,改進CEEMDAN-FLP算法得到的滾轉角誤差為0.44°,誤差最小;基于CEEMDAN-FLP濾波得到的滾轉角誤差為1.32°;基于CEEMDAN濾波得到的滾轉角誤差為2.14°。而基于EMD分解的濾波算法由于模態混疊引起信號失真,無法真實反映陀螺數據的變化情況,使得最終的滾轉角解算結果甚至不及原始數據的滾轉角解算結果。改進算法的姿態累積誤差僅約為CEEMDAN濾波算法的20.56%,有效降低了姿態誤差。

表3 姿態誤差對比 (°)
在處理器為Intel Core i7-8550U、操作系統為Windows 10的筆記本電腦上,對實測陀螺數據進行處理,各個算法的運行時間對比如表4所示。基于EMD的濾波算法雖然耗時最短,但是模態混疊的問題限制了其應用;而基于CEEMDAN算法、CEEMDAN-FLP濾波算法和改進CEEMDAN-FLP濾波算法的時間消耗相當,通過仿真和實測數據驗證,改進的CEEMDAN-FLP濾波算法的濾波降噪效果最好。

表4 算法運行時間對比 s
在慣性導航數據后處理中,針對當載體運動狀態突然改變,導致MEMS陀螺傳感器數據突變的情況,筆者提出了一種改進的CEEMDAN-FLP混合降噪方法。首先通過CEEMDAN算法將信號分解為多個IMFs 和一個趨勢項,并將IMFs劃分為噪聲主導IMFs、信號噪聲混合IMFs及信號主導IMFs。改進算法考慮了噪聲IMFs的影響,對噪聲IMFs和噪聲信號混合IMFs分別采用軟閾值(SIT)濾波和前向線性預測濾波(FLP)進行噪聲消除,最后對濾波后的IMFs與信號IMFs及趨勢項進行數據重構,在降噪的同時實現對高頻信號的最大保留。將改進的CEEMDAN-FLP算法分別與基于EMD的濾波算法、基于CEEMDAN的濾波算法及基于CEEMDAN-FLP的濾波算法比較。通過仿真驗證,改進算法濾波結果的均方根誤差與濾波前相比減小了約51.53%,與基于EMD的濾波算法相比減小了約17.39%;通過實測數據驗證,改進算法濾波后的陀螺數據與基于CEEMDAN的算法濾波后的陀螺數據分別用于姿態解算,在不明顯增加運算負擔的同時,改進算法姿態累積誤差僅約是CEEMDAN算法姿態累積誤差的20.56%,可見,改進算法可以有效提升姿態測量精度。