Skip to main content

Lab · Computed reference

Computed

Biquad coefficients, solved

Every one of the eight RBJ filter types at every ISO third-octave centre from 20 Hz to 20 kHz — 248 designs, each with coefficients at 8 sample rates, poles solved from the quadratic, the real −3 dB point, and the word length it stops working at.

Pick a type

The last column is measured over each type's full sweep on this build, not quoted: it is the count of corners whose poles leave the unit circle once all five coefficients are rounded to a shared 16-bit scale. None of them fail at 24-bit.

Or jump straight to a corner frequency

ISO 266 third-octave centres, with one substitution: 60 Hz replaces 63 Hz, because at the bottom of the spectrum the frequency people design a filter at is the power line, and the two are 5% apart — close enough that publishing both would be two pages saying the same thing. A 63 Hz notch does not remove 60 Hz hum, so substituting was the safe direction.

Those land on the high-pass page for each corner; every leaf links the same corner in the other seven types.

What these pages are, and are not

Solved, not sampled

Every figure comes from the RBJ Audio EQ Cookbook evaluated at the input point in the URL. Nothing is fetched, interpolated or recalled, so there is nothing here that can be out of date or wrong about the world — only right or wrong about the arithmetic, which is checked by asserting the shape of the response rather than comparing coefficients.

A coefficient set is not an implementation

The fixed-point columns model coefficient rounding and nothing else. Signal-path headroom, limit cycles, accumulator width and the topology you pick (Direct Form I vs transposed II) all matter and none of them are on these pages. A design that clears the table can still misbehave in your loop.

Sample rates: 8 kHz, 16 kHz, 22.05 kHz, 32 kHz, 44.1 kHz, 48 kHz, 96 kHz, 192 kHz, with 48 kHz as the reference. A rate is dropped from a page when the corner is not below its Nyquist limit, so the top of the catalog carries fewer rows than the bottom. Shelves fix the slope at S = 1, matching Web Audio's BiquadFilterNode, so Q is not read for those two types.