ios - 替代 CMPedometer 在 iOS 上使用加速度计计算步数

标签 ios iphone accelerometer gyroscope

由于 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/

相关文章:

iphone - 我释放了所有的内存,但我的程序需要更多,我该怎么办?

iphone - iOS - 如何存储捕获的图像并将其显示在您的应用程序中

Android 使用加速度计数据计算速度

ios - 为什么 nib 文件中的 UITableViewCell(加载并添加到堆栈)在 viewDidAppear 中为零,但在 viewDidLoad 中没问题?

ios - Swift:未安装谷歌地图时应用程序需要打开苹果 map

ios - Swift:从后台返回后使用音量按钮不起作用

android - 如何以指定的速率读取Android中的方向传感器数据?

ios - NSOutputStream outputStreamToFileAtPath :path append:NO has no space available

iphone - 如何获取UISlider拇指图像的中心

iphone - 使用加速度计和陀螺仪的 6DOF