Signals and Systems with MATLAB Applications, Second Edition

A digital filter is essentially a computational process (algorithm) that converts one sequence of numbers x[ n] representing the input, to another sequence y[ n] that represents the output. Thus, a digital filter, in addition of filtering out desired bands of frequency, can also be used as a computational means of performing other functions such as integration, differentiation, and estimation.
The input-output difference equation that relates the output to the input can be expressed in the discrete time domain as a summation of the form
or, in the z-domain as
Therefore, the design of a digital filter to perform a desired function, entails the determination of the coefficients a i and b i.
Digital filters are classified in terms of the duration of the impulse response, and in forms of realization.
Impulse Response Duration
An Infinite Impulse Response (IIR) digital filter has infinite number of samples in its impulse response h[ n]
A Finite Impulse Response (FIR) digital filter has a finite number of samples in its impulse response h[ n]
Realization
In a Recursive Realization digital filter the output is dependent on the input and the previous values of the output. In a recursive digital filter, both the coefficients a i and b i are present.
In a Non-Recursive Realization digital filter the output depends on present and past values of the input only. In a non-recursive...