The Butterworth filter is a filter that can be constructed out
of passive R, L, C circuits. The magnitude of the transfer
function for this filter is
Magnitude of Butterworth Filter Transfer Function
|Hⅈω|=11+ω
ω
c
2n
H
ω
1
1
ω
ω
c
2
n
(1)
where
nn is the
order
of the filter and
ωcωc
is the
cutoff frequency. The cutoff frequency is
the frequency where the magnitude experiences a 3 dB dropoff
(where
|Hⅈω|=12
H
ω
1
2
).
The important aspects of
Figure 1 are
that it does not ripple in the passband or stopband as other
filters tend to, and that the larger
nn, the sharper the cutoff (the
smaller the
transition
band).
This transfer function is often seen in its normalized form of
Magnitude of Normalized Transfer Function for Lowpass
Butterworth Filter
|Hⅈω|=11+ω2n
H
ω
1
1
ω
2
n
(2)
Butterworth filters give transfer functions
(
Hⅈω
H
ω
and
Hs
H
s
) that are
rational functions. They also
have only
poles,
resulting in a transfer function of the form
1s-s1s-s2⋯s-sn
1
s
s1
s
s2
⋯
s
sn
(3)
and a pole-zero plot of
Note that the poles lie along a circle in the s-plane.
Designing a Butterworth Filter
Designing a Butterworth filter is a trivial task. Since we
know that the filter contains only poles, we know that we can
write it as
Hs=1sn+
a
n-1
sn-1+ ⋯ +a1s+1
H
s
1
s
n
a
n-1
s
n
1
⋯
a1
s
1
(4)
From this, we may look up the
ai
ai
from a table (like the one below) for any desired
nn. We can also find them in
Matlab by using the
buttap command. The
real challenge of designing a Butterworth filter comes with
figuring out the optimal characteristics for the given
application.
| n |
a1a1
|
a2a2
|
a3a3
|
a4a4
|
a5a5
|
a6a6
|
a7a7
|
a8a8
|
a9a9
|
| 2 |
1.414214 |
| 3 |
2.000000 |
2.000000 |
| 4 |
2.613126 |
3.414214 |
2.613126 |
| 5 |
3.236068 |
5.236068 |
5.236068 |
3.236068 |
| 6 |
3.863703 |
7.464102 |
9.141620 |
7.464102 |
3.863703 |
| 7 |
4.493959 |
10.097835 |
14.591794 |
14.591794 |
10.097835 |
4.493959 |
| 8 |
5.125831 |
13.137071 |
21.846151 |
25.688356 |
21.846151 |
13.137071 |
5.125831 |
| 9 |
5.758770 |
16.581719 |
31.163437 |
41.986386 |
41.986386 |
31.163437 |
16.581719 |
5.758770 |
| 10 |
6.392453 |
20.431729 |
42.802061 |
64.882396 |
74.233429 |
64.882396 |
42.802061 |
20.431729 |
6.392453 |
Problem 1
Design a Butterworth filter with a passband gain between 1
and 0.891 (-1 dB gain) for
0<ω<10
0
ω
10
and a stopband not to exceed 0.0316 (-30 dB gain) for
ω≥20
ω
20
.
[
Click for Solution 1 ]
Solution 1
The first step is to determine
nn. To do this, we must
solve for
nn using the
passband and stopband criteria. We begin by finding the
equation for the gain in the passband in dB,
G
p
^
=20log|Hⅈω|=-10log1+
ωp
ωc
2n
G
p
^
20
H
ω
-10
1
ωp
ωc
2
n
(5)
and for the stopband in dB,
G
s
^
=20log|Hⅈω|=-10log1+
ωs
ωc
2n
G
s
^
20
H
ω
-10
1
ωs
ωc
2
n
(6)
these equations can also take the form
ωxωc2n=10-
G
x
^
10-1
ωx
ωc
2
n
10
G
x
^
10
1
(7)
In this form, we may divide the passband equation by the
stopband equation to get rid of the
ω c
ω c
. From there, we can
solve for
nn to get
n=log10-
G
s
^
10-110-
G
p
^
10-12logωsωp
n
10
G
s
^
10
1
10
G
p
^
10
1
2
ωs
ωp
(8)
By plugging in, we find
n=5.9569
n
5.9569
. However, since
nn
must be an integer, we round this up to
n=6
n
6
The next step is to find
ωc
ωc.
We can do this by substituting
n=6
n
6
into the equations for the passband and stopband and
solving for
ωc
ωc.
This yields
ωc=11.1919
ωc
11.1919
for the passband equation and
ωc=11.2478
ωc
11.2478
for the stopband equation. The difference in these
solutions is a result of nn
needing to be an integer. If we choose the solution from
the passband equation, the passband will meet its
requirements exactly, and the stopband will surpass its
requirements. If we choose the solution from the stopband
equation instead, the stopband requirements will be met
exactly, while we will exceed the passband requirements.
Therefore, we may choose either value or any value in
between. For this example, we will choose
ωc=11.2478
ωc
11.2478
.
Now, we can find the normalized transfer function. Since
we know this to be a sixth-order Butterworth, we can
determine from the table that
Hs=1s6+3.863703s5+7.464102s4+9.141620s3+7.464102s2+3.863703s+1
H
s
1
s
6
3.863703
s
5
7.464102
s
4
9.141620
s
3
7.464102
s
2
3.863703
s
1
(9)
Finally, we can determine the final transfer function.
Hs=1s11.24786+3.863703s11.24785+7.464102s11.24784+9.141620s11.24783+7.464102s11.24782+3.863703s11.2478+1
H
s
1
s
11.2478
6
3.863703
s
11.2478
5
7.464102
s
11.2478
4
9.141620
s
11.2478
3
7.464102
s
11.2478
2
3.863703
s
11.2478
1
(10)
Rather than multiplying this out and factoring, we will
leave it in this form for readability, since the numbers
can get quite large otherwise.
[
Hide Solution 1 ]