Multimode filters, Part 2: Pole-mixing filters

Last time we looked at reconfigurable filters, filters that include switches to rearrange parts of the circuit during normal use. However, that’s not the only way to produce different responses from a single filter circuit. This time, we’ll look at another approach: pole mixing.

“Pole mixing”? It sounds like stirring a cake with a broom handle…

Either that or a DJ doing a set up a flagstaff, right? Nope!

You’ll have heard people talking about filter “poles”. Without going into the maths of it, this is related to the number of 6dB/oct stages they have. A 1-pole filter has one stage, a 2-pole filter has two stages, etc etc. Most classic synth filters are 4-pole filters, although 2-pole filters have had their proponents, notably Oberheim.

Let’s say we’ve built a four-pole lowpass synth filter, fat and juicy and with enough funk to make your punks daft. It could be based on OTAs, or VCAs, or it could be a transistor ladder filter. Usually you’d take the output of the filter from the output of that final fourth stage. But that’s not the only option. You don’t have to. You could instead take the output from the first, second or third stage. If you did, you’d get a 1-pole, a 2-pole, and a 3-pole response to choose from. You could even take the output straight from the input, and thereby provide a way to bypass the filter.

Pole-mixing is based on the fact that we have all of these different responses available from the filter core. By mixing them in different amounts, both positive and negative, we can create many different responses.

Wow! So how does that work?

To give a simple example, we can imagine making a highpass filter by starting with the input signal and then taking away a lowpass filtered version of that signal. What’s left is the bit that the lowpass filter removed – the high frequencies.

This is a simplification, but it explains the idea. In a similar way, by taking a lowpass response and removing another, we can make a bandpass response.

Pole-mixing to get bandpass filter response

 

More complex responses need more complicated mixing, and a careful balance of the various outputs, but the principle is the same.

Oberheim Matrix/Xpander pole-mixing filter

The first commercial synth I ever saw with a pole-mixing filter was the Oberheim Matrix-12 / Xpander. I can’t find out accurately which of these synths hit the market first, but they’re basically different versions of the same thing, so it doesn’t matter much. The filter was a revelation to the analog synth world of the mid 1980s. Never before had an analog polysynth had a filter that could produce 15 different filter responses. There have been very few since that do.

The Matrix/Xpander uses the filter in the CEM3372 synth voicing chip, and cleverly hacks the chip, tapping the signals from each stage’s filter capacitor with a buffer to get outputs from each pole. Note that the buffers alternate between non-inverting and inverting. This is because we need to be able to subtract poles from the mixture as well as add them.

Another important point is that the Xpander filter doesn’t directly use the input signal. Instead, in cases where the input signal is required the filter capacitor for stage one is disconnected (SW1) which gives us the input signal followed by three lowpass stages.

What a great idea! Does anyone build a synth with a pole-mixing filter these days?

The same idea appeared in the Mutable Instruments Shruthi 4-pole Mission filter board back in 2015. It has a filter core based on the V2164. It uses the same tactic as the original Xpander, using a an eight-way switch to select resistor combinations, coupled with a switch to disable the first filter stage. Mutable Instruments don’t build Shruthi’s any more, but the design files are available if you want to have a go.

The Intellijel Polaris Eurorack module is also based on the V2164, but includes more resistor combinations for a total of 27 different responses.

At the other end of the synth market, the same idea appeared again more recently in the Modal Electronics 008 synth. Similarly, this uses eight selectable resistor sets and a switchable first stage – it is possible to deduce this from the selection of responses that it offers. Oberheim’s idea from 1984 has survived into top end synths in 2017!

What responses can we get from a pole-mixing filter?

The usual way to describe the responses in a filter like this is to describe the weightings of the different outputs. The input is first, followed by the 1-pole output, then the 2-pole, 3-pole, and finally the 4-pole. These are sometimes labelled A, B, C, D, and E.

I’m presenting it like this:

  • Response name {Input, 1-pole, 2-pole, 3-pole, 4-pole}

Note that because the stages are inverting, the 1-pole (6dB/oct) and 3-pole (18dB/oct) outputs are inverted with respect to the input. It is important for the mixing that the inputs to the mixer alternate between non-inverted and inverted (e.g. we add one pole, then subtract the next, add the next, and so on). Since this is achieved by using inverting stages, or adding inverting buffers to some stages (as in the Xpander design), these inversions are ignored in the weightings below. It boils down to “the second and fourth columns are inverted”.

Lowpass responses

These are the simplest, since we can just take the output from each filter stage, and no mixing is required.

  • 6dB lowpass {0, 1, 0, 0, 0}
  • 12dB lowpass {0, 0, 1, 0, 0}
  • 18dB lowpass {0, 0, 0, 1, 0}
  • 24dB lowpass {0, 0, 0, 0, 1}

Highpass responses

These are proper mixed responses that need careful matching of the outputs. If the outputs are not well matched, the cancellation of the signal in the stop band will not be good, and you’ll have a highpass filter with some “leakage” of low frequencies. For musical use, this may well not be that important.

  • 6dB highpass {1, 1, 0, 0, 0}
  • 12dB highpass {1, 2, 1, 0, 0}
  • 18dB highpass {1, 3, 3, 1, 0}
  • 24dB highpass {1, 4, 6, 4, 1}

Bandpass responses

Note that a 12dB bandpass filter can be formed by a 6dB highpass followed by a 6dB lowpass. Thus the coefficients are the same as the 6dB highpass, but “pushed right” by one place, giving an extra 6dB lowpass. The same principle applies for the 24dB bandpass. The coefficients are the same as the 12dB highpass, but pushed right by two places, giving an extra 12dB lowpass.

  • 12dB bandpass  {0, 1, 1, 0, 0}
  • 24dB bandpass {0, 0, 1, 2, 1}

It’s also possible to have asymmetric bandpass responses, with unequal slopes on the two sides.

  • 6dB highpass + 6dB lowpass  = 12dB bandpass
  • 6dB highpass + 12dB lowpass {0, 0, 1, 1, 0}
  • 6dB highpass + 18dB lowpass {0, 0, 0, 1, 1}
  • 12dB highpass + 6dB lowpass {0, 1, 2, 1, 0}
  • 12dB highpass + 12dB lowpass = 24dB bandpass
  • 18dB highpass + 6dB lowpass {0, 1, 3, 3, 1}

Notch responses

A 12dB notch filter is formed by adding the 12dB lowpass response to a 12dB highpass.

  • 12dB notch {1, 2, 2, 0, 0}

Presumably you could do the same thing with a 18dB highpass and 18dB Lowpass, but I haven’t confirmed it:

  • 18dB notch {1, 3, 3, 2, 0}

There are many other possible notch responses. For example, you can create a notch by mixing an allpass response with the input signal (the classic phaser).

Allpass responses

It is also possible to get allpass responses from the filter core.

  • 6dB all pass {1, 2, 0, 0, 0}
  • 12dB all pass {1, 4, 4, 0, 0}
  • 18dB all pass {1, 6, 12, 8, 0}
  • 24dB all pass {1, 8, 24, 32, 16}

Since an allpass filter doesn’t actually remove anything, these responses are underwhelming on their own. However, adding the allpass output to the input causes phase cancellation and creates notches that we can hear. This changes these responses into a phaser.

These responses have all had {1,0,0,0,0} added and then been simplified by dividing by two.

  • 6dB phaser {1, 1, 0, 0, 0}
  • 12dB phaser {1, 2, 2, 0, 0}
  • 18dB phaser {1, 3, 6, 4, 0}
  • 24dB phaser {1, 4, 12, 16, 8}

Ok, so what filter responses did the Oberheim Xpander/Matrix12 include?

It included eight basic responses, which could then be altered by disconnecting the first stage. This effectively moves the coefficients left one place. The responses from the Xpander service manual are:

With the first stage switched on

  • 24dB lowpass {0, 0, 0, 0, 1}
  • 12dB lowpass {0, 0, 1, 0, 0}
  • 12dB highpass + 6db lowpass {0, 1, 2, 1, 0}
  • 18dB highpass + 6db lowpass {0, 1, 3, 3, 1}
  • 24dB bandpass {0, 0, 1, 2, 1}
  • 12dB notch + 6db lowpass {0, 1, 2, 2, 0}
  • 12dB bandpass {0, 1, 1, 0, 0}
  • 18dB allpass + 6dB lowpass {0, 1, 3, 6, 4}

With the first stage switched off

  • 18dB lowpass {0, 0, 0, 1, 0}
  • 6dB lowpass {0, 1, 0, 0, 0}
  • 12dB highpass  {1, 2, 1, 0, 0}
  • 18dB highpass  {1, 3, 3, 1, 0}
  • 12dB highpass + 6dB lowpass {0, 1, 2, 1, 0}
  • 12dB notch {1, 2, 2, 0, 0}
  • 6dB highpass {1, 1, 0, 0, 0}
  • 18dB allpass {1, 3, 6, 4, 0}

Note that the fifth response with the first stage switched off is a copy of the third response with it switched on (12dB HP + 6dB  LP). This is why the Xpander/Matrix12 had 15 responses instead of the 16 you’d expect – one is a duplicate.

Building a pole-mixing filter

There are two parts to a pole-mixing filter, the 4-pole filter core itself, and then the pole mixing. Since we need alternate positive and negative outputs, it helps if the filter stages are inverting. Luckily for us, this is easy to arrange with either the V2164 or the AS3320. The two filters are below. Both of them share the same mixing section.

V2164 4-pole voltage-controlled filter core

The best way to set the V2164 as a filter is to use the VCA to control the cutoff frequency of an op-amp integrator. Since these integrators are inverting, our filter stage is inverting.

This design is based on Mutable Instrument’s Shruthi 4-pole Mission filter mentioned above. The resonance CV mixer has been altered to allow external CV inputs and add some further protection.

AS3320 4-pole voltage-controlled filter core

We can simplify the circuit even further by using the AS3320, which doesn’t need external buffers, and includes voltage-controlled resonance. Furthermore, the stages inside the chip are inverting, so we don’t need to add anything. This makes a fantastically simple filter core for a very powerful filter.

About the only downside of the chip for this use is the fact that the filter stages have a heavy DC bias (6.5V) this makes large DC-blocking caps necessary on the stage outputs. It’d be nice if these weren’t required. Still, it’s not a big thing.

Pole mixer for either V2164 or AS3320 filter core

This mixer takes the five outputs (Input, LP1, LP2, LP3, LP4) marked on the above schematics and provides many different responses.

The pole mixer is a standard inverting op-amp audio mixer circuit. The only complicated part of a pole mixer circuit like this is choosing the resistor values so that it is possible to get other values that give the required gains. The gains need to be accurate, so 1% resistors or better must be used. If you choose E24 series values, you will probably need to combine values to get accurate results, so many pole-mixing designs use E48 or E96 values for at least some cases.

All of the basic lowpass, highness, bandpass, notch, and all pass responses listed above can be done with only five coefficient (gain) values: 1, 2, 3, 4, and 6. A good design should make these values easy to find. The only value in the E24 series that comes close is 30K, which gives 15K for x2, 10K for x3, 7.5K for x4 and 5K for x6. All of these except 5K are standard E24 values. For 5K, the closest is 4.99K from the E96 series. More complex responses including some notches and higher-order all pass filters require more exact values which will be beyond the E24 series whatever you do.

The Xpander and Shruthi designs use a 100K resistor as the basic value. This means we need 50K to give a gain of two, 33.3K to give gain of three, 25K to give a gain of four, and 16.667 to give a gain of six. None of these values are exactly possible, with 49.9K, 33.2K, 24.9K, and 16.5K being the closest values available, all from the E48 or E96 series.

There is an alternative approach, if board space is less of an issue. If we choose a 100K resistor as our basic value, paralleling two 100K resistors gives us a 50K value, and paralleling three gives us 33.3K. We can carry on adding more to get other multiplication factors. So far, I’ve never seen a circuit which took this approach, but it should work and might make sense with resistor arrays.

Note that it is possible to use an analog switch IC to select between different resistor sets as demonstrated in the schematic above, but it is also possible to use multiple mixers to provide various outputs simultaneously.

Multimode filters, Part 1: Reconfigurable filters

Multimode filters, Part 3: State variable filters coming one year soon!

Update: the first pole-mixing filter

I’d previously thought that the Oberheim Matrix/Xpander filter discussed above was the earliest commercial pole-mixing filter, but Steve Ridley recently brought the Siel Mono synth to my attention (Thanks Steve!). This synth came out in 1979/1980, so it predates the Oberheim by several years. It uses LM13600 dual OTAs for the filter core, and uses pole-mixing to provide highpass and bandpass outputs as well as the typical lowpass.

Bernie Hutchin’s Electronotes discussed the concept in the January 1978 issue, so the idea was clearly in circulation in the late-70s/early-80s.

Further reading on pole-mixing filters

The Xpander service manual is where I first saw this technique described.

“Multifunction VCF” from Oberheim Xpander service manual

However, Oberheim weren’t the first. They probably read about it in Bernie Hutchins’ Electronotes newsletter!:

EN85 “Additional Design ideas for Voltage Controlled Filters”, Bernie Hutchins

Here’s the earliest-known commercial application of pole-mixing, in the Siel Mono. It’s also not a bad design if you want a nice vintage 4-pole OTA filter. It could be built with the LM13700 with no problems:

Siel Mono synth schematics

Sound Semiconductor have also recently released an extremely good application note which covers many filter-building techniques, including this one. One interesting twist they give it is to use pole-mixed bandpass responses for the feedback to avoid the “passband droop” effect at high resonance – a nice trick!

“AN701 – Designing VCFs”, Sound Semiconductor

There’s also an excellent explanation over on the Mutable Instruments site:

“SSM2164 4-pole with pole mixing”, Mutable Instruments

Comments and Feedback

As usual, if you spot any errors, get in touch, or comment below.

5 thoughts on “Multimode filters, Part 2: Pole-mixing filters

  1. So that’s how they do it…

    An interesting and informative article (as ever).

    How easy would it be to do this in a DSP? This would mean that you wouldn’t have to worry about component tolerances and drift and could extend it to higher order configurations with no hardware overhead. Moreover you could get the chip count down to 1.

    1. How easy would it be in a DSP?! Very easy indeed!!
      The Powerwave synth (paper presented at DAFX-05) is one example: https://www.researchgate.net/publication/241280072_POWERWAVE_-A_HIGH_PERFORMANCE_SINGLE_CHIP_INTERPOLATING_WAVETABLE_SYNTHESIZER
      You’re exactly right about the reasons why – digital accuracy means you get much tighter results for responses like the highpasses and complex mixtures. In many ways, it’s a no brainer for digital!

  2. A thorough, informative article as ever! I did breadboard one of these filters, based on Shruthi and Xpander schematics, and found it had no leakage with regular resistor values. However I did find the resonance to be a lot poorer when the first pole was switched off. The genuine Xpander seems to be the same, judging from examples I’ve listened to on Youtube. I wonder did you encounter this and find the problem solved by using the signal from the buffered input?

    1. I haven’t built the Xpander filter, so I can’t say for sure. What I can say is that in these designs, the resonance feedback remains around four full stages of the filter whatever taps are selected, so there should be no change. In the Xpander design, the usual 4-pole feedback degenerates to 3-pole feedback when that first stage is disabled, so it’s no surprise if it alters the sound.

Leave a Reply

Your email address will not be published. Required fields are marked *