UIAcceleration过滤

时间:2009-07-31 09:34:55

标签: iphone cocoa-touch uiaccelerometer

我在苹果指南中找到了以下代码:

- (void)accelerometer:(UIAccelerometer*)accelerometer didAccelerate:(UIAcceleration*)acceleration
{
    //Use a basic low-pass filter to only keep the gravity in the accelerometer values
    accel[0] = acceleration.x * kFilteringFactor + accel[0] * (1.0 - kFilteringFactor);
    accel[1] = acceleration.y * kFilteringFactor + accel[1] * (1.0 - kFilteringFactor);
    accel[2] = acceleration.z * kFilteringFactor + accel[2] * (1.0 - kFilteringFactor);
}

它究竟做了什么?这个低通滤波器是什么? 为什么我要申请呢?

提前谢谢。

1 个答案:

答案 0 :(得分:4)

你需要做什么取决于你需要什么价值,但基本的想法是减少手部动作等振动的影响。如果你采用原始加速度值并将它们视为重力矢量,你会得到很多抖动。