AD滤波算法函数模块说明:
一、该模块包含滤波算法有:中位值滤波、中位值平均滤波、递推平均滤波、一阶滞后滤波。用户可根据项目不同情况选用不同的滤波算法。
1.1、中位值滤波:连续采样N次(N取奇数),把N次采样值按大小排列,取中间值为本次有效值。适用范围能有效克服因偶然因素引起的波动干扰,对温度、液位的变化缓慢的被测参数有良好的滤波效果。不过对流量、速度等快速变化的参数不宜。
1.2、中位值平均滤波:连续采用N个数据,去掉一个最大值和一个最小值,然后计算N-2个数据的算术平均值。适用范围:对应偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差。但是测量速度较慢, 比较浪费RAM。
1.3递推平均滤波:把连续取N个采样值看成一个队列,队列的长度固定为N,每次采样到一个新数据放入队尾,并扔掉原来队首的一次数据,把队列中得N个数据进行算术平均运算,就可以获得新的滤波结果。
适用范围:对周期性干扰有良好的抑制作用,平滑度高,适用于高频振荡的系统。缺点是灵敏度低,对偶然出现的脉冲性干扰的抑制作用较差,不易消除由于脉冲干扰所引起的采样值偏差,不适用于脉冲干扰比较严重的场合。
1.4、一阶滞后滤波:对周期性干扰具有良好的抑制作用,适用于波动频率较高得场合。缺点就是相位滞后,灵敏度低,滞后程度取决于a的大小,不能消除滤波频率高于采样频率1/2的干扰信号。本次滤波结果result=(1-a)*本次采样值+a*上次值。a=(0~1)