[sdiy] Digital filtering of pot input

Matthias Puech matthias.puech at gmail.com
Fri Dec 2 18:23:01 CET 2016

[Oops, I realize I had not CCd this reply to the list]

Hi Rowan, hi Vladimir,
Thanks for your responses!

> Can't you just average, say, 16 ADC readings? This will do some filtering. Then you should be able to lower down the 0.01 change threshold to maybe 0.001 and get much smaller staircase.

This is actually what I already do (boxcar on 32 values -> hysteresis -> boxcar and IIR again to smooth out the staircaise), but it's conceptually ugly and you can still hear a weird staircase when turning the pot delicately, even with a low threshold.

> I know one F4 user that solves this by having a slow and a fast filter,
> when the pot value is almost constant, he uses the slow filter, then
> when he detects "movement", he switches to the fast one that averages less.

This is more what I was thinking of… It makes me think: what about a simple one-pole IIR filter which coefficient varies as a function of "continuous movement" (no movement -> 0, fast movement -> 1). Has this been studied? How to detect "movement"?

Thanks again,

More information about the Synth-diy mailing list