滤波器算法总结
滤波器算法程序原理及代码(一)
1、限幅滤波法
1.方法:
根据经验判断,确定两次采样允许的最大偏差值(设为A)
每次检测到新值时判断:
如果本次值与上次值之差≤A,则本次值有效
如果本次值与上次值之差>A,则本次值无效,放弃本次值,用上次值代替本次值
2.优点:
能有效克服因偶然因素引起的脉冲干扰
3.缺点
无法抑制周期性的干扰
平滑度差
4.代码
*说明:
1.调用函数
GetAD(),该函数用来取得当前值
2.变量说明
Value:最近一次有效采样的值,该变量为全局变量
NewValue:当前采样的值
ReturnValue:返回值
3.常量说明
A:两次采样的最大误差值,该值需要使用者根据实际情况设置
------------------------------------------------------------------------------------
#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;
}
---------------------------------------------------------
[1](https://blog.csdn.net/sceart/article/details/54896657)
[2](https://wenku.baidu.com/view/e9c8c42fc5da50e2524d7fd5.html)