1. ST语言编程参考及示例

1.6. 一个比较简单的温度干扰滤波算法

限幅滑动平均值算法
(*本滤波算法的思路:采集值与平均值的偏差fDeltaMax大于一定值,则丢弃这个值。如果符合则存入堆栈,堆栈中最老的数据丢弃一个。计算堆栈中数据的平均值作为滤波结果*)
(*只要采集到的数据在偏差范围内,每一次采集都会更新一次计算结果*)
(*考虑到AD转换需要时间,因此相邻task采集到的数据都是相同的,因此增加iDelay这个变量来调节采集频率,若干个taks采集一次数据。*)
(*这个滤波算法只适合慢反应的数据量*)

另外加入了看门狗思路,如果在调整热电偶接线时滤波后的数据会有很大的跳动。当接线牢固后有可能滤波后的数据与真实数据存在很大的偏差。*如果偏差持续超过2秒,*启动重新计算平均值的初始化程序。
例程见附件。




2019.7.1 余子辰 编辑