See also: Fourier transform, Linear filters

IIR filter design tool

This is the beta version of an IIR filter design library. It can design three kinds of filters:

butterworthIIRFilterMaximally flat passband, monotonic everywhere.
chebyshev1IIRFilterEquiripple in the passband, monotonic in the stopband.
chebyshev2IIRFilterMonotonic in the passband, equiripple in the stopband.
import signals.filters.iir-1;
IIR filter design
import signals.filters.iir-1;
my_filter = IIRFilter ( 8, // filter order 1 dB, // passband ripple -60 dB, // stopband attenuation "", // band configuration [25 Hz], // cutting frequency [25 Hz, 50 Hz], // cutting frequencies 150 Hz // sampling frequency ) my_filter.plot() Design Filter

All IIR filter design functions return ZeroPoleGain structures.

Visualization
my_filter.plotZerosPoles() Plot my_filter.plotPhase() Plot my_filter.plotAmplitude() Plot my_filter.plotImpulseResponse() Plot
Testing the designed filter
input = [! zeros(100,1), ones(100,1), zeros(100,1), ones(100,1) !]; output = my_filter.filter(input); chart().curve(input).curve(output) Test Filter
Implementation
my_filter.getImplementationDetails()