#### Previous topic

scipy.signal.group_delay

#### Next topic

scipy.signal.iirfilter

# scipy.signal.iirdesign

`scipy.signal.``iirdesign`(wp, ws, gpass, gstop, analog=False, ftype='ellip', output='ba')

  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 normalized from 0 to 1, where 1 is the Nyquist frequency, pi radians/sample. (wp and ws are thus in half-cycles / 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]

  > 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’.

  Returns:

  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'`.

  See also

  `butter`
    Filter design using order and critical points

  `cheby1`, `cheby2`, `ellip`, `bessel`

  `buttord`
    Find order and critical points from passband and stopband spec

  `cheb1ord`, `cheb2ord`, `ellipord`

  `iirfilter`
    General filter design using order and critical frequencies

  Notes

  The `'sos'` output parameter was added in 0.16.0.