Engineering
Butterworth Filter Gain, dB Roll-Off Attenuation & Bandpass Q-Factor
Calculate the magnitude and signed dB gain of an ideal analog Butterworth low-pass filter, distinguish finite-frequency gain from asymptotic roll-off, and calculate a separate bandpass Q.
Response calculation for an ideal analog prototype
This example models a unity-DC-gain analog Butterworth low-pass response: magnitude = 1/SQRT(1+(f/fc)^(2N)). It does not calculate digital filter coefficients, component values, phase or transient response. Butterworth magnitude is maximally flat in the passband.
The signed gain is 20*LOG10(magnitude), so loss produces a negative dB number. Positive attenuation would be its negative. At fc, gain is -10*LOG10(2), approximately -3.0103 dB, for every positive integer order.
For N=4 and fc=1000 Hz, gain at 2000 Hz is approximately -24.0993 dB relative to DC. The change from 1000 to 2000 Hz is approximately -21.0890 dB, not -24.10 dB. Far into the stopband, the asymptotic slope approaches -20*N dB per decade, or -20*N*LOG10(2) dB per octave. For N=4 the latter is approximately -24.0824.
Keep frequencies in the same units. The bandpass example is independent: its center frequency is B6 and its full -3 dB bandwidth is B5. Neither is inferred from the low-pass cutoff.
Signed dB gain in D2
Enter order in B2, positive cutoff in B3 and nonnegative signal frequency in B4. The log-domain expression avoids directly raising a large frequency ratio to a high power. DC is handled before taking logarithms. Inputs still must remain within spreadsheet numeric limits.
=IF(COUNT(B2:B4)<>3,"Enter numeric order and frequencies",IF(OR(B2<1,B2<>INT(B2),B3<=0,B4<0),"Require integer order >=1, cutoff >0 and frequency >=0",IF(B4=0,0,LET(logPower,2*B2*(LOG10(B4)-LOG10(B3)),-10*(MAX(logPower,0)+LOG10(1+10^(-ABS(logPower))))))))Amplitude ratio in D3
Uses unrounded D2. At very large losses the floating-point amplitude may underflow to zero; this is not a physical brick-wall cutoff.
=IF(ISNUMBER(D2),10^(D2/20),D2)Independent bandpass quality factor in D4
Q=f0/BW, with positive center frequency B6 and full -3 dB bandwidth B5, both in Hz. This is not the Q of each low-pass implementation section.
=IF(COUNT(B5:B6)<>2,"Enter numeric center frequency and bandwidth",IF(MIN(B5:B6)<=0,"Center frequency and bandwidth must be positive",B6/B5))Asymptotic dB change per octave in D5
This is the far-stopband limiting slope, not the finite change between fc and 2*fc.
=IF(COUNT(B2)<>1,"Enter numeric order",IF(OR(B2<1,B2<>INT(B2)),"Order must be a positive integer",-20*B2*LOG10(2)))Try the example
Use the original values or change them to test your understanding.