This is the beta version of an IIR filter design library. It can design three kinds of filters:
butterworthIIRFilter | Maximally flat passband, monotonic everywhere. |
chebyshev1IIRFilter | Equiripple in the passband, monotonic in the stopband. |
chebyshev2IIRFilter | Monotonic in the passband, equiripple in the stopband. |
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.
my_filter.plotZerosPoles() Plot
my_filter.plotPhase() Plot
my_filter.plotAmplitude() Plot
my_filter.plotImpulseResponse() Plot
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
my_filter.getImplementationDetails()