[elektro] iránytű átlagolás
Palasik Sandor
palasik at mail.datanet.hu
Thu Sep 26 22:21:44 CEST 2013
> Adott egy elektronikus iránytű IC.
> Kicsit ugrál a mérési érték, ezért átlagolom.
> A probléma a 359 és 0 fok környékén van, mert itt az átlag nem jó értéket
> ad (180 fok).
> Van ennek a kiküszöbölésére valami egyszerű algoritmus?
Mikor nekem kellett ilyet csinálni, akkor exponenciális átlagolást
használtam. Az éppen nem iránytű volt, hanem fázisszög, de a lényeg ugyanaz.
Tehát van egy korábbi átlagod (A), egy új értéked (x) és egy egynél
kisebb számod (f), akkor a következő átlagot így kapod meg:
delta = x-A
A = A+delta*f
Ha ugyanezt szögekkel kell csinálni, akkor annyival kell módosítani,
hogy a delta értéket a -180..180 tartományba kell korrigálni, mielőtt
kiszámolod belőle az új A-t.
Az f értékével lehet játszani: minél kisebb, annál jobban simít.
Ha egész számokkal kell számolni, akkor legyen s = 1/f, egész szám.
delta = x-A
sA = sA+delta
A = sA/s
Ha az s kettő hatvány, akkor még egyszerűbb vele osztani.
Palasik Sándor
More information about the Elektro
mailing list