Designing IIR Digital Filters Using the Bilinear Transform Method

Resource Overview

Using the bilinear transform method to design an IIR digital filter: (1) Design a Butterworth low-pass IIR digital filter with bilinear transformation. Design specifications require maximum attenuation below 1dB in the passband for frequencies under 0.2π, and minimum attenuation greater than 15dB in the stopband within the frequency range [0.3π, π]. (2) Plot the magnitude-frequency response characteristics of the digital filter over the frequency range [0, π/2] with a sampling interval of 0.02π. (3) Perform simulation filtering on actual ECG signal sampling sequences (provided later in this experiment) using the designed filter, and plot both pre-filtering and post-filtering ECG signal waveforms to observe and summarize the filtering effects.

Detailed Documentation

The procedure for designing IIR digital filters using the bilinear transform method is as follows:

(1) First, employ the bilinear transform method to design a Butterworth low-pass IIR digital filter. According to the design specifications, the maximum attenuation should be less than 1dB in the passband for frequencies below 0.2π, while the minimum attenuation must exceed 15dB in the stopband within the frequency range [0.3π, π]. This typically involves calculating the filter order and cutoff frequency using MATLAB's `buttord` function, followed by designing the analog prototype with `butter` and applying bilinear transformation.

(2) Using a sampling interval of 0.02π, plot the magnitude-frequency response characteristics of the digital filter across the frequency range [0, π/2]. This can be implemented using MATLAB's `freqz` function to compute the frequency response and `plot` to visualize the results, with frequency points generated using `0:0.02*pi:pi/2`.

(3) Apply the designed filter to perform simulation filtering on actual ECG signal sampling sequences (provided later in this experiment). Use MATLAB's `filter` function for processing, then plot both the original and filtered ECG signal waveforms using plotting functions like `plot` or `subplot` to compare the signals side-by-side, enabling observation and summary of the filtering effects and performance.