Main Content

Elliptic filter design

`[`

returns
the transfer function coefficients of an `b,a`

] = ellip(`n`

,`Rp`

,`Rs`

,`Wp`

)`n`

th-order
lowpass digital elliptic filter with normalized passband edge frequency `Wp`

.
The resulting filter has `Rp`

decibels of peak-to-peak
passband ripple and `Rs`

decibels of stopband attenuation
down from the peak passband value.

`[`

designs
a lowpass, highpass, bandpass, or bandstop elliptic filter, depending
on the value of `b,a`

] = ellip(`n`

,`Rp`

,`Rs`

,`Wp`

,`ftype`

)`ftype`

and the number of elements
of `Wp`

. The resulting bandpass and bandstop designs
are of order 2`n`

.

**Note:** See Limitations for information about numerical issues that affect
forming the transfer function.

`[`

designs
a lowpass, highpass, bandpass, or bandstop digital elliptic filter
and returns its zeros, poles, and gain. This syntax can include any
of the input arguments in previous syntaxes.`z,p,k`

] = ellip(___)

Elliptic filters offer steeper rolloff characteristics than Butterworth or Chebyshev filters, but are equiripple in both the passband and the stopband. In general, elliptic filters meet given performance specifications with the lowest order of any filter type.

`ellip`

uses a five-step algorithm:

It finds the lowpass analog prototype poles, zeros, and gain using the function

`ellipap`

.It converts the poles, zeros, and gain into state-space form.

If required, it uses a state-space transformation to convert the lowpass filter to a bandpass, highpass, or bandstop filter with the desired frequency constraints.

For digital filter design, it uses

`bilinear`

to convert the analog filter into a digital filter through a bilinear transformation with frequency prewarping. Careful frequency adjustment enables the analog filters and the digital filters to have the same frequency response magnitude at`Wp`

or`w1`

and`w2`

.It converts the state-space filter back to transfer function or zero-pole-gain form, as required.