计算加速度(驾驶汽车)
我试图复制加速计算像应用程序“Dynolicious”,但我不知道该去哪里计算这个。 我使用Core Motion
还是使用其他数字进行计算?
我已经尝试过使用Core Motion
的userAcceleraion
值,但它并不像我想要的那样出来。
coreMotion = [[CMMotionManager alloc]init]; [coreMotion startDeviceMotionUpdates]; //then every second it updates my label... NSString *accel = [NSString stringWithFormat:@"%f", [[coreMotion accelerometerData]acceleration].x]; accelerationLabel.text = accel;
即我想我的价值出来,如0.4,-0.4等
您可能需要考虑低通滤波(在本文中显示),这实际上是一个Apple指南(请参阅从事件处理编程指南的加速度数据隔离重力组件 )
如果使用加速度计数据来检测设备的当前方向,则需要能够滤除由设备运动导致的数据部分中由重力引起的加速度数据部分。 为此,您可以使用低通滤波器来减less加速度计数据突然变化的影响。 所得到的过滤值反映了重力的更恒定的影响。
您还可以查看“从加速度数据中分离瞬时运动”部分
如果您正在使用加速度计数据来检测设备的即时运动,则需要能够从重力的恒定影响中隔离运动的突然变化。 你可以用高通滤波器来做到这一点。
它继续给一个简单的实现来完成这个。