Main Content

In general, a direct form realization refers to a structure where the coefficients of the
transfer function appear directly as Gain blocks. The direct form II realization method
is presented as using the minimal number of delay elements, which is equal to
*n*, the order of the transfer function denominator.

The canonical direct form II is presented as “Standard Programming” in
*Discrete-Time Control Systems* by Ogata. It is known as the
“Control Canonical Form” in *Digital Control of Dynamic
Systems* by Franklin, Powell, and Workman.

You can derive the canonical direct form II realization by writing the discrete-time
transfer function with input *e*(*z*) and output *u*(*z*) as

$$\begin{array}{c}\frac{u\left(z\right)}{e\left(z\right)}=\frac{u\left(z\right)}{h\left(z\right)}\cdot \frac{h\left(z\right)}{e\left(z\right)}\\ =\underset{\frac{u\left(z\right)}{h\left(z\right)}}{\underbrace{\underset{}{\left({b}_{0}+{b}_{1}{z}^{-1}+\dots +{b}_{m}{z}^{-m}\right)}}}\text{\hspace{0.17em}}\underset{\frac{h\left(z\right)}{e\left(z\right)}}{\underbrace{\frac{1}{1+{a}_{1}{z}^{-1}+{a}_{2}{z}^{-2}\dots +{a}_{n}{z}^{-n}}}}.\end{array}$$

The block diagram for *u*(*z*)/*h*(*z*) follows.

The block diagrams for *h*(*z*)/*e*(*z*) follow.

Combining these two block diagrams yields the direct form II diagram shown in the following figure. Notice that the feedforward part (top of block diagram) contains the numerator coefficients and the feedback part (bottom of block diagram) contains the denominator coefficients.

The direct form II example transfer function is given by

$${H}_{ex}\left(z\right)=\frac{1+2.2{z}^{-1}+1.85{z}^{-2}+0.5{z}^{-3}}{1-0.5{z}^{-1}+0.84{z}^{-2}+0.09{z}^{-3}}.$$

The realization of *H _{ex}*(

fxpdemo_direct_form2

at the MATLAB^{®} command line.