The Butterworth filter is a type of signal processing filter designed to have a frequency response that is as flat as possible in the passband. It is also referred to as a maximally flat magnitude filter. It was first described in 1930 by the British engineer and physicist Stephen Butterworth in his paper entitled "On the Theory of Filter Amplifiers".
Butterworth had a reputation for solving very complex mathematical problems thought to be 'impossible'. At the time, filter design required a considerable amount of designer experience due to limitations of the theory then in use. The filter was not in common use for over 30 years after its publication. Butterworth stated that:
Such an ideal filter cannot be achieved, but Butterworth showed that successively closer approximations were obtained with increasing numbers of filter elements of the right values. At the time, filters generated substantial ripple in the passband, and the choice of component values was highly interactive. Butterworth showed that a low-pass filter could be designed whose gain as a function of frequency (i.e. the magnitude of its frequency response) is:
G(\omega)={
1 | |
\sqrt{1+{\omega} |
2n
where
\omega
n
Butterworth solved the equations for two-pole and four-pole filters, showing how the latter could be cascaded when separated by vacuum tube amplifiers and so enabling the construction of higher-order filters despite inductor losses. In 1930, low-loss core materials such as molypermalloy had not been discovered and air-cored audio inductors were rather lossy. Butterworth discovered that it was possible to adjust the component values of the filter to compensate for the winding resistance of the inductors.
He used coil forms of 1.25″ diameter and 3″ length with plug-in terminals. Associated capacitors and resistors were contained inside the wound coil form. The coil formed part of the plate load resistor. Two poles were used per vacuum tube and RC coupling was used to the grid of the following tube.
Butterworth also showed that the basic low-pass filter could be modified to give low-pass, high-pass, band-pass and band-stop functionality.
The frequency response of the Butterworth filter is maximally flat (i.e., has no ripples) in the passband and rolls off towards zero in the stopband. When viewed on a logarithmic Bode plot, the response slopes off linearly towards negative infinity. A first-order filter's response rolls off at −6 dB per octave (−20 dB per decade) (all first-order lowpass filters have the same normalized frequency response). A second-order filter decreases at −12 dB per octave, a third-order at −18 dB and so on. Butterworth filters have a monotonically changing magnitude function with
\omega
Compared with a Chebyshev Type I/Type II filter or an elliptic filter, the Butterworth filter has a slower roll-off, and thus will require a higher order to implement a particular stopband specification, but Butterworth filters have a more linear phase response in the passband than Chebyshev Type I/Type II and elliptic filters can achieve.
A transfer function of a third-order low-pass Butterworth filter design shown in the figure on the right looks like this:
Vo(s) | = | |
Vi(s) |
R4 | |||||||||||||||
|
A simple example of a Butterworth filter is the third-order low-pass design shown in the figure on the right, with
C2
R4
L1
L3
C
1/(Cs)
L
Ls
H(s)= | Vo(s) | = |
Vi(s) |
1 | |
1+2s+2s2+s3 |
.
The magnitude of the frequency response (gain)
G(\omega)
G(\omega)=|H(j\omega)|= | 1 |
\sqrt{1+\omega6 |
obtained from
G2(\omega)=|H(j\omega)|2=H(j\omega) ⋅
| ||||
H |
,
and the phase is given by
\Phi(\omega)=\arg(H(j\omega)).
The group delay is defined as the negative derivative of the phase shift with respect to angular frequency and is a measure of the distortion in the signal introduced by phase differences for different frequencies. The gain and the delay for this filter are plotted in the graph on the left. It can be seen that there are no ripples in the gain curve in either the passband or the stop band.
The log of the absolute value of the transfer function
H(s)
s
By replacing each inductor with a capacitor and each capacitor with an inductor, a high-pass Butterworth filter is obtained.
A band-pass Butterworth filter is obtained by placing a capacitor in series with each inductor and an inductor in parallel with each capacitor to form resonant circuits. The value of each new component must be selected to resonate with the old component at the frequency of interest.
A band-stop Butterworth filter is obtained by placing a capacitor in parallel with each inductor and an inductor in series with each capacitor to form resonant circuits. The value of each new component must be selected to resonate with the old component at the frequency that is to be rejected.
Like all filters, the typical prototype is the low-pass filter, which can be modified into a high-pass filter, or placed in series with others to form band-pass and band-stop filters, and higher order versions of these.
The gain
G(\omega)
n
H(s)
G2(\omega)=\left|H(j\omega)\right|2=
{G0 | |||||||
|
\right)2n
where
n
\omegac
G0
It can be seen that as
n
\omegac
G0
\omegac
n
We wish to determine the transfer function
H(s)
s=\sigma+j\omega
\left|H(s)\right|2=H(s)\overline{H(s)}
s=j\omega
H(-j\omega)=\overline{H(j\omega)}
H(s)
H(s)H(-s)=
{G0 | ( | |
2}{1+\left |
-s2 | ||||||
|
\right)n},
then, with
s=j\omega
The
n
\omegac
H(s)
s
k
- |
| ||||||
|
=
| ||||
(-1) |
=
| ||||
e |
k=1,2,3,\ldots,n
and hence
sk=\omegac
| ||||
e |
k=1,2,3,\ldots,n.
The transfer (or system) function may be written in terms of these poles as
H(s)=G0\prod
n | |
k=1 |
\omegac | |
s-sk |
=G0\prod
n | |
k=1 |
\omegac | |||||||||||||
|
where
style{\prod}
s
The Butterworth polynomials may be written in complex form as above, but are usually written with real coefficients by multiplying pole pairs that are complex conjugates, such as
s1
sn
\omegac=1
Bn(s)=\prod
| ||||
k=1 |
| ||||
\left[s |
\pi\right)+1\right] n=even
Bn(s)=(s+1)\prod
| ||||
k=1 |
| ||||
\left[s |
\pi\right)+1\right] n=odd.
Factors of Butterworth polynomials of order 1 through 10 are shown in the following table (to six decimal places).
|
Factors of Butterworth polynomials of order 1 through 6 are shown in the following table (Exact).
|
where the Greek letter phi (or
\phi
x2-x-1=0,
The
n
Bn(s)=\sum
n | |
k=0 |
aksk,
with its coefficients
ak
ak+1 | = | |
ak |
\cos(k\gamma) | |
\sin((k+1)\gamma) |
and by the product formula
ak=\prod
| ||||
\mu=1 |
,
where
a0=1 and \gamma=
\pi | |
2n |
.
Further,
ak=an-k
ak
Bn(s)
n | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | a8 | a9 | a10 | |
1 | 1 | 1 | ||||||||||
2 | 1 | 1.4142 | 1 | |||||||||
3 | 1 | 2 | 2 | 1 | ||||||||
4 | 1 | 2.6131 | 3.4142 | 2.6131 | 1 | |||||||
5 | 1 | 3.2361 | 5.2361 | 5.2361 | 3.2361 | 1 | ||||||
6 | 1 | 3.8637 | 7.4641 | 9.1416 | 7.4641 | 3.8637 | 1 | |||||
7 | 1 | 4.4940 | 10.0978 | 14.5918 | 14.5918 | 10.0978 | 4.4940 | 1 | ||||
8 | 1 | 5.1258 | 13.1371 | 21.8462 | 25.6884 | 21.8462 | 13.1371 | 5.1258 | 1 | |||
9 | 1 | 5.7588 | 16.5817 | 31.1634 | 41.9864 | 41.9864 | 31.1634 | 16.5817 | 5.7588 | 1 | ||
10 | 1 | 6.3925 | 20.4317 | 42.8021 | 64.8824 | 74.2334 | 64.8824 | 42.8021 | 20.4317 | 6.3925 | 1 |
The normalized Butterworth polynomials can be used to determine the transfer function for any low-pass filter cut-off frequency
\omegac
H(s)=
G0 | |
Bn(a) |
a=
s | |
\omegac |
.
Transformation to other bandforms are also possible, see prototype filter.
Assuming
\omegac=1
G0=1
dG | |
d\omega |
=-nG3\omega2n-1
which is monotonically decreasing for all
\omega
G
G(\omega)=1-
1 | |
2 |
\omega2n+
3 | |
8 |
\omega4n+\ldots
In other words, all derivatives of the gain up to but not including the 2
n
\omega=0
Again assuming
\omegac=1
\omega
\lim\omega → infty
dlog(G) | |
dlog(\omega) |
=-n.
In decibels, the high-frequency roll-off is therefore 20
n
n
To design a Butterworth filter using the minimum required number of elements, the minimum order of the Butterworth filter may be calculated as follows.[2]
n=\left\lceil
| ||||||||||||||||
r)}{2log{(\omega |
s/\omegap)}}\right\rceil
where:
\omegap
\alphap
\omegas
\alphas
n
\lceil ⋅ \rceil
The cutoff attenuation for Butterworth filters is usually defined to be -3.01 dB. If it is desired to use a different attenuation at the cutoff frequency, then the following factor may be applied to each pole, whereupon the poles will continue to lie on a circle, but the radius will no longer be unity.[3] The cutoff attenuation equation may be derived through algebraic manipulation of the Butterworth defining equation stated at the top of the page.[4]
where:
pA
p1
\alpha
n
There are several different filter topologies available to implement a linear analogue filter. The most often used topology for a passive realisation is the Cauer topology, and the most often used topology for an active realisation is the Sallen–Key topology.
The Cauer topology uses passive components (shunt capacitors and series inductors) to implement a linear analog filter. The Butterworth filter having a given transfer function can be realised using a Cauer 1-form. The k-th element is given by[5]
Ck=2\sin\left[
(2k-1) | |
2n |
\pi\right] k=odd
Lk=2\sin\left[
(2k-1) | |
2n |
\pi\right] k=even.
The filter may start with a series inductor if desired, in which case the Lk are k odd and the Ck are k even. These formulae may usefully be combined by making both Lk and Ck equal to gk. That is, gk is the immittance divided by s.
gk=2\sin\left[
(2k-1) | |
2n |
\pi\right] k=1,2,3,\ldots,n.
These formulae apply to a doubly terminated filter (that is, the source and load impedance are both equal to unity) with ωc = 1. This prototype filter can be scaled for other values of impedance and frequency. For a singly terminated filter (that is, one driven by an ideal voltage or current source) the element values are given by
gj=
ajaj-1 | |
cj-1gj-1 |
j=2,3,\ldots,n
where
g1=a1
and
aj=\sin\left[
(2j-1) | |
2n |
\pi\right] j=1,2,3,\ldots,n
cj=\cos2\left[
j | |
2n |
\pi\right] j=1,2,3,\ldots,n.
Voltage driven filters must start with a series element and current driven filters must start with a shunt element. These forms are useful in the design of diplexers and multiplexers.
The Sallen–Key topology uses active and passive components (noninverting buffers, usually op amps, resistors, and capacitors) to implement a linear analog filter. Each Sallen–Key stage implements a conjugate pair of poles; the overall filter is implemented by cascading all stages in series. If there is a real pole (in the case where
n
For the second-order Sallen–Key circuit shown to the right the transfer function is given by
H(s)=
Vout(s) | |
Vin(s) |
=
1 | |
1+C2(R1+R2)s+C1C2R1R2s2 |
.
We wish the denominator to be one of the quadratic terms in a Butterworth polynomial. Assuming that
\omegac=1
C1C2R1R2=1
and
C2(R1+R
|
\pi\right).
This leaves two undefined component values that may be chosen at will.
Butterworth lowpass filters with Sallen–Key topology of third and fourth order, using only one op amp, are described by Huelsman, and further single-amplifier Butterworth filters also of higher order are given by Jurišić et al.
Digital implementations of Butterworth and other filters are often based on the bilinear transform method or the matched Z-transform method, two different methods to discretize an analog filter design. In the case of all-pole filters such as the Butterworth, the matched Z-transform method is equivalent to the impulse invariance method. For higher orders, digital filters are sensitive to quantization errors, so they are often calculated as cascaded biquad sections, plus one first-order or third-order section for odd orders.
Properties of the Butterworth filter are:
Here is an image showing the gain of a discrete-time Butterworth filter next to other common filter types. All of these filters are fifth-order.
The Butterworth filter rolls off more slowly around the cutoff frequency than the Chebyshev filter or the Elliptic filter, but without ripple.