滤除较大波动有BUG,取消
This commit is contained in:
parent
d49f35ffeb
commit
afe80d0695
|
@ -21,31 +21,31 @@ float updateFilter(SL_LowPassFilter* filter, float new_input)
|
|||
// 滤波新值
|
||||
float filtedData = (1.0f - filter->alpha) * filter->previous + filter->alpha * new_input;
|
||||
|
||||
//差值大于一定值认为有问题,暂定4
|
||||
if((filter->x) - filtedData > 4 || (filtedData) - filter->x > 4 )
|
||||
{
|
||||
// 将有问题的值存起来
|
||||
(filter->x) = filtedData;
|
||||
// 使用上一次的正确值当结果
|
||||
filtedData = filter->previous;
|
||||
// 清空计数
|
||||
filter->times = 0;
|
||||
}else
|
||||
{
|
||||
// 差值在允许范围内
|
||||
// 差值合理一定时间后认为数据没问题
|
||||
if(filter->times < 3)
|
||||
{
|
||||
filter->times++;
|
||||
// 没满足次数,使用旧值
|
||||
filtedData = filter->previous;
|
||||
}
|
||||
else
|
||||
{
|
||||
// 将值存起来,直接使用滤波后的值
|
||||
(filter->x) = filtedData;
|
||||
}
|
||||
}
|
||||
// //差值大于一定值认为有问题,暂定4
|
||||
// if((filter->x) - filtedData > 4 || (filtedData) - filter->x > 4 )
|
||||
// {
|
||||
//// 将有问题的值存起来
|
||||
// (filter->x) = filtedData;
|
||||
//// 使用上一次的正确值当结果
|
||||
// filtedData = filter->previous;
|
||||
//// 清空计数
|
||||
// filter->times = 0;
|
||||
// }else
|
||||
// {
|
||||
//// 差值在允许范围内
|
||||
//// 差值合理一定时间后认为数据没问题
|
||||
// if(filter->times < 3)
|
||||
// {
|
||||
// filter->times++;
|
||||
//// 没满足次数,使用旧值
|
||||
// filtedData = filter->previous;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
//// 将值存起来,直接使用滤波后的值
|
||||
// (filter->x) = filtedData;
|
||||
// }
|
||||
// }
|
||||
|
||||
// 更新上一次的输出值
|
||||
filter->previous = filtedData;
|
||||
|
|
Loading…
Reference in New Issue