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