Algoritmus - plovoci prumer

Snail Instruments snail at iol.cz
Fri May 18 13:14:54 CEST 2001


Ja vim, ze asi nabadam ke kompletnimu prekopani programu, ale na mereni spotreby by mohl vyhovet i fixed point, coz je jenom jiny nazev pro celociselnou aritmetiku.

Problem prumerovani to neresi, asi bych se priklanel k IIR filtru popsanem panem Krejcim:

mi[n]=lambda*mi[n-1]+(1-lambda)*x[n]

Pokud se zvoli lamda jako (zaporna) mocnina dvou, neni potreba ani nasobit, cele se to odehraje pomoci shiftu a scitani. Je samozrejme dobre uchovavat i nejaka desetinna mista.

lambda = 1/(2^a), pak 

mi[n] = mi[n-1] + (x[n]-mi[n-1])>>a

Pokud je a=1, cely vypocet se jeste zjednodusi:

mi[n] = (x[n]+mi[n-1])>>1

J. Hanzal

>Ja vedel, ze mi tu nekdo poradi. Diky moc. Potrebuji to na prumerovani
>spotreby benzinu v aute. Myslim, ze tam zapominaci algoritmy budou skutecne
>vice nez dostacovat.

=======================================================================
Electronical devices for chemical laboratory, custom electronics design
-----------------------------------------------------------------------
Snail Instruments                      Josef Hanzal, M. S.
Vojanova 615                           phone/fax: +420-311-624433
266 01 Beroun                          e-mail: snail at iol.cz
Czech Republic                         URL: http://www.vitrum.cz/snail/
GPS: 49deg58'28" North, 14deg 4'35" East
=======================================================================






More information about the HW-list mailing list