Digital Filter Design
A Finite Impulse Response (FIR) filter is designed and applied to an input signal stored in a file. Four different types of filters are illustrated: low pass, high pass, band pass, and band stop. The effect of the filter is displayed in a frequency domain.

Input Signal
Finite Impulse Response (FIR) Filter Design
Filtered Output


A FIR filter is derived from the impulse response of the desired filter and then sampled to convert it to a discrete time filter. The infinitely long impulse response must be truncated to be implemented. If the impulse response is nonzero for negative time (the filter is anticausal) the response must also be shifted to the right until all of the impulse response coefficients are located in the positive time region. For example, consider the low pass filter. An ideal filter has the impulse response defined by the sinc function:
The diagram indicates the impulse response in blue. After the impulse response has been truncated, shifted, and sampled, the FIR filter coefficients are shown in red.




Input Signal


To load a WAV file as the input signal, click the Load File button, which will open a file dialog box. The sampling frequency is extracted from the file, and once the file is loaded, the time and frequency responses are plotted.
Frequency Spectrum of the Input Signal



Sampling frequency (kHz):

File name:

Duration:

Number of samples:


The Input Signal in Time Domain






Finite Impulse Response (FIR) Filter


This section allows you to design different types of filters. Select the number of filter elements, the cutoff frequencies, and the filter type. Then, click the Make Filter button to create the filter, using the specified parameters, and to plot the frequency response of the filter.
To view the filter coefficients, click the Table or Plot buttons.
Frequency Spectrum of the Filter



Number of elements:

Cutoff frequencies:
lower
upper

Filter type:


View Filter Coefficients







Filter the Input Signal


Use the two dials below to select a subsection of the signal to filter.
Start

Duration:

Number of samples:


Selected Signal

End




Click the Execute Filter button to apply the designed filter to the selected signal segment. The frequency response of the input and output are shown.
To analyze the frequency response over time, the input signal segment is divided into frames of a specified length. The frequency spectrum is calculated for each frame, and displayed as a surface plot with time and frequency as the axes.
Frame length (seconds):

Frequency Response of the Input and Output Signals



Number of frames:

FrequencyTime Response for the Input Signal


FrequencyTime Response for the Output Signal






* Note: The Play Input and Play Output buttons will only work for Windows machines (except Windows Vista).


Download Help Document
Was this information helpful?