一个非常适合单片机的滤波算法

连接:http://bbs.21ic.com/icview-170880-1-1.html

————————————————-以下为原文 ——————-

连接:http://bbs.21ic.com/icview-170880-1-1.html

 


 

 

2.动态阈值
在很多应用中需要动态阈值,比如触摸按键的键阈值门限,血压计的心率检出,前面提到的灰度转二值黑白图像等(灰度转二值因为扫描速度2.5Mbyte/S,不能使用软件运算,但可以使用可编程逻辑实现)。动态阈值是对信号积分后得到的低频变化再与基本门限相加在触摸按键中增加动态阈值可以提高其适应性和可靠性。关键是根据按键反应时间和按键间隔确定按键积分参数,跟踪速度,n、T越大跟踪的越慢,积分效果越好。

一个非常适合单片机的滤波算法 

3.锁相作用:把上边的积分运算,用于对时间上周期的信号,例如根据过零触发信号锁定交流电源周期,使用两次T时间不同,其它相同的运算,由于T不同,跟踪速度不同,当两次运算的结果相等时可以确认为锁定,这时得到的是准确的电源周期值,而相位偏差也很小。

二、微分作用:
公式中的SA趋近采样值S,如果S是线性的,SA的值是可控滞后于S,那么运算的间隔时间T不同,得到的跟踪曲线的滞后特性不同,这种滞后特性的差和间隔时间就是微分特性,表示曲线的变化规律。如电热水壶,温度的变化相当于采样时间是还相当慢的,局部可以作为线性变化来处理。下边以设计电热水壶的过程来说明微分作用。
电热水壶出口一直使用蒸汽开关这种需要交专利费的方式。不使用蒸汽开关检测压力只能使用热敏器件检测温度。
温度检测的环境要求:
1.        海拔高度不同的地区水开的温度不同。
2.        热敏器件的误差较大,必须克服,否则可生产性不足。
3.        环境温度不同,电源电压不同,装水量不同。
由要求1、2决定检测温度不能判别水开与否,需要检测温度的变化率,但温度变化率的判别又和要求3相关,下边曲线图为热水器的加热曲线。蓝线为即时温度,橙色为一次运算后的曲线。

图中加热过程中间添加了冷水,曲线有一段下降,过后的加热过程两个曲线有个差异滞后,同一个时间的两个曲线差表示了加热效率的变化,其中最大的加热效率体现了环境温度不同,电源电压不同,装水量不同的综合效果。由于滞后的时间可以通过计算周期T来调整,知道滞后时间又有相减的差,这就是微分效应,加热过程整个就是效率的变化过程。我们可以通过1秒钟计算一次,2秒钟计算一次,加上原始数据得到三个曲线,效率的变化一目了然。
        第一次的水开检测使用效率的方法,同时也会得到水开时的温度检测值,微分特性本身是可以预知变化趋势的,如果1秒钟计算一次,用当前检测值减去这次计算的结果,这个差与当前值相加,就可以做为当前1秒后的结果,也就是预知1秒后加热的检测值,结合第一次得到的水开温度检测值,以后的水开检测就有两个判断条件。

 

———————————————- 以下为匠人的分析—————————–

SUM=SUM-SUM/n+S

且看匠人如何推导: 
SUM=A
SUM/n=B= S=本次新采样值

则:
A=nB
B=A/n

另外:
1-aB’+ a *S

推导到最后一步,是不是很眼熟啦br> 呵呵,这就是经典的一阶滤波(低通滤波)的标准公式了
文章知识点与官方知识档案匹配,可进一步学习相关知识算法技能树首页概览33914 人正在系统学习中

来源:Airbnb

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2015年3月15日
下一篇 2015年3月15日

相关推荐