数字滤波算法归纳整理

上传人:mg****85 文档编号:34057840 上传时间:2018-02-20 格式:DOC 页数:12 大小:238.50KB
返回 下载 相关 举报
数字滤波算法归纳整理_第1页
第1页 / 共12页
数字滤波算法归纳整理_第2页
第2页 / 共12页
数字滤波算法归纳整理_第3页
第3页 / 共12页
数字滤波算法归纳整理_第4页
第4页 / 共12页
数字滤波算法归纳整理_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《数字滤波算法归纳整理》由会员分享,可在线阅读,更多相关《数字滤波算法归纳整理(12页珍藏版)》请在金锄头文库上搜索。

1、几种简单的数字滤波假定从 8 位 AD 中读取数据(如果是更高位的 AD 可定义数据类型为 int),子程序为 get_ad();1、限副滤波/* A 值可根据实际情况调整value 为有效值,new_value 为当前采样值 滤波程序返回有效的实际值 */#define A 10char value;char filter()char new_value;new_value = get_ad();if ( ( new_value - value A ) | ( value - new_value A )return value;return new_value;2、中位值滤波法/* N 值可

2、根据实际情况调整排序采用冒泡法*/#define N 11char filter()char value_bufN;char count,i,j,temp;for ( count=0;countvalue_bufi+1 )temp = value_bufi;value_bufi = value_bufi+1; value_bufi+1 = temp; return value_buf(N-1)/2; 3、算术平均滤波法/*/#define N 12char filter()int sum = 0;for ( count=0;countvalue_bufi+1 )temp = value_buf

3、i;value_bufi = value_bufi+1; value_bufi+1 = temp;for(count=1;count=N) return new_value;delay();new_value = get_ad();return value; *数字滤波算法 因为工程里面要做个流量调节,所以打算对流量进行滤波,综合一下,考虑这么做: 分两步: 1、对每次测量值的过滤 目的:过滤掉偶然的突变值 方法:根据经验判断,确定两次采样允许的最大偏差值(设为 X) 每次检测到新值时判断: 如果本次值与上次值之差X,则本次值无效,放弃本次值,用上次值代替本次值 如果连续被丢弃,则应当考虑为有

4、效值 2、综合过滤 目的:抑制周期性干扰 方法:把连续取 N 个采样值看成一个队列 队列的长度固定为 N 每次采样到一个新数据放入队尾,并扔掉原来队首的一次数据.(先进先出原则) 把队列中的 N 个数据进行算术平均运算 ,就可获得新的滤波结果 “ 如果连续被丢弃,则应当考虑为有效值”是自己考虑再三加上得,其他都是抄袭以下算法滴,哈哈: 从网上收集了各类滤波算法: 1、限幅滤波法(又称程序判断滤波法) A、方法: 根据经验判断,确定两次采样允许的最大偏差值(设为 A) 每次检测到新值时判断: 如果本次值与上次值之差A,则本次值无效,放弃本次值,用上次值代替本次值 B、优点: 能有效克服因偶然因素

5、引起的脉冲干扰 C、缺点 无法抑制那种周期性的干扰 平滑度差 2、中位值滤波法 A、方法: 连续采样 N 次(N 取奇数) 把 N 次采样值按大小排列 取中间值为本次有效值 B、优点: 能有效克服因偶然因素引起的波动干扰 对温度、液位的变化缓慢的被测参数有良好的滤波效果 C、缺点: 对流量、速度等快速变化的参数不宜 3、算术平均滤波法 A、方法: 连续取 N 个采样值进行算术平均运算 N 值较大时:信号平滑度较高,但灵敏度较低 N 值较小时:信号平滑度较低,但灵敏度较高 N 值的选取:一般流量, N=12;压力:N=4 B、优点: 适用于对一般具有随机干扰的信号进行滤波 这样信号的特点是有一个

6、平均值,信号在某一数值范围附近上下波动 C、缺点: 对于测量速度较慢或要求数据计算速度较快的实时控制不适用 比较浪费 RAM 4、递推平均滤波法(又称滑动平均滤波法) A、方法: 把连续取 N 个采样值看成一个队列 队列的长度固定为 N 每次采样到一个新数据放入队尾,并扔掉原来队首的一次数据.(先进先出原则) 把队列中的 N 个数据进行算术平均运算 ,就可获得新的滤波结果 N 值的选取:流量,N=12;压力:N=4;液面,N=412;温度,N=14 B、优点: 对周期性干扰有良好的抑制作用,平滑度高 适用于高频振荡的系统 C、缺点: 灵敏度低 对偶然出现的脉冲性干扰的抑制作用较差 不易消除由于

7、脉冲干扰所引起的采样值偏差 不适用于脉冲干扰比较严重的场合 比较浪费 RAM 5、中位值平均滤波法(又称防脉冲干扰平均滤波法) A、方法: 相当于“中位值滤波法”+“算术平均滤波法” 连续采样 N 个数据,去掉一个最大值和一个最小值 然后计算 N-2 个数据的算术平均值 N 值的选取:314 B、优点: 融合了两种滤波法的优点 对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差 C、缺点: 测量速度较慢,和算术平均滤波法一样 比较浪费 RAM 6、限幅平均滤波法 A、方法: 相当于“限幅滤波法”+“递推平均滤波法” 每次采样到的新数据先进行限幅处理, 再送入队列进行递推平均滤波处理

