大家讨论一下软件滤波的方法

[复制链接]
19628|97
wangpe 发表于 2010-6-26 17:06 | 显示全部楼层
消抖滤波法估计用的不多吧
wangpe 发表于 2010-6-26 17:06 | 显示全部楼层
设置一个滤波计数器, 将每次采样值与当前有效值比较
wangpe 发表于 2010-6-26 17:07 | 显示全部楼层
如果采样值=当前有效值,则计数器清零
如果采样值<>当前有效值,则计数器+1,并判断计数器是否>=上限N(溢出)
langgq 发表于 2010-6-26 17:07 | 显示全部楼层
对,若计数器溢出,则将本次值替换当前有效值,并清计数器
zhanglli 发表于 2010-6-26 17:10 | 显示全部楼层
这种方法对于变化缓慢的被测参数有较好的滤波效果,
zhanglli 发表于 2010-6-26 17:11 | 显示全部楼层
而且可避免在临界值附近控制器的反复开/关跳动或显示器上数值抖动
lium 发表于 2010-6-26 17:12 | 显示全部楼层
但是对于快速变化的参数不宜
guoyt 发表于 2010-6-26 17:12 | 显示全部楼层
如果在计数器溢出的那一次采样到的值恰好是干扰值,则会将干扰值当作有效值导入系统
yufe 发表于 2010-6-26 17:14 | 显示全部楼层
还有就是先限幅,后消抖的限幅消抖滤波法
yufe 发表于 2010-6-26 17:14 | 显示全部楼层
继承了“限幅”和“消抖”的优点
yufe 发表于 2010-6-26 17:17 | 显示全部楼层
并且改进了“消抖滤波法”中的某些缺陷,避免将干扰值导入系统
llia 发表于 2010-6-26 17:20 | 显示全部楼层
但是它对于快速变化的参数不宜
invinliang 发表于 2010-6-27 08:50 | 显示全部楼层
软件滤波关键是要看你当时使用情况,有选择的使用软件滤波
whlz58 发表于 2010-6-27 09:33 | 显示全部楼层
一个非常适合单片机的算法,在侃单片机,下载区有完整的word文档
langgq 发表于 2010-6-27 12:14 | 显示全部楼层
没必要都掌握吧
Go_PSoC 发表于 2010-6-28 12:24 | 显示全部楼层
这种帖子挺好的
PSoC_Rock 发表于 2010-6-28 17:27 | 显示全部楼层
在触摸感应技术中常用两种滤波:
IIR滤波和抖动滤波. 前者类似前面提到的一阶滞后滤波法, 滤波系数越小,响应时间越长。优点是占用内存少。后者为:本次测量值大于上次值,本次测量值减1,反之,加1。这对滤除小幅度的波动很好。
boyyuboy 发表于 2010-6-28 21:12 | 显示全部楼层
本帖最后由 boyyuboy 于 2010-6-29 09:43 编辑

我这里有一些软件滤波的算法及代码,从微控论坛找的,可以参考下:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
cheungman 发表于 2010-6-30 13:37 | 显示全部楼层
在触摸感应技术中常用两种滤波:
IIR滤波和抖动滤波. 前者类似前面提到的一阶滞后滤波法, 滤波系数越小,响应时间越长。优点是占用内存少。后者为:本次测量值大于上次值,本次测量值减1,反之,加1。这对滤除小幅度的 ...
PSoC_Rock 发表于 2010-6-28 17:27


请问Cypress的触摸按键方案,常用的滤波算法就是上述两种吗?
lium 发表于 2010-6-30 15:26 | 显示全部楼层
在触摸感应技术中常用两种滤波:
IIR滤波和抖动滤波. 前者类似前面提到的一阶滞后滤波法, 滤波系数越小,响应时间越长。优点是占用内存少。后者为:本次测量值大于上次值,本次测量值减1,反之,加1。这对滤除小幅度的 ...
PSoC_Rock 发表于 2010-6-28 17:27
对,这两个得好好掌握
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部