递推平均滤波

原创 2017年01月03日 16:52:49

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

#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;
}

滤波效果如下图:


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

递推平均滤波法(又称滑动平均滤波法)demo code

/* A、名称:递推平均滤波法(又称滑动平均滤波法) B、方法: 把连续取得的N个采样值看成一个队列,队列的长度固定为N, 每次采样到一个新数据放入队尾,并扔掉原来队首的一次数据(先进先出原则...

十大滤波算法程序大全

转载请注明出处:http://www.geek-workshop.com/thread-7694-1-1.html 1、限幅滤波法(又称程序判断滤波法) 2、中位值滤波法 3、算术平...

各种滤波算法的比较

原文地址:http://www.wtoutiao.com/p/1fe9dPI.html  各种滤波算法的比较 数字滤波(digital filtering):数...

matlab实现滑动平均滤波(一)

最近时间在研究滤波算法,目的是为了更好的识别音频数据。因为有些音频数据里面的杂波太多,很难识别,所以需要先对其进行过滤,才能解析识别。为此,我先在matlab上做了仿真.采用的很多滤波算法,最后选择了...

各种滤波原理

1.维纳滤波 维纳滤波是一种平稳随机过程的最佳滤波理论,换句话说就是在滤波过程中系统的状态参数(或信号的波形参数)是稳定不变的。它将所有时刻的采样数据用来计算互相关矩阵,涉及到解维纳-霍夫方程。...

LabVIEW算术平均滤波

  • 2015年06月11日 09:55
  • 10KB
  • 下载

【数字信号处理】极其精简的平均滤波算法

在十种经典软件滤波算法中,可以看到很多算法都是平均值滤波算法变种,事实上最常用的也还是平均值滤波算法。但传统的平均值滤波算法很占内存,每次运算都要求累加和,再求平均值,导致运算效率不高。 今天介...

滑动平均滤波

  • 2012年10月07日 15:40
  • 176B
  • 下载

移动平均滤波的原理---matlab函数的实现smooth

百度百科---解释 移动平均滤波器(Moving Average Filter)原理,移动平均滤波基于统计规律,将连续的采样数据看成一个长度固定为N的队列,在新的一次测量后,上述队列的首...
  • datase
  • datase
  • 2017年08月10日 10:32
  • 451
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:递推平均滤波
举报原因:
原因补充:

(最多只允许输入30个字)