diff --git a/Drivers/Filter/LowPassFilter.c b/Drivers/Filter/LowPassFilter.c index f4879c8..50a3052 100644 --- a/Drivers/Filter/LowPassFilter.c +++ b/Drivers/Filter/LowPassFilter.c @@ -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;