As discussed in the post on ideal filter types, the Butterworth filter is a filter approximation technique that is also known as the maximally flat filter technique. This filter gives a very flat frequency response in the Pass Band, which ensures that there are no ripples present. Hence, as the name suggests, the maximal flat response you get with the Butterworth Filter cannot be matched by the Chebyshev, Inverse Chebyshev, or Bessel Filters. Though it may not be as effective as the other filters in giving a filter response with a steep transition band, it has a better tolerance to overshoot or ringing compared to the Chebyshev filters. It also allows for minimum attenuation in the Stop Band.

Hence, The Butterworth filter’s applications include:

- Anti-Aliasing Filter for Data Converter applications due to its maximally flat nature.
- High-quality audio applications as they ensure the frequencies that are supposed to pass do so entirely owing to the flat response, ensuring we hear everything we are supposed to from audio samples.
- In motion analysis, digital Butterworth filters are used as they have close to zero ringing in the passband, which gives a clear video for precise analysis.

In this post, we will **study the steps for Butterworth Filter approximation** and **design analog and digital Butterworth filters** using the impulse invariance and bilinear transform techniques to design IIR filters.

Contents

**Introduction to Butterworth Filters**

Let us examine a Low Pass Butterworth Filter. The amplitude response of a low-pass Butterworth filter is:

where is the filter’s cutoff frequency and n is the order of the filter.

The graph you see above represents the magnitude of the frequency response of the filter. From the graph, we can infer that at low frequencies, the gain is very close to 1. But as the frequency increases, the gain goes off and starts rejecting higher frequency components as general low pass filters do. The colors that denote the different values for n are signifying the filter order. Observe that when the filter order is low, the graph rolls off smoothly. However, when the filter order is high, it almost looks like a step function. Hence, we can conclude that to get a smaller transition band, we have to increase the order of the filter.

To simplify the process of designing the Butterworth filter, we are going to be observing a normalized filter first. Then we will be scaling the values to our desired cutoff.

**Normalized Butterworth Filter**

A normalised filter is one that has cutoff frequency equal to 1 ()

Hence, the amplitude response will become

The transfer function of a filter is given by H(s) which is the impulse response of a filter in the s-domain where

The frequency response of a filter can be determined by evaluating using the imaginary axis when and

The inverse is also possible, given , you can evaluate H(s) by substituting

Therefore, we can infer

The 2n denotes the poles of which occur when

Putting it in terms of s we get, —(1)

-1 can also be represented in terms of an exponential function as shown

, where for every integer k,So, substituting for the -1 in equation(1)

Taking 1/2n root on each side,

for k=1, 2, 3,…,2n

As you can see from the image above, depending on the value of n the number of poles on each side of the plane will correspond. For example, if N=4, there are four poles in the left-hand plane which correspond to Hn(s), which suggests a causal and stable filter. The four poles on the right-hand plane correspond to the conjugate. Therefore, the number of poles on each side depends on n.

The transfer function for a Normalized Butterworth filter is

where you obtain the nth order Butterworth polynomial.

can be computed by working it out or using a Butterworth Lookup Table, we will look into this in detail while solving the problems.**Scaling Normalized Filter**

Now, we know the transfer function for a normalized filter. What if we want a cutoff frequency other than unity?

Depending on the type of filter we would be designing, we would replacing s by the respective transformations shown below to find H(s)

Type of transformation |
Transformation(Replace s by the following) |

Low Pass | |

High Pass | |

Band Pass | |

Band Stop |

where is the cutoff frequency

is the lower band edge frequency is the higher band edge frequencyWe also need to have specifications of the gain definitions, there are specifically four values that we have to define which can be obtained from the graph below.

Here

- is the Pass band gain at Pass band frequency
- is the Stop band gain at Stop band frequency

From these filter specifications, we can determine the order of the filter. The gain is usually represented in dB.

At frequency ,

the gain of the filter would be,

Hence, Passband Gain and Stopband Gain can be determined

=>

you can also determine the cutoff frequency this way

=>

you can also determine the cutoff frequency this way

Dividing the Stopband gain by the Passband gain,

Rearranging the equation in terms of n so that we can identify the filter order,

**Example Problem on Butterworth Filter**

Design a Butterworth filter with the following specifications

Also, find the filter’s transfer function.

substituting the particular values

n=3.142

When you get a decimal number always round up, as this will give a better roll off than rounding down. We will discuss more about this further down the road.

Now, with the filter order and the filter requirements we can identify the cutoff frequency

We will use both the passband values and stopband values to carry out this calculation

Now, why are there two different values for the same cutoff frequency? Well, we did round off the filter order number for easier design purposes, that’s why!

Let us choose to match up with the passband cutoff frequency and carry on calculating the transfer function taking { \omega }_{ C }=20.01

Next up, we have to design the normalized function before moving on to scaling.

