Wie verwenden Sie einen gleitenden Durchschnitt, um Beschleunigungsmesserwerte in iPhone OS herauszufiltern?

8

Ich möchte die Beschleunigungsmesserwerte mit einem gleitenden Durchschnitt filtern, wie wird das gemacht? Danke

    
DotSlashSlash 16.02.2010, 11:36
quelle

1 Antwort

16

Ein einfacher, einpoliger, rekursiver IIR-Tiefpassfilter ist schnell und einfach zu implementieren, z.B.

%Vor%

wobei x, y die rohen (ungefilterten) X / Y-Beschleunigungsmessersignale sind, xf, yf die gefilterten Ausgangssignale sind und k die Zeitkonstante der Filter bestimmt (typischerweise ein Wert zwischen 0,9 und 0,9999 ..., wobei ein größeres k bedeutet eine längere Zeitkonstante).

Sie können k empirisch ermitteln, oder wenn Sie Ihre erforderliche Grenzfrequenz kennen, Fc , dann können Sie die Formel verwenden:

%Vor%

Dabei ist Fs die Abtastrate.

Beachten Sie, dass xf, yf die vorherigen Werte des Ausgangssignals auf dem RHS und die neuen Ausgangswerte auf dem LHS des obigen Ausdrucks sind.

Beachten Sie auch, dass wir hier annehmen, dass Sie die Beschleunigungsmessersignale in regelmäßigen Zeitintervallen, z. alle 10 ms. Die Zeitkonstante ist eine Funktion sowohl von k als auch von diesem Abtastintervall.

    
Paul R 16.02.2010, 11:41
quelle