IIR Filter Explorer
-
- KVRian
- 687 posts since 17 Sep, 2007 from Planet Thanet
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.
-
- KVRist
- 229 posts since 29 Apr, 2012
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.
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.
-
- KVRian
- 1273 posts since 9 Jan, 2006
The general procedure for these kinds of filters would be something like: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.
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.
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.
-
- KVRist
- 229 posts since 29 Apr, 2012
@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
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