scipy.signal.iirdesign¶

scipy.signal.iirdesign(wp, ws, gpass, gstop, analog=False, ftype='ellip', output='ba', fs=None)[source]

Complete IIR digital and analog filter design.

Given passband and stopband frequencies and gains, construct an analog or digital IIR filter of minimum order for a given basic type. Return the output in numerator, denominator (‘ba’), pole-zero (‘zpk’) or second order sections (‘sos’) form.

Parameters: wp, ws : float Passband and stopband edge frequencies. For digital filters, these are in the same units as fs. By default, fs is 2 half-cycles/sample, so these are normalized from 0 to 1, where 1 is the Nyquist frequency. For example: Lowpass: wp = 0.2, ws = 0.3 Highpass: wp = 0.3, ws = 0.2 Bandpass: wp = [0.2, 0.5], ws = [0.1, 0.6] Bandstop: wp = [0.1, 0.6], ws = [0.2, 0.5] For analog filters, wp and ws are angular frequencies (e.g. rad/s). gpass : float The maximum loss in the passband (dB). gstop : float The minimum attenuation in the stopband (dB). analog : bool, optional When True, return an analog filter, otherwise a digital filter is returned. ftype : str, optional The type of IIR filter to design: Butterworth : ‘butter’ Chebyshev I : ‘cheby1’ Chebyshev II : ‘cheby2’ Cauer/elliptic: ‘ellip’ Bessel/Thomson: ‘bessel’ output : {‘ba’, ‘zpk’, ‘sos’}, optional Type of output: numerator/denominator (‘ba’), pole-zero (‘zpk’), or second-order sections (‘sos’). Default is ‘ba’. fs : float, optional The sampling frequency of the digital system. New in version 1.2.0. b, a : ndarray, ndarray Numerator (b) and denominator (a) polynomials of the IIR filter. Only returned if output='ba'. z, p, k : ndarray, ndarray, float Zeros, poles, and system gain of the IIR filter transfer function. Only returned if output='zpk'. sos : ndarray Second-order sections representation of the IIR filter. Only returned if output=='sos'.

butter
Filter design using order and critical points
buttord
Find order and critical points from passband and stopband spec
iirfilter
General filter design using order and critical frequencies

Notes

The 'sos' output parameter was added in 0.16.0.

Previous topic

scipy.signal.group_delay

Next topic

scipy.signal.iirfilter