2.中值滤波算法
中值滤波算法,通俗讲,就是取一组数据的中间大小的值。
运算过程:
①对某一参数连续采样N次,为方便选取,N设为奇数;
②把N个采样值从小到大排序;
③取中间大小的值作为本次采样的确定值。
运算流程图:
适用场合:
中值滤波器比较适用于去掉由偶然因素引起的波动和传感器不稳定而引起的脉动干扰。若被测量值变化比较慢,采用中值滤波法效果会比较好,但如果数据变化比较快,则不宜采用此方法;而且需要采样多次,比较费时,对于需快速控制的实时系统,不适用。
3.算术平均滤波算法
求取多个采样值的算术平均数来获得采样确定值。
算法过程:
①取连续的N个采样值;
②求取它们的算术平均值;
③算术平均值即为本次采样确定值。
算法流程图:
适用场合:
算术平均滤波算法适用于对具有随机干扰的信号进行滤波。这种信号的特点是有一个平均值,信号在某一数值附近上下波动。信号的平均平滑程度完全到决于N值。当N较大时,平滑度高,灵敏度低;当N较小时,平滑度低,但灵敏度高。为了方便求平均值,N一般取4、8、16、32之类的2的整数幂,以便在程序中用移位操作来代替除法。
这里介绍两种快速得到多个采样值的方法:
一是同一个传感信号,占用多个ADC采样通道;二是每一次运算循环,都把上几次的采样值记录下来并流水线是更新一次。