||
1、 限幅滤波法
限幅滤波法又称嵌入位滤波法,或程序判断滤波法。这种滤波法的思路是:先根据经验判断,确定两次允许的最大偏差值(设为A)。
(1)、如果本次新采样值与上次滤波结果之差≤A,则本次采样值有效,令本次滤波结果=新采样值;
(2)如果本次采样值与上次滤波结果之差>A,则本次采样值无效,放弃本次值,令本次滤波=上次滤波结果。
优点:能有效克服因偶然因素引起的脉冲干扰。
缺点:无法抑制周期性的干扰,且平滑度差。
例程
/*******************************************
*函数名称:AmplitudeLimiterFilter()——限幅滤波法
*说明:
1.调用函数
GetAD(),该函数用来取得当前采样值
2.变量说明
Value:最近一次有效采样的值,该变量为全局变量
NewValue:当前采样的值
ReturnValue:返回值
3.常量说明
A:两次采样的最大误差值,该值需要使用者,根据实际情况设置
*入口:Value,上一次有效的采样值,在主程序里赋值
*出口:ReturnValue,返回值,本次滤波结果
**************************************************/
#define A 10
unsigned char Value
unsigned char AmplitudeLimiterFilter()
{
unsigned char NewValue;
unsigned char ReturnValue;
NewValue=GetAD();
if(((NewValue-Value)>A))||((Value-NewValue)>A)))
ReturnValue=Value;
else ReturnValue=NewValue;
return(ReturnValue);
}
|Archiver|手机版|独闷闷网 ( 粤ICP备12007667号-2 )
GMT+8, 2024-5-2 03:32 , Processed in 0.116626 second(s), 20 queries .