# How to find the difference equation directly from Direct Form II signal flow graph

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

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!

• 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. – robert bristow-johnson Oct 12 '18 at 0:54

Darkling, these things are quite clearly explained in standard signals & systems textbooks. But I assume you have little time to read (as most undergrad courseware are full of homeworks, preliminaries, projects that most of which I believe become harmful as they consume (more than necessary amount of) 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 ard 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 RHS represents an IIR-LTI system represented by $$A(z)$$ and LHS 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 :

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

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$$)

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)$$