DSP Practical - Experiment 6

To design a Digital Butterworth Low-Pass Filter (LPF) using the Impulse Invariance Method

Aim

To design a digital Butterworth low-pass filter with specific specifications using the Impulse Invariance Method.

Problem Statement

Design a digital Butterworth filter with the following specifications:

          0.8 <= |H(e^jw)| <= 1 (Passband)
          |H(e^jw)| <= 0.2 (Stopband)
        

Use the Impulse Invariance Method to design the filter with the following frequency range:

          0 <= w <= 0.2π (Passband)
          0.6π <= w <= π (Stopband)
        

Theory

The Butterworth filter is designed to have a flat frequency response in the passband, with no ripples. The Impulse Invariance Method is used to map the continuous-time filter design to a discrete-time filter. The key steps involved in the process are:

  1. Determine the analog low-pass filter specifications based on the given passband and stopband frequencies.
  2. Use the `buttord` function to calculate the filter order and cutoff frequency.
  3. Design the analog Butterworth filter using the `butter` function.
  4. Use the `impinvar` function to apply the Impulse Invariance Method and obtain the digital filter coefficients.
  5. Plot the frequency response of the digital Butterworth filter using `freqz`.

MATLAB Code

Expected Output

The MATLAB code generates a plot of the magnitude response of the designed Butterworth digital low-pass filter. The expected output will display:

  1. The magnitude response of the filter, which will show a smooth, flat response in the passband and a sharp drop in the stopband, characteristic of a Butterworth filter.

This plot helps visualize the performance of the designed filter and validates the design process using the Impulse Invariance Method.