Filters from Poles and Zeros
A filter is two polynomials, and the roots of those polynomials are the whole story. Place a few points in the complex plane and you can read the entire frequency response straight off the geometry — no calculus required at the point of use.
Ask an engineer how a filter works and you'll usually get a Bode plot: gain against frequency, a flat passband, a corner, a roll-off into the stopband. True, and useful, but it hides where the shape comes from. The shape is not designed curve by curve. It falls out of the position of a handful of points in the complex plane, and once you can see those points you can sketch the whole response by eye.
Here is the claim to test as you read. A filter's frequency response is the product of distances from a moving probe to a few fixed points. Mark the special points, walk a probe up the imaginary axis, and at each height the gain is just "distances to the zeros, divided by distances to the poles". That's it. The calculus was all spent up front, in deciding where to put the points. Let's look at one first.
The transfer function is a ratio of polynomials
Any linear, time-invariant circuit has a transfer function , a ratio of two polynomials in the complex frequency . The reason this object exists is one clean fact: feed a linear circuit a signal and it spits out exactly , the same signal scaled by a complex number. The exponential is the circuit's eigenfunction; is the eigenvalue. Factor the top and bottom and you expose the points that matter.
The zeros are the values of that drive the output to nothing. The poles are the values that blow it up. They are usually complex, and the right way to picture them is as pins stuck into the -plane. Everything the filter does is encoded in where those pins are.
The magnitude is a product of distances
To get the actual frequency response we evaluate along the imaginary axis, , because that is where the steady sinusoids live. Take the magnitude of equation (1) and the product structure survives intact.
The term is literally the distance, in the plane, from the probe point to the pole . So slide the probe up the imaginary axis and at every height multiply up the distances to the zeros and divide by the distances to the poles. (Strictly that is a magnitude, ; for the real filters here it's a positive constant out front.) When the probe passes close to a pole, that pole's distance shrinks, the denominator dips, and the gain peaks. When the probe passes close to a zero, the numerator dips and the gain drops toward zero. A low-pass response is just what you see when the only pins are a couple of poles sitting off to the side at moderate frequency: near zero frequency the probe is far from them and the gain is flat, and as the probe climbs past them the distances grow and the gain falls.
You can draw the Bode plot by walking a point
This is the trick worth internalising. You do not need to evaluate equation (2) numerically to know what a filter does. Sketch the poles and zeros, put your pen at the origin, and slide it up the imaginary axis. Watch the distances. The gain rises as you approach a pole and dives as you approach a zero, and the rate it changes tells you the slope. Far above all the poles, every pole-distance grows roughly like itself, so each pole contributes a factor of to the gain. Stack poles and the gain falls like , which on a log-log plot is a straight line of slope . The roll-off is the pole count, read off geometry.
The phase works the same way, with angles instead of distances.
Far past a single pole the angle from the probe to it approaches , so each pole drags the phase down by in the limit. A two-pole low-pass ends up behind, a four-pole one . That accumulating phase lag is the same quantity that decides whether a feedback loop stays stable, which is why control engineers and filter designers are really reading the same diagram.
Butterworth: put the poles on a circle
Now the design question: where should the poles go? The most famous answer, from Stephen Butterworth in 1930, is "spread them evenly on a circle in the left half-plane", and it produces the maximally flat response.
Two facts fall straight out and they're worth committing to memory. At the corner the bracket is , so the gain is , which is dB, for every order . Every Butterworth filter, first order or tenth, is down exactly 3 dB at its corner. And far past the corner the response falls at dB per decade: 20 for first order, 40 for second, 80 for fourth.
Geometrically the poles sit on a circle of radius , equally spaced, all in the left half-plane. A second-order Butterworth has its pair at (taking ), sitting on the unit circle at off the negative real axis. A fourth-order one has four poles on that circle at and , which is apart, fanned across the left-half semicircle. Each pole you add steepens the roll-off by another 20 dB/decade and tucks the constellation a little more evenly around the arc.
What the lab actually draws
Be honest about the lab here, because it's a useful lesson in itself. The Bode plotter renders a single second-order section with fixed damping , so for the low-pass and high-pass types the Order control changes only the label, not the curve. A real higher-order filter is a cascade of such sections, each adding its own pole pair, and the slopes add. So read the low-pass plot as one biquad and picture stacking more to get steeper roll-off. Where the Order slider does bite is the band-pass and notch types, where it sharpens the resonance, as we're about to see.
A pole near the axis is a resonance
Push a pole pair close to the imaginary axis and equation (2) tells you what happens: as the probe slides past, it comes very near those poles, the denominator nearly vanishes, and the gain spikes. That spike is resonance, and a single damped pole pair captures it.
The damping ratio is the distance of the poles from the imaginary axis, in disguise. Small means the poles sit just off the axis, the quality factor is large, and the peak is tall and narrow. As the peak height tends to itself, so a pole at gives roughly a tenfold peak. One subtlety the textbooks stress: a real peak only exists for , and when it does its frequency is , slightly below the natural frequency , not exactly at it. Above that damping the response just rolls off with no bump, which is precisely the Butterworth case where .
This is the RLC circuit, again
If that pole pair feels familiar, it should. A series RLC circuit has exactly this transfer function, and its damping is set by the resistance. We met it in every wire is an RLC circuit as a step response that rings; here it's the same poles seen in the frequency domain as a resonant peak. Underdamped ringing in time and a tall, narrow peak in frequency are two views of one pole pair sitting near the axis. The resistor that damps the ringing is the same resistor that lowers the and shortens the peak.
A zero on the axis kills a frequency
Poles make peaks; zeros make nulls. Put a zero exactly on the imaginary axis at height and equation (2) sends the gain to zero there, because the probe passes straight through it and that distance becomes zero. That is a notch filter, and it's the cleanest way to remove a single unwanted tone.
The everyday application is mains hum. In Australia, the UK and Europe the mains runs at 50 Hz, and it leaks into sensitive analog gear as a steady buzz. A notch with its zeros parked at punches a hole exactly there and leaves the rest of the band alone. (In the Americas you'd move them to 60 Hz.) The zeros come as a conjugate pair, one above and one below the real axis, because a real circuit can only realise real-coefficient polynomials.
Stay in the left half-plane
There's a hard line in the -plane and it's the imaginary axis. A pole sitting exactly on it would make equation (2) divide by zero, infinite gain at that frequency, which is another name for an oscillator. That's a feature when you want one and a disaster when you don't. A stable filter keeps every pole strictly in the open left half-plane, off the axis, where the response stays finite and any transient decays. Zeros are free to sit on the axis (that's the notch) or even in the right half-plane (that gives an all-pass or a non-minimum-phase response), but a pole that drifts onto the axis is a circuit about to sing.
The named filters are just different pole placements
Once you see a filter as a pattern of pins, the famous filter families stop being separate recipes and become choices of where to put the poles for a fixed order. They trade the same three things against each other: passband flatness, roll-off steepness, and phase (pulse) behaviour.
- Butterworth
- circle
- poles equally spaced on a circle — maximally flat passband, gentle phase
- Chebyshev
- ellipse
- poles on an ellipse hugging the axis — ripple in the band, steeper roll-off
- Bessel
- flat delay
- dominant poles backed off the axis — flat group delay, pulses keep their shape
Butterworth puts the poles on a circle for the flattest possible passband. Chebyshev squashes that circle into an ellipse that hugs the imaginary axis, which buys a steeper roll-off at the cost of ripple in the passband; for a fourth-order, 1 dB design the poles sit on an ellipse with semi-axes and , confocal with the Butterworth circle (since ). Bessel goes the other way, pushing the dominant poles further from the axis to get a flat group delay, meaning every frequency is delayed by the same time so a pulse passes through with its shape intact and only a small overshoot (a fraction of a percent, not zero). You can't have everything at once. Flatness, steepness and clean pulses are the corners of a triangle, and each family picks a corner.
A filter Butterworth solved by hand
Worth a moment on the man. Stephen Butterworth published the idea in 1930 in Experimental Wireless and the Wireless Engineer, working at the Admiralty Research Laboratory, and he solved only the two- and four-pole cases, by hand, because that was what valve-based "filter amplifier" stages could practically realise. The general theory sat largely unused for some thirty years until the op-amp and active-filter era made arbitrary pole placement cheap and routine. A neat reminder that an idea can be completely correct and still have to wait for the hardware to catch up. Some food for thought about how much good maths is sitting in old journals waiting for its enabling technology.
The deepest connection, and the one that ties this desk together, is to the Smith chart. That chart is a Möbius transform of the impedance plane, a rational function of a complex variable that turns the geometry of reflection into circles and lines. It is not the same map as evaluating on the -plane, but it is the same kind of object: a rational function of a complex variable, read geometrically. Filters, transmission lines, and feedback loops all turn out to be the study of where you put a few points in the complex plane and what the distances to them do. Even a software radio filtering its IQ stream is placing poles and zeros, just in code instead of copper.
So next time you meet a Bode plot, don't read it as a curve someone drew. Read it as a shadow cast by a few pins in the plane, and ask where the pins are. Drag the lab's controls until the corner and the peak move the way you expect, and the response will stop being a formula and start being a picture you can walk through.
Reading further
- Butterworth, On the Theory of Filter Amplifiers (1930). Experimental Wireless & the Wireless Engineer 7, 536-541. The original maximally-flat paper, two- and four-pole cases solved by hand.
- Thomson, Delay networks having maximally flat frequency characteristics (1949). Proc. IEE Part III, 96, 487-490. Where the Bessel/Thomson flat-group-delay filter comes from.
- Sedra & Smith, Microelectronic Circuits. The Filters chapter builds pole-zero placement, Bode plots and the Butterworth/Chebyshev families from the ground up; the canonical anchor.
- Pole-zero plots and the geometric evaluation of frequency response. A compact reference for the distance-and-angle reading of equations (2) and (3).
Try it in the lab
All effects →Bode Plotter
engineeringFrequency response of 1st–4th order filters — LP/HP/BP/Notch with animated pole movement.
dspfiltersGradient Descent
aiSGD, Momentum, RMSProp, and Adam racing down a loss landscape — ravines, saddles, and local minima.
optimizationdeep-learningtrainingPID Tuner
engineeringStep response of a PID-controlled 2nd-order plant — tune Kp, Ki, Kd and watch overshoot and settle.
controlfeedback
More from the blog
Repair is just solving in disguise
I gave a 160M-parameter Go model a reflect-and-fix loop so it could bootstrap past its own ceiling. It fixed zero bugs. The reason runs deeper than the code — and it taught me my model had been memorising all along.
Learning by Rolling Downhill
Every neural network you've ever used was trained by the oldest trick in calculus: to minimise a function, walk downhill. The whole story of modern optimisers is a list of the specific ways plain downhill walking fails, and the patch for each.
Quantum Tunnelling You Can See
Quantum tunnelling isn't an energy loophole: a wave decays through a wall instead of stopping. Watch a packet split, and see the exponential that keeps the Sun lit.