Вопрос

Я нашел следующий фрагмент кода в руководствах Apple:

- (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);
}

Что именно это делает? Что это за фильтр нижних частот? Почему я должен применить это?

Заранее спасибо.

Это было полезно?

Решение

То, что вам нужно сделать, зависит от того, для чего вам нужна ценность, но основная идея состоит в том, чтобы уменьшить влияние вибраций от движений рук и тому подобного. Если вы возьмете необработанные значения ускорения и будете рассматривать их как вектор гравитации, вы получите много дрожания.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top