Digital Signal Processing Reference
In-Depth Information
7.4 Filter Structures
We have seen in Section 5.7.2 a practical implementation of a constant-
coefficientdifferenceequation(writteninC).Thatwasjustoneparticular
way of translating Equation (5.46) into a numerical procedure; in this Sec-
tion we explore other alternatives for both FIR and IIR and introduce the
concept of computational efficiency for filters.
The cost of a numerical filter is dependent on the number of operations
per output sample and on the storage (memory) required in the implemen-
tation. If we consider a generic CCDE, it is easy to see that the basic building
blocks which make up the recipe for a realizable filter are:
l
g
r
,
y
i
d
.
,
©
,
L
s
•
an addition operator for sequence values, implementing
y
[
n
]=
x
1
[
n
]+
x
2
[
n
]
;
•
a scalar multiplication operator, implementing
y
[
n
]=
α
x
[
n
]
;
•
a unit delay operator, implementing
y
. Note that the
unit delay operator is nothing but amemory cell, holding the previous
value of a time-varying quantity.
[
n
]=
x
[
n
−
1
]
By properly combining these elements and by exploiting the different pos-
sible decomposition of a filter's rational transfer function, we can arrive at a
variety of different working implementations of a filter. To study the possi-
bilities at hand, instead of relying on a specific programming language, we
will use self explanatory block diagrams.
Cascade Forms.
Recall that a rational transfer function
H
(
z
)
can always
be written out as follows:
M
−
1
z
n
z
−
1
1
(
1
−
)
n
=
H
(
z
)=
b
0
(7.25)
N
−
1
1
(
1
−p
n
z
−
1
)
n
=
where the
z
n
are the
M
1 (complex) roots of the numerator polynomial and
the
p
n
are the
N−
1 (complex) roots of the denominator polynomial. Since
the coefficients of the CCDE are assumed to be real, complex roots for both
polynomials always appear in complex-conjugate pairs. A pair of first-order
terms with complex-conjugate roots can be combined into a second-order
termwith real coefficients:
−
2Re
a
z
−
1
az
−
1
a
∗
z
−
1
2
z
−
2
(
1
−
)(
1
−
)=
1
−
+
|
a
|
(7.26)