Digital Signal Processing Reference
In-Depth Information
Note that in Fig. 2.22, the two delay chains come from the same node, and hence may be replaced
by a single delay chain, resulting in a Direct Form II realization as shown in Fig. 2.23. As many delay
stages as needed may be used in a Direct form filter realization, as shown in Fig. 2.24.
A somewhat simpler method of illustrating a filter's topology is a signal flow diagram, an example
of which is shown in Fig. 2.25, which, like Fig. 2.24, depicts an m -th order Direct Form II filter.
2.7.2 DIRECT FORM TRANSPOSED
The exact same transfer function as depicted in Fig. 2.26, for example, can be realized by following the
simple procedure of: 1) reversing the directions of all signal flow arrows; 2) exchanging input and output.
The result is a Direct Form Transposed structure.
2.7.3 CASCADE FORM
In addition to the Direct Form, there are several alternative structures for realizing a given transfer function.
When the order is above two, it is often convenient to realize the net transfer function as a cascade of first
and second order sections, each second order section being known as a Biquad . The z -transform is then
a product of second order z -transforms with possibly an additional first order z -transform. The general
form is illustrated in Fig. 2.27.
Thus, the N -th order z -transform
b 1 z 1
...b N z N
b 0 +
+
H(z)
=
a 1 z 1
...a N z N
1
+
+
may be converted into the equivalent form
K
B k, 1 z 1
B k, 2 z 2
1
+
+
H(z)
=
b 0
A k, 1 z 1
A k, 2 z 2
1
+
+
k =
1
=
where K
1 )/ 2 when N is odd, and the A and B coefficients are real
numbers. When the order is even, there are only second order sections, and when it is odd there is one
first order section in addition to any second order sections. Most filter designs generate poles in complex
conjugate pairs, with perhaps one or more single, real poles, and therefore making each second order
section from complex conjugate pairs and/or real pairs results in second order sections having all-real
coefficients.
Referring to the function LVDirToCascade, the input arguments b and a are the numerator and
denominator coefficients of a Direct Form filter; while the output arguments Ac and Bc are the biquad
section coefficients, and Gain is the corresponding gain, the computation of which is shown in the
m-code following the next paragraph.
The heart of a script to convert from Direct to Cascade form is a function to place the poles
and/or zeros in ordered pairs, thus making it easy to compute biquad section coefficients. The function
LVCmplxConjOrd , which is set forth below, fulfills this function.
function [Bc,Ac,Gain] = LVDirToCascade(b,a)
B0 = b(1); A0 = a(1); a = a/A0; b = b/B0;
Gain = B0/A0; lenB = length(b); lenA = length(a);
if lenB < lenA
b = [b,zeros(1,lenA-lenB)];
elseif lenA < lenB
N/ 2 when N is even, or (N
 
Search WWH ::




Custom Search