### 5. FIR Filters

Overview: In chapter five the class of FIR (finite-impulse-response) filters is introduced. These filters use a running weighted average to form the output from the input. Common examples are the running-average and running-sum filters and the first difference filter. In this chapter, we will exhibit the basic input-output structure of the FIR filter as a time-domain computation based on a feed-forward difference equation. The impulse response $$h[n]$$ of the filter will be defined and shown to characterize the filter. Convolution is introduced as the general operation for using $$h[n]$$ to compute the output from the input. The general concepts of linearity and time-invariance will also be presented. These properties characterize the class of filters that can be analyzed thoroughly by the mathematical methods of Fourier analysis presented in the following chapters.
Databases:

#### Demos - MATLAB3

The Discrete Convolution Demo (dconvdemo) is a program that helps visualize the process of discrete-time convolution.
Features:
• Users can choose from a variety of different signals.
• Signals can be dragged around with the mouse with results displayed in real-time.
• Tutorial mode lets students hide convolution result until requested.
• Various plot options enable the tool to be effectively used as a lecture aid in a classroom environment.
This block diagram demo illustrates the property of linearity in FIR filters. Click on any of the blocks, the input or the output for a close-up.
This block diagram demo illustrates the property of time-invariance in FIR filters. Click on any of the blocks, the input or the output for a close-up.

#### Demos - LabVIEW1

This program helps visualize the process of discrete-time convolution.

#### Labs - MATLAB4

The goal of this lab is to learn how to implement FIR filters in Matlab, and then study the response of FIR filters to various signals, including images and speech. As a result, you should learn how filters can create interesting effects such as blurring and echoes. In addition, we will use FIR filters to study the convolution operation and properties such as linearity and time-invariance. [Files]
The goal of this lab is to learn how to implement FIR filters in Matlab, and then study the response of FIR filters to various signals, including images or speech. [Files]
The goal of this lab is to learn how to implement FIR filters in Matlab, and then study the response of FIR filters to various signals, including images or speech.
This mini project concentrates on the use of dconvdemo a GUI for discrete-time convolution. This demo is exactly the same as the Matlab functions conv() and firfilt() used to implement FIR filters. This demo illustrates an important point about the behavior of a linear, time-invariant (LTI) system. It also provide a convenient way to visualize the output of a LTI system.

#### Labs - LabVIEW2

The goal of this lab is to learn how to implement FIR filters in MATLAB, and then study the response of FIR filters to various signals, including images and speech. As a result, you should learn how filters can create interesting effects such as blurring and echoes. In addition, we will use FIR filters to study the convolution operation and properties such as linearity and time-invariance. [Files]
This mini project concentrates on the use of dconvdemo a GUI for discrete-time convolution. This demo is exactly the same as the MATLAB functions conv() and firfilt() used to implement FIR filters. This demo illustrates an important point about the behavior of a linear, time-invariant (LTI) system. It also provide a convenient way to visualize the output of a LTI system.