清风莞尔的博客

不忘初心

递推平均滤波

数据波动比较大,但又希望延迟比较小,可以尝试使用递推平均滤波

#define filter_num 5
float recursive_average_filter(uint16_t filter_object)
{	
    uint32_t sum = 0;         
    float temp = 0;	
	static uint16_t filter_buf[filter_num + 1]; 
    filter_buf[filter_num] = filter_object;
    for(char i = 0; i < filter_num; i++){
		filter_buf[i] = filter_buf[i + 1]; // 所有数据左移,低位扔掉
        sum += filter_buf[i];
    }
    temp = ((float)sum / filter_num);
    return temp;
}

滤波效果如下图:


阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010720661/article/details/53995829
文章标签: 滤波 算法
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