You can either look it up on the Butterworth filter table or you can compute the H(S) using the equation below

where

but why do all that calculating when you can just copy the numbers from the table. (Don’t worry I’ll show you how to do it in the preceding examples)

So, since N=4 in this case,

Therefore, the coefficients would be a1=2.6131, a2=3.4142, a3=2.6131, a4=1.0000

Putting these coefficients into the normalized transfer function

Now, we are going to scale the normalized function to obtain the actual transfer function,

We’ve got to replace s with s/

Hence, the final transfer function is

According to the stopband, the attenuation should be at -25dB, which is the cutoff limit for this filter. Looking at the red curve which depicts the frequency response of the filter if we choose to go with the stopband cutoff frequency, it touches -25dB which is well within the limit. Over attenuation is totally fine too, as long as it does not under attenuate which will allow signals beyond the frequency range to enter. Over attenuation(when the attenuation is less than -25db) will not lead to this problem, so over attenuation and exact attenuation are a thumbs up for your Low Pass Filter. Hence, the blue curve which depicts the frequency response if we choose to go with the passband cutoff frequency over attenuates.

I know the question popping up in your mind right now. If the red curve gives exact attenuation, why not just go with the stopband cutoff frequency?

The problem is with the transition band. At 20 rad/s, the graph should be down by 3dB already but the red curve hardly dipped, it only came down by 1 dB. This is not advisable for the Low Pass Filter. So, the only thing you have to keep in mind is that when choosing the cutoff frequency to scale your transfer function equation, go with the passband cutoff frequency.

**Solving Butterworth Filter Transfer Function with Impulse Invariance technique**

The Impulse Invariance method does a good job in designing Low Pass Filters. It preserves the order and stability of the analog filter well. However, they cannot be used for High Pass Filters as they are not band limited.

Let us look at the steps involved:

**Step 1. Find out the filter specifications**

Pass band frequency is the Stop band gain

Stop band frequency

**Step 2. Find out the order of the filter**

**Step 3. Now, identify the Normalised transfer function, **

where

**Step 4. Now, we have to find out the actual transfer function**

**Step 5. Now this is the step that determines what method you are using,**

we can use a table to do the digital transformation

Type of Transformation |
Transformation(Replace s by) |

How about an example to clear things up?

**Solved Example**

Butterworth IIR Low Pass Filter using Impulse Invariant Transformation, T=1 sec

**Solution:**

1. =0.707[/latex] =0.3π[/latex] =0.2[/latex] =0.75π[/latex] = =0.3π/1=o.3×3.14=0.9425[/latex] = =0.75π/1=2.35624[/latex]

2.Order of the filter

n=1.7339

So rounding this up, our filter order is 2.

3. Next up, according to the steps, we have to find out the normalized function.

where

k=N/2=2/2=1

Therefore,

4. Now, for the actual transfer function

After finding out the cutoff frequency of course,

Ok so now we have the cutoff frequency and we can do the substitution now,

Simplifying this we will obtain the transfer function using impulse invariance method

To perform the digital transform, we need to make sure it is in a form that can be transformed to Z. So we need to make a few changes, starting with completing the square.

5. Doesn’t this equation look similar to

So, we will be transforming the equation to

**Solving Butterworth Filter Transfer Function with Bilinear Transformation technique**

Bilinear Transformation is useful when the gains of your filter are constant over certain bands of frequency, such as in Low Pass Filters, High Pass Filters, and Band Pass Filters. The BLT method helps to avoid aliasing of the frequency response that you may encounter while using the Impulse Invariance method to obtain your filter values by mapping one-to-one from the s-plane to the z-plane. Hence, using this method lowers the sampling rate required significantly compared to the IIR method.

This technique involves all the steps in the previous section except the last step and a small change in the second step.

Let us see how with another one of those examples, that’s going to make understanding all this complex stuff a bit easier.

**Problem**

Design a Butterworth digital IIR highpass filter using Bilinear Transformation by taking T=0.1 second, to satisfy the following specifications.

**Solution:**

1. For a High Pass Filter

=0.6[/latex] =0.7π[/latex] =0.1[/latex] =0.35π[/latex]For a Low Pass Filter

=0.6 =0.35π[/latex] =0.1[/latex] =0.7π[/latex]2. Order of the filter

n=1.726

Therefore, the order of the filter will be 2.

3. Now, for the normalized transfer function

where

k=N/2=2/2=1

4. Time for the actual transfer function now and we need the cutoff frequency again

5. This is the little twist that I warned y’all about at the beginning, the last step.

So, for this step, we have to replace

Using the Bilinear Transformation, the transfer function will be

simplifying this very complicated equation, we get

which gives us the transfer function of the High Pass Filter in the ‘z’ domain.

**Sources:** 1, 2, and 3. The second video is in English (created by Adam Panagos and the other two are in Tamil).