数据处理中的几种常用数字滤波算法

更新时间:2024-05-15 17:26:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

数据处理中的几种常用数字滤波算法

王庆河

(济钢集团计量管理处,济南250101)

王庆山

(济钢集团中厚板厂,济南250101)

摘要 随着数字化技术的发展,数字滤波技术成为数字化仪表和计算机在数据采集中的关键性技术,本文 对常用的几种数字滤波算法的原理进行描述,并给出必要的数学模型。

关键词:数据采样噪声滤波移动滤波

一、引言

在仪表自动化工作中,经常需要对大量的数据 进行处理,这些数据往往是一个时间序列或空间序 列,这时常会用到数字滤波技术对数据进行预处理。 数字滤波是指利用数学的方法对原始数据进行处 理,去掉原始数据中掺杂的噪声数据,获得最具有代 表性的数据集合。

数据采样是一种通过间接方法取得事物状态的 技术如将事物的温度、压力、流量等属性通过一定 的转换技术将其转换为电信号,然后再将电信号转 换为数字化的数据。在多次转换中由于转换技术客 观原因或主观原因造成采样数据中掺杂少量的噪声 数据,影响了最终数据的准确性。

为了防止噪声对数据结果的影响,除了采用更 加科学的采样技术外,我们还要采用一些必要的技 术手段对原始数据进行整理、统计,数字滤波技术是 最基本的处理方法,它可以剔除数据中的噪声,提高 数据的代表性。

二、几种常用的数据处理方法

在实际应用中我们所用的数据滤波方法很多, 在计算机应用高度普及的今天更有许多新的方法出 现,如逻辑判断滤波、中值滤波、均值滤波、加权平均

2中值滤波

中值滤波是对采样序列按大小排滤波、众数滤波、一阶滞后滤波、移动滤波、复合滤波 等。

假设我们采用前端仪表采集了一组采样周期为 1s的温度数据的时间序列T0为第0s 采集的温度值,Ti为第is采集的温度值。下面介绍 如何应用几种

不同滤波算法来计算结果温度T。

1.程序判断滤波

当采样信号由于随机干扰、误检测或变送器不 稳定引起严重失真时,可采用程序判断滤波算法,该 算法的基本原理是根据生产经验,确定出相邻采样 输入信号可能的最大偏差△ T,若超过此偏差值,则 表明该输入信号是干扰信号,应该去掉,若小于偏差 值则作为此次采样值。

(1) 限幅滤波

限幅滤波是把两次相邻的采集值进行相减,取 其差值的绝对值△T作为比较依据,如果小于或等于△T,则取此次采样值,如果大于△T,则取前次采 样值,如式(1)所示:

限速滤波

限速滤波是把当前采样值Tn与前两次采样值 Tn-l、Tn-2进行综合比较,取差值的绝对值AT作 为比较依据取得结果值T,如式(2)所示:

(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和最小值Tmln,再在区 间[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 组区间为[Tlnin+ (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复合滤波

有时为了提高滤波的效果,尽量减少噪声数据 对结果的影响,常将两种或两种以上的滤波算法结 合在一起,如可将限幅滤波或限速滤波与均值滤波 算法结合起来,先用限幅滤波或限速滤波初步剔除 明显的噪声数据,再用均值滤波算法取均值以剔除 不明显的噪声数据。

三、结束语

数据采集所采用的检测技术不同,检测对象不 同,数据的采集频率、信噪比不同,各种数字化滤波 算法各有优缺点,所以我们在实际应用中要根据情 况将其有机的结合起来,为数据处理选择一种最优 的滤波算法,保证数据准确、快速的反应被检测对象 的实际,为生产管理提供有效的数据。

本文来源:https://www.bwwdw.com/article/k2s7.html

Top