scipy.signal.iirdesign

scipy.signal.iirdesign(wp, ws, gpass, gstop, analog=0, ftype='ellip', output='ba')[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’) or pole-zero (‘zpk’) form.

Parameters :

wp, ws : float

Passband and stopband edge frequencies, normalized from 0 to 1 (1 corresponds to pi radians / sample). 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]

gpass : float

The maximum loss in the passband (dB).

gstop : float

The minimum attenuation in the stopband (dB).

analog : int, optional

Non-zero to design an analog filter (in this case wp and ws are in radians / second).

ftype : str, optional

The type of IIR filter to design:

  • elliptic : ‘ellip’
  • Butterworth : ‘butter’,
  • Chebyshev I : ‘cheby1’,
  • Chebyshev II: ‘cheby2’,
  • Bessel : ‘bessel’

output : [‘ba’, ‘zpk’], optional

Type of output: numerator/denominator (‘ba’) or pole-zero (‘zpk’). Default is ‘ba’.

Returns :

b, a : :

Numerator and denominator of the IIR filter. Only returned if output='ba'.

z, p, k : Zeros, poles, and gain of the IIR filter. Only returned if

``output=’zpk’``. :

Previous topic

scipy.signal.freqz

Next topic

scipy.signal.iirfilter