唐 強,雷志榮,史 龍
(航空工業(yè)西安飛行自動控制研究所 飛行器控制一體化技術(shù)國家重點實驗室,西安 710076)
眾所周知,對控制系統(tǒng)而言,傳感器信號質(zhì)量直接關(guān)系到系統(tǒng)的最終性能。在飛行控制系統(tǒng)中,常用的傳感器如加速度計、陀螺、大氣傳感器等,其輸出的數(shù)字或模擬信號上都有不同程度的噪聲疊加。這些噪聲的來源各不相同,除了傳感器內(nèi)部自身實現(xiàn)機理引入的信號噪聲外,外部環(huán)境變化如電磁干擾、振動等也會帶來有害的信號噪聲。在噪聲嚴重的情況下,甚至會達到不可接受的程度,如果不經(jīng)處理,直接經(jīng)控制律計算傳導(dǎo)至執(zhí)行機構(gòu),不僅會對飛行器機體造成損害,而且將無法獲取期望的控制效果。
為減少傳感器噪聲對系統(tǒng)帶來的危害,可通過物理和數(shù)學上的各種措施進行降噪處理。常用的物理手段包括電磁兼容設(shè)計、濾波電路設(shè)計、減振隔振等措施;數(shù)學上則可采用數(shù)字濾波等信號處理手段對噪聲進行抑制,例如飛行控制律設(shè)計工程中通常采用的前置濾波和后置濾波等。
本文提出了一種基于L1趨勢濾波的傳感器在線降噪處理方法,采用真實飛行數(shù)據(jù)進行了仿真試驗,并與小波閾值降噪方法進行了初步比較,驗證了該方法的可行性。
簡而言之,趨勢濾波就是從時間序列信號中提取其內(nèi)在的趨勢項。其數(shù)學描述如下[1]:
給出一個時間序列yt,t=1,…,n,假設(shè)該時間序列由一個緩慢變化的基本趨勢項xt以及一個快速變化的波動項zt(亦被稱為估計剩余項)組成。即有
yt=xt+zt,t=1,…,n
(1)
將時間序列yt中內(nèi)含的趨勢項xt充分估計出來,盡可能使趨勢項xt平滑,并使zt盡可能小,這一信號平滑或濾波過程就是所謂的趨勢濾波。
常見的趨勢濾波方法包括:L1趨勢濾波[1]、H-P(Hodrick-Prescott)濾波[2](即L2濾波)、滑動平均濾波、指數(shù)平滑濾波、樣條平滑、帶通濾波、中值濾波、小波變換分析等,在各領(lǐng)域應(yīng)用廣泛。
L1趨勢濾波由Kim等于2009年提出,是H-P濾波的一種變形,用于估計和預(yù)測時間序列數(shù)據(jù)中的潛在趨勢,主要研究和應(yīng)用集中于經(jīng)濟和統(tǒng)計領(lǐng)域[3-7],近年來,在工程領(lǐng)域也開始陸續(xù)有少量的應(yīng)用研究[8-10]。
在L1趨勢濾波中,趨勢項xt的估計通過最小化以下加權(quán)目標函數(shù)獲得
(2)
式(2)中目標函數(shù)第一項表征估計剩余項的大小;第二項表征估計趨勢的平滑程度;λ≥0為加權(quán)系數(shù),用來調(diào)節(jié)控制該目標函數(shù)中兩部分組成項的側(cè)重,λ的取值越大,估計出的趨勢越平滑,λ的取值越小,結(jié)果越逼近原始數(shù)據(jù)。
L1趨勢濾波無法求出解析解,文獻[1]提供了一種有效的原問題和對偶問題的內(nèi)點解法,并基于該方法給出了相應(yīng)的C語言和Matlab工具箱。本文后續(xù)基于Matlab的仿真研究即調(diào)用了文獻[1]所提供的工具箱。
L1趨勢濾波是一種批處理方法,需要用到之前所有的歷史數(shù)據(jù)。而實際在進行傳感器信號降噪過程中,需要在線進行處理。因此在L1趨勢濾波的基礎(chǔ)上,構(gòu)造了一個長度固定的滑動數(shù)據(jù)處理窗口來實現(xiàn)實時濾波降噪,具體方法步驟如下:
1)建立一個長度固定為N的數(shù)組,用來存儲傳感器采樣得到的數(shù)據(jù);
2)依次將新采集的傳感器數(shù)據(jù)存入該數(shù)組,未存滿數(shù)據(jù)時,不做計算處理,濾波結(jié)果輸出為傳感器的采集值;
3)當該數(shù)組首次采集滿N個數(shù)據(jù)時,基于批處理,對該數(shù)組進行第1次L1趨勢濾波,濾波結(jié)果輸出為L1趨勢濾波的最后1位;
4)濾波運算完成后,該數(shù)組循環(huán)位移1次,即去掉第1個元素,其他元素依次前移1位,并用最新采樣值作為數(shù)組最后1個元素;
5)隨著新數(shù)據(jù)的到來,對更新后的數(shù)組再進行L1趨勢濾波處理,濾波結(jié)果輸出為L1趨勢濾波的最后1位;
6)依次滑動更新處理。
采用上述方法,只要在每一個傳感器采樣周期內(nèi),能夠完成固定窗口長度數(shù)組的L1趨勢濾波處理,通過滑動遞推就可以實現(xiàn)傳感器信號的在線實時降噪過程。
為了驗證文中提出的方法,以某氣壓計所采集的信號為例進行了仿真研究與驗證。
該氣壓計搭載于小型無人直升機上進行飛行數(shù)據(jù)采集,數(shù)據(jù)的采樣頻率為50Hz。由于直升機的振動相對較大,所以采集到的氣壓信號的噪聲較大,無法直接用于氣壓高度的解算。某飛行起落所采集的氣壓傳感器原始數(shù)據(jù)如圖1所示,本文后續(xù)部分的仿真及分析都以該數(shù)據(jù)為例。
圖1 氣壓計所采集的原始信號數(shù)據(jù)Fig.1 The raw signal data from the barometer
首先,采用L1趨勢濾波對該數(shù)據(jù)進行離線批處理,在仿真分析中采用試湊法,可將加權(quán)系數(shù)λ取值為1,處理結(jié)果如圖2和圖3所示。圖2為疊加有原始信號的整體處理結(jié)果,圖3為圖2的局部放大。從圖2和圖3中不難看出,采用L1趨勢濾波進行離線降噪處理的效果是非常理想的,幾乎完美濾除了信號中的噪聲,還原了信號的真實變化趨勢。
圖2 離線L1趨勢濾波結(jié)果Fig.2 The offline results of L1 trend filtering
圖3 離線L1趨勢濾波結(jié)果(局部放大)Fig.3 The offline results of L1 trend filtering(Partial enlargement)
采用L1趨勢濾波進行在線降噪處理時,要確定2個主要參數(shù),除了目標函數(shù)中的加權(quán)系數(shù)λ之外,還需要確定滑動數(shù)據(jù)處理窗口的大小,即前文定義的數(shù)組長度N。N的取值越大,每次參與運算的數(shù)據(jù)越多,濾波處理效果越好,但是所需要的計算資源越多,耗費的時間也越長。所以為了滿足實際應(yīng)用的實時性要求,要結(jié)合系統(tǒng)實際計算資源進行折中考慮。在本文的試驗中,N取為30,其仿真結(jié)果如圖4和圖5所示,圖5為圖4的局部放大。圖4和圖5中的綠色曲線是原始的氣壓數(shù)據(jù),紅色曲線是采用L1趨勢濾波進行離線批處理獲得的數(shù)據(jù),藍色曲線是在線實時處理的仿真結(jié)果。
圖4 在線L1趨勢濾波結(jié)果Fig.4 The online results of L1 trend filtering
圖5 在線L1趨勢濾波結(jié)果(局部放大)Fig.5 The online results of L1 trend filtering(Partial enlargement)
通過以上仿真結(jié)果可以看出,本文采用的實時在線降噪處理方法是有效可行的。盡管與離線批處理結(jié)果相比其效果要差一些,但仍然大幅降低了信號中的噪聲,而且并未引入過多的延遲。
為進一步評估本文所提出方法,選取有代表性的小波降噪算法進行初步對比研究。
基于小波技術(shù)的信號降噪相關(guān)研究、應(yīng)用和可參考的文獻非常多[11-14],其中最常見的小波降噪方法是小波閾值濾波。小波閾值濾波降噪的基本原理如下:首先基于選取的小波函數(shù)將含噪信號進行離散小波變換,將信號進行小波分解;然后對小波分解后的各層系數(shù)進行閾值處理,保留大于閾值的小波系數(shù),將小于閾值的小波系數(shù)置零,以抑制信號中的噪聲;最后進行小波逆變換,重構(gòu)出降噪處理后的信號。其核心在于閾值函數(shù)的選取或構(gòu)造。
與L1趨勢濾波類似,基于小波閾值濾波的信號降噪處理也是一種批處理算法,適用于離線分析及處理。調(diào)用Matlab自帶的小波工具箱,采用db3小波,分解層數(shù)為5層,采用軟閾值處理,仿真結(jié)果如圖6和圖7所示,圖7為圖6的局部放大。圖中紅色曲線是離線小波濾波的處理結(jié)果,藍色部分是離線L1趨勢濾波的處理結(jié)果。
圖6 離線L1與離線小波濾波結(jié)果比較Fig.6 The offline filtering results comparison between L1 and wavelet
圖7 離線L1與離線小波濾波結(jié)果比較(局部放大)Fig.7 The offline filtering results comparison between L1 and wavelet(Partial enlargement)
不難看出,針對所采用的氣壓計原始數(shù)據(jù),二者離線濾波的降噪結(jié)果基本相當。但是在細節(jié)處理上,例如上述數(shù)據(jù)40s信號尖峰處,L1趨勢濾波的結(jié)果更真實地反映了信號的變化趨勢,效果更好。為實現(xiàn)基于小波的在線濾波,類似前文L1趨勢濾波的處理,同樣引入了滑動的數(shù)據(jù)處理窗口[11],并針對離散小波變換中存在的邊界問題,采用邊界值重復(fù)的雙向?qū)ΨQ周期延拓來予以解決[12]。其仿真結(jié)果與在線L1趨勢濾波的結(jié)果對比如圖8和圖9所示,圖9為圖8的局部放大。圖中紅色曲線是在線小波濾波的處理結(jié)果,藍色部分是在線L1趨勢濾波的處理結(jié)果。
圖8 在線L1與在線小波濾波結(jié)果比較Fig.8 The online filtering results comparison between L1 and wavelet
圖9 在線L1與在線小波濾波結(jié)果比較(局部放大)Fig.9 The online filtering results comparison between L1 and wavelet(Partial enlargement)
從圖8可以明顯看出,所采用在線L1趨勢濾波方法的降噪能力要優(yōu)于在線小波降噪方法。從圖9可以看出,與所采用在線小波降噪方法相比,在線L1趨勢濾波所引入的延遲要小,且濾波后曲線整體更光滑。
因此,通過將以上L1趨勢濾波與小波閾值降噪兩種方法分別進行離線批處理以及在線滑動窗口處理的仿真結(jié)果進行簡單對比,至少可以說明,在信號降噪方面,L1趨勢濾波方法具有不弱于小波閾值降噪方法的能力,其潛力有待進一步挖掘,具有較好的應(yīng)用前景。
本文采用L1趨勢濾波方法對飛行控制系統(tǒng)傳感器信號進行降噪處理,經(jīng)仿真試驗驗證表明:
1)基于滑動數(shù)據(jù)窗口處理的L1趨勢濾波算法,可以實現(xiàn)對傳感器信號的在線實時降噪;
2)實時L1趨勢濾波降噪算法雖然比離線L1趨勢濾波降噪算法的降噪效果差, 但依然能顯著地降低數(shù)據(jù)信號中的噪聲水平;
3)與經(jīng)典的小波閾值降噪方法相比,L1趨勢濾波方法至少具有相當?shù)男盘柦翟肽芰Α?/p>
此外,該方法也可以方便地推廣應(yīng)用至陀螺、加速度計等其他傳感器信號的降噪處理過程中,是一種很有潛力的信號處理方法。