Als ik in robotische regelkringen geen al te plotse wijzigingen wil, doe ik vaak dit: gefilterd signaal = (laatste 9 waarden van dit gefilterd signaal + nieuwe ongefilterde waarde)/10. Dat gedraagt zich als een slew limiter, als een low pass filter, maar is wiskundig dus ook een integrator maal een constante. Wel eentje die meeschuift, vandaar moving average.
Je zou nog kunnen opteren om altijd het ongefilterde signaal te middelen ipv het gefilterde, maar ik heb me er nooit genoeg in verdiept om te zeggen wat de wiskundige en praktische gevolgen zijn. Ik ben nogal praktisch van aanpakken wat regelingen betreft.
Nog een trucje: als je geen moving array van de afgelopen 10 (vb) waarden wil bijhouden kan je ook doen: nieuwe gefilterde waarde = (oude gefilterde waarde*9 + nieuwe ongefilterde waarde)/10. Weerom, schiet me niet af op de wiskundige correctheid, maar het gedrag werkt voor mij.