嗨,我已经开发了 android 应用程序。在一个模块中,我必须创建一个计步器。现在在这个阶段,我必须计算用户使用加速度计走过的步数。我在互联网上搜索并找到了不同的方法,但没有一个有效。我试过这个
有谁知道如何实现我的目标?任何帮助表示赞赏。
最简单的解决方案是有一个时间窗口和多个阈值。信号得到一种双波形式,您可以将一个步骤分成几个部分。您可能需要多个窗口和相应的阈值来识别一个步骤。但请记住,如果有人在楼上/楼下行走或跑步或只是以不同的速度行走,此信号会发生变化。如果您真的要与几个参与者一起尝试,您将获得很大的可变性。
设备之间的阈值会有很大差异。测量频率也会产生影响。允许人们以正常速度检测步行的标准频率约为 10Hz,某些设备使用 20Hz,如果您超过此频率,您将获得大量数据和少量信息。制造商确实使用不同版本的加速度计,因此如果您的软件可以在一部手机上运行,那么即使是同一型号,也不能保证它可以在另一部设备上运行。
我会先从绘制你的信号开始。也不要忘记手机可以放在口袋里的不同位置(除非你以某种方式修复它),所以阈值会浮动。所有临床计步器通常都固定在腿部的某个位置。
考虑使用单轴加速度计而不是 3 轴加速度计,信号分析会更容易开始。也看看傅里叶变换和小波分析。
请参阅下图,了解使用 3 轴加速度计行走的基本概念。我在做类似任务的时候做到了(走路有点吵)。
这就是使用单轴加速度计走路的样子(同样是嘈杂的位)