Skip to main content

Lab · Biquad design

Computed

High-pass filters, corner by corner

Rejects everything below the corner at 12 dB/octave and passes what is above it. Every ISO third-octave centre from 20 Hz to 20 kHz, solved at 48 kHz and seven other sample rates.

Every corner, with what changes across the sweep

The pole radius column is the one worth reading down. It rises toward 1 as the corner drops relative to the sample rate, and it is what decides the last column: the 3 corners at and below 40 Hz do not survive 16-bit fixed point at 48 kHz.

CornerAt f₀Pole radius @ 48 kHz16-bit fixed pointb0 · b1 · b2 · a1 · a2 @ 48 kHz
20 Hz−3.01 dB0.998151diverges0.998150511 · -1.996301022 · 0.998150511 · -1.996297602 · 0.996304443
25 Hz−3.01 dB0.997689diverges0.997688674 · -1.995377347 · 0.997688674 · -1.995372005 · 0.995382690
31.5 Hz−3.01 dB0.997089holds · ≤ 20.392 dB0.997088604 · -1.994177209 · 0.997088604 · -1.994168733 · 0.994185685
40 Hz−3.01 dB0.996304diverges0.996304443 · -1.992608886 · 0.996304443 · -1.992595229 · 0.992622543
50 Hz−3.01 dB0.995383holds · ≤ 28.275 dB0.995382690 · -1.990765379 · 0.995382690 · -1.990744060 · 0.990786699
60 Hz−3.01 dB0.994462holds · ≤ 31.364 dB0.994461789 · -1.988923578 · 0.994461789 · -1.988892906 · 0.988954250
80 Hz−3.01 dB0.992623holds · ≤ 0.982 dB0.992622543 · -1.985245086 · 0.992622543 · -1.985190658 · 0.985299513
100 Hz−3.01 dB0.990787holds · ≤ 2.814 dB0.990786698 · -1.981573396 · 0.990786698 · -1.981488509 · 0.981658283
125 Hz−3.01 dB0.988497holds · ≤ 52.505 dB0.988496665 · -1.976993331 · 0.988496665 · -1.976861000 · 0.977125662
160 Hz−3.01 dB0.985300holds · ≤ 0.100 dB0.985299507 · -1.970599015 · 0.985299507 · -1.970382898 · 0.970815131
200 Hz−3.01 dB0.981658holds · ≤ 19.717 dB0.981658268 · -1.963316537 · 0.981658268 · -1.962980089 · 0.963652984
250 Hz−3.01 dB0.977126holds · ≤ 0.074 dB0.977125627 · -1.954251255 · 0.977125627 · -1.953727949 · 0.954774560
315 Hz−3.01 dB0.971265holds · ≤ 0.020 dB0.971264442 · -1.942528885 · 0.971264442 · -1.941702982 · 0.943354787
400 Hz−3.01 dB0.963653holds · ≤ 10.091 dB0.963652764 · -1.927305528 · 0.963652764 · -1.925983970 · 0.928627086
500 Hz−3.01 dB0.954775holds · ≤ 0.007 dB0.954774031 · -1.909548061 · 0.954774031 · -1.907501626 · 0.911594497
630 Hz−3.01 dB0.943355holds · ≤ 0.019 dB0.943353481 · -1.886706961 · 0.943353481 · -1.883495555 · 0.889918368
800 Hz−3.01 dB0.928627holds · ≤ 7.814 dB0.928623778 · -1.857247556 · 0.928623778 · -1.852146485 · 0.862348626
1 kHz−3.01 dB0.911595holds · ≤ 2.840 dB0.911586668 · -1.823173336 · 0.911586668 · -1.815341083 · 0.831005589
1.25 kHz−3.01 dB0.890744holds · ≤ 2.473 dB0.890724065 · -1.781448131 · 0.890724065 · -1.769471038 · 0.793425223
1.6 kHz−3.01 dB0.862354holds · ≤ 0.004 dB0.862301835 · -1.724603670 · 0.862301835 · -1.705552146 · 0.743655195
2 kHz−3.01 dB0.831023holds · ≤ 0.829 dB0.830898021 · -1.661796043 · 0.830898021 · -1.632993162 · 0.690598923
2.5 kHz−3.01 dB0.793476holds · ≤ 0.560 dB0.793181284 · -1.586362568 · 0.793181284 · -1.543121131 · 0.629604005
3.15 kHz−3.01 dB0.747258holds · ≤ 0.381 dB0.746544117 · -1.493088234 · 0.746544117 · -1.427782127 · 0.558394340
4 kHz−3.01 dB0.691080holds · ≤ 0.273 dB0.689306169 · -1.378612338 · 0.689306169 · -1.279632425 · 0.477592250
5 kHz−3.01 dB0.630993holds · ≤ 0.001 dB0.626845272 · -1.253690543 · 0.626845272 · -1.109228793 · 0.398152294
6.3 kHz−3.01 dB0.562533holds · ≤ 0.116 dB0.552511734 · -1.105023469 · 0.552511734 · -0.893603075 · 0.316443862
8 kHz−3.01 dB0.490314holds · ≤ 0.000 dB0.465153077 · -0.930306154 · 0.465153077 · -0.620204103 · 0.240408206
10 kHz−3.01 dB0.433988holds · ≤ 0.029 dB0.373977880 · -0.747955760 · 0.373977880 · -0.307566360 · 0.188345161
12.5 kHz−3.01 dB0.415467holds · ≤ 0.000 dB0.273980069 · -0.547960137 · 0.273980069 · 0.076692548 · 0.172612822
16 kHz−3.01 dB0.490314holds · ≤ 0.014 dB0.155051026 · -0.310102051 · 0.155051026 · 0.620204103 · 0.240408206
20 kHz−3.01 dB0.691080holds · ≤ 0.002 dB0.049489956 · -0.098979913 · 0.049489956 · 1.279632425 · 0.477592250

The other seven types

Method. RBJ Audio EQ Cookbook coefficients at Q = 0.7071, normalised to a₀ = 1. Pole radii are the roots of the denominator quadratic, not √|a₂| — the two disagree exactly when coefficient rounding pushes the poles onto the real axis, which is the case this table's last column is about. Every figure is solved; nothing is fetched.