Question 4 of 6: Filling in a four-section cascade flow graph
Nivaar worked solution (AI-drafted; not reviewed by a licensed engineer)
Notes on this paper
Paper format. National Exams,
May 2016 — 07-Elec-B1 Digital Signal Processing. Three hours,
closed book; one approved calculator (Casio or Sharp) and one
two-sided aid sheet of tables and formulas are permitted. Six questions are
printed and any five constitute a complete exam; all questions
carry 12 marks, for 60 marks total. Tables of z-transform pairs and properties,
the DTFT synthesis/analysis pair, Parseval's relation and the DFT property list
are bound into the paper (pages 8–10). All six questions are solved
below, because the set is a study resource rather than a timed
attempt.
Reference texts (22-Elec-B1).
A. V. Oppenheim and R. W. Schafer, Discrete-Time Signal
Processing, 3rd ed. — the paper's notation, its bound tables and its
Kaiser-window design formulas are taken directly from this text (Ch. 2
LTI systems and the DTFT, Ch. 3 the z-transform, Ch. 4 sampling and
multirate processing, Ch. 6 filter structures, Ch. 7 filter design,
Ch. 8 the DFT and the FFT).
J. G. Proakis and D. G. Manolakis, Digital Signal Processing:
Principles, Algorithms and Applications, 4th ed. — parallel
treatment of the same material (Ch. 3 z-transform, Ch. 6 sampling,
Ch. 9 filter structures, Ch. 10 filter design).
A. V. Oppenheim and A. S. Willsky, Signals and Systems,
2nd ed. — background on Fourier representations and sampling.
Question 4: Filling in a four-section cascade flow graph
(12 marks)
Given. A sixth-order system function whose numerator
is $0.2(1+z^{-1})^{6}$ and whose denominator is supplied already factored into
three quadratics, together with a printed flow graph made of
four cascaded second-order sections and
eight unit delays. Reading the arrowheads on the printed
graph, the four sections are, from input to output: a three-column section
whose two delays feed upward into an adder on the signal rail; a
three-column section whose delays are fed downward from the rail with
taps returning to adders on both sides; a two-column section whose delay chain
is fed from the rail with taps summing ahead of it; and a two-column
section whose delay chain is fed from the rail with taps returning to an adder
behind it. The node labels place $u[n]$ at the output of the first
section, $v[n]$ at the state node of the second, and $w[n]$ at the input of the
third.
Find. (a) every branch coefficient, plus a statement of
whether the assignment is unique; (b) the name of each of the four structures;
(c) the difference equations in $x$, $u$, $v$, $w$, $y$.
Approach. Count orders first: three quadratic denominators
must be shared among the three recursive sections and three quadratic
numerator factors among the three sections that carry zeros, which
matches the printed graph exactly. Then write each section's transfer function
from its own arrow pattern, match coefficients, and finally translate the
node-by-node signal flow into difference equations.
Factor the numerator into second-order blocks. Every
section of the graph holds only two delays, so each can realise at most a
quadratic in $z^{-1}$. Since
$$\left(1+z^{-1}\right)^{6}
= \left[\left(1+z^{-1}\right)^{2}\right]^{3}
= \left(1 + 2z^{-1} + z^{-2}\right)^{3},$$
the split is forced: each of the three sections that carries zeros
must take exactly $\left(1 + 2z^{-1} + z^{-2}\right)$, up to a scalar. Expanded
for reference, the numerator is
$0.2 + 1.2z^{-1} + 3z^{-2} + 4z^{-3} + 3z^{-4} + 1.2z^{-5} + 0.2z^{-6}$.
The overall gain $0.2$ can be attached to any one feed-forward branch; we
place it on the first section.
Match the section census to the printed graph. The three
denominator quadratics need three sections with feedback, and the three
numerator quadratics need three sections with feed-forward taps. The printed
graph offers two full biquads (which have both), one all-zero section (only
feed-forward) and one all-pole section (only feedback) — giving
$2+1 = 3$ zero-bearing sections and $2+1 = 3$ pole-bearing sections. The
counts close exactly, which confirms the reading of the arrowheads:
$$\underbrace{\text{Sec. 1}}_{\text{biquad}}\;
\underbrace{\text{Sec. 2}}_{\text{biquad}}\;
\underbrace{\text{Sec. 3}}_{\text{all-zero}}\;
\underbrace{\text{Sec. 4}}_{\text{all-pole}} .$$
Assigning the denominators in the order printed in $H(z)$:
$$H_{1}=\frac{0.2\left(1+2z^{-1}+z^{-2}\right)}
{1-2z^{-1}+\frac{7}{8}z^{-2}},\quad
H_{2}=\frac{1+2z^{-1}+z^{-2}}{1+z^{-1}+\frac{1}{2}z^{-2}},$$
$$H_{3}=1+2z^{-1}+z^{-2},\quad
H_{4}=\frac{1}{1-\frac{1}{2}z^{-1}+z^{-2}} .$$
Overview of the cascade with the node names the question defines. Sections 1 and 2 are full biquads, section 3 supplies the remaining pair of zeros and section 4 the remaining pair of poles.
(b) Name the four structures from the arrow directions.
Writing a general biquad as
$H(z) = (b_{0}+b_{1}z^{-1}+b_{2}z^{-2})/(1+a_{1}z^{-1}+a_{2}z^{-2})$:
Section 1 — transposed direct form II (direct form
II transposed). Its input node fans out through the $b_{k}$ branches, its
output node fans out through the $-a_{k}$ branches, both sets drive the same
two delays, and those delays feed upward into the single output adder
on the rail. This is the signal-flow-graph transpose of section 2.
Section 2 — direct form II (canonic direct form).
The feedback adder comes first, the shared delay chain hangs
downward off the state node, and the feed-forward taps sum into a
second adder on the output side.
Section 3 — all-zero (FIR) direct form, a
second-order transversal / tapped-delay-line section: input into a two-delay
chain, taps summed at one adder, no feedback path.
Section 4 — all-pole direct form, purely recursive:
the output drives the two delays and their taps return to the input adder,
with no feed-forward branch other than the direct path.
Sections 1 and 2 are transposes of each other, and sections 3 and 4 are the
all-zero and all-pole halves of a biquad — the graph is deliberately
built to test all four canonical layouts in one figure.
(a) Write the coefficients on the branches. With the
assignment of Step 2, and remembering that a branch gain feeding a
plain adder must carry the negated denominator coefficient
($-a_{1}$, $-a_{2}$):
Section 1 (transposed DF II, $H_{1}$):
feed-forward $b_{0}=0.2$ on the direct rail branch, $b_{1}=0.4$,
$b_{2}=0.2$; feedback $-a_{1} = +2$ and $-a_{2} = -0.875$.
Section 2 (DF II, $H_{2}$): feed-forward
$b_{0}=1$ (plain rail wire), $b_{1}=2$, $b_{2}=1$; feedback
$-a_{1} = -1$ and $-a_{2} = -0.5$.
The realisation uses 8 delays and 13 multipliers (three of
which are trivial unit gains that a real implementation would drop).
Sections 1 and 2 with every coefficient filled in. Left: transposed direct form II realising 0.2(1+z^-1)^2 / (1 - 2z^-1 + 0.875 z^-2). Right: direct form II realising (1+z^-1)^2 / (1 + z^-1 + 0.5 z^-2). Branch labels into an adder are already negated.
Sections 3 and 4 with every coefficient filled in. Left: the all-zero (FIR) section realising (1+z^-1)^2. Right: the all-pole section realising 1 / (1 - 0.5 z^-1 + z^-2).
Is the assignment unique? No. Three independent freedoms
remain, and every one of them leaves $H(z)$ unchanged in exact arithmetic:
Pairing. The three denominator quadratics may be sent to
the three recursive sections in any of $3! = 6$ ways, and the three numerator
factors to the three zero-bearing sections in any of $3!$ ways. Here the
numerator permutations are indistinguishable because all three factors are the
same $\left(1+z^{-1}\right)^{2}$, so 6 genuinely distinct assignments
survive.
Ordering. The four sections could be cascaded in a
different order (subject to keeping each section's own layout), since
multiplication of transfer functions commutes.
Gain distribution. The factor $0.2$ may be placed on any
one feed-forward branch, or split among the sections (for example as
$\sqrt[3]{0.2}$ per section), without changing $H(z)$.
What the choices do change is finite-word-length behaviour: internal
signal levels (overflow headroom), round-off noise gain at the output, and
coefficient-quantisation sensitivity. Scaling each section so that its internal
peak is close to full scale is the usual reason to prefer one assignment over
another. The numerator split itself is not free: each section holds
only two delays, so each must take exactly one $\left(1+z^{-1}\right)^{2}$
factor.
(c) Difference equations for the named nodes. Following
the signal from left to right, one equation per named node:
$$\boxed{\;u[n] = 2\,u[n-1] - 0.875\,u[n-2]
+ 0.2\,x[n] + 0.4\,x[n-1] + 0.2\,x[n-2]\;}$$
$$\boxed{\;v[n] = u[n] - v[n-1] - 0.5\,v[n-2]\;}$$
$$\boxed{\;w[n] = v[n] + 2\,v[n-1] + v[n-2]\;}$$
$$\boxed{\;y[n] = 0.5\,y[n-1] - y[n-2]
+ w[n] + 2\,w[n-1] + w[n-2]\;}$$
The first equation is section 1 with its two internal states eliminated (they
are not among the named nodes); the second and third are the recursive and
feed-forward halves of section 2, which is exactly why $v[n]$ — the
direct-form-II state node — is labelled inside that section; and the
fourth combines section 3 (whose output is not named) with section 4, which is
legitimate because section 3 carries no state feedback of its own.
Check. Running the four equations with
$x[n]=\delta[n]$ reproduces, sample for sample, the impulse response obtained
by long division of $0.2(1+z^{-1})^{6}$ by the expanded denominator
$$1 - 1.5z^{-1} + 0.875z^{-2} - 0.8125z^{-3} - 0.125z^{-4}
- 0.34375z^{-5} + 0.4375z^{-6},$$
confirming both the coefficient assignment and the equations. (Independently,
the expanded denominator evaluated at $z=1$ gives $-0.46875$, which equals
$(-0.125)(2.5)(1.5)$, the product of the three printed factors at $z=1$.)
Check: the question asks only for the
realisation, but the pole radii are worth stating because they decide whether
this cascade can be run at all. The factor
$1-2z^{-1}+\tfrac78 z^{-2}$ has roots at $z = 1.3536$ and $z = 0.6464$, so one
pole lies outside the unit circle, and
$1-\tfrac12 z^{-1}+z^{-2}$ has roots at $z = 0.25 \pm j\,0.9682$, i.e. exactly
on the unit circle ($|z| = 1$). Only
$1+z^{-1}+\tfrac12 z^{-2}$ ($|z| = 0.7071$) is strictly stable. The cascade as
specified is therefore not a stable causal system; it is a
structures exercise, and no stability claim should be attached to the
answer. If the intent were a stable implementation, the offending factors
would have to be replaced by their reciprocal-radius mirrors.