[sdiy] Multimode filter topology
David G. Dixon
dixon at interchange.ubc.ca
Tue Aug 18 01:22:16 CEST 2009
(Apologies in advance: very long post with lame questions at the end):
Lately I've been thinking about multimode filters, and I'm very intrigued by
Grant Richter's scheme of adding or subtracting the outputs from individual
single poles in a cascaded 4-pole filter to achieve various modes:
http://www.musicsynthesizer.com/Circuitry/Multi-Function%20VCF.htm
In my own cascaded 4-pole filter, I simply put a switch on each filter stage
to swap the positions of the resistor (OTA) and the capacitor to switch
between LP and HP. However, the problem with this scheme is that as soon as
the modes are mixed, the filter will no longer resonate because the
resonance feedback is insufficient. Also, the output level diminishes
sharply. By permanently wiring the filter as a 4-pole LP (which resonates
easily), the stagewise outputs can be added and subtracted in various ways
to arrive at all possible LP, HP and BP filter modes, and I'm assuming they
will all resonate (although I haven't tested this).
I personally would alter Grant's technique slightly: I don't like the fact
that he must disengage the first filter stage for half of his functions. If
one instead takes the incoming signal as one of five additive terms, then
one can achieve 15 distinct modes (and their inverses) by applying Pascal's
triangle to the coefficients (while alternating their signs).
Here is Pascal's triangle (up to five terms):
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
Here are the five terms corresponding to the outputs of each stage (and the
input), multiplied by factors from the triangle and alternatively added and
subtracted:
A B C D E
------- - ------- + ------- - ------- + -------
(s+1)^0 (s+1)^1 (s+1)^2 (s+1)^3 (s+1)^4
(The signs may all be switched as well.) Here are the various modal
possibilities:
{A,B,C,D,E} = {1,0,0,0,0} = no filtering
= {0,1,0,0,0} = -6dB LP
= {0,0,1,0,0} = -12dB LP
= {0,0,0,1,0} = -18dB LP
= {0,0,0,0,1} = -24dB LP
= {1,1,0,0,0} = +6dB HP
= {0,1,1,0,0} = +6/ -6dB BP
= {0,0,1,1,0} = +6/-12dB BP
= {0,0,0,1,1} = +6/-18dB BP
= {1,2,1,0,0} = +12dB HP
= {0,1,2,1,0} = +12/ -6dB BP
= {0,0,1,2,1} = +12/-12dB BP
= {1,3,3,1,0} = +18dB HP
= {0,1,3,3,1} = +18/ -6dB BP
= {1,4,6,4,1} = +24dB HP
Two of these entries are not available in Grant's scheme.
Now, one can also achieve various notch and allpass modes by using other
additive schemes, or combinations of the Pascal's triangle schemes. For
example, a 2-pole notch filter with transfer function:
s^2 + 1
-------
(s+1)^2
is achieved with:
{A,B,C,D,E} = {1,2,2,0,0}
= {1,2,1,0,0} + {0,0,1,0,0}
and a 3-pole allpass filter with the transfer function:
s^3 + 3s
--------
(s+1)^3
is achieved with:
{A,B,C,D,E} = {1,3,6,4,0}
= {1,4,6,4,1} - {0,1,0,0,0} - {0,0,0,0,1}
These are both options in Grant's scheme, along with two others with one
additional LP pole.
So, at long last, here is my lame-o question:
Where can I go (decent book or website) to learn which of the plethora of
combinations are meaningful, so I can begin to put together an algorithm for
combining terms to achieve meaningful filter modes beyond Pascal's triangle?
For instance, I can find no reference to the aforementioned allpass mode on
the web or in any of the books on my shelf; the only reference to it is in
Grant's webpage given above. One thing I can do, given that my 4-pole VCF
has + and - outputs available from every stage, is to test every combination
I can think of to see if they are any good. However, there must be some
systematic approach to this question beyond just the LP/BP/HP combos. What
about various polynomials in the numerator? For example, how would one
classify this mode:
s^3 + 3s + 1
------------
(s+1)^3
Given by {A,B,C,D,E} = {1,3,6,3,0}
= {1,4,6,4,1} - {0,1,0,0,0} - {0,0,0,1,0}?
Also, what if some of the signs in the numerator are changed?
Any help appreciated!
More information about the Synth-diy
mailing list