距离IMU的概念已经过去了

时间:2016-08-22 13:25:24

标签: ios accelerometer

我已经编写了一个iOS应用,它依赖于在整个物理空间中移动设备。我正在处理IMU上的噪音问题,对于那些了解accelerometers您可能听说过double integration issues的人的人来说。

如果我把我的设备放在桌子上,它会捡到足够的噪音,以为它会慢慢移动。我加入了一个"最小值"价值,这似乎工作,但它也意味着如果你移动设备非常慢,你不会获得运动。

有什么方法可以滤除这些不必要的噪音? Kalman Filter

float ax = 0, ay = 0, az = 0;
float MIN = 0.002;
int MULT = 5;

...

[self.motionManager startAccelerometerUpdatesToQueue:[NSOperationQueue currentQueue]
     withHandler:^(CMAccelerometerData  *data, NSError *error) {
         float x = data.acceleration.x;
         float y = data.acceleration.y;
         float z = data.acceleration.z;

         // find & store difference between last accel amount
         float dx = ax - x;
         float dy = ay - y;
         float dz = az - z;
         float diff = fabsf(dx + dy + dz);

         NSLog(@"%f %f %f", dx, dy, dz);

         if(diff > MIN * MULT) {
             // work some magic
         }

         // save current values for next iteration
         ax = x;
         ay = y;
         az = z;
     }];

0 个答案:

没有答案