# Signal Flow Graphs | Control Systems 1.5

Published

In the last tutorial, we understood how we can represent a system by means of block diagrams. As the complexity of the block diagram increases, this approach will start giving us nightmares as it becomes tedious and applying block diagram reduction techniques to simplify the system would become time consuming. For this reason, we introduce (drum roll!!!) Signal Flow Graphs (SFGs). SFGs can be viewed as an alternate approach to block diagram representation.

A signal flow graph is a graphical representation of the relationships between the variables of the system. SFG does not require any reduction techniques as there is a formula known as Mason’s Gain Formula which can directly give us the transfer function. We’ll see that later in the tutorial.

Before going further, we need to understand the basic terminologies involved in SFGs.

A signal flow graph consists of nodes and these nodes are connected by a line called branches and each branch has a small arrow which indicates the direction of the flow of signal. A node is just a point or a dot which represents a variable of the system. A branch provides a path for the flow of signal from one node to another and in the process, the signal also gets multiplied by the mentioned gain of the branch. The following illustration will make it clear.

Let’s discuss some specific terms now,

**Input node**: Node with only outgoing branches.**Output node**: Node with only incoming branches. In case this condition is not met, an additional branch with unity gain can be introduced.**Path**: A traversal of connected branches as per the direction indicated by the arrow on the branch such that no node is traversed more than once.**Forward Path**: A path connecting the input and the output node.**Loop**: A path which starts and ends at the same node.**Non-touching loops**: Loops with no common nodes.**Path gain**: Product of gains associated with each branch that is encountered in traversing a path.

One thing to note here is that the value of a variable at any particular node is the algebraic sum of the ** incoming nodes only** and the outgoing nodes do not affect the value of the variable at a node.

Don’t worry, these terms will become second nature once we start using them.

A signal flow graph is usually obtained from the block diagram of the system. They can also be obtained directly from the system equations, but for now we shall stick with the former approach.

We shall follow a few rules while trying to obtain a SFG from a block diagram of a system.

- All the variables, summing points and take off points are represented by nodes.
- If a summing point is placed before the take off point, then the summing point and the takeoff point are represented by a single node.
- If a summing point is placed after the take off point, then the summing point and the takeoff point are represented by separate nodes.

These rules are based on the fact that the value of a variable at a node is the sum of incoming nodes and the outgoing nodes do not affect the value of the variable at that node. Does that make sense? Give it some thought!

The following illustration serves as an example.

Now, connect the nodes in the same sense as the block diagram and then indicate the direction on the branches. This completes the drawing of the signal flow graph.

Having learnt how we can obtain signal flow graphs, we shall now move on to Mason’s Gain Formula which can directly give us the transfer function of the system from the analysis of the signal flow graph with just some small calculations.

## Mason’s Gain Formula

The overall transfer function described by the signal flow graph can be found by using the Mason’s Gain Formula developed by S J Mason (he’s the one who developed this signal flow graph approach too). The Mason’s gain formula is as follows:

where,

*TF = transfer function*

Δ* **= 1 – [sum of individual loop gains] + [sum of gain products of all combinations of two non-touching loops] − [sum of gain products of all combinations of three non-touching loops] + ……... *[Note the alternate change of signs.]*p*_{k}* = gain of the **k*^{th}* forward path*Δ

_{k}*= the part of*Δ

*not touching the*

*k*

^{th}*forward path.*

This may seem a little confusing now, but the following example will make it clear. Let’s bring back the SFG that we developed.

First, let’s find out all the possible forward paths. How many forward paths are there?

You’re right! There are 2.

The highlighted part is the first forward path and let’s call this path gain *p*_{1}.

The highlighted part is the second forward path and let’s call this path gain *p*_{2}.

Next, we shall find all the possible individual loops, take a moment to spot them.

There are 3!! Let’s spot them one by one and note down their gains.

So the above is the first loop, let’s call it loop *L*_{1} with gain,

The above is the second loop, let’s call it loop *L*_{2} with gain,

The above is the third loop, let’s call it loop *L*_{3} with gain,

That’s all right?

Next we’ll find all the available pairs of non-touching loops i.e., pairs of loops with no common node.

How many such pairs can you spot?

Only one pair right? *L*_{1} & *L*_{3}

The product of gains of *L*_{1} & L_{3} will be -*G*_{2}*G*_{3}*G*_{4}*G*_{5}

Next, is there any set of three non touching loops? Since *L*_{1} and *L*_{2} are touching, there is no possibility of a set of three non touching loops.

Now we are all set to apply Mason’s gain formula.

Since we have two forward paths,_{}

As mentioned earlier,

Δ *= 1 – [sum of individual loop gains] + [sum of gain products of all combinations of two non-touching loops] − [sum of gain products of all combinations of three non-touching loops] + ……...*

Substituting for loop gains,

Next to obtain Δ_{1}, we make the gains of all the branches touching the forward path *p*_{1} as zero in the equation for Δ._{}_{}

Since all *G*_{1}, *G*_{2}, *G*_{3}, *G*_{4}, *G*_{5} are touching the forward path *p*_{1}, we make them all 0,

To obtain Δ_{2}, we make the gains of all the branches touching the forward path *p*_{2} as zero in the equation for.

Since *G*_{1}, *G*_{4}, *G*_{5} are touching the forward path *p*_{2}, thus we make them 0, while retaining *G*_{2}, *G*_{3}_{} as they are not touching the forward path *p*_{2}.

Now we are all set to substitute all these in the Mason’s gain formula.

Now, this is the transfer function of the system represented by the considered signal flow graph. Go through it once again if you have to. It may seem difficult, but a little bit of practice and we’re good to go. Identifying the number of forward paths, the number of loops and sets of non-touching loops play an important role here and demands a little more attention.

To summarize, we started with learning what signal flow graphs are and understood some basic terminologies involved. Then we developed a signal flow graph out of a block diagram to which we applied the learnt Mason’s gain formula to obtain the transfer function.

With this, we come to the end of the first chapter of control systems where we focused on learning the fundamentals that would help us grasp control systems well. In the next tutorial we’ll be starting with the time response analysis of control systems which is going to give us the real feel of control systems. Until then try out these problems. Let us know in the comments if you face any difficulty.

### Exercise

**Answer:**

### Exercise

**Answer:**

Get the latest tools and tutorials, fresh from the toaster.