复合滤波在三维电子罗盘输出数据处理中的应用
摘 要:三维电子罗盘在长距离数据传输过程中,将受到外界噪声的干扰。该噪声不仅含有高斯噪声,还含有脉冲噪声。介绍一种抑制噪声干扰的复合数据滤波方法,即先利用一种非线性滤波器中值滤波器,消除脉冲噪声,然后再利用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格式阅读原文