[LAD] Stabilising self-oscillating filters?

Gordon JC Pearce gordon at gjcp.net
Mon Aug 27 10:11:39 UTC 2007

On Mon, 2007-08-27 at 11:35 +0200, Fons Adriaensen wrote:
> On Mon, Aug 27, 2007 at 12:32:26AM +0100, Gordon JC Pearce wrote:
> > Something I've been wondering about recently is this - if you implement
> > a digital filter, how do you maintain stability when it's pushed into
> > self-oscillation?  Most "real" synths seem to put out a slightly clipped
> > sinewave when in self-oscillation.  Might it be as simple as an atan()
> > clipper in the feedback loop?
> Yes.
> You can use atanf(), tanh(), x / sqrtf (1 + x * x), ...

So that would hold it around unity gain, maintaining the oscillation
without going hugely offscale?

I did briefly consider a simple "compressor" in the feedback loop with a
shortish (a few cycle's worth) time constant, the idea being for it to
work like the lightbulb or thermistor in a Wien Bridge oscillator.


More information about the Linux-audio-dev mailing list