How a transistor ladder filter works
A transistor ladder filter is four stacked pairs of transistors, each with a capacitor across it, all sharing one current that sets the cutoff: four poles, 24 dB per octave. Feeding the output back into the bottom pair adds resonance, and past about 83% it sings on its own.
circuit Ladder oversample 1x setting input: 2 V, from 0.2 V to 20 V setting output: 2 V, from 0.2 V to 20 V setting cutoff: 1M, from 8.2M to 82k setting resonance: 30% in cv: from -3 V to 2 V V1 vcc gnd 15V V2 gnd vneg 3V Rb5 vcc b4 7.5k Rb4 b4 b3 1.5k Rb3 b3 b2 1.5k Rb2 b2 b1 1.5k Rb1 b1 gnd 1.5k Rin in bl 47k Rl bl gnd 1k Rr br gnd 1k Rfb fbk br 9.1k P1 out fbk gnd 1k resonance Q1 l1 bl tail 2N3904 simple Q2 r1 br tail 2N3904 simple C1 l1 r1 68n Q3 l2 b1 l1 2N3904 simple Q4 r2 b1 r1 2N3904 simple C2 l2 r2 68n Q5 l3 b2 l2 2N3904 simple Q6 r3 b2 r2 2N3904 simple C3 l3 r3 68n Q7 l4 b3 l3 2N3904 simple Q8 r4 b3 r3 2N3904 simple C4 l4 r4 68n Q9 vcc b4 l4 2N3904 simple Q10 vcc b4 r4 2N3904 simple U1 l4 bufl bufl opamp U2 r4 bufr bufr opamp R1 bufl m 10k R2 m out 500k R3 bufr p 10k R4 p gnd 500k U3 p m out opamp Rref vcc nref cutoff Q11 nref vneg nexp 2N3904 simple U4 vneg nref nexp opamp rails 15V Q12 tail ncv nexp 2N3904 simple Rcv cv ncv 100k Rcg ncv vneg 1.82kendPress Play to see the wave after the circuit, at out.
What you're hearing
The bottom of the ladder is a pair sharing one current. Two transistors have their emitters joined, and one current, the tail, flows out of that join. The sound goes into the left transistor's base. As the sound rises, more of the tail current goes through the left side and less through the right. The pair doesn't make current; it tips a fixed current from one side to the other.
A capacitor across each rung sets how fast it can follow. Above the bottom pair sit four more pairs, each pair's bases a step higher on a chain of resistors (1.67 V per step from a 15 V supply). Across each of the lower four rungs is a 68 nF capacitor. A capacitor can only charge as fast as the current lets it, so each rung is a low-pass filter whose corner is set by the current: about I/(8π·C·Vt). With the cutoff knob at 1 MΩ, the tail is about 18 µA, and each rung's corner is about 410 Hz.
Four rungs make four poles: 24 dB per octave. Each rung falls 6 dB per octave above its corner, and four in a row fall 24 dB per octave. They also stack up below the corner, so the whole filter is 3 dB down at about 0.44 of one rung's corner: about 180 Hz with the knob at 1 MΩ. The knob runs from about 22 Hz (8.2 MΩ, 2.2 µA) to about 2 kHz (82 kΩ, about 200 µA). More current, faster capacitors, a higher cutoff.
The output is read across the top capacitor. Two op-amps buffer its two ends, so reading them takes no current from the ladder. A third op-amp takes their difference, times 50 (500 kΩ over 10 kΩ).
Resonance is the output fed back to the bottom. The resonance knob takes part of the output back, through 9.1 kΩ, into the bottom pair's right-hand base, the opposite side from the sound. So it subtracts, which is negative feedback. At the cutoff, though, the four rungs together delay the sound by half a cycle, and the subtraction turns into addition. That frequency is boosted, and the filter rings there. The feedback that boosts the cutoff also pulls the low end down: in the lesson's song, resonance at 58% takes 5.3 dB off the bass under 170 Hz.
Past about 83%, it sings on its own. Turn the resonance far enough and the boost at the cutoff gets back as much as it loses on each trip round the loop. Then the filter keeps ringing with no sound going in: a pure tone at its cutoff. In the lesson, past 83% that tone stands 38 dB above the same band at 58%. Turn the cutoff, and the tone follows it.
One volt an octave comes from a transistor's exponential. The tail current comes from a pair of transistors called an exponential converter. An op-amp holds the first transistor at −3 V, so the cutoff knob, Rref, has 18 V across it: 18 µA at 1 MΩ. The second transistor copies that current, and every 18 mV more at its base doubles it. That's a transistor's own law: at room temperature, the current doubles every Vt × ln 2 ≈ 17.9 mV. The cv input reaches that base through a 100 kΩ and 1.82 kΩ divider, 17.9 mV per volt. So each volt at cv is one octave of cutoff, the standard 1 V per octave.
This page plays a simpler transistor. Every transistor here is written 2N3904 simple. The simple model leaves out the effects these transistors never reach in a ladder, as they never saturate, so it does about a fifth of the computer's work. The full model sounds a little richer but takes five times the work, too much for every voice of a chord, live. Against the full model, the same song measures the same up to 2 kHz and a touch brighter above. The circuit also runs without oversampling (oversample 1x): against 2×, it's the same up to 2 kHz, with a little less of the very top and no aliasing measured.
Try this
- Turn cutoff from 8.2 MΩ to 82 kΩ. The sound opens from a dark rumble, around 22 Hz, to bright, around 2 kHz. That's the tail current going up a hundredfold.
- Press "Resonance 0%", then "Resonance 85%: it sings". At 0% it's a smooth, steep low-pass. At 85% it whistles at the cutoff even between notes. Now turn cutoff, and the whistle follows.
- Open the example sound "Ladder Sweep". An LFO on the cv input sweeps the cutoff two octaves either way, once every eight bars, and an envelope opens each chord as it swells in. To change the parts yourself, open it in SynthMaker.
The parts list
circuit Ladder oversample 1x setting input: 2 V, from 0.2 V to 20 V setting output: 2 V, from 0.2 V to 20 V setting cutoff: 1M, from 8.2M to 82k setting resonance: 30% in cv: from -3 V to 2 V V1 vcc gnd 15V V2 gnd vneg 3V Rb5 vcc b4 7.5k Rb4 b4 b3 1.5k Rb3 b3 b2 1.5k Rb2 b2 b1 1.5k Rb1 b1 gnd 1.5k Rin in bl 47k Rl bl gnd 1k Rr br gnd 1k Rfb fbk br 9.1k P1 out fbk gnd 1k resonance Q1 l1 bl tail 2N3904 simple Q2 r1 br tail 2N3904 simple C1 l1 r1 68n Q3 l2 b1 l1 2N3904 simple Q4 r2 b1 r1 2N3904 simple C2 l2 r2 68n Q5 l3 b2 l2 2N3904 simple Q6 r3 b2 r2 2N3904 simple C3 l3 r3 68n Q7 l4 b3 l3 2N3904 simple Q8 r4 b3 r3 2N3904 simple C4 l4 r4 68n Q9 vcc b4 l4 2N3904 simple Q10 vcc b4 r4 2N3904 simple U1 l4 bufl bufl opamp U2 r4 bufr bufr opamp R1 bufl m 10k R2 m out 500k R3 bufr p 10k R4 p gnd 500k U3 p m out opamp Rref vcc nref cutoff Q11 nref vneg nexp 2N3904 simple U4 vneg nref nexp opamp rails 15V Q12 tail ncv nexp 2N3904 simple Rcv cv ncv 100k Rcg ncv vneg 1.82kendThe cutoff setting is written from the bigger value (8.2M down to 82k), so turning the knob up raises the cutoff.
How we checked it
Checked against ngspice running the full transistor models: its response is within 1 dB from 20 Hz to 2 kHz.
Build it step by step
- The lesson: A filter from ten transistors: the transistor ladder filter (opens in a new tab). Ned builds it rung by rung, from one pair to four, then resonance, then one volt an octave, and plays it under supersaw chords.
- The manual: The transistor ladder filter.
- The video: How a transistor ladder filter works
Next and previous
Further reading
- The differential pair, the ladder's building block: Wikipedia: Differential amplifier.
- Voltage-controlled filters in synthesizers: Wikipedia: Voltage-controlled filter.
- D. T. Yeh, "Digital Implementation of Musical Distortion Circuits by Analysis and Simulation", PhD thesis, Stanford University, 2009 (the DK method). PDF
- M. Holters and U. Zölzer, "A Generalized Method for the Derivation of Non-Linear State-Space Models from Circuit Schematics", EUSIPCO 2015. PDF