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