摘 要:三維電子羅盤在長距離數據傳輸過程中,將受到外界噪聲的干擾。該噪聲不僅含有高斯噪聲,還含有脈沖噪聲。介紹一種抑制噪聲干擾的復合數據濾波方法,即先利用一種非線性濾波器中值濾波器,消除脈沖噪聲,然后再利用FIR低通濾波器,對其進行平滑處理。與傳統的直接采用線性濾波器的濾波結果相比較,該方法的濾波效果更為理想。
關鍵詞:電子羅盤;非線性濾波器;FIR;中值濾波器
中圖分類號:TN9117文獻標識碼:B
文章編號:1004-373X(2008)22-148-03
Application of Multi-filter in Processing of Data Received from
Three-dimension Digital Compass
ZHANG Lei,PAN Zhongming
(School of Mechatronics Engineering and Automation,National University of Defense Technology,Changsha,410073,China)
Abstract:In the processing of three-dimension compass transmits bearing data through a long distance,some noise to the measurement data can be got.The noise consists of Gauss noise and pulse noise as well.The noise restraining method introduced in this paper is filtering the pulse noise first by a nonlinear median filter,and then smoothing the filtered data by a FIR low-pass filter.Comparing the results coming out from a conventional linear filter,the introduced filtering method is much better.
Keywords:digital compass;nonlinear filter;FIR;median filter
1 引 言
三維電子羅盤(如圖1所示)內置三個正交磁場傳感器,輸出的指向是羅盤指北軸線在水平面的投影與地磁北線在水平面投影的夾角。另外,三維電子羅盤還內置一個雙軸傾角傳感器,用于補償傾斜和俯仰角度對羅盤指向的影響。目前,三維電子羅盤在車載定點雙向衛星通信設備、船載和車載的衛星電視接收設備、車載定向無線電檢測設備和車載雷達等定位設備中得到了廣泛的應用。
圖1 三維電子羅盤實物圖
電子羅盤是用來檢測磁場的,所以它對于外界干擾和地球磁場無法做到實時準確的區分,即使其內部帶有一定的消除干擾磁場的能力。因此在使用羅盤的過程中,要想保證羅盤的精度必須做到2個要點:提供干擾磁場小的位置和減小羅盤的線加速度與轉動加速度。由于實際需求,電子羅盤的輸出數據必須通過一根長達2 m的傳輸線送給控制電路。這樣,傳輸線將會給羅盤輸出的方位數據帶來一定的噪聲誤差,其中不僅包含有高斯噪聲,也包含有脈沖噪聲。對于數據的遠距離傳輸,傳統的方法是采用線性濾波器濾除其中的噪聲和干擾。線性濾波器如FIR濾波器,對濾除高斯噪聲(中拖尾概率分布噪聲)和均勻噪聲(短拖尾概率分布噪聲)效果明顯,但對于脈沖噪聲(長拖尾概率分布噪聲)的濾除就不那么令人滿意。而非線性濾波器在濾除脈沖噪聲方面有較強的優勢,中值濾波器就是其中一種應用比較廣泛、抑噪效果良好的非線性濾波器,在圖像處理、地震數據分析等方面都得到了廣泛的應用。
2 濾波原理
文中采用2次濾波的方法,即先運用中值濾波器濾除數據中的脈沖噪聲,然后再運用FIR濾波器對數據進行平滑處理。
2.1 中值濾波器的定義及性質
定義[1]設濾波器窗口A的長度為n=2k+1(奇數)或n=2k(偶數),觀測值個數Nn,即x1,x2,…,xN。當窗口A在觀測值序列上移動時,標準中值濾波器輸出med(xi)為:
med(xi)=x(k), 若 n=2k+112[x(k)+x(k+1)],若 n=2k
其中x(k)表示窗口內2k+1(或2k)個觀測值中第k個最大或最小的數值,即將任一時刻窗口內的觀測數據重新按數值大小排序,然后取中間的數據作為本次中值濾波器的輸出。
根據上述定義,窗口n=2k+1的一維中值濾波器的輸入xi與輸出yi關系為:
yi=med(xi-k,…,xi,…,xi+k),i∈Z
上式定義的中值濾波器也稱作滑動中值濾波器。
由中值濾波器的定義可知其具有去除脈沖噪聲而保護信號細節(如邊緣等)的性質,即:假設中值濾波器的窗口長度n=2k+1,若信號中脈沖寬度大于或等于k+1,則濾波后該脈沖將得到保留;若信號中脈沖寬度小于k+1,濾波后該脈沖將會被去除。
在使用滑動中值濾波器對有限長度的信號進行處理時,為保持濾波前后的數據長度一致,需要對原輸入信號進行擴展。一般在運用中值濾波器時,為了方便把窗口的長度定為奇數,即n=2k+1。擴展信號長度時,需要在原輸入信號的兩端分別擴展k個與原信號兩端同樣的信號,從而構成一組新的輸入數據,然后對新的輸入數據進行中值濾波。但是,如果在對輸入信號進行實時濾波處理,就不能確切地知道信號的末端,所以只能在信號的起始端進行信號的擴展,即在原輸入信號的前面增加2k個與原起始端同樣的信號。
2.2 窗口長度的選定
運用中值濾波器的關鍵是要確定濾波窗口的大小,如果窗口太小,則不能有效濾除混雜在信號中的脈沖噪聲;如果窗口太大,對濾波性能的提高沒有多大幫助,反而會增加運算量。因此,選擇一個合適的窗口長度對于中值濾波器來說是必不可少的。若采用試探法,通過比較濾波后的效果來確定窗口長度,就會顯得相當繁瑣。齊春等人[2]提出利用零交叉的方法來確定脈沖寬度,經實驗表明可行,不僅窗口長度的選擇比較合適,而且操作起來也比較方便。其基本原理如下:
對于連續可導函數f(x),其極大值和極小值所在的點滿足一階導數等于零,即:
df(x)dx=0
在極值的兩端,函數f(x)的變化趨勢是要么上升要么下降,則其一階導數大于零或者小于零,即:
df(x)dx>0或 df(x)dx<0
因此,零交叉就是需要求出函數f(x)的一階導數df(x)dx=0時的x的集合x|df(x)dx=0。
由此就可以確定谷值點和峰值點的位置。在正弦波形中,由于對稱性,峰值點與谷值點的寬度與兩個零值點之間的寬度(脈沖寬度)相同。而在非正弦波形中,也可以做這樣一個近似,實驗表明效果良好。
3 實驗數據處理與分析
在實際使用三維電子羅盤時,需要精確知道安裝該羅盤的設備現在處于什么方位,因此必須對當前位置進行多次測量,經過一定的數據處理后得到比較精確的方位。在實驗中,固定羅盤的位置,連續從羅盤讀取500個數據。圖2表明在電子羅盤的輸出數據中含有一定的脈沖噪聲及其他類型的噪聲,這嚴重影響了方位數據的精度,不能滿足實際應用中對方位的要求,因此必須對原始羅盤數據進行濾波處理。
圖2 原始羅盤輸出數據波形
圖3是對原始數據運用30階FIR低通濾波器濾波后的波形。可以看到,原始數據中的噪聲得到了很大程度的抑制,但脈沖噪聲的處理效果卻不是十分另人滿意。在實驗中相應提高FIR濾波器的階數,脈沖噪聲還是不能有效的濾除。
圖3 直接FIR低通濾波后的數據波形
由于原始信號全部來自于一個固定的方位,所以圖2的波形沿著縱坐標向下平移1個方位真值大小的數值,得到的波形就是傳輸線所帶來的噪聲波形。利用零交叉的方法計算出原始信號中脈沖信號的最大寬度k,并以n=2k+1作為中值濾波器的窗口長度,對原始數據進行中值濾波后的結果如圖4所示。可以看出,脈沖噪聲得到了很好的抑制,而且其他噪聲也被有效地濾除。但此時的波形還是有一些臺階和小的毛刺,再次利用5階FIR低通濾波器對其進行平滑處理(見圖5),得到的基本上是一條直線段,這與原始數據的理想情況是一致,因為實驗中采集的數據來源于同一個方位。
圖4 中值濾波后的數據波形
圖5 平滑處理后的數據波形
中值濾波器是一種非線性濾波器,主要是從時域上處理問題,對于頻域上重疊的信號有可能很好地將其分開。如疊加在方波上的高頻噪聲,只要選取好濾波窗口的長度,就可以完全將高頻噪聲濾除,而保留方波信號。若采用一般線性濾波器,則會顯得力不從心,抑制高頻噪聲的同時也削弱了方波信號。中值濾波最重要的一點,就是如何選取好濾波窗口的長度。合適的窗口長度,將會使得脈沖噪聲得到有效濾除。因此,中值濾波器對噪聲的分布和平穩性沒有特殊要求,而常見的線性濾波器如FIR濾波器只對高斯噪聲和均勻噪聲有很好的濾除效能。可以說,中值濾波器有很強的適應性和魯棒性。另外,中值濾波器又稱為滑動中值濾波器,因此可以對信號進行實時濾波處理,而且計算量相對較小。最后,中值濾波器適合處理變化比較緩慢的信號。
4 結 語
三維電子羅盤在長距離數據傳輸過程中,將受到外界噪聲的干擾。該噪聲不僅含有高斯噪聲,還含有脈沖噪聲。鑒于線性濾波器在濾除脈沖噪聲時不盡如人意的情況,采用在圖像處理領域廣泛使用的非線性濾波器——中值濾波器。實驗表明,在對羅盤輸出數據進行中值濾波和FIR平滑處理后,數據的精度得到很大提高,并通過與直接采用FIR低通濾波器濾波后的結果進行比較,發現中值濾波的方法更為理想,并在某電子設備中得到了應用。
參考文獻
[1]陳賀新.非線性濾波器與數字圖像處理[M].北京:國防工業出版社,1997.
[2]齊春,邸雙亮,梁德群,等.基于自適應中值濾波的腦事件關聯電位單次提取[J].中國生物醫學工程學報,2003,22(3):220-227.
[3]Emmanuel C Ifeachor,Barrie W Jervis.數字信號處理實踐方法[M].2版.羅鵬飛,楊世海,朱國富,等譯.北京:電子工業出版社,2004.
[4]張志涌.精通MATLAB 6.5版[M].北京:北京航空航天大學出版社,2003.
[5]Alfredo Restrepo(Palacios),Lil-iana Chacon.A Smoothing Property of the Median Filter[J].IEEE Transantions on Signal Processing,1994,42(6):1 553-1 555.
[6]Awomir Jezewski,Krzysztof Strzecha.Fast Implementation of Median Filter[J].CADSM′2003,Lviv-Siasko,Ukraine,2003:18-22.
[7]朱明武,李永新,卜雄洙.測試信號處理與分析[M].北京:北京航空航天大學出版社,2006.
[8]程佩青.數字信號處理教程[M].2版.北京:清華大學出版社,2001.
[9]劉麗梅.中值濾波技術發展研究[J].云南師范大學學報,2004,24(1):23-27.
[10]Tukey J W.Nonlinear Method for Smoothing Data Conference Record[M].New York: Eascon Publisher,1974.
[11]Thomas A Nodes.Median Filters:Some Modification and Their Pro-Perties[J].IEEE.Trans.on Acoust Speech and Signal Processing,1982,30(5):739-746.
[12]劉利群,韓震宇,李紹卓.FIR濾波器的設計及DSP實現.現代電子技術,2007,30(22):38-40.
作者簡介
張 雷 男,1985年出生,安徽阜南人,碩士研究生。從事數字化測試方面的研究。
潘仲明 男,1959,福建福州人,教授。主要從事壓電傳感與驅動技術、自適應信號處理研究。
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文