4回答

0收藏

圆点博士小四轴之加速度滑动平均滤波

#开源分享 #开源分享 4095 人阅读 | 4 人回复 | 2014-06-24

圆点博士小四轴之加速度滑动平均滤波

圆点博士小四轴之加速度滑动平均滤波:
所谓滑动平均滤波就是开辟N个数据暂存区来存放获取的最新N个数据,然后对其进行平均。
一种实现方法就是:
s16 acc_x_data[10];
s16 acc_data_index=0;
s16 acc_data_x_sum=0;
s16 bs004_acc_filter()
{
   acc_x_data[acc_data_index]=mpu6050_acc_data;
   acc_data_index++;
   if(acc_data_index==10) acc_data_index=0;
   for(i=0;i<10;i++)  acc_data_x_sum+=acc_x_data;
   return acc_data_x_sum/10;
}
从上面的代码我们看到,每次滤波结果就是把10个数加起来,然后算平均。
在数据暂存区,我们看到,
首先,数据区保存了刚开始的0-9这10个数。所以前10次运行结果,数据区数据是:
0 1 2 3 4 5 6 7 8 9
第11次运行结果是:
10 1 2 3 4 5 6 7 8 9
第12次运行结果是
10 11 2 3 4 5 6 7 8 9
依次类推,我们可以按到数据区保存的总是最新的10个数据。

分享到:
回复

使用道具 举报

回答|共 4 个

倒序浏览

沙发

jameswang

发表于 2014-8-6 23:14:39 | 只看该作者

支持博士,多谢分享!
板凳

qingqingnailao

发表于 2015-8-17 12:50:20 | 只看该作者


支持博士,多谢分享!
地板

doujun91521

发表于 2015-8-28 15:59:53 | 只看该作者

不错,不错,新手来学习学习
5#

priestyoyo

发表于 2015-12-29 15:24:55 | 只看该作者

函数结束之后是不是要把sum清零,否则一直在累加,越加越大,变成积分的功能,就不是滤波了。。
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条