A while ago I mentioned pole mixing in a post about my all pass filter module. Pole mixing is a technique of combing the outputs of different poles in a filter with the input signal to get different kinds of frequency responses.
For instance, suppose you have a simple 1-stage (or 1-pole) low pass filter. The output at DC is the same as the input, and above the corner frequency the output rolls off at 6 dB per octave, down to zero at high frequency. Now, if you subtract that LP output from the input, what happens? At DC both the signals are the same, so you get zero. At high frequency the LP output is zero, so the result is the same as the input. Analyze the range in between and you find it rolls off at 6 dB per octave below the corner frequency — it behaves just like a 1-pole high pass filter. So by adding a mixer to a low pass filter to do the subtraction, you can get both low and high pass behavior from the same circuit.
Now suppose you have a 2-pole LPF — two 1-pole filters with the first output (LP1) feeding into the second. The second stage output (LP2) rolls off at 12 dB per octave. Can you make a 2-pole high pass filter by subtracting LP2 from the input?
No, you can’t. You would get zero output at DC and output = input at high frequency, but in between it goes wrong. The reason is that a filter changes not only the amplitude but the phase, and in a 2-pole LPF, the output and input are 90° out of phase at the corner frequency. So you’re essentially subtracting a negative number, and instead of a rolloff, you get an enhancement of the input signal at mid frequency.
But you can make a 2-pole HPF from a 2-pole LPF, it’s just a bit more complicated. You have to use the outputs of both filter stages. Instead of subtracting LP2 from input, you subtract 2 times LP1 and add (1 times) LP2 to (1 times) the input. It’s not obvious but that turns out to work.
Likewise you can make a 3-pole HPF from a 3-pole LPF: 1 × input – 3 × LP1 + 3 × LP2 – 1 × LP3. Or a 4-pole HPF from a 4-pole LPF: 1 × input – 4 × LP1 + 6 × LP2 – 4 × LP3 + 1 × LP4.
But you’re not limited to high pass filter responses — as noted before, you can do all pass filters; you also can do band pass, notch, double notch, low pass plus notch, and so on.
At least in principle. The above discussion of pole mixing is all fine in an ideal world. But notice something: What if the DC gains of the filter stages are not unity? Or what if the mixer resistor ratios are not accurate? For a 1 pole HP filter you are relying on the input and the LP1 output to cancel each other out at DC, but if the gain is off by 1% or the mixing resistors ratio is off by 1%, then the cancellation isn’t exact — at DC instead of zero output you get 1% of the input level.
Here’s a Bode plot. On the top is the output amplitude versus frequency, assuming a 1 kHz corner frequency. In blue is a perfect 1-pole HP filter and in green is one whose LP1 coefficient is 1% too high. (And in orange is the curve for a 1% too high input coefficient, but it’s the same as the green curve and hidden by it.) On the bottom is the phase shift versus frequency.

Well, that’s not a big deal — the amplitudes are basically indistinguishable above about 70 Hz and differ only about 3 dB at 10 Hz. The phases look more alarming, but if you care about the phase at all you probably only care about it at larger amplitudes.
But what about a 4 pole high pass? If the LP2 gain is low by 1% that gets multiplied by the coefficient of 6, so the amplitude at DC is 6% of the input (about 24 dB down) instead of zero. And if the LP1 or LP3 coefficient is low by 1%, it causes a sign change which equates to a 180° phase flip.

That level of DC leakage is starting to get problematic. The phase flips, again, are only affecting signals that are down 24 dB, so maybe they’re not as troublesome as they look. But you’d probably like both to be better.
If you can get the errors down to only 0.1% you see:

Now the leakage is down to about -45 dB, and the phase flips occur at that amplitude, so this is almost certainly good enough.
Similar things go on in other filters that are supposed to go to zero amplitude at DC. For any such filter you can get to zero only by cancellation between the different signals, and that works only if the gains and mixing ratios are accurate enough. Here’s a 4-pole band pass filter with 1% errors:

and 0.1%:

Conclusion: You do want to make sure the gains and mixes are under control at the 1% level at worst, preferably more like 0.1%.
I’m breadboarding a pole mixing filter, based on an Electric Druid design. More about that later. For now suffice it to say I see no reason (yet) the errors can’t be controlled at a good enough level, but it’ll take some work.

One thought on “Pole mixing”