数字滤波新方法尝试与验证
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
收稿日期:2003-07-28
作者简介:郑涛(1976—
),男,云南玉溪人,硕士研究生,主要从事智能化仪器检测技术的研究;石秀华(1945—
),女,教授,博士生导师,主要研究方向为机械电子工程、水下航行器设计与制造、测控技术等。
文章编号:1000-8829(2004)04-0019-02
数字滤波新方法尝试与验证
New Method and I ts Fea sibility Analysis to Digital Filtering
(西北工业大学航海工程学院305教研室,陕西西安 710072) 郑
涛,石秀华,许 晖
摘要:基于对数字滤波技术的讨论,介绍了美国NI 公司独到的
中位值滤波概念,并提出了作者新颖的数字滤波方法,通过实验比较对其可行性进行验证;介绍了LabVIEW 和Visual C ++环境下应用动态链接库(D LL )技术对数字滤波器进行开发,以弥补LabVIEW 中数字滤波子程序欠缺之不足。关键词:数字滤波;LabVIEW;D LL 中图分类号:T N713;TP31文献标识码:A
Abstract :Based on the research of digital filtering ,a method to median filtering technique ,NI median filtering is introduced ,and a new digital filtering method created by author himself is presented.T o analyse the feasibility of the new method ,an experiment and com paris on with the method of NI is made.The method of subroutine programming to Lab 2VIEW with dynamic link library (D LL )supporting its significant property is als o presented.By extending digital filter subroutines ,a gap to Lab 2VIEW is supplied.
K ey w ords :digital filter ;LabVIEW;D LL
测试系统从外界获取数据时,往往有一些随机干扰、噪声信号窜入其中。有些干扰信号经常是无规律地变化,这样就给测试系统带来了随机误差,而这些干扰信号在多次测量中是符合统计规律的。为了克服随机干扰引入的误差,除了采用硬件的办法,还可以按统计规律用软件算法来对信号进行预处理,即采用数字滤波方法来抑制有效信号中的干扰成分,消除随机误差,同时对信号进行必要的平滑处理,以保证采样得到的数据尽可能向真实值靠近。采用数字滤波算法克服了随机干扰引入的误差,有如下的优点:①数字滤波无需硬件,只是一个计算过程,因此可靠性高,不存在阻抗匹配问题。尤其是数字滤波可以对频率很高或很低的信号进行滤波,这是模拟滤波器所不及的。②数字滤波用软件算法实现,可以使多个输入通道共用一个软件滤波器,减低硬件成本。③只要适当改变软件滤波器的滤波程序和运算参数,即可改变滤波特性,对于低频脉冲干扰、随机噪声特别有效。
1 软件算法的数字滤波技术
数字滤波的方法很多,常见的有限幅滤波法、中位值滤波法、算术平均滤波法、消抖滤波法、一阶滞后滤波法、递推平均滤波法、中位值平均滤波法、限幅平均滤波法、加权递推平均滤波法和限幅消抖滤波法。其中后面几种滤波法其实是前面几种基
本方法的某种组合。
利用美国国家仪器公司(简称NI 公司)的图形化编程语言
LabVIEW (laboratory virtual instrument engineering w orkbench )开发实
验室数据采集系统的虚拟仪器过程中,笔者调用了其附带的中位值滤波子程序Median Filter.vi (中位值滤波器)。对其进行深入了解后,发现NI 公司所采用的其实是一种全新的中位值滤波理念,也可以说是对传统的中位值滤波法的改进,这里权且称它为NI 中位值滤波法。由此得到了启发:具体应用中,或许不必拘泥于原有的数字滤波方法,而根据具体的环境要求去尝试新的滤波思路。
实验室数据采集系统所采集的数据是环境条件确定下趋于稳定的数据而非随时间变化迅速的物理量,因此,NI 中位值滤波法在这里可以使用。而笔者尝试了一种新的数字滤波技术,一种中位值滤波法和平均滤波法的组合,从某种程度上而言也是一种中位值平均滤波法,但又有所不同,姑且称之为MyMedi 2
an 2MeanFiltering 。由于篇幅有限不能一一详述提及的所有滤波
方法,这里仅仅对比介绍中位值滤波法、NI 中位值滤波法、算术平均滤波法、中位值平均滤波法和MyMedian 2MeanFiltering 。
1.1 中位值滤波法及NI 的中位值滤波法
传统的中位值滤波法是把连续采样的N (N 取奇数)个采样值按大小排列,取其中间值为本次有效值,显然对于要求滤波前后数据数目一致的系统来说是行不通的。而NI 的中值滤波
法可以弥补它的不足,其方法是对连续采样序列X (n )中的每个采样值进行修正。第i 个采样值用以其为中心、以r (0≤r y i =Median (J i )(即子集按大小排队后取其中值)J i ={x i -r ,x i -r +1 ,x i -1,x i ,x i +1,…,x i +r -1,x i +r } (i =0,1,2,…,n -1) 其中i -r <0时元素x i -r =0,i +r >n -1时x i +r =0。实际应 ・ 91・数字滤波新方法尝试与验证