没有合适的资源?快使用搜索试试~ 我知道了~
滤波算法集锦及其C代码实现
需积分: 9 12 下载量 9 浏览量
2009-12-23
22:22:26
上传
评论 1
收藏 24KB DOCX 举报
温馨提示


试读
24页
滤波算法的介绍还有代码介绍,十一种通用滤波算法,如限幅滤波法(又称程序判断滤波法)
资源推荐
资源详情
资源评论






常用滤波算法摘
年 月 日 星期三
一.十一种通用滤波算法(转)
、限幅滤波法(又称程序判断滤波法)
、方法:
根据经验判断,确定两次采样允许的最大偏差值(设为 )
每次检测到新值时判断:
如果本次值与上次值之差则本次值有效
如果本次值与上次值之差则本次值无效放弃本次值用上次值代替本次值
、优点:
能有效克服因偶然因素引起的脉冲干扰
、缺点
无法抑制那种周期性的干扰
平滑度差
、中位值滤波法
、方法:
连续采样 次( 取奇数)
把 次采样值按大小排列
取中间值为本次有效值
、优点:
能有效克服因偶然因素引起的波动干扰
对温度、液位的变化缓慢的被测参数有良好的滤波效果
、缺点:
对流量、速度等快速变化的参数不宜
、算术平均滤波法
、方法:
连续取 个采样值进行算术平均运算
值较大时:信号平滑度较高,但灵敏度较低
值较小时:信号平滑度较低,但灵敏度较高
值的选取:一般流量,;压力:
、优点:
适用于对一般具有随机干扰的信号进行滤波
这样信号的特点是有一个平均值,信号在某一数值范围附近上下波动
、缺点:
对于测量速度较慢或要求数据计算速度较快的实时控制不适用
比较浪费
、递推平均滤波法(又称滑动平均滤波法)
、方法:

把连续取 个采样值看成一个队列
队列的长度固定为
每次采样到一个新数据放入队尾并扔掉原来队首的一次数据先进先出原则
把队列中的 个数据进行算术平均运算就可获得新的滤波结果
值的选取:流量,;压力:;液面,;温度,
、优点:
对周期性干扰有良好的抑制作用,平滑度高
适用于高频振荡的系统
、缺点:
灵敏度低
对偶然出现的脉冲性干扰的抑制作用较差
不易消除由于脉冲干扰所引起的采样值偏差
不适用于脉冲干扰比较严重的场合
比较浪费
、中位值平均滤波法(又称防脉冲干扰平均滤波法)
、方法:
相当于“中位值滤波法”算术平均滤波法”
连续采样 个数据,去掉一个最大值和一个最小值
然后计算 个数据的算术平均值
值的选取:
、优点:
融合了两种滤波法的优点
对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差
、缺点:
测量速度较慢,和算术平均滤波法一样
比较浪费
、限幅平均滤波法
、方法:
相当于“限幅滤波法”递推平均滤波法”
每次采样到的新数据先进行限幅处理,
再送入队列进行递推平均滤波处理
、优点:
融合了两种滤波法的优点
对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差
、缺点:
比较浪费
、一阶滞后滤波法
、方法:
取

本次滤波结果() 本次采样值 上次滤波结果
、优点:
对周期性干扰具有良好的抑制作用
适用于波动频率较高的场合
、缺点:
相位滞后,灵敏度低
滞后程度取决于 值大小
不能消除滤波频率高于采样频率的 ! 的干扰信号
、加权递推平均滤波法
、方法:
是对递推平均滤波法的改进,即不同时刻的数据加以不同的权
通常是,越接近现时刻的数据,权取得越大。
给予新采样值的权系数越大,则灵敏度越高,但信号平滑度越低
、优点:
适用于有较大纯滞后时间常数的对象
和采样周期较短的系统
、缺点:
对于纯滞后时间常数较小,采样周期较长,变化缓慢的信号
不能迅速反应系统当前所受干扰的严重程度,滤波效果差
、消抖滤波法
、方法:
设置一个滤波计数器
将每次采样值与当前有效值比较:
如果采样值=当前有效值,则计数器清零
如果采样值当前有效值,则计数器,并判断计数器是否上限 溢出
如果计数器溢出则将本次值替换当前有效值并清计数器
、优点:
对于变化缓慢的被测参数有较好的滤波效果
可避免在临界值附近控制器的反复开!关跳动或显示器上数值抖动
、缺点:
对于快速变化的参数不宜
如果在计数器溢出的那一次采样到的值恰好是干扰值则会将干扰值当作有效值导入系统
、限幅消抖滤波法
、方法:
相当于“限幅滤波法”消抖滤波法”
先限幅后消抖
、优点:
继承了“限幅”和“消抖”的优点
改进了“消抖滤波法”中的某些缺陷避免将干扰值导入系统
、缺点:

对于快速变化的参数不宜
第 种方法:""数字滤波器
方法:
确定信号带宽, 滤之。
#$ #$ #$% #$%& '$& '$& '$
&% '$%
优点:高通,低通,带通,带阻任意。设计简单用 ()*&)
缺点:运算量大。
!!
软件滤波的 程序样例
种软件滤波方法的示例程序
假定从 位 + 中读取数据(如果是更高位的 + 可定义数据类型为 ,$)子程序为 -.)/01
、限副滤波
! 值可根据实际情况调整
2*3. 为有效值,$.4/2*3. 为当前采样值
滤波程序返回有效的实际值 !
50.6$.
7892*3.1
7896*).9
:
789$.4/2*3.1
$.4/2*3.-.)/01
,;$.4/2*3.2*3.<<2*3.$.4/2*3.
9.)39$2*3.1
9.)39$$.4/2*3.1
=
、中位值滤波法
! 值可根据实际情况调整
排序采用冒泡法 !

50.6$.
7896*).9
:
7892*3./&3;>?1
7897@3$),A).(B1
;@97@3$)17@3$)17@3$)
:
2*3./&3;>7@3$)?-.)/01
0.*C1
=
;@9A1A1A
:
;@9,1,A1,
:
,;2*3./&3;2*3./&3;>,?
:
).(B2*3./&3;1
2*3./&3;2*3./&3;>,?1
2*3./&3;>,?).(B1
=
=
=
9.)39$2*3./&3;>!?1
=
、算术平均滤波法
!
!
50.6$.
7896*).9
:
,$)D3(1
;@97@3$)17@3$)17@3$)
:
D3(-.)/01
0.*C1
=
9.)39$789D3(!1
=
剩余23页未读,继续阅读
资源评论


initial1000
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 计算机工程与应用期刊写作模块(最新)
- jsp 查看页显示图片(使用a标签的形式)
- n_objectracker.m
- gin-demo我自己写的gindemo
- 2023-加速度-DevOps-状态报告-中国DevOps社区版
- Framework-CoreKit-2023.12.07.unitypackage
- Rsync+Sersync
- rustdesk-1.2.3-aarch64-signed.apk.1
- ee240课程,基于斯坦福A Basic Introduction to the gm ID-Based Design
- R214-0762(III)SG-2-D-20231130连廊补三四层变更_t3.dwg
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
