iOS中的速度加速-符号错误

iOS中的速度加速-符号错误,ios,signal-processing,accelerometer,velocity,cmmotionmanager,Ios,Signal Processing,Accelerometer,Velocity,Cmmotionmanager,我目前正在开发一个应用程序,它应该通过设备的加速度来计算速度。为了实现这一点,我使用了传感套件。应用程序记录用户运动的数据并将其保存到本地存储器中。当用户停止记录时,可以按时间以速度绘制收集的加速度(加速度计的每个轴有三个图形) 传感套件使用CMMotionManager的StartAccelerometer更新来获得加速度。为了计算速度,我做了一些信号处理和加速度积分(然后乘以9.81,因为苹果以重力增量测量加速度)。结果是记录时间内的速度(不是很精确,但在我的例子中这并不重要) 我测试了我的

我目前正在开发一个应用程序,它应该通过设备的加速度来计算速度。为了实现这一点,我使用了传感套件。应用程序记录用户运动的数据并将其保存到本地存储器中。当用户停止记录时,可以按时间以速度绘制收集的加速度(加速度计的每个轴有三个图形)

传感套件使用CMMotionManager的StartAccelerometer更新来获得加速度。为了计算速度,我做了一些信号处理和加速度积分(然后乘以9.81,因为苹果以重力增量测量加速度)。结果是记录时间内的速度(不是很精确,但在我的例子中这并不重要)

我测试了我的应用程序,将手机滑过一张桌子,屏幕朝上,屏幕上方朝着移动方向。随后的运动显示在Y轴的结果图中,但它具有速度(加速度也是负的)。我预计速度和加速度应该是正的,因为我在Y轴的正方向移动了设备

当我沿着X轴的方向移动桌上的手机时,X轴也会发生同样的情况

我今天在没有传感套件的情况下测试了它,得到了相同的结果

重力在z轴上总是负速度,因为它是对地面的加速度

有人能给我解释一下为什么传感器的加速度有错误的符号吗

谢谢。

Foundation
库具有此功能,您可以使用此功能在
UnitAcceleration
UnitSpeed
之间进行转换