Skip to main content

Lab · Biquad design

Computed

High shelf filters, corner by corner

Lifts or drops everything above f0 by a fixed amount and leaves the bottom flat. 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 5 corners at and below 50 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.00 dB0.997802diverges1.993980642 · -3.981749673 · 1.987778691 · -1.995599695 · 0.995609355
25 Hz+3.00 dB0.997254diverges1.993660354 · -3.979557444 · 1.985912175 · -1.994499624 · 0.994514710
31.5 Hz+3.00 dB0.996541diverges1.993244057 · -3.976708450 · 1.983488325 · -1.993069538 · 0.993093471
40 Hz+3.00 dB0.995609diverges1.992699803 · -3.972984386 · 1.980323139 · -1.991199438 · 0.991237993
50 Hz+3.00 dB0.994515diverges1.992059697 · -3.968605378 · 1.976605858 · -1.988999342 · 0.989059519
60 Hz+3.00 dB0.993421holds · ≤ 1.303 dB1.991419804 · -3.964228800 · 1.972895556 · -1.986799277 · 0.986885837
80 Hz+3.00 dB0.991238holds · ≤ 0.732 dB1.990140655 · -3.955482948 · 1.965495841 · -1.982399261 · 0.982552808
100 Hz+3.00 dB0.989060holds · ≤ 0.053 dB1.988862363 · -3.946746861 · 1.958123891 · -1.977999435 · 0.978238828
125 Hz+3.00 dB0.986343holds · ≤ 2.484 dB1.987265718 · -3.935840531 · 1.948947844 · -1.972499991 · 0.972873022
160 Hz+3.00 dB0.982553holds · ≤ 1.923 dB1.985032719 · -3.920597494 · 1.936173618 · -1.964801563 · 0.965410406
200 Hz+3.00 dB0.978239holds · ≤ 1.157 dB1.982484060 · -3.903213954 · 1.921677073 · -1.956004771 · 0.956951950
250 Hz+3.00 dB0.972874holds · ≤ 0.754 dB1.979303336 · -3.881540461 · 1.903709069 · -1.945011414 · 0.946483358
315 Hz+3.00 dB0.965943holds · ≤ 0.011 dB1.975177045 · -3.853458463 · 1.880601871 · -1.930725451 · 0.933045904
400 Hz+3.00 dB0.956955holds · ≤ 0.285 dB1.969796255 · -3.816896692 · 1.850807987 · -1.912055208 · 0.915762758
500 Hz+3.00 dB0.946489holds · ≤ 0.004 dB1.963488505 · -3.774118353 · 1.816361008 · -1.890110549 · 0.895841709
630 Hz+3.00 dB0.933057holds · ≤ 0.025 dB1.955326148 · -3.718890956 · 1.772538225 · -1.861622642 · 0.870596061
800 Hz+3.00 dB0.915786holds · ≤ 0.011 dB1.944718992 · -3.647333157 · 1.716825740 · -1.824452358 · 0.838663933
1 kHz+3.00 dB0.895887holds · ≤ 0.049 dB1.932340509 · -3.564118722 · 1.653523430 · -1.780867407 · 0.802612624
1.25 kHz+3.00 dB0.871640holds · ≤ 0.003 dB1.917026163 · -3.461589559 · 1.577673140 · -1.726646713 · 0.759756458
1.6 kHz+3.00 dB0.838843holds · ≤ 0.020 dB1.895893565 · -3.320841558 · 1.477299403 · -1.651306618 · 0.703658028
2 kHz+3.00 dB0.802961holds · ≤ 0.001 dB1.872195181 · -3.163970496 · 1.370386176 · -1.566135570 · 0.644746431
2.5 kHz+3.00 dB0.760439holds · ≤ 0.002 dB1.843266331 · -2.973789321 · 1.247553880 · -1.461236992 · 0.578267882
3.15 kHz+3.00 dB0.708912holds · ≤ 0.006 dB1.806817697 · -2.736116060 · 1.104159493 · -1.327694957 · 0.502556086
4 kHz+3.00 dB0.647725holds · ≤ 0.004 dB1.761095829 · -2.440864482 · 0.941185608 · -1.158131060 · 0.419548015
5 kHz+3.00 dB0.584520holds · ≤ 0.000 dB1.709988787 · -2.114436921 · 0.780064095 · -0.966047773 · 0.341663734
6.3 kHz+3.00 dB0.516530holds · ≤ 0.000 dB1.647514094 · -1.720317350 · 0.611846064 · -0.727760377 · 0.266803184
8 kHz+3.00 dB0.452761holds · ≤ 0.001 dB1.571670189 · -1.248879927 · 0.448691733 · -0.433510142 · 0.204992136
10 kHz+3.00 dB0.416689holds · ≤ 0.000 dB1.489304746 · -0.745543633 · 0.322025467 · -0.107842975 · 0.173629555
12.5 kHz+3.00 dB0.430322holds · ≤ 0.000 dB1.394021804 · -0.174820897 · 0.243053864 · 0.277077672 · 0.185177099
16 kHz+3.00 dB0.534310holds · ≤ 0.001 dB1.269517186 · 0.550348575 · 0.260241040 · 0.794619594 · 0.285487207
20 kHz+3.00 dB0.731048holds · ≤ 0.001 dB1.132966351 · 1.312123521 · 0.475333783 · 1.385991859 · 0.534431796

The other seven types

Method. RBJ Audio EQ Cookbook coefficients at Q = 0.7071 and +6 dB, 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.