Iowa Hills Software Digital and Analog Filters
Polynomial Prototypes for FIR Filters Home
This page discusses Butterworth FIR, Chebyshev FIR, Bessel FIR, Gauss FIR, and Inverse Chebyshev FIR filters.
If done properly, almost any filter response can be implemented as an FIR. As detailed here, one simply does an Inverse Fourier Transform on the filter's frequency response. The catch however, is that some filters will require an excessively large number of taps to implement (as we show below).
Here are 4 example polynomial FIR filters.
20 Pole Butterworth FIR Coefficients
256 Tap 12
Pole Chebyshev FIR Coefficients
200 Tap 15 Pole Inv Chebyshev FIR Coefficients 256 Tap 8 Pole Elliptic FIR Coefficients
The filter responses shown above are worst case scenarios for FIR filter design in the sense that they all require a large number of taps to implement. Some polynomials however make excellent FIR filters. In particular, the Bessel, and Gauss polynomials create very useful FIR responses. The polynomials with zeros, such as the Inverse Chebyshev are the next best candidates for FIR prototypes, so long as the pole count isn't excessive.
In the next two plots we show the response of a Butterworth and Chebyshev FIR filter as the tap count is reduced.
There are essentially two reasons why the Butterworth and Chebyshev make poor FIR prototypes. The first is the shape of the pass band. In particular, I am referring to the relatively sharp corner these two filters have at ω = 0.2. Good FIR prototypes (i.e. those requiring the fewest taps), have a more relaxed corner as shown next where we compare a typical FIR response to a typical IIR response (emphasis on the word typical). In order to keep the tap count to a minimum, the FIR prototype must form a relatively large radius at the corner frequency. We will contradict this statement below, but this is essentially true.
One of the problems with implementing a polynomial filter as an FIR is the filter's non-symmetric impulse response, as shown here.
Symmetry allows us to apply a window to the impulse response to reduce the sin(x)/x effects, which in turn improves the stop band performance, but symmetry is key. Without symmetry, a window such as the Kaiser cannot be used. Then the only way to minimize the side lobes is to use more taps, which is what we want to avoid.
The Butterworth and Chebyshev polynomials are poor prototypes for FIR filters. However, as we will show next, some polynomials do work reasonably well.
Gauss and Bessel FIR filters
Good FIR prototypes tend to form a large radius at the corner frequency. Gauss and Bessel filters take this to the extreme. Here we show the frequency response for a 12 pole Gauss filter. The 256 tap response shown here is a true Gaussian response. Notice how little the response changes by reducing the tap count to 20.
Also notice the group delay. If these were traditional FIR filters, the group delay would be (N-1)/2, or 127.5 and 9.5 respectively. We instead have the group delay typically associated with an IIR filter, and it is affected very little by tap count.
To be sure, nobody uses a Gauss or Bessel filter for their superb stop band performance. Rather, these filters are used when filter distortion must be kept to a minimum. Which is to say, little or no overshoot or ringing in the step response. The beauty of these FIR filters then is that these 12 pole filters can be implemented with fewer multiplies and adds than in an IIR structure, which is quite rare, and highly desirable, especially since the FIR can also be implemented using integer math.
Although we don't show it here, a 12 pole Bessel filter behaves similarly to this.
Inverse Chebyshev FIR Filters
The Inverse Chebyshev is the only highly selective polynomial filter that works reasonably well as an FIR prototype. Here we compare an Inverse Chebyshev response to a more traditional Kaiser windowed response. As you can see, the Kaiser has somewhat better attenuation characteristics and because of its constant group delay, will distort the signal less.
In general, the polynomials used for analog and IIR filter design, such as the Butterworth, Chebyshev, Inverse Chebyshev, and Elliptic, are not good prototypes for FIR filters simply because of the tap count needed to implement them.
We explain the method used to generate FIR filters from these polynomials, or any other custom response, on our Frequency Sampling Method for FIR Design page.
We included the Inverse Chebyshev and Adjustable Gauss prototypes in the Iowa Hills FIR Filter Designer (free) so that you can see the merits in trying to use an analog prototype for an FIR filter.
Copyright 2013 Iowa Hills Software