Click here to go to the applet.

This java applet is a demonstration of digital filters. You should hear a noise waveform when the applet starts up. If you get a message "Need java 2 for sound", then you should get the Java plug-in.

The applet starts up with a low-pass filter. It shows the frequency response of the filter, the spectrum of the filtered waveform being played, the waveform itself, and the impulse response of the filter. Click on the response curve to change the cutoff frequency.

The freqency response graph shows the filter response (shown vertically, in dB, with lines at 10 dB intervals) versus the frequency (shown horizontally, with vertical lines marking off octaves). The spectrum graph shows the spectrum of the sound output.

The Input popup menu allows you to select an input waveform. The choices are:

The Filter popup menu allows you to select a filter. See this site for technical details about the filter types. The choices are:

The Sampling Rate popup allows you to view or change the sampling rate. You can't change the rate if the input is an MP3.

The View menu allows you to turn on or off the various views. The Log Frequency Scale item which shows the frequency response using a logarithmic plot instead of linear. The Show Entire Waveform item will compress the waveform segments horizontally so that each one fits in the window; this way, all of the waveform will be displayed, but the window usually won't be wide enough to show each sample separately. The Ferris Plot item will display a Ferris Plot of the transfer function.

When displaying the frequency response, the applet only shows the portion of the spectrum from 0 to the Nyquist frequency (π). The rest of the response up to 2π is just a mirror image of this, and then the response repeats every 2π. For example, here is a frequency response as displayed in the applet (up to π):

Here is the response up to 4π:

Good books about digital filters:

Click here to go to the applet.