>> y[n] = ( x[n] + y[n-1] ) / 2
>>
>
> se ho capito ciņ che intendi questa non č una media.
> Se hai 5 campioni, esempio 1 2 3 4 5, e fai la media viene
> somma[campioni] / numero campioni = 15 / 5 = 3
> se arriva un altro campione, diciamo 6 e fai
> 3 + 6 / 2 la media ti risulta 4.5 mentre in realtą dovrebbe essere 3.5
Infatti assomiglia molto di pił ad un filtro passa-basso.
Ho perņ specificato che se serve la media aritmetica ogni 10 minuti, il
miglior modo a mio parere e con meno dispendio di risorse č:
1) allocare un accumulatore, grande almeno 2^(n. bit ADC) * numero
campioni da accumulare. Es. con i campioni a 16 bit e 60000 campioni č
sufficiente un accumulatore che possa visualizzare 65536*60000 = 3932160000
quindi 31.87 bit (es. unsigned long di 32 bit)
2) azzerare l'accumulatore
3) sommare ogni campione all'accumulatore
4) al campione 60000 dividere l'accumulatore per 60000
5) ripetere dal punto 2
Cosģ si ottiene la media nei 10 minuti precedenti. Non č tenuto di conto,
nella media successiva, del valore precedentemente calcolato.
Una media mobile sarebbe molto pił accurata ma dispendiosa, in quanto i 60
mila campioni vanno tenuti in un registro a scorrimento
Ciao
CG