UIAcceleration Filterungs
-
06-07-2019 - |
Frage
Ich fand das folgende Stück Code in Apfel-Richtlinien:
- (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);
}
Was bedeutet es genau tun? Was ist das Tiefpassfilter? Warum muss ich es anwenden?
Vielen Dank im Voraus.
Lösung
Was Sie tun müssen, hängt davon ab, was Sie den Wert für benötigen, aber die Grundidee ist es, die Wirkung von Schwingungen von Handbewegungen und so zu reduzieren. Wenn Sie die rohen Beschleunigungswerte nehmen und sie als Schwerkraftvektor behandeln, werden Sie eine Menge von Jitter erhalten.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow