sonic adventures!

Here's the structure for a pole mixing filter based on a 4 pole cascaded low pass filter and the math involved to work out the overall responses. I did this mainly to do a final pass to make sure I understand it correctly. Hopefully, it's clear enough to follow.

The filter structure may look complicated, but if you ignore the A,B,C,D,E amplifiers and mixer it's just the typical 4 pole cascaded filter structure with feedback. Note that the v0 term into the amplifier with gain of A is not the raw input signal (Vin), but is a mix of Vin and the feedback signal. I made that mistake in my initial attempt. Using the raw input signal ruins the HP responses if any amount of feedback is present and generally gives incorrect results. Thanks to Andrew Simper for clarifying that for me. If building your own pole mixing filter avoid that mistake.

Andrew also pointed out that the need to use V0 rather than Vin is the reason the Oberheim Xpander switches the first low pass stage to (basically) a buffer for modes that require this V0 signal. The CEM3372 chip used has the feedback signal routed internally so the only way to get the necessary mix of input and feedback is to take it from the output of the first stage. Switching the stage to a buffer has other effects as well that we won't explore here. But will explore further here.

Note also that we've inverted the B and D amplifier polarities as necessary, but many cascaded filters will already invert at each stage, in which case all of the ABCDE amplifiers would be non-inverting. The overall responses, of course, would be the same.

  1. Solving for V0 to V4

    V0= Vin - fV4
    V1= V0(s+1)
    V2= V1(s+1)= V0(s+1)^2
    V3= V2(s+1)= V0(s+1)^3
    V4= V3(s+1)= V0(s+1)^4
    V4= Vin - fV4(s+1)^4
    V4(s+1)^4= Vin - fV4
    V4(s+1)^4 + fV4= Vin
    V4((s+1)^4 + f)= Vin
    V4Vin = 1((s+1)^4 + f)
    So we have the transfer function for V4. Now, it's helpful to divide the top and bottom by (s+1)^4. 1 (s+1)^4 1 (s+1)^4 ((s+1)^4 + f)
    1 (s+1)^4 1 + f (s+1)^4
    1 (s+1)^4 (1 + f (s+1)^4 )
    This is a convenient form as it lets us rewrite the V4 transfer function in a form that looks like the standard 4 pole LP transfer function with an added F term. The original form with small f will be used later when expanding the common denominator 1 (s+1)^4 F
    where F = 1 + f(s+1)^4

    With the transfer function in this form, we can easily define V0, V1, V2, and V3 by adding succesive (s+1) terms to the numerator and reducing:
    V4 = 1(s+1)^4 F = 1(s+1)^4 FVin
    V3 = (s+1)(s+1)^4 F = 1(s+1)^3 FVin
    V2 = (s+1)^2(s+1)^4 F = 1(s+1)^2 FVin
    V1 = (s+1)^3(s+1)^4 F = 1(s+1)^1 FVin
    V0 = (s+1)^4(s+1)^4 F = 1FVin

    Now we can sum the individual responses into our mixing network.

  2. Mix equation for 4 poles with feedback

    We can see that Vout is just AV0 - BV1 + CV2 - DV3 + EV4
    Substituting the transfer functions we found previously gives us:
    VoutVin = AF - B(s+1) F + C(s+1)^2 F - D(s+1)^3 F + E(s+1)^4 F

    the common denominator is (s+1)^4 F, so we can multiply each by the common denominator, cancel the common terms and expand the (s+1) exponential terms. Note that all of the F terms will cancel.
  3. Numerators

    A(s+1)^4=>As^4+ 4As^3+ 6As^2+ 4As+ A
    -B(s+1)^3=>-Bs^3- 3Bs^2- 3Bs - B
    C(s+1)^2=>Cs^2+ 2Cs+ C
    -D(s+1)=>- Ds- D
    E=>+ E
    (A)s^4+ (4A-B)s^3+ (6A - 3B + C)s^2+ (4A - 3B + 2C - D)sA - B + C - D + E

    As it turns out, this is the same numerator polynomial you get with or without feedback, due to the cancellations of the F terms. The F term will only appear in the denominator.
  4. Combined numerator coefficients

    replacing s with jw, we can group the real and imaginary parts

    real terms: R = Aw^4 - (6A - 3B + C)w^2 + (A - B + C - D + E)
    imaginary terms: I = j [ (4A - B)w^3 - (4A - 3B + 2C - D)w ]

    The magnitude of the numerator can then be found by Magn = √( R^2 + I^2 )
  5. Denominator

    The common denominator is (s+1)^4 F. We showed before that
    (s+1)^4 F = (s+1)^4 + f    (note big F on left and small f on right)

    expanding the exponent gives
    s^4 + 4s^3 + 6s^2 + 4s + 1 + f
    real terms: R = w^4 - 6w^2 + 1 + f
    imaginary terms: I = j [ 4w^3 - 4w ]

    The magnitude of the denominator can likewise be found by Magd = √( R^2 + I^2 )
  6. The total magnitude is then just Magn / Magd

References and further reading

  • Like a lot of things, this idea showed up early in Electronotes
  • Electric Druid has more discussion of the Xpander / Matrix 12 modes, as well as schematics of a modern take on pole mixing and links to even more reading.