Jak se vám použít klouzavý průměr odfiltrovat hodnot akcelerometru v iPhone OS

hlasů
8

Chci filtrovat hodnot akcelerometru pomocí klouzavého průměru, jak se to dělá? dík

Položena 16/02/2010 v 12:36
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
16

Jednoduchý, jednopólový, dolní propust, rekurzivní IIR filtru je rychlé a snadné implementovat, např

xf = k * xf + (1.0 - k) * x;
yf = k * yf + (1.0 - k) * y;

kde x, y jsou surový (nefiltrované) X / Y akcelerometru signály, xf, yf jsou filtrované výstupní signály, a k určuje časové konstanty filtrů (obvykle hodnotu mezi 0,9 a 0,9999 ..., kde větší K znamená delší časovou konstantu).

Můžete určit kempiricky, nebo pokud víte, že vaše požadované cut-off frekvenci Fc, pak můžete použít vzorec:

k = 1 - exp(-2.0 * PI * Fc / Fs)

kde Fsje vzorkovací frekvence.

Všimněte si, že xf, yf jsou předchozí hodnoty výstupního signálu na RHS, a nové výstupní hodnoty na LHS výrazu výše.

Všimněte si také, že jsme za předpokladu, tady, že budete odběru akcelerometru signály v pravidelných časových intervalech, například každých 10 ms. Časová konstanta bude funkcí jak k a z tohoto intervalu vzorkování.

Odpovězeno 16/02/2010 v 12:41
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more