Ich möchte Dir noch einen Vorschlag machen, der die Mittelwertbildung im 
stationären Fall deutlich beschleunigen wird.
Du schreibst:
>Dann summiere ich alle Array-Elemente auf, und teile dann durch die
>Anzahl der Elemente (normal, Tiefpass-Filter).
Eigentlich ist es nicht nötig, jedesmal bei eintreffen eines neuen 
Wertes die Summe aller Array-Elemente zu bilden.
Du kannst, wie Du es schon fast hast, einen Ringpuffer verwenden.
Wenn der Ringbuffer voll ist, dann ist der älteste Wert jeweils der auf 
den neuen Werte folgende, bzw. der Nullte, falls der neue an das Ende 
des Arrays geschrieben wird.
Bei eintreffen eines neuen Wertes, muss nur der älteste Wert von der 
Gesamtsumme abgezogen werden und der neue addiert. Das Array musst Du 
natürlich trotzdem halten um die alten Werte immer wieder subtrahieren 
zu können.