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.