Zur gleitenden Mittelung mit einer Zeitkonstanten von 1000 Abtastwerten teilt man das bisherige Ergebnis durch 1000 und zieht diesen Wert vom bisherigen Ergebnis ab. Dann hat man noch den 0,999 fachen Mittelwert.
Zu dem Wert addiert man den durch 1000 geteilten aktuellen Messwert.
Das wär's,
Soweit klingt das einfach, einleuchtend und effektiv. Da werde ich wohl mal die Mittelwertbildung in meinen Programmen umstellen
Allgemein macht das aber glaube ich nur Sinn, wenn man mit Fließkommatypen rechnet und stößt Florian dann schnell wieder auf das Problem, dass die 4k seiner Demo-Version überschritten werden.

Ich habe die Integer Messwerte bisher immer in einem Integer aufaddiert und durch die Integer-Anzahl der Messwerte dividiert.
Sprich ganz ohne Fliesskommazahlen. Dachte eigentlich auch das ist genau genug.

Als Anfangsbedingung kann man den ersten Meswert nehmen, und dann auch noch mit einer steigenden Zeitkonstanten in die Mittelung einsteigen.
(Man wird die Zeitkonstante im allgemeinen als runden Binärwert wählen.)
Hier wird es dann schon zu kompliziert für mich.
Dass der Mittelwert nur in Mittelwert ist, wenn man die Messwerte in konstanten Zeitabständen aufnimmt, leuchtet mir noch ein.
Aber in der Berechnung selber geht die Zeit doch gar nicht ein, warum soll es dann möglichst ein runder Binärwert sein?

Oder soll dieses "Manöver" dafür da sein, um den Mittelwert auch am Anfang richtig zu berechnen, wenn man noch gar keine 1000 Messwerte hat und die Division durch 1000 einen falschen Wert liefern würde?
Aber selbst da leuchtet mir nicht ein, wöfür man mit einer Zeitkonstanten und nicht einfach mit der Anzahl der aktuell vorhandenen Messwerte rechnet.

Edit: OK, ich glaube ich habe es. Deine Zeitkonstante ist dasselbe was ich mit "Anzahl der Messwerte" meine.