使用android中的加速度计计算步数

时间:2012-06-28 08:58:26

标签: android signal-processing accelerometer sensor

  

可能重复:
  How to Count the Number of Steps Using the Accelerometer
  Are there any well known algorithms to count steps based on the accelerometer?

您好我开发了Android应用程序。在一个模块中,我必须创建一个pedometer。现在,在这个阶段,我必须使用accelormeter计算用户走过的步数。我在互联网上搜索并找到了不同的方法,但没有一个工作。我试过了this

有谁知道如何实现我的目标?任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:3)

最简单的解决方案是拥有一个时间窗口和一些阈值。信号变为双波形,您可以将一个步骤分成几个部分。您可能需要具有多个窗口和相应的阈值才能识别一个步骤。但请记住,如果有人走上楼/楼下或跑步或只是以不同的速度行走,这个信号会发生变化。如果您真的要与几个参与者一起尝试,那么您将获得很大的可变性。

设备之间的阈值差异很大。测量频率也会产生影响。允许人们以正常速度检测行走的标准频率约为10Hz,有些设备使用20Hz,如果你翻过这个,你将获得大量数据和少量信息。制造商确实使用不同版本的加速度计,因此如果您的软件在一部手机上运行,​​则无法保证即使是相同型号的手机也能在其他设备上运行。

我会先从你的信号绘图开始。另外不要忘记手机可以放在口袋中的不同位置(除非你以某种方式修复它),因此阈值将浮动。所有临床计步器通常都固定在腿部的某个位置。

考虑使用单轴加速度计而不是3轴,信号分析开始变得更容易。另请查看Fourier transformationswavelet analyses

请参阅下图,了解使用3轴加速度计行走时的基本概念。我在做类似的任务时做了它(走路是吵闹的一点)。

walking looks with a 3-axial accelerometer

这就是使用单轴加速度计(再次是噪声比特)的行走方式

walking with a mono-axial accelerometer

答案 1 :(得分:1)

这似乎非常合理和准确:

Enhancing the Performance of Pedometers Using a Single Accelerometer

无论如何,我也有兴趣找到一个好的算法。