Connexions

You are here: Home » Content » Butterworth Filters
Content Actions

Butterworth Filters

Module by: Richard Baraniuk

Summary: Describes the design of analog lowpass Butterworth filters.

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 ).
bwFreq2a.jpg
Figure 1: Three different orders of lowpass Butterworth analog filters: n=1410 n 1 4 10 . As nn increases, the filter more closely approximates an ideal brickwall lowpass response.
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-s2s-sn 1 s s1 s s2 s sn (3)
and a pole-zero plot of
bwSPlane2a.jpg
Figure 2: Poles of a 10th-order ( n=5 n 5 ) lowpass Butterworth filter.
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 ]

Comments, questions, feedback, criticisms?

Send feedback