圆点博士小四轴之加速度滑动平均滤波
圆点博士小四轴之加速度滑动平均滤波: 所谓滑动平均滤波就是开辟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个数据。
|