644 C H A P T E R 11: Introduction to the Design of Discrete Filters
For practical reasons, these filters are causal (i.e., h[n]=0 for n<0) and bounded-input
bounded-output (BIBO) stable (i.e., all the poles ofH(z)must beinside the unit circle). This guaran-
tees that the filter can be implemented and used in real-time processing, and that the output remains
bounded when the input is bounded.
Remarks
n Calling the IIR filters recursive is more appropriate. It is possible to have a filter with a rational transfer
function that does not have an infinite-length impulse response. However, it is traditional to refer to these
filters as IIR.
n When comparing the IIR and the FIR filters, neither has a definite advantage:
nIIR filters are implemented more efficiently than FIR filters in terms of number of operations and
required storage (having similar frequency responses, an IIR filter has fewer coefficients than an FIR
filter).
nThe implementation of an IIR filter using the difference equation resulting from its transfer function
is simple and computationally efficient, but FIR filters can be implemented using the Fast Fourier
Transform (FFT) algorithm, which is computationally very efficient.
nSince the transfer function of any FIR filter only has poles at the origin of the z-plane, FIR filters are
always BIBO stable, but for an IIR filter we need to check that the poles of its transfer function (i.e.,
zeros of A(z)) are inside the unit circle if the design procedure does not guarantee stability.
nFIR filters can be designed to have linear phase, while IIR filters usually have nonlinear phase, but
approximately linear phase in the passband region.
nExample 11.1
The phase of IIR filters is always nonlinear. Although it is possible to design FIR filters with linear
phase, not all FIR filters have linear phase. As we will see, symmetry conditions on the impulse
response of FIR filters are needed to have linear phase. Consider the following two filters with
input–output equations
(a)y[n]=0.5y[n−1]+x[n]
(b)y[n]=
1
3
(
x[n−1]+x[n]+x[n+1]
)
wherex[n] is the input andy[n] is the output. Use MATLAB to compute and plot the magnitude
and the phase response of each of these filters.
Solution
The transfer functions of the given filters are:
(a)H 1 (z)=
1
1 −0.5z−^1
(b)H 2 (z)=
1
3
[z−^1 + 1 +z]=
1 +z+z^2
3 z
=
(z− 1 ej2.09)(z− 1 e−j2.09)
3 z