References : Posted by Robert Bristow-Johnson
Linked file : EQ-Coefficients.pdf
see attached file
from : didid[AT]skynet[DOT]be
comment : Hi
In your most recent version, you write:
alpha = sin(w0)/(2*Q) (case: Q)
= sin(w0)*sinh( ln(2)/2 * BW * w0/sin(w0) ) (case: BW)
= sin(w0)/2 * sqrt( (A + 1/A)*(1/S - 1) + 2 ) (case: S)
But the 'slope' case doesn't seem to work for me. It results in some kind of bad resonance at higher samplerates.
Now I found this 'beta' in an older version of your paper (I think), describing:
beta = sqrt(A)/Q (for shelving EQ filters only)
= sqrt(A)*sqrt[ (A + 1/A)*(1/S - 1) + 2 ] (if shelf slope is specified)
= sqrt[ (A^2 + 1)/S - (A-1)^2 ]
..and here the
sqrt(A)*sqrt[ (A + 1/A)*(1/S - 1) + 2 ]
formula works perfectly for me.
I must say I don't understand half of the theory, so it's probably my fault somewhere. But why the change in the newer version?
from : rbj[AT]audioimagination[DOT]com
comment : >But why the change in the newer version?
i wanted to get rid of an extraneous intermediate variable and there was enough similarity between alpha and beta that i changed the lowShelf and highShelf coefficient equations to be in terms of alpha rather than beta.
i believe if you use the new version as shown, in terms of alpha (but remember the coef equations are changed accordingly from the old version), it will come up with the same coefficients given the same boost gain, Q (or S), and shelf frequency (and same Fs). lemme know if you still have trouble.
from : swding[AT]yahoo[DOT]com
comment : Hi,
Where can I find the source code?
from : scoofy (at) inf[DOT]elte[DOT]hu
comment : Look for "C++ class implementation of RBJ Filters" or "biquad.c" in the archive.
from : scoofy[AT]inf[DOT]elte[DOT]hu
comment : you have to vary the Q parameter to change the slope.
from : sundar_ranga[AT]yahoo[DOT]com
comment : could u plz tell me how to vary the shelf slope parameter . I want a slope of 6db/octave with second order . what Parameter i have to vary to acheive this???
from : ben_tj[AT]caramoule[DOT]com
comment : hi!,
it's very nice! where can I find the source
from : tomizett at uk2 dot net
comment : My apologies if I'm asking a daft question, but I seem to lack the mathematics skill to work this kind of thing out for myself.
I seem to be getting bad values (feedback coef.s > 1) out of these equations, and I think it's down to me feeding them bad Q values. What is the Q parameter that is used in this work? The only Q I've encountered before if centre-frequency/bandwidth, but this Q seems to be a different beast. Could anyone suggest how I should set the Q to (say) maintain a constant Fc/BW for a sweepable peaking EQ, or obtain a butterworth HP/LP filter?
Many thanks, Tom.