[sdiy] Pole Dancing

Richie Burnett rburnett at richieburnett.co.uk
Tue Sep 18 21:34:20 CEST 2018

That's cool Don.  Great programming, and thanks for sharing.  I've had this 
on my "to do" list for sometime, but can strike it off now someone else has 
done it well.

I'm used to using MATLAB to produce root locus plots for control-loop 
stability, etc, but this web interface is much more intuitive and 

I always found it fascinating how the Moog filter's poles move as global 
feedback is applied around the ladder.  Particularly how poles that are 
slightly spread out on the real axis due to component tolerances "pair up" 
with their nearest neighbour and then split again to form *two resonant 
(complex) pairs*.  It is interesting to me because the 4-pole moog filter 
with resonance applied actually behaves like two cascaded 2-pole filters 
with different cutoff and resonance values.  As the poles split in the 
classic X formation, the two that make a dash for the jw axis are highly 
resonant and dominate the frequency response, and the two that head 
leftwards are still slightly resonant but are at a higher natural frequency 
and very highly damped.  It's useful to break up the response like this for 
digital modelling because digital filters are rarely realised in orders 
higher than 2 for stability, numerical accuracy and computational efficiency 
reasons.  So it's interesting to see that a 4-pole Moog LPF can be modelled 
with two cascaded 2-pole resonant LPFs, and that the parameters of these two 
cascaded 2-pole IIR filters are not the same!

I think this is where Roland went wrong with a lot of their early VA synth 
filters.  The 2-pole filter setting sounded good, but for the 4-pole filter 
setting they just sent the audio through two identical cascaded 2-pole 
digital filters, which results in a very broad resonant peak that sounds 
thin, weedy and very nasal.  That is not how a real 4-pole ladder (or 
cascaded OTA) filter with global feedback behaves when the resonance is 
turned up, and your JS app clearly shows that!


-----Original Message----- 
From: Donald Tillman
Sent: Tuesday, September 18, 2018 6:44 PM
To: synth-diy mailing list
Subject: [sdiy] Pole Dancing

Hey folks,

Since we've been talking about filters lately...

There are several classes of active filters (state variable, gyrator, etc.), 
but one that's especially interesting is where you start with a passive RC 
filter, with poles on the real axis, and apply feedback, liberating the 
poles into the wonderment of the complex plane.

Here's a Javascript simulation I wrote of exactly that:

    Root Locus Demo of Real Poles with Feedback

Have fun with it.  Tell me what you think.  Ask questions.  Explore.

  -- Don
Donald Tillman, Palo Alto, California

Synth-diy mailing list
Synth-diy at synth-diy.org

This email has been checked for viruses by AVG.

More information about the Synth-diy mailing list