Amiga FIR Filter Designer V2.3
Finite Impulse Response Filters
The N tap FIR filter consists of N-1 delayers, N multiplyers, each with
its correspondant values a(j), and N-1 adders, or a global adder. The abbreviation
FIR stands for Finite Impulse Response. Such is the characteristic of the
impulse response of FIR filters. Because of the non-recurse filter structure,
it is finite in duration. Actually it has a duration of N, where N is the
number of taps of the filter.
Figure 1: Structure of a FIR Filter
Figure 2: Convolution formula of a FIR Filter
One noticeable feature of FIR filters in general is their linear phase,
because the delay is equal for all frequencies. This is especially important
in video technology.
FIR Filter Design Principles
The problem of designing finite impulse response (FIR) digital filters
experienced great activity in the early 1970`s. Most of this work was directed
at the problem of optimal filter design, in the weighted Chebyshev sense.
One algorithm for this program, by McClellan, Parks and Rabiner, will design
the optimal Chebyshev approximation for linear phase filters. The Chebyshev
optimization is done very efficiently by means of the Remez exchange algorithm,
and this particular FIR filter design program has found wide use.
The filter design process is always a compromise among filter length,
transition width and passband / stopband deviation (in the bandpass case).
Not all of these specifications can be choosen arbitrarily.
Figure 3: ScreenShot of FIR Filter Designer GUI
Equiripple FIR Filter Design
The method first programmed by Parks and McClellan in FORTRAN, uses an
optimization algorithm called the Remez exchange algorithm. Instead of
describing the coefficients by a Fourier series, they are described using
a polynomial series. This design method allows sharper transitions with
better stopband attenuation than the window method, but there is a ripple
in the passband. This Remez type of design normally produces equiripple
filters, where the ripples in the passbands and stopbands are of equal
height within any one band.
The Remez algorithm also demands very high numerical precision, so
the FIR Filter Designer V2.3 uses 64-bit double math precision arithmetic
for all calculations.
The program provides the possibility to scale the calculated filter
taps to a certain bitwidth. This is of particular interest for all people
who want to implement their filter design on a DSP with integer arithmetic.
Figure 4: ScreenShot of Remez Design Method GUI
Window Method FIR Filter Design
The window method filter design process is based upon Fourier series. It
is possible to represent a frequency function as a Fourier series, whose
coefficients represent the coefficients of the filter.
To form a casual filter, the Fourier series is truncated and shifted.
Truncating the Fourier series causes a phenomenon called the "Gibbs effect"
- a spike occurs wherever there is a discontinuity in the desired magnitude
of the filter. To counteract this, the filter coefficients are convolved
in the frequency domain with the spectrum of a window function, thus smoothing
the edge transitions at any discontinuity. This convolution in the frequency
domain is equivalent to multiplying the filter coefficients with the window
coefficients in the time domain.
The window design method starts with a very long series, in theory
infinite, that is truncated to the desired length. Coefficients beyond
the truncation are simply ignored. The window removes even more information.
The equiripple method optimizes the series for a given number of coefficients.
Figure 5: ScreenShot of Window Design Method GUI
The FIR Filter Designer V2.3 features a powerful data plotter module, called
Prism, which displays the impulse response of the designed FIR filter in
the frequency domain either as magnitude, phase, imaginary or real. The
data can be scaled linear or logarithmic, both in the x-axis and in the
y-axis. The filter taps are written to an external file, where they may
be accessed by any third party program.
Figure 6: ScreenShot of Data Output Control Window
Figure 7: ScreenShot of Data Output Window
Download FIRDesigner V2.3 (171 KB)
ReadMe FIRDesigner V2.3
Sources for FIR Design Algorithms
Created by firstname.lastname@example.org
Last modified 18. August 2000