Butterworth filter

The **Butterworth filter** is a type of signal processing filter designed to have a frequency response 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".

## Original paper

Butterworth had a reputation for solving "impossible" mathematical problems. 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:

> "An ideal electrical filter should not only completely reject the unwanted frequencies but should also have uniform sensitivity for the wanted frequencies".
>
>
>

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 cutoff frequency was normalized to 1 radian per second and whose frequency response (gain) was

G
(
ω
# )

1

1

ω

2
n

,

{\displaystyle G(\omega) = \frac{1}{\sqrt{1+{\omega}^{2n}}},}

where ω is the angular frequency in radians per second and *n* is the number of poles in the filter—equal to the number of reactive elements in a passive filter. If ω = 1, the amplitude response of this type of filter in the passband is 1/√2 ≈ 0.707, which is half power or −3 dB. Butterworth only dealt with filters with an even number of poles in his paper. He may have been unaware that such filters could be designed with an odd number of poles. He built his higher order filters from 2-pole filters separated by vacuum tube amplifiers. His plot of the frequency response of 2, 4, 6, 8, and 10 pole filters is shown as A, B, C, D, and E in his original graph.

Butterworth solved the equations for two- 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.

## Overview

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 ω, unlike other filter types that have non-monotonic ripple in the passband and/or the stopband.

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 pass-band than Chebyshev Type I/Type II and elliptic filters can achieve.

## Example

A transfer function of a third-order low-pass Butterworth filter design shown in the figure on the right looks like this:

V
o

(
s
)

V
i

(
s
)

=

R

s
3

(

L
1

C
2

L
3

)

s
2

(

L
1

C
2

R
)
s
(

L
1

L
3

)
R

.

{\displaystyle \frac{V\_o(s)}{V\_i(s)}=\frac{R}{s^3(L\_1 C\_2 L\_3) + s^2(L\_1 C\_2 R) + s(L\_1 + L\_3) + R}.}

A simple example of a Butterworth filter is the third-order low-pass design shown in the figure on the right, with *C*2 = 4/3 F, *R*4 = 1 Ω, *L*1 = 3/2 H, and *L*3 = 1/2 H. Taking the impedance of the capacitors *C* to be 1/*(Cs)* and the impedance of the inductors *L* to be *Ls*, where *s* = σ + *j*ω is the complex frequency, the circuit equations yield the transfer function for this device:

H
(
s
# )

V
o

(
s
)

V
i

(
s
)

=

1

1
2
s
2

s
2

s
3

.

{\displaystyle H(s)=\frac{V\_o(s)}{V\_i(s)}=\frac{1}{1+2s+2s^2+s^3}.}

The magnitude of the frequency response (gain) *G*(ω) is given by

G
(
ω
# )

H
(
j
ω
)

=

1

1

ω
6

,

{\displaystyle G(\omega)=|H(j\omega)|=\frac{1}{\sqrt{1+\omega^6}},}

obtained from

G
2

(
ω
# )

H
(
j
ω
)

2

=
H
(
j
ω
)
⋅

H
∗

(
j
ω
# )

1

1

ω
6

,

{\displaystyle G^2(\omega)=|H(j\omega)|^2=H(j\omega)\cdot H^\*(j\omega)=\frac{1}{1+\omega^6},}

and the phase is given by

Φ
(
ω
# )
arg
⁡
(
H
(
j
ω
)
)
.

{\displaystyle \Phi(\omega)=\arg(H(j\omega)).\!}

The group delay is defined as the derivative of the phase 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)* is plotted in complex frequency space in the second graph on the right. The function is defined by the three poles in the left half of the complex frequency plane.

These are arranged on a circle of radius unity, symmetrical about the real *s* axis. The gain function will have three more poles on the right half plane to complete the circle.

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 to be rejected.

## Transfer function

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
(
ω
)

{\displaystyle G(\omega)}

 of an *n*-order Butterworth low-pass filter is given in terms of the transfer function *H(s)* as

G
2

(
ω
# )

H
(
j
ω
)

2

=

G
0

2

1

(

j
ω

j

ω
c

)

2
n

{\displaystyle G^2(\omega)=\left |H(j\omega)\right|^2 = \frac {{G\_0}^2}{1+\left(\frac{j\omega}{j\omega\_c}\right)^{2n}}}

where

* n = order of filter
* ωc = cutoff frequency (approximately the -3dB frequency)
* G
0

{\displaystyle G\_0}

 is the DC gain (gain at zero frequency)

It can be seen that as *n* approaches infinity, the gain becomes a rectangle function and frequencies below ωc will be passed with gain

G
0

{\displaystyle G\_0}

, while frequencies above ωc will be suppressed. For smaller values of *n*, the cutoff will be less sharp.

We wish to determine the transfer function *H(s)* where

# s
σ
j
ω

{\displaystyle s=\sigma+j\omega}

 (from Laplace transform). Because

H
(
s
)

2

=
H
(
s
)

H
(
s
)

¯

{\displaystyle \left|H(s)\right|^2 = H(s)\overline{H(s)}}

 and, as a general property of Laplace transforms at

# s
j
ω

{\displaystyle s=j\omega}

,

H
(
−
j
ω
# )

H
(
j
ω
)

¯

{\displaystyle H(-j\omega) = \overline{H(j\omega)}}

, if we select H(s) such that:

H
(
s
)
H
(
−
s
# )

G
0

2

1

(

−

s
2

ω
c
2

)

n

,

{\displaystyle H(s)H(-s) = \frac {{G\_0}^2}{1+\left (\frac{-s^2}{\omega\_c^2}\right)^n},}

then, with

# s
j
ω

{\displaystyle s=j\omega}

, we have the frequency response of the Butterworth filter.

The *n* poles of this expression occur on a circle of radius ωc at equally-spaced points, and symmetric around the negative real axis. For stability, the transfer function, H(s), is therefore chosen such that it contains only the poles in the negative real half-plane of *s*. The *k*-th pole is specified by

−

s
k
2

ω
c
2

=
(
−
1

)

1
n

=

e

j
(
2
k
−
1
)
π

n

# k
1
,
2
,
3
,
…
,
n

{\displaystyle -\frac{s\_k^2}{\omega\_c^2} = (-1)^{\frac{1}{n}} = e^{\frac{j(2k-1)\pi}{n}}
\qquad k = 1,2,3,\ldots, n}

and hence;

s
k

=

ω
c

e

j
(
2
k
n
−
1
)
π

2
n

# k
1
,
2
,
3
,
…
,
n
.

{\displaystyle s\_k = \omega\_c e^{\frac{j(2k+n-1)\pi}{2n}}\qquad k = 1,2,3,\ldots, n.}

The transfer( or system) function may be written in terms of these poles as

H
(
s
# )

G
0

∏

# k
1

n

(
s
−

s
k

)

/

ω
c

.

{\displaystyle H(s)=\frac{G\_0}{\prod\_{k=1}^n (s-s\_k)/\omega\_c}.}

Where

∏

{\displaystyle \prod}

 is the product of a sequence operator. The denominator is a Butterworth polynomial in *s*.

### Normalized Butterworth polynomials

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

s
1

{\displaystyle s\_1}

 and

s
n

{\displaystyle s\_n}

. The polynomials are normalized by setting

ω
c

=
1

{\displaystyle \omega\_c=1}

. The normalized Butterworth polynomials then have the general form

B
n

(
s

# k
1

n
2

[

s
2

−
2
s
cos
⁡

(

2
k
n
−
1

2
n

π

)

1

]

# n
even

{\displaystyle B\_n(s)=\prod\_{k=1}^{\frac{n}{2}} \left[s^2-2s\cos\left(\frac{2k+n-1}{2n}\,\pi\right)+1\right]\qquad n = \text{even}}

B
n

(
s
# )
(
s
1
)

∏

# k
1

n
−
1

2

[

s
2

−
2
s
cos
⁡

(

2
k
n
−
1

2
n

π

)

1

]

# n
odd
.

{\displaystyle B\_n(s)=(s+1)\prod\_{k=1}^{\frac{n-1}{2}} \left[s^2-2s\cos\left(\frac{2k+n-1}{2n}\,\pi\right)+1\right]\qquad n = \text{odd}.}

To four decimal places, they are

B
n

(
s
)

{\displaystyle B\_n(s)}

(
s
1
)

{\displaystyle (s+1)}
 2

(

s
2

1.4142
s
1
)

{\displaystyle (s^2+1.4142s+1)}
 3

(
s
1
)
(

s
2

s
1
)

{\displaystyle (s+1)(s^2+s+1)}
 4

(

s
2

0.7654
s
1
)
(

s
2

1.8478
s
1
)

{\displaystyle (s^2+0.7654s+1)(s^2+1.8478s+1)}
 5

(
s
1
)
(

s
2

0.6180
s
1
)
(

s
2

1.6180
s
1
)

{\displaystyle (s+1)(s^2+0.6180s+1)(s^2+1.6180s+1)}
 6

(

s
2

0.5176
s
1
)
(

s
2

1.4142
s
1
)
(

s
2

1.9319
s
1
)

{\displaystyle (s^2+0.5176s+1)(s^2+1.4142s+1)(s^2+1.9319s+1)}
 7

(
s
1
)
(

s
2

0.4450
s
1
)
(

s
2

1.2470
s
1
)
(

s
2

1.8019
s
1
)

{\displaystyle (s+1)(s^2+0.4450s+1)(s^2+1.2470s+1)(s^2+1.8019s+1)}
 8

(

s
2

0.3902
s
1
)
(

s
2

1.1111
s
1
)
(

s
2

1.6629
s
1
)
(

s
2

1.9616
s
1
)

{\displaystyle (s^2+0.3902s+1)(s^2+1.1111s+1)(s^2+1.6629s+1)(s^2+1.9616s+1)}
 9

(
s
1
)
(

s
2

0.3473
s
1
)
(

s
2

s
1
)
(

s
2

1.5321
s
1
)
(

s
2

1.879
s
1
)

{\displaystyle (s+1)(s^2+0.3473s+1)(s^2+s+1)(s^2+1.5321s+1)(s^2+1.879s+1)}
 10

(

s
2

0.3129
s
1
)
(

s
2

0.9080
s
1
)
(

s
2

1.4142
s
1
)
(

s
2

1.7820
s
1
)
(

s
2

1.9754
s
1
)

{\displaystyle (s^2+0.3129s+1)(s^2+0.9080s+1)(s^2+1.4142s+1)(s^2+1.7820s+1)(s^2+1.9754s+1)}

The normalized Butterworth polynomials can be used to determine the transfer function for any low-pass filter cut-off frequency

ω
c

{\displaystyle \omega\_c}

, as follows

H
(
s
# )

G
0

B
n

(
a
)

{\displaystyle H(s) = \frac{G\_0}{B\_n(a)}}

 , where

# a

s

ω
c

.

{\displaystyle a = \frac{s}{\omega\_c}.}

Transformation to other bandforms are also possible, see prototype filter.

### Maximal flatness

Assuming

ω
c

=
1

{\displaystyle \omega\_c=1}

 and

G
0

=
1

{\displaystyle G\_0=1}

, the derivative of the gain with respect to frequency can be shown to be

d
G

d
ω

=
−
n

G
3

ω

2
n
−
1

{\displaystyle \frac{dG}{d\omega}=-nG^3\omega^{2n-1}}

which is monotonically decreasing for all

ω

{\displaystyle \omega}

 since the gain *G* is always positive. The gain function of the Butterworth filter therefore has no ripple. The series expansion of the gain is given by

G
(
ω
# )
1
−

1
2

ω

2
n

3
8

ω

4
n

…

{\displaystyle G(\omega)=1 - \frac{1}{2}\omega^{2n}+\frac{3}{8}\omega^{4n}+\ldots}

In other words, all derivatives of the gain up to but not including the 2*n*-th derivative are zero at

# ω
0

{\displaystyle \omega=0}

, resulting in "maximal flatness". If the requirement to be monotonic is limited to the passband only and ripples are allowed in the stopband, then it is possible to design a filter of the same order, such as the inverse Chebyshev filter, that is flatter in the passband than the "maximally flat" Butterworth.

### High-frequency roll-off

Again assuming

ω
c

=
1

{\displaystyle \omega\_c=1}

, the slope of the log of the gain for large ω is

lim

ω
→
∞

d
log
⁡
(
G
)

d
log
⁡
(
ω
)

=
−
n
.

{\displaystyle \lim\_{\omega\rightarrow\infty}\frac{d\log(G)}{d\log(\omega)}=-n.}

In decibels, the high-frequency roll-off is therefore 20*n* dB/decade, or 6*n* dB/octave (the factor of 20 is used because the power is proportional to the square of the voltage gain; see 20 log rule.)

## Filter implementation and design

There are several different filter topologies available to implement a linear analogue filter. The most often used topology for a passive realisation is Cauer topology and the most often used topology for an active realisation is Sallen–Key topology.

### Cauer 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

C
k

=
2
sin
⁡

[

(
2
k
−
1
)

2
n

π

]

# k
odd

{\displaystyle C\_k = 2 \sin \left [\frac {(2k-1)}{2n} \pi \right ]\qquad k = \text{odd}}

L
k

=
2
sin
⁡

[

(
2
k
−
1
)

2
n

π

]

# k
even
.

{\displaystyle L\_k = 2 \sin \left [\frac {(2k-1)}{2n} \pi \right ]\qquad k = \text{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*.

g
k

=
2
sin
⁡

[

(
2
k
−
1
)

2
n

π

]

# k
1
,
2
,
3
,
…
,
n
.

{\displaystyle g\_k = 2 \sin \left [\frac {(2k-1)}{2n} \pi \right ]\qquad 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

g
j

=

a
j

a

j
−
1

c

j
−
1

g

j
−
1

# j
2
,
3
,
…
,
n

{\displaystyle g\_j = \frac{a\_j a\_{j-1}}{c\_{j-1} g\_{j-1}}\qquad j = 2,3, \ldots, n}

where

g
1

=

a
1

{\displaystyle g\_1 = a\_1}

and

a
j

=
sin
⁡

π
2

[

(
2
j
−
1
)

n

]

# j
1
,
2
,
3
,
…
,
n

{\displaystyle a\_j = \sin \frac{\pi}{2} \left [\frac {(2j-1)}{n} \right ]\qquad j = 1,2,3, \ldots, n}

c
j

=

cos
2

⁡

[

π
j

2
n

]

# j
1
,
2
,
3
,
…
,
n
.

{\displaystyle c\_j = \cos^2 \left [\frac{\pi j}{2n} \right ]\qquad 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.

### Sallen–Key topology

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

{\displaystyle n}

 is odd), this must be implemented separately, usually as an RC circuit, and cascaded with the active stages.

For the second-order Sallen–Key circuit shown to the right the transfer function is given by

H
(
s
# )

V

o
u
t

(
s
)

V

i
n

(
s
)

=

1

1

C
2

(

R
1

R
2

)
s

C
1

C
2

R
1

R
2

s
2

.

{\displaystyle H(s)=\frac{V\_{out}(s)}{V\_{in}(s)}=\frac{1}{1+C\_2(R\_1+R\_2)s+C\_1C\_2R\_1R\_2s^2}.}

We wish the denominator to be one of the quadratic terms in a Butterworth polynomial. Assuming that

ω
c

=
1

{\displaystyle \omega\_c=1}

, this will mean that

C
1

C
2

R
1

R
2

=
1

{\displaystyle C\_1C\_2R\_1R\_2=1\,}

and

C
2

(

R
1

R
2

# )
−
2
cos
⁡

(

2
k
n
−
1

2
n

π

)

.

{\displaystyle C\_2(R\_1+R\_2)=-2\cos\left(\frac{2k+n-1}{2n} \pi\right).}

This leaves two undefined component values that may be chosen at will.

### Digital implementation

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.

## Comparison with other linear filters

Properties of the Butterworth filter are:

* monotonic amplitude response in both passband and stopband
* Quick roll-off around the cutoff frequency, which improves with increasing order
* Considerable overshoot and ringing in step response, which worsens with increasing order
* Slightly non-linear phase response
* Group delay largely frequency-dependent

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.