IIR Filter Explorer

DSP, Plugin and Host development discussion.
RELATED
PRODUCTS

Post

I'm quite surprised the page at York worked for this long. The page owner, Tony Fisher, died (far too young) while I was working there in about 1999 or 2000. Extremely sad.

Post

Very nice tool, thanks!
I'd suggest an optional description of coeff computations steps. Such a description would be useful to gain some understanding of the design process for noobs or lazy people, somewhat halfway betwen math and programming. Without the implementation though, since it seems like it's nicely written in the page source.

Post

1eqinfinity wrote: I'd suggest an optional description of coeff computations steps. Such a description would be useful to gain some understanding of the design process for noobs or lazy people, somewhat halfway betwen math and programming. Without the implementation though, since it seems like it's nicely written in the page source.
The general procedure for these kinds of filters would be something like:

Design an analog prototype filter by placing poles in the complex S domain. This is done by following a formula for whatever filter type you want to design. You can see this in the pole/zero plot on the web page. Make sure it's set to S plane. Butterworth is probably the easiest design. If you look at different order butterworth plots you'll see how the poles are always equidistant around the left side of a unit circle. EDIT - the poles fall on the unit circle for a normalised filter. The plot on the web page isn't normalised, but you can still see the poles are equidistant around the left side of a circle.
Image

Once you determin the poles then you can derive the analog transfer function. This is best done in as a series of second order stages, ie two poles at a time. The pairs will be complex conjugates as this ensures that the resulting transfer function only has real valued coefficients.

The analog transfer function then needs to be transformed into a digital one. Typically the Bilinear Transform, but there are other transforms.

The digital transfer function can then be rearranged/transformed into a difference equation to derive the coefficients that will be used in the actual filter. Typically direct form 1 or transposed direct form 2.

Post

@matt42
Cool, thanks, that sounds clear to me except for the very beginning where we need to place the poles based on the filter design. I really like the sound of elliptic filters with high ripples, but every time I start digging into the theory I start to feel like a lazy ass :)

Post Reply

Return to “DSP and Plugin Development”