I am trying to solve for the difference equation of the following signal flow graph:

Direct Form II

I am aware that Direct Form II can be converted to Direct Form I, which finding the difference equation directly is much easier. What I have come up with is defining an intermediate signal $v[n]$ as the top middle node. I get the following result,

$$\begin{align} v[n] &= x[n] + \tfrac{3}{5}v[n-1] - \tfrac{38}{75}v[n-2] - \tfrac{2}{15}v[n-3] \\ y[n] & =v[n]-\tfrac{3}{10}v[n-1]+\tfrac{1}{3}v[n-2] \\ \end{align}$$

As you can see, $v[n]$ is recursively dependent on itself. I know I could transform the two difference equations into their system functions and multiply together, find the total system function, and then transform back to their total difference equation. But for practice, I would like to know if their is another way to do this. I would like to somehow find the total difference equation without using their system functions.

Any advice would be appreciated! Thank you!

  • $\begingroup$ well, the nice thing about Laplace Transform is that it turns a differential equation into an algebraic equation that one can solve. likewise, the Z Transform turns a difference equation (even with recursion) into an algebraic equation that can be solved. dunno off hand how to answer your direct question. $\endgroup$ Oct 12, 2018 at 0:54

3 Answers 3


Darkling, these things are quite clearly explained in standard signals & systems textbooks. But I assume you have little time left to read (as most undergraduate courseware are full of homeworks, preliminaries, and projects that most of which I believe become harmful as they consume a student's learning time; and just completing a homework or project without full understanding makes what sense..? anyway)

Consider the LCCDE associated with a causal LTI system (such a system is said to be at initial rest which assures that all the initial conditions are zero; i.e., no output occurs before an input is applied) :

$$ \sum_{k=0}^{N} a_k ~y[n-k] = \sum_{k=0}^{M} b_k ~ x[n-k] $$ The order is $\max\{M,N\}$.

Now the LCCDE can be considered to be a cascade of two LTI systems; the LHS represents an IIR-LTI system represented by $A(z)$ and RHS represents an FIR-LTI system represented by $B(z)$. So the system can be represented with the following block diagrams:

$$ x[n] \rightarrow \boxed{ B(z) } \rightarrow v[n] \rightarrow \boxed{ \frac{1}{A(z)} }\rightarrow y[n] \tag{1}$$

or equivalently $$ x[n] \rightarrow \boxed{ \frac{1}{A(z)} } \rightarrow v[n] \rightarrow \boxed{ B(z) } \rightarrow y[n] \tag{2}$$

This follows from the fact that both cascaded systems are LTI and order of LTI systems can be interchanged which follows from the fact that convolution operator is commutative and associative; i.e., $$h_1[n] \star h_2[n] \star x[n] = h_2[n] \star h_1[n] \star x[n] $$

Now, the block diagram of (1) can be implemented with the following signal flow graph which yields a Direct-Form-I structure :

enter image description here

And, the block diagram of (2) can be implemented with the following signal flow graph which yields a Direct-Form-II structure:

enter image description here

The intermediate memory (delays) are merged and the signal flow graph is simplified into the canonical direct-form II form finally as (assuming $N > M$)

enter image description here

From this last figure, it can be deduced that your LCCDE relating the input $x[n]$to the output $y[n]$ is :

$$ y[n] - \frac{3}{5} y[n-1] + \frac{38}{75} y[n-2] + \frac{2}{15} y[n-3] = x[n] - \frac{3}{10} x[n-1] + \frac{1}{3} x[n-2] $$


You’ve already described how to find the form I difference equation. If you go through that process, you will find that your feed back coeffiencents in the first equation are applied to y and the feed forward coefficients in the second equation are applied to x.


Yes there is a simple way & I am generalising it, let us assume left side coefficients as $a_k$ & right side as $b_k$. Then system function H(z) is given by

$$H(z)=\frac{\sum_{k=0}^M b_k.z^{-k}} {1-\sum_{k=1}^N a_k.z^{-k}}$$

Therefore the total difference equation becomes

$$y(n)=\sum_{k=0}^M b_k.x(n-k)+ \sum_{k=1}^N a_k.y(n-k)$$


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.