参加电赛无论做什么都可能涉及到滤波,有硬件滤波和软件滤波。我给大家分享分享我知道的一些滤波算法。硬件滤波器最后再说,一入滤波深似海几本书都说不萌白。
先说简单的我也用过的几种:(预计一天或者两天更新一种算法)
第一种:限幅滤波算法 顾名思义就是根据经验或者一些给定作为一个对比标准与采样值进行对比,举个栗子,某系统的传感器的采样值根据经验知两次只差不能大于A则下一次的采样值和当前采样值的差的绝对值不能大于A则数据有效,若大于A则数据舍弃。
C程序如下:
#define A 15;
u8 amplitudeLimiterFilter(u8 oldValue)
{
u8 newValue = getValue();获取当前传感器数据
if( (newValue - oldValue) > A || (oldValue - newValue) >A))
{
return oldValue;
}
else
{
return newValue;
}
}
oldValue可以用第一次采样值或者根据经验值设定