8、 B、优点: 融合了两种滤波法的优点 对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差 C、缺点: 比较浪费 RAM 7、一阶滞后滤波法 A、方法: 取 a=01 本次滤波结果=(1-a ) *本次采样值+a*上次滤波结果 B、优点: 对周期性干扰具有良好的抑制作用 适用于波动频率较高的场合 C、缺点: 相位滞后,灵敏度低 滞后程度取决于 a 值大小 不能消除滤波频率高于采样频率的 1/2 的干扰信号 8、加权递推平均滤波法 A、方法: 是对递推平均滤波法的改进,即不同时刻的数据加以不同的权 通常是,越接近现时刻的数据,权取得越大。 给予新采样值的权系数越大,则灵敏度越高,但信号

9、平滑度越低 B、优点: 适用于有较大纯滞后时间常数的对象 和采样周期较短的系统 C、缺点: 对于纯滞后时间常数较小,采样周期较长,变化缓慢的信号 不能迅速反应系统当前所受干扰的严重程度,滤波效果差 9、消抖滤波法 A、方法: 设置一个滤波计数器 将每次采样值与当前有效值比较: 如果采样值当前有效值,则计数器清零 如果采样值当前有效值,则计数器+1,并判断计数器是否=上限 N(溢出) 如果计数器溢出,则将本次值替换当前有效值,并清计数器 B、优点: 对于变化缓慢的被测参数有较好的滤波效果, 可避免在临界值附近控制器的反复开/关跳动或显示器上数值抖动 C、缺点: 对于快速变化的参数不宜 如果在计数

10、器溢出的那一次采样到的值恰好是干扰值,则会将干扰值当作有效值导入系统 10、限幅消抖滤波法 A、方法: 相当于“限幅滤波法”+“消抖滤波法” 先限幅,后消抖 B、优点: 继承了“限幅”和“消抖”的优点 改进了“消抖滤波法”中的某些缺陷,避免将干扰值导入系统 C、缺点:*微机控制系统的数字滤波算法摘 要:分析了采用数字滤波消除随机干扰的优点,详细论述了微机控制系统中常用的 8 种数字滤波算法,并讨论了各种数字滤波算法的适用范围。关键词:数字滤波;控制系统;随机干扰;数字滤波算法1 引言 在微机控制系统的模拟输入信号中,一般均含有各种噪声和干扰,他们来自被测信号源本身、传感器、外界干扰等。为了进行

11、准确测量和控制,必须消除被测信号中的噪声和干扰。噪声有 2 大类:一类为周期性的,其典型代表为 50 Hz 的工频干扰,对于这类信号,采用积分时间等于 20 ms 整倍数的双积分 A/D 转换器,可有效地消除其影响;另一类为非周期的不规则随机信号,对于随机干扰,可以用数字滤波方法予以削弱或滤除。所谓数字滤波,就是通过一定的计算或判断程序减少干扰信号在有用信号中的比重,因此他实际上是一个程序滤波。 数字滤波器克服了模拟滤波器的许多不足,他与模拟滤波器相比有以下优点: (1)数字滤波器是用软件实现的,不需要增加硬设备,因而可靠性高、稳定性好,不存在阻抗匹配问题。 (2)模拟滤波器通常是各通道专用,

12、而数字滤波器则可多通道共享,从而降低了成本。 (3)数字滤波器可以对频率很低 (如 0.01 Hz)的信号进行滤波,而模拟滤波器由于受电容容量的限制,频率不可能太低。(4)数字滤波器可以根据信号的不同,采用不同的滤波方法或滤波参数,具有灵活、方便、功能强的特点。2 常用数字滤波算法 数字滤波器是将一组输入数字序列进行一定的运算而转换成另一组输出数字序列的装置。设数字滤波器的输入为 X(n),输出为 Y(n),则输入序列和输出序列之间的关系可用差分方程式表示为:其中:输入信号 X(n)可以是模拟信号经采样和 A/D 变换后得到的数字序列,也可以是计算机的输出信号。具有上述关系的数字滤波器的当前输

13、出与现在的和过去的输入、过去的输出有关。由这样的差分方程式组成的滤波器称为递归型数字滤波器。如果将上述差分方程式中 bK 取 0,则可得: 说明输出只和现在的输入和过去的输入有关。这种类型的滤波器称为非递归型数字滤波器。 参数 aK、bK 的选择不同,可以实现低通、高通、带通、带阻等不同的数字滤波器。2.1 算术平均值滤波 算术平均值滤波是要寻找一个 Y,使该值与各采样值 X(K)(K=1N) 之间误差的平方和为最小,即:这时,可满足式(3)。式(4) 便是算术平均值滤波的算法。 设第二次测量的测量值包含信号成分 Si 和噪声成分 Ci,则进行 N 次测量的信号成分之和为:噪声的强度是用均方根

14、来衡量的,当噪声为随机信号时,进行 N 次测量的噪声强度之和为:式(5)和式(6)中,S 、C 分别表示进行 N 次测量后信号和噪声的平均幅度。 这样对 N 次测量进行算术平均后的信噪比为:其中,SC 是求算术平均值前的信噪比。因此采用算术平均值后,使信噪比提高了 倍。 算术平均值法适用于对一般具有随机干扰的信号进行滤波,这种信号的特点是有一个平均值,信号在某一数值范围附近作上下波动,此时仅取一个采样值作依据显然是不准确的,如压力、流量、液平面等信号的测量。但对脉冲性干扰的平滑作用尚不理想,因此他不适用于脉冲性干扰比较严重的场合。由式(7)可知,算术平均值法对信号的平滑滤波程度完全取决于 N。当 N 较大时,平滑度高,但灵敏度低,即外界信号的变化对测量计算结果 Y 的影响小;当 N 较小时,平滑度低,但灵敏度高。应视具体情况选取 N,以便既少占用计算时间,又达

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号