Iowa Hills Software   Digital and Analog Filters 
Elliptic IIR Filters        Home

The Elliptic filter is the ultimate filter for narrow transition bands. These are as close to brick wall filters as can be made. These filters allow for the adjustment of both the pass band ripple and stop band attenuation as ways to decrease the transition bandwidth.

In the example below, the filter's pass band ripple is set to 0.001 dB and the attenuation is set to -80 dB. In theory, we could increase the ripple, and decrease the attenuation in order to sharpen the skirt even more, but this filter is at its limits. Elliptic filter design is limited by the proximity of the poles to the imaginary axis. Or more precisely, ones ability to control the pole's actual locations during the calculation of the poles, and their implementation. In other words, math errors limit us.

The free Iowa Hills IIR Filter Designer uses the algorithm described in: Elliptic Functions for Filter Design, H. J. Orchard and Alan N. Willson, IEEE Transactions on Circuits and Systems, April 1977. We modified the algorithm a bit, and are able to synthesize filters up to 15 poles, but above 8 poles, we need to restrict the ripple and attenuation levels.

Whether one can actually implement one of these will depend on the number of processor bits available. The filter shown here requires at least 24 bits to remain stable.

Elliptic Low Pass.png

A good way to assess the Elliptic is to compare it to a Butterworth. Depending on the number of bits in the ADC, it may not be possible to get more than 65 dB of attenuation, so in this case, the Elliptic does the same task with 6 poles as a 14 pole Butterworth.

Elliptic Butterworth Comparison.png


The free Iowa Hills IIR Filter Designer will synthesize Elliptic filters up to 15 poles.

The source code for generating Elliptic low pass prototype filters is given on our Example C Code Page.

Chebyshev IIR Filters
Inverse Chebyshev IIR Filters
Elliptic IIR Filters