| 
 
| 单片机从8 位 AD 中读取数据。其中子程序为 get_ad();限幅平均滤波,即“限幅滤波法”+“递推平均滤波法” 
 A、方法
 相当于“限幅滤波法”+“递推平均滤波法”
 每次采样到的新数据先进行限幅处理,
 再送入队列进行递推平均滤波处理
 
 B、优点
 融合了两种滤波法的优点
 对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差
 
 C、缺点:
 比较浪费 RAM
 
 D、示例
 可参考单片机常用滤波算法——平均滤波 + 单片机常用滤波算法——限幅滤波
 
 #define A 10
 char value;
 void filter(char *sum)
 {
 char new_value;
 new_value = get_ad();
 if ( ( new_value - value > A ) || ( value - new_value > A )
 *sum += value;
 *sum +=new_value;
 }
 
 
 
 | 
 |