UIAcceleration filtering
-
06-07-2019 - |
Вопрос
Я нашел следующий фрагмент кода в руководствах 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);
}
Что именно это делает? Что это за фильтр нижних частот? Почему я должен применить это?
Заранее спасибо.
Решение
То, что вам нужно сделать, зависит от того, для чего вам нужна ценность, но основная идея состоит в том, чтобы уменьшить влияние вибраций от движений рук и тому подобного. Если вы возьмете необработанные значения ускорения и будете рассматривать их как вектор гравитации, вы получите много дрожания.
Не связан с StackOverflow