利用加速度传感器计算步长——个人猜想

       前几天写了一篇关于如何记步的博客之后,我就在思考怎么样利用手机的传感器来计算步长呢?和记步不一样,步长是一个相对比较精确的值,通过手机端那个不靠谱的加速度传感器真的有办法计算步长吗?

       看了几篇利用GPS计算步长方法,大概就是现在我们用的一些运动软件的算法了,先利用不太精确的GPS画出运动轨迹,计算出轨迹的长度,再除上运动步数,就是步长了。当然其中会运用到很多辅助算法来提高精确值,实际上在距离足够远的时候,也据说数据量足够多的时候,可以得出较为精确的步长值。

       当然这是我需要的吗?No,远远不够,如果在室内,在地下停车场呢,GPS就完全失效了,这个时候能够依赖的就只有加速度了。我又缩小了搜索范围——基于加速度的步长算法,还是找到几篇相关文章的,大致分为两种方式:

       1.对加速度求积分算出行进距离

       2.通过把加速度传感器绑在腿上,感知波形

第二种方式对于手机根本不适用(手机不是拿在手上就是装兜里,谁没事挂腿上),直接毙掉。再看第一种,有尝试的价值,但实际尝试后也有各种各样的问题,一个关键问题就是手机传感器精度不够,实际偏差非常大,很可惜也不行。

        看起来好像在手机端做步长算法好像根本不可能,现实也的的确确是这样。我本来也打算放弃来着,不过前两天突然灵机一动,能不能利用之前写的记步算法中用的两个数据来简单预测呢?

你可能感兴趣的:(算法进阶,Android)