Monday, 3 April 2017

Butterworth Filter Design

Filters are essential in any system. In the classroom, it's easy to design filters for smaller orders using a pen and paper. But, in practical systems, very high orders are required to get the desired response. The order may go in tens. If you sit and go about designing such a filter, you'll spend the entire day and in the end, go crazy!

Scilab comes to the rescue in such situations. It's an open source tool for simulation. Of course, if you're willing to spend some money, then MATLAB will be better, and easier too. But one should always be familiar with open source tools. We wrote a code in Scilab to design a Butterworth filter and also digitise it. The transfer function of the filter was calculated in the Laplace (s) domain and then converted to the Z domain by using the Bilinear Transform Method.

Both, low pass and high pass filters were designed and their magnitude and frequency responses were simulated. We could see that we got a response very close to the desired one and the order was higher than 10 for each of the designs.

14 comments:

  1. Butterworth filter design involves large transition band.

    ReplyDelete
    Replies
    1. For narrow bands the accuracy is affected

      Delete
  2. Yeah it'll take us hours to even calculate for order 20. Scilab and matlab made everything easy.

    ReplyDelete
  3. In Butterworth filter poles are on the circle

    ReplyDelete
  4. Its only disadvantage is difficulty in implementation due to higher order.

    ReplyDelete
    Replies
    1. Yes as compared to frequency sampling method

      Delete
  5. The Butterworth Filter design is called as maximally flat filter and its rolloff depends upon the number of poles

    ReplyDelete