数据处理中的几种常用数字滤波算法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据处理中的几种常用数字滤波算法
王庆河王庆山
(济钢集团计量管理处,济南250101) (济钢集团中厚板厂,济南250101)
摘要随着数字化技术的发展,数字滤波技术成为数字化仪表和计算机在数据采集中的关键性技术,本文对常用的几种数字滤波算法的原理进行描述,并给出必要的数学模型。
关键词:数据采样噪声滤波移动滤波
一、引言
在仪表自动化工作中,经常需要对大量的数据进行处理,这些数据往往是一个时间序列或空间序列,这时常会用到数字滤波技术对数据进行预处理。数字滤波是指利用数学的方法对原始数据进行处理,去掉原始数据中掺杂的噪声数据,获得最具有代表性的数据集合。
数据采样是一种通过间接方法取得事物状态的技术如将事物的温度、压力、流量等属性通过一定的转换技术将其转换为电信号,然后再将电信号转换为数字化的数据。在多次转换中由于转换技术客观原因或主观原因造成采样数据中掺杂少量的噪声数据,影响了最终数据的准确性。
为了防止噪声对数据结果的影响,除了采用更加科学的采样技术外,我们还要采用一些必要的技术手段对原始数据进行整理、统计,数字滤波技术是最基本的处理方法,它可以剔除数据中的噪声,提高数据的代表性。
二、几种常用的数据处理方法
在实际应用中我们所用的数据滤波方法很多,在计算机应用高度普及的今天更有许多新的方法出现,如逻辑判断滤波、中值滤波、均值滤波、加权平均
2中值滤波
中值滤波是对采样序列按大小排滤波、众数滤波、一阶滞后滤波、移动滤波、复合滤波
等。
假设我们采用前端仪表采集了一组采样周期为1s的温度数据的时间序列T0为第0s 采集的温度值,Ti为第is采集的温度值。下面介绍如何应用几种不同滤波算法来计算结果温度T。
1.程序判断滤波
当采样信号由于随机干扰、误检测或变送器不稳定引起严重失真时,可采用程序判断滤波算法,该算法的基本原理是根据生产经验,确定出相邻采样输入信号可能的最大偏差△T,若超过此偏差值,则表明该输入信号是干扰信号,应该去掉,若小于偏差值则作为此次采样值。
(1)限幅滤波
限幅滤波是把两次相邻的采集值进行相减,取其差值的绝对值△T作为比较依据,如果小于或等于△T,则取此次采样值,如果大于△T,则取前次采样值,如式(1)所示:
(2)限速滤波
限速滤波是把当前采样值Tn与前两次采样值Tn-l、Tn-2进行综合比较,取差值的绝对值AT作为比较依据取得结果值T,如式(2)所示:
序形成有序列,取有序列{ T'i}的中间值作为结果。排序算法可以采用“冒泡排序法”或“快速排序法”等。若n为偶数,取T'n/2为结果值。若n为奇数,取
为结果值,如式(3)所示:
3.均值滤波
是对采样序列{ Ti} I,=0 - n中的数据求和后,再取其平均值作为结果。如式(4)所示:
4加权均值滤波
加权均值滤波是对采样序列中的数据通过序列加权并求和后,再取其平均值作为结果。如式(5)所示:
5.众数滤波
众数是数理统计中常用的一种数据处理办法,它要求对大量的数据进行处理,以前由于计算机的采样速度和计算机速度较慢,处理周期较长,所以一直没有采用,随着计算机运算速度的提高及高速采集模块的采用,现在处理周期己缩短到1s以内,由于众数滤波的数据代表性较其它处理方法更强,所以逐步被采用。
众数滤波算法的原理是在采样序列{ Ti}
I i=0-n中找出其最大值Tmax和最小值T mln,再在区间[T_,T,腿]上平均分为m组(5—10组),组间距为L = ( Tmax—T_)/ m,第1组的区间为[T_,T_+L],第2组的区间为[T_+L,T_ + 2X L)第 3 组的区间为[T_ + 2XL,T_ + 3XL],,第m组区间为[T ln in+ (m— 1)X L, T-]。
确定完分组后,对序列{ Ti}统计各组区间内数据的个数,形成统计序列{ Gi} I i=l—…,,查找其最大的值即众数组序号k,根据式(6)或式(7)计算众数的近似值。
6.—阶滞后滤波
一阶滞后滤波算法属于动态滤波算法,它对慢速随机变化的量的滤波效果较好,其算法公式如下所示。
T= (1一《) Ti+aT’
其中T'为上次的结果,a为滤波平滑系数,它与滤波环节的时间常数和采样周期相关,可以根据具体情况确定,一般取小于1的常数。
7.移动滤波
中值滤波、均值滤波、加权均值滤波、众数滤波算法是对一个采样序列进行处理得出一个结果数据,如果样本数据较大时,数据采样时间较长将造成结果数据的实际采样周期过长,不能满足实时性的要求。如果我们将算法处理中所应用的数据序列定义为当前采样点及其以前的一组数据,数据序列是采样序列中一个可移动截取框内的数据,由于截取框每次向后移动1个数据点,移动截取框第1个数据被丢弃,后序的数据点依次前移1个位置,然后増加1个新的数据,即当前时间采样点数据,构成新的数据序列。由于新的数据序列与旧的数据序列相比,只有一个数据不同,所以在滤波算法中的排序、取和、求众数的算法可以适当修改以适应这个特点,使得上次数据处理的中间结果可以在新的处理重复利用,有效提高运算速度。移动滤波的结果数据的产生速度与采样速度相同,实时性大大优于普通算法。
8复合滤波
有时为了提高滤波的效果,尽量减少噪声数据对结果的影响,常将两种或两种以上的滤波算法结合在一起,如可将限幅滤波或限速滤波与均值滤波算法结合起来,先用限幅滤波或限速滤波初步剔除明显的噪声数据,再用均值滤波算法取均值以剔除不明显的噪声数据。
三、结束语
数据采集所采用的检测技术不同,检测对象不同,数据的采集频率、信噪比不同,各种数字化滤波算法各有优缺点,所以我们在实际应用中要根据情况将其有机的结合起来,为数据处理选择一种最优的滤波算法,保证数据准确、快速的反应被检测对象的实际,为生产管理提供有效的数据。