Page 1 of 1
how to make FabFilter Pro-Q type high order lowpass?
Posted: Thu Dec 12, 2019 7:01 am
by menzi11
In FabFilter Pro-Q, low-pass (or high-pass ) filters could have Q-value even for those order >2. However, all common IIR design methods I know (such as Elliptic, Butterworth, Chebyshev I and II) don't have such property. So does anyone know some IIR design method that has similar property with the one in Pro-Q?

Re: how to make FabFilter Pro-Q type high order lowpass?
Posted: Thu Dec 12, 2019 11:52 am
by adamszabo
Put 8 standard 12 dB/Oct low pass filters after each other with the same frequency, and you will get the 96 dB/Oct filter
Re: how to make FabFilter Pro-Q type high order lowpass?
Posted: Fri Dec 13, 2019 11:00 am
by menzi11
adamszabo wrote:Put 8 standard 12 dB/Oct low pass filters after each other with the same frequency, and you will get the 96 dB/Oct filter
Thanks! I've tried it, but when multiple filters being used together, it sharpens the peak that normally caused by high Q value. What should I do to keep the sharpness (or height) of the peak?
Re: how to make FabFilter Pro-Q type high order lowpass?
Posted: Fri Dec 13, 2019 3:27 pm
by adamszabo
Multiply all the Q values with 0.1 or 0.2 or whatever number you want to make them smaller when they add up
Re: how to make FabFilter Pro-Q type high order lowpass?
Posted: Sat Dec 14, 2019 6:55 am
by juha_tp
Could this work for you (Quote from Robert Bristow-Johnson @ comp.dsp):
Use this in reference to the Audio EQ cookbook that presently (and
forever, i hope) lives at:
http://www.musicdsp.org/files/Audio-EQ-Cookbook.txtfor an Nth order Butterworth (N even or odd) you will have N/2 biquad
sections ((N-1)/2 for odd N or floor(N/2) for either even or odd N),
each will have the same resonant frequency w0 and will have Q:
Q = 1/( 2*sin((pi/N)*(n + 1/2)) )
where 0 <= n < (N-1)/2
then, use the cookbook LPF or HPF to get the coefs for each biquad
section.
if it's an odd order Butterworth, you'll need an additional 1st order
section:
H(z) = (b0 + b1*z^-1)/(a0 + a1*z^-1)
1st order LPF: H(s) = 1/(s+1)
b0 = sin(w0)
b1 = sin(w0)
a0 = cos(w0) + sin(w0) + 1
a1 = sin(w0) - cos(w0) - 1
1st order HPF: H(s) = s/(s+1)
b0 = cos(w0) + 1
b1 = -(cos(w0) + 1)
a0 = cos(w0) + sin(w0) + 1
a1 = sin(w0) - cos(w0) - 1
credits to Peter Schoffhauzer <scoofyGET_THE_SPAM_OUT@inf.elte.hu> for
catching and fixing errors.
r b-j