Main Archive Specials Wiki | FAQ Links Submit Forum

 Zoelzer biquad filtersType : biquad IIRReferences : Udo Zoelzer: Digital Audio Signal Processing (John Wiley & Sons, ISBN 0 471 97226 6), Chris TownsendNotes : Here's the formulas for the Low Pass, Peaking, and Low Shelf, which should cover the basics. I tried to convert the formulas so they are little more consistent. Also, the Zolzer low pass/shelf formulas didn't have adjustable Q, so I added that for consistency with Roberts formulas as well. I think someone may want to check that I did it right. ------------ Chris Townsend I mistranscribed the low shelf cut formulas. Hopefully this is correct. Thanks to James McCartney for noticing. ------------ Chris TownsendCode : omega = 2*PI*frequency/sample_rate K=tan(omega/2) Q=Quality Factor V=gain LPF: b0 = K^2 b1 = 2*K^2 b2 = K^2 a0 = 1 + K/Q + K^2 a1 = 2*(K^2 - 1) a2 = 1 - K/Q + K^2 peakingEQ: boost: b0 = 1 + V*K/Q + K^2 b1 = 2*(K^2 - 1) b2 = 1 - V*K/Q + K^2 a0 = 1 + K/Q + K^2 a1 = 2*(K^2 - 1) a2 = 1 - K/Q + K^2 cut: b0 = 1 + K/Q + K^2 b1 = 2*(K^2 - 1) b2 = 1 - K/Q + K^2 a0 = 1 + V*K/Q + K^2 a1 = 2*(K^2 - 1) a2 = 1 - V*K/Q + K^2 lowShelf: boost: b0 = 1 + sqrt(2*V)*K + V*K^2 b1 = 2*(V*K^2 - 1) b2 = 1 - sqrt(2*V)*K + V*K^2 a0 = 1 + K/Q + K^2 a1 = 2*(K^2 - 1) a2 = 1 - K/Q + K^2 cut: b0 = 1 + K/Q + K^2 b1 = 2*(K^2 - 1) b2 = 1 - K/Q + K^2 a0 = 1 + sqrt(2*V)*K + V*K^2 a1 = 2*(v*K^2 - 1) a2 = 1 - sqrt(2*V)*K + V*K^2