# [sdiy] Multimode pole-mixing - building notch responses

Tom Wiltshire tom at electricdruid.net
Sun Sep 16 13:35:21 CEST 2018

```Hi Richie,

Thanks for this.

Yes, I’ve got some calculations you sent me and an excel sheet David D did, so I’m good for doing the math. What I felt I was lacking was any real visual understanding of what’s going on. The equations alone aren’t enough for my brain to get it - not a maths brain in that sense. I need to be able to see it in my mind’s eye, and for that reason your rubber sheet helps a lot!

Tom

==================
Electric Druid
Synth & Stompbox DIY
==================

> On 16 Sep 2018, at 00:08, Richie Burnett <rburnett at richieburnett.co.uk> wrote:
>
> Hi Tom,
>
> Notch filters have pairs of complex zeros (roots of the transfer function's numerator) that pull the frequency response down towards zero.  Visualise a rubber sheet suspended above the ground with a pair of tent pegs pinning it to the ground at particular points.  (When you walk along the jw axis in s-domain the closer you go to a "zero" the deeper the notch is.)
>
> Conversely, resonant filters have pairs of complex poles (roots of the transfer function's denominator) that push the magnitude response up. Visualise a rubber sheet with tent "poles" pushing it up to great height at particular points.  (When you walk along the jw asix in the s-domain the closer you get to a pole the more the gain peaks at that frequency due to "resonance.")
>
> Combinations of poles and zeros allow you to get particular frequency responses, and allow you to control things like notch width and depth.
>
> The equations Don posted are s-domain prototype filter equations.  The cutoff frequency is 1 rad/s.  In practice the s terms are scaled to move the cutoff frequency to an arbitrary number of Hz, rad/s or whatever.  Often scaled exponentially with voltage ;-)
>
> The best way to calculate all the transfer functions from that pole-mixing arrangement is to first work out what the s-domain transfer function (TF) is for each of the taps between the cascaded poles without any global feedback:
>
> A = 1
> B = 1 / (s+1)
> C = 1 / (s+1)^2
> D = 1 / (s+1)^3
> E = 1 / (s+1)^4
>
> Then rewrite all of these TFs with a common denominator of (s+1)^4 and expand them...
>
> A = (s^4 + 4*s^3 + 6*s^2 + 4*s + 1) / (s^4 + 4*s^3 + 6*s^2 + 4*s + 1)
> B = (s^3 + 3*s^2 +3*s + 1) / (s^4 + 4*s^3 + 6*s^2 + 4*s + 1)
> C = (s^2 + 2*s + 1) / (s^4 + 4*s^3 + 6*s^2 + 4*s + 1)
> D = (s + 1) / (s^4 + 4*s^3 + 6*s^2 + 4*s + 1))
> E = 1 / (s^4 + 4*s^3 + 6*s^2 + 4*s + 1)
>
> You can then work out what weightings you need to apply to each of the taps when mixing to get whatever TF you want.  I think that's how I did it.
>
> I thought I sent you an Excel sheet with my calculations for this a couple of years ago, Tom?
>
> -Richie,
>
>
>
> -----Original Message----- From: Tom Wiltshire
> Sent: Saturday, September 15, 2018 7:44 PM
> To: Donald Tillman
> Cc: SDIY List
> Subject: Re: [sdiy] Multimode pole-mixing - building notch responses
>
> Hi Don,
>
> Sorry, I didn’t explain myself well enough. I’m talking about a pole-mixing filter like the Xpander (multimode that way) not a state-variable filter (multimode a different way).
>
> State variable I get well enough, but I hadn’t really considered the notch response there either, so thanks for the explanation. The S domain maths is the same for the pole-mixing case, so I’m looking for  (s^2 + 1) / (s^2 + s + 1) for a 2-pole notch, right?
>
> What does the equation for a 4-pole notch look like? Can you do a 3-pole notch? What does that look like?
>
> Thanks,
> Tom
>
> ==================
>      Electric Druid
> Synth & Stompbox DIY
> ==================
>
>> On 15 Sep 2018, at 19:24, Donald Tillman <don at till.com> wrote:
>>
>>
>>> On Sep 15, 2018, at 10:46 AM, Tom Wiltshire <tom at electricdruid.net> wrote:
>>>
>>> Can anyone explain pole-mixing notch responses to me in a way that I can “get”?
>>>
>>> Most of the responses from a multimode pole-mixing filter I understand, but I’m struggling with notches.
>>>
>>> The bandpass responses, for example, are the same as the highpass responses, but “shifted right” to effectively make them into a highpass and a lowpass in series - a bandpass. That’s easy to understand. Intuitive, even.
>>
>> Hey Druid,
>>
>> That's not really accurate.  Assuming a 2-pole multimode filter, the lowpass will have a 12dB/oct slope down.  The highpass will have a 12dB/oct slope up.  But the bandpass will have a 6dB/oct slope on each side.
>>
>> So it's not like a highpass and lowpass in series.  It's much more like a lowpass tilted counterclockwise with a 6dB/oct boost throughout.
>>
>>> I guess the trouble is I don’t really know what a notch filter looks like in terms of the s-domain equations, so it’s hard to see how the pole-mixing leads to that result. Even the Allpass responses are easier, but in that case, I *do* know what the s domain equation is supposed to look like (s-1/s+1 for the one-pole, s^2-s+1 / s^2+s+1 for the two-pole, right?).
>>
>> The notch function simply adds the lowpass and highpass signals together. The secret is that, at resonance, the lowpass response shifts the phase 90 degrees behind, the highpass response shifts the phase 90 degrees forward, leaving a 180 degree difference between them, and adding them together cancels completely
>>
>> For the equation, we add the highpass "s^2" term and the lowpass "1" term, and the "s" term isn't used:
>>
>> (s^2 + 1) / (s^2 + s + 1)
>>
>>
>> Since "s" is complex frequency, s^2 has a value of -1 at resonance, and the -1 and +1 cancel for the notch.
>>
>> -- Don
>> --
>> Donald Tillman, Palo Alto, California
>> http://www.till.com
>>
>
>
> _______________________________________________
> Synth-diy mailing list
> Synth-diy at synth-diy.org
> http://synth-diy.org/mailman/listinfo/synth-diy
>
>
> ---
> This email has been checked for viruses by AVG.
> https://www.avg.com

```