Flat delay, bought with more delay
Assumes: Flat magnitude, unflat delay · Three families, one corner · Where the behaviour is written down
The delay essay in this field ends with a problem it does not solve. A filter’s group delay varies across its passband, the variation is worst exactly where the magnitude response is doing its useful work, and the only remedy offered was to choose a different family — which means accepting a gentler skirt, because in this field steepness and delay flatness are the same axis read from opposite ends.
There is another remedy and it is completely different in kind. Instead of changing the filter, put something in front of it that changes the delay and nothing else.
That something has to have a magnitude response of exactly one at every frequency, or it is not leaving the filter’s magnitude alone; and it has to have a phase that varies, or it is doing nothing at all. Those two requirements sound contradictory and are not. A network whose zeros are the mirror image of its poles in the imaginary axis has exactly that property, because and are equal for every on the imaginary axis. It is called an all-pass, and it is the only tool in this subject for the job.
The circuit, which is not a lattice
The classical passive all-pass is a bridged-T lattice, which is symmetric, floating, and awkward to draw. There is a much more direct construction once an amplifier is allowed, and every part of it is in the netlist:
An inductor, a capacitor and a resistor in series from the input to ground form a bandpass — the voltage across the resistor is , which is unity at resonance and falls away on both sides. Take that node into the non-inverting input of an ideal amplifier, and put two equal resistors from the input to the output with their junction at the inverting input. The amplifier forces its two inputs equal; the junction sits at the mean of the input and output voltages because the resistors are equal and the input draws no current. So
and twice a bandpass minus one is, after a line of algebra, exactly the all-pass:
The overall minus sign is a constant 180° that no group delay can see, since delay is the derivative of phase and not the phase.
The reason to build it rather than write it down is the same reason everything on this site is built: the claim “the magnitude is one everywhere” is then a measurement of a solved network across six decades rather than an identity restated. It comes out one to sixteen digits, which is a stronger statement than any tolerance would have been, and it would not survive a sign error in the feedback resistors.
What flattening means, and what it cannot mean
Group delay is , and an all-pass has a positive one at every frequency — always positive, because a physical network cannot advance a signal. So every all-pass section put in front of a filter adds delay at every frequency without exception.
Flattening a delay curve therefore cannot mean pulling the peaks down. It can only mean pushing the valleys up, by adding more delay where the filter has least and less where the filter has most. That is what an all-pass section’s own delay peak is for: place it where the filter’s delay is lowest — which, for a low-pass, is somewhere well below the corner — and the sum of the two curves is flatter than either.
The figure draws both halves because a figure that drew one would be an advertisement. The variation removed is 392 microseconds. The delay added at direct current is 722 microseconds. The price is larger than the thing bought, and that is not an artefact of a poor design — it is structural. An all-pass can only add, and to add a lot in one place it must add something everywhere.
Why the pole pair is searched for
There is no closed form for the best equaliser, and the reason is worth being precise about. What is being minimised is the peak-to-peak variation of the sum of two delay curves over a stated band, and that objective is not a smooth function of anything convenient: the maximum and the minimum can each jump from one part of the band to another as the parameters move. Standard approaches are minimax fits with the usual machinery.
Here it is a coarse grid over and followed by coordinate descent, with the objective evaluated by solving the combined network at sixty frequencies. That is slower than a formula and it has one property a formula does not: the objective is the actual measured delay of the actual network, so a section that would have been fine in theory and useless in the circuit cannot win the search.
Each section’s and move independently in the refinement, and that matters more than it sounds. An earlier version seeded both from one number and refined them together, which makes a two-section equaliser into a one-section equaliser with extra delay in it — the second section contributes nothing but its own contribution to the total.
Which filters are worth equalising
The trade is not equally good for every family, and the ordering is the reverse of the one that makes a family attractive in the first place.
A Butterworth’s delay variation is smaller to begin with and its shape is easier for one all-pass bump to complement, so one section takes it a long way. A Chebyshev’s delay peaks hard and narrowly at the band edge — that peak is the same fact as its steep skirt, its high pole Q and its ringing — and one all-pass section is not shaped like the inverse of a narrow peak. It helps, and it does not help nearly as much.
And a Bessel filter is close to unimprovable by this method, which is a good sanity check on the method rather than a disappointment: its delay is already maximally flat by construction, so there is very little for an all-pass to complement and a great deal of delay to add in trying.
What is really being traded
Three quantities are now in play and it is worth writing the relation between them plainly, because each essay in this field has had two of the three.
Steepness costs delay variation — that is the earlier essay, measured across four families at every order. Delay variation can be traded for absolute delay — that is this essay, measured on the same networks. So a steep filter with flat delay is available, and what it costs is latency: a fifth-order Chebyshev equalised to a fifth of its variation is a filter that delays everything by about two milliseconds at a kilohertz corner.
Whether that matters is not a question this site can answer, and it is exactly the sort of question that gets answered badly when the number is unknown. In a measurement chain, two milliseconds is nothing. Inside a feedback loop it is a phase lag that will cost stability margin, which is the subject of another field entirely, and the number to put into that calculation is the one on the figure above.
There is a fourth quantity that belongs in the same relation and this field has now measured it too. Order buys steepness, and the previous two essays are about how much: transmission zeros buy several poles’ worth of it, and the realisation decides whether the resulting design survives its own component tolerances. So the chain runs order → steepness → delay variation → absolute delay, with a branch at the second step into sensitivity, and every arrow in it is a measured number on this site rather than a direction.
What that means for a designer is less obvious than it looks, because the chain is not a warning against steep filters. It is a statement that the costs are payable. Delay variation can be equalised, at a stated price in latency. Sensitivity can be halved twice over by choosing the ladder. What cannot be bought at all is the one thing the chain starts with: a response steeper than its order allows. Everything downstream of that is engineering with a price list.
The check that this is an all-pass and not nearly one
The claim the whole essay rests on is that the magnitude response is untouched. It would be easy to build something that was nearly all-pass — a resistor of the wrong value in the pair, a sign reversed at the amplifier’s inputs — and easy not to notice, because a magnitude error of a tenth of a decibel is invisible against a delay curve.
So the check is made where it is sharp rather than where it is convenient. The section is solved at sixty frequencies over six decades, from a three-hundredth of its pole frequency to three hundred times it, and the magnitude is required to be one at every one of them. The measured worst departure is 9 × 10⁻¹⁶. There is no tolerance in that number: it is the distance between one and the next representable double-precision value, a few times over.
A useful way to see why that is such a strong check is to ask what would break it. Making the two feedback resistors unequal by a part in a thousand turns into , and the magnitude then varies by about a part in a thousand across the band — a trillion times the number above, and still only 0.009 dB, which is invisible on any plot anybody would draw. The assertion catches it; a picture would not.
That matters for the equaliser rather than for the section. The whole justification for putting extra circuitry in front of a filter is that the magnitude response is exactly what it was, so anything that quietly is not all-pass has converted a delay equaliser into an unplanned change to the thing the filter was for.
What the search cannot do
Two limitations, stated rather than left to be inferred from the figures.
The objective is the peak-to-peak variation of the delay, which is a minimax criterion, and it says nothing about the shape of what is left. A residual that is flat across most of the band with one sharp excursion scores the same as one that ripples gently everywhere, and for a signal with structure those are not equally good. A weighted objective would be a different design and the machinery would not have to change.
And the equaliser is designed against a band and evaluated on the same band. That is legitimate — it is what a specification is — and it means the numbers quoted here are the best case. Outside the band the all-pass sections carry on doing what all-pass sections do, and the delay there is worse than it was, in exchange for nothing at all.
There is one more thing this method does not need and it is worth ending on. Nowhere above is any approximation made to the filter, any assumption made about its family, or any property of it used except its measured delay at sixty frequencies. The equaliser is designed against a measurement of whatever is in front of it. Point it at a network nobody has an expression for and it works identically, which is the practical reason all-pass equalisation survives in a subject that has mostly moved to solving things in closed form.
Where the boundary is
Every model on this site is drawn with the frequency, amplitude or size at which it stops being true, and an all-pass has all three.
Its frequency boundary is the amplifier’s. The section above assumes an ideal one — the nullor that this site uses everywhere for exactly this purpose — and a real amplifier has a gain–bandwidth product, so the two feedback resistors stop dividing by exactly two somewhere. That frequency is computed in the feedback field, and it is much lower than most readers expect: an amplifier configured for a gain of two from a 1 MHz part is a per cent wrong before 20 kHz. Past that the magnitude is no longer one, and a delay equaliser that alters the magnitude is worse than none.
Its amplitude boundary is the slew rate, and it is the sharper of the two. An all-pass section’s whole function is to produce large phase changes, which means the resonator’s internal node swings considerably more than the input does — at a quality factor of 8 the voltage across the resistor at resonance is the full input while the voltage across the inductor is eight times it. The signal level at which some internal node stops being linear is well below the level at which the output does.
Its size boundary is the one that decides whether any of this is buildable. The section drawn here has a pole at a kilohertz and a quality factor of 2, which at a reasonable capacitance needs an inductor of several henries. Delay equalisers at audio frequencies were built with gyrators for exactly that reason, and this site’s figures are drawn with the inductor because the inductor is the argument; the practical note is here so that the figure is not read as a schematic.
The gyrator’s own boundaries are measured, and two of the three land on this circuit rather than on a generic one. The inductor that is an amplifier presents one henry from four resistors, a capacitor and two amplifiers, good to within one per cent over three and a half decades — and finds its series resistance going negative at 63 hertz, inside the band where the inductance is still excellent. An all-pass section’s magnitude is one because its numerator and denominator have the same magnitude at every frequency, which is a statement about a resonator whose loss appears identically in both; a resonator whose loss has the wrong sign at some frequencies does not have a magnitude of one there, and the section stops being all-pass without its delay curve looking any different.
One inductor, and ten components adds the sensitivity, and it is the number that decides whether a delay equaliser built this way holds its design. A floating gyrator is exactly floating to five figures and reproduces a ladder’s response to a hundredth of a decibel — and each of its ten components moves that response by exactly a half, where the inductor it replaced moved it by . This essay’s search finds a section whose magnitude is one to ; ten components each with a sensitivity of a half turn that into a magnitude that is one to whatever the component tolerance is, which for one per cent parts is a passband ripple where there was none.
So the practical form of the trade this essay measures is worse than the delay column suggests. The flattening costs 722 microseconds of added delay, which is the honest price and is stated; realised with synthetic inductors it also costs the flat magnitude, which was the whole reason for choosing an all-pass in the first place.
The alternative realisation has its own version of the same problem, and this field has measured it. An all-pass section built from amplifiers and RC networks has no inductor and therefore none of the above; what it has instead is the Q the amplifier decides, which finds a section built with a part a hundred times its corner coming out with its quality factor 1.97 per cent high and its pole 1.97 per cent low. In a filter that is 2.1 decibels of ripple on a half-decibel design. In an all-pass it is worse in kind rather than in size: the magnitude of an all-pass is one because its numerator and denominator have equal magnitude at every frequency, which requires the pole and the zero to be exact mirror images — and a finite gain–bandwidth moves the pole without moving the zero, so the magnitude stops being one by an amount proportional to the same 1.97 per cent.
That is the sharpest form of what this essay is about. Every other filter in this field is a compromise between quantities that are all imperfect anyway; an all-pass is chosen precisely because one of its properties is exact, and every realisation available makes that property approximate. What survives is the delay, which is what the section was wanted for, and what is spent is the magnitude, which is what made it safe to use.
The three measurements this trade sits on
Every number on this page is a distance from something measured elsewhere. Flat magnitude, unflat delay is the defect being repaired, stated as a percentage of variation across the passband rather than as a caution. Three families, one corner is where the family that needs least repair is identified, and it is not the one that needs least equalisation per section. And What a steep skirt costs is the trade one level up: an all-pass equaliser is what a designer reaches for after choosing a skirt steeper than the delay budget allows, so the first decision on that page is what makes this page necessary.
Where the delay budget is spent instead
An all-pass equaliser is the expensive repair, and the field has two cheaper ones. Three families, one corner is the choice of family, which costs nothing and buys most of the flatness a Bessel design needs. The staircase on the way out is the half-sample delay a converter adds whatever the filter does, which is often larger than the variation being equalised.
Part 4 on group delay
One argument about Group delay, and one of 2 essays on it so far, each part numbered by how much of the idea it assumes. What sits either side of it:
What links here
Essays that reach for this one mid-argument — the half of a link its own author cannot write down, the 8 sharing most with it of 12.
The objects named here
The third axis, after the field and the idea: the things themselves, and every essay that touches each one.
All-passDelay equalisationFilter familiesGroup delayPhase linearityPole-zero mirror