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 anti-causal) 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 iimpulse 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 cut-off 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:
|
Cut-off 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:
|
Frequency-Time Response for the Input Signal
|
|
Frequency-Time 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?