Finite Impulse Response (FIR) Digital Filter
Introduction
To provide a brief introduction to the
applet only, without any theory, would not be in the spirit of what the
applet is designed to achieve. The theory then, is to be found in a number
of different hypertexed documents. The first document is a
tutorial on digital
filters with an emphasis on finite impulse response filters but
which includes infinite impulse response (IIR) filters. This tutorial
is fairly large and runs into 40 pages. The second document concerns the
subject of the time response derivation
of the different types of filters, that is, the low pass, high pass,
band pass and band stop filters. As window
functions
play an important role in the "windowed-sinc" type of FIR, this
applet being of this type, there is a document describing the parameters
of the Rectangular, Bartlett, Hamming, Hanning and Blackman windows that
are used in this applet to smooth the effects of truncation and provide
a sharper rolloff of the frequency response at the expense of the increase
in the filter order or the number of coefficients used in the filter implementation.
In the same document is a section explaining how the filter in this applet
is made causal
. There is also a document on the discrete Fourier
transform
as it is used in the programme. Finally, there is also a document that briefly
explains how the Java applet has been programmed
.
What
this applet will provide?
For a selected filter type, transition bandwidth, sampling frequency,
window type and cut off frequency (high pass or low pass) or frequencies
(band pass or band stop), this applet will provide the following;
- The normalized impulse response
coefficients for the implementation of a FIR digital filter. These coefficients
may be copied from the text field region just above the "Summary sheet."
Also, included is a summary of the parameters used.
- The impulse response of the filter.
- The frequency response of the
filter together with its ideal response mask.
- A summary sheet showing all inputs and input variations.
What needs to be done?
In order to have the applet provide sensible information, the following
is required to be completed;
Note: It is important that you press "Enter" on the keyboard after
you enter each entry. This ensures that the value is properly entered.
- Select the filter type.
- Enter the transition bandwidth.
- Enter the sampling frequency.
- Select the window type.
- Enter the cut off frequency or frequencies.
- CLICK ON the DESIGN button.
- It is worthwhile noting after this step, the value of the filter
order from the "Summary sheet." If the filter order is very large,
then it will take some time for the programme to perform the calculations.
- Click on Impulse Response button to see the designed impulse response.
- Click on the Frequency response to see the designed frequency
response and compare this response against the ideal response for the different
windowing types. The windowing type mask is coloured orange and will automatically
adjust to the set cutoff frequencies, transition bandwidth and the attenuation
for the chosen windowing type. The transition bandwidth used may be slightly
different to that which you have entered. The summary sheet will show you
the value the programme has used.
- You may adjust the graph in the vertical direction using the "Y
axis Scale" scrollbar and change the frequency axis from logarithmic to
linear by using the radio buttons..
- You may select with your mouse and then copy all of the filter
coefficients calculated and presented in the text area. As an applet is
not permitted to write to the hard disk, this method allows you to copy
and write the information to your hard disk.
For your comments and suggestions, mail
the author: A.A.R.Townsend
Return to Applets page.