[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