Design IIR Bandpass Elliptic Filter using Scipy- Python
IIR stands for Infinite Impulse Response, It is one of the striking characteristics of many linear-time invariant systems that are characterized from having an impulse response h(t)/h(n) that does not reach 0 at any stage but instead persists indefinitely.
What is IIR Bandpass Elliptic Filter ?
Elliptical Filter is a special type of Filter that is used in digital signal processing when there is a need for a fast transition from pass to stop band.
The specifications are as follows:
- Pass band frequency: 1400-2100 Hz
- Stop band frequency: 1050-24500 Hz
- Pass band ripple: 0.4dB
- Stop band attenuation: 50 dB
- Sampling frequency: 7 kHz
- We will plot the magnitude & phase response of the filter.
Step 1: Importing all the necessary libraries.
Step 2: Defining user-defined functions mfreqz() and impz(). The mfreqz is a function for magnitude and phase plot and the impz is a function for impulse and step response].
Step 3:Define variables with the given specifications of the filter.
Step 4: Compute the cut-off frequency
Step 5: Compute order of the Elliptic Bandpass digital filter.
Step 6: Design digital Elliptical bandpass filter.
Step 7: Plot magnitude and phase response.
Step 8: Plot impulse and step response of the filter.
Below is the complete implementation of the above stepwise approach:
Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.
To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning – Basic Level Course