由于 CMPedometer 不适用于 iPhone5S 以下
CMPedometer StepCounting not Available
是否有算法代码可用于在 ios 上使用加速度计对步数进行编程?
谢谢
最佳答案
抛开 IOS,没有简单的解决方案可以仅使用加速度计输出来创建准确的计步器;就是太吵了。使用陀螺仪(如果可用)的输出来过滤输出会提高精度。
但这是一种粗略的计步器接线代码粗略方法: - 步骤被检测为在 Z 轴上检测到的加速度的变化。假设您知道默认加速度(重力的影响),下面是您的操作方法:
float g = (x * x + y * y + z * z) / (GRAVITY_VALUE * GRAVITY_VALUE)
您的阈值是 g=1
(这是您静止不动时会看到的)。此值中的尖峰表示步骤。所以你所要做的就是数尖峰。请注意,简单的 g>1 是不行的,至于一步,g 值会增加一定时间然后返回(如果你绘制值随时间变化,它应该看起来像正弦波时有一个步骤 - 本质上你想计算正弦波)
请注意,这只是让您入门的东西;您将不得不增加更多的复杂性以提高准确性。 像: - 迟滞以避免错误的步骤检测 - 过滤加速度计输出 - 计算步长间隔 不包括在这里,应该进行试验。
关于ios - 替代 CMPedometer 在 iOS 上使用加速度计计算步数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35173977/