高级会员
- 积分
- 717
- 金钱
- 717
- 注册时间
- 2014-2-24
- 在线时间
- 257 小时
|
国庆之后,想学一下计步算法,忙了几天,分享下自己的算法与芯片内置的算法比较,如果各位有好的算法介绍的也分享一下吧.....
1、手机内部加速度波形分析;
2、MPU6050内部计步输出;
3、自己编写的算法,其实也就是参考网上的;
4、......
有比较才有伤害...手机输出的波形可以帮你改善算法,毕竟手机上APP计步的数据也是从这里输出的。
1、手机内部加速度的波形。
本人手机moto g2,是个战斗机。手机加速度输出数据范围均为±9.81g,手机平放屏幕朝上,X、Y和Z轴分别如下图。
下面都是左手拿手机(手机背面朝手心),不同拿法走动得到的波形图(数据已经线性放大18倍),黄色曲线为Z轴,绿色曲线为X轴,红色曲线为Y轴。
1) 手机摆动Y轴(手机右侧朝地面):
手机Y轴平行地面
2) 手机摆动X轴(手机顶端朝地面):
手机顶端平行地面
3) 手机摆动Z轴(背面朝地面):
手机背面平行地面
下面是DMP读取3个轴的加速度,经过滤波后的波形如下,黄色曲线为Z轴,绿色曲线为X轴,红色曲线为Y轴:
1) 摆动Y轴:
MPU6050-摆动Y轴
2)摆动X轴:
MPU6050-摆动X轴
3)摆动Z轴:
MPU6050-摆动Z轴
2、MPU6050的DMP可以直接输出行走的步数,用到的函数有:
dmp_set_pedometer_walk_time(); //设置行走时间
dmp_get_pedometer_walk_time(); //获取行走时间
dmp_set_pedometer_step_count();//设置步数
dmp_get_pedometer_step_count();//获取步数
这里我直接获取步数,其他函数怎么用和有什么用看DMP官方使用手册:
MPU6050-DMP官方使用手册.pdf
(190.73 KB, 下载次数: 1490)
|
|