Arte SheetsLearn. Try. Understand.

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.

Further reading