Signal Flow Graph (SFG)
A powerful alternative to block diagrams for finding the overall Transfer Function of highly complex control systems without iterative redrawing.
1. What is a Signal Flow Graph (SFG)?
Signal flow graphs are an alternative graphical representation to block diagrams, specifically designed to handle highly complex systems. If you recall the block diagram reduction rules from the previous section, every time we simplified a system, we had to physically redraw the entire diagram step-by-step. This becomes extremely tedious for large-scale systems.
The Core Purpose & Advantage
The main advantage of an SFG is that it provides a straightforward mathematical procedure to find the overall Transfer Function of a system directly in one single step using Mason's Gain Formula, entirely eliminating the need to redraw or iteratively reduce the system.
Block Diagram vs. SFG Equivalents
To transition to this new method, we must learn a new graphical language. In a Signal Flow Graph, we completely abandon "blocks" and "summing crosses". Instead:
- Any variable (input, output, or intermediate sum) becomes a Node (a simple dot).
- Any transfer function (the block's gain) becomes a Branch (a directed arrow connecting the nodes).
Fundamental Conversions:
As seen in the third example above, notice how the summing junction (the pink circle with a cross) simply vanishes in the SFG. The addition naturally occurs when multiple branches point toward the exact same node $Y(s)$.
2. Definitions in Signal Flow Graphs
Before applying Mason's Formula, we must master the vocabulary used to describe the anatomy of an SFG. Consider the following complex Signal Flow Graph:
- Node: A point that denotes a variable or a signal (e.g., $R(s)$, $C(s)$, $V_1(s)$). It replaces all blocks and summing junctions.
- Branch: A unidirectional path that joins two nodes. The mathematical relation between the variables is written next to the directional arrow (the gain, e.g., $G_1(s)$, $H_1(s)$).
-
Forward Path ($P_k$): A continuous sequence of branches that can be traversed from the input node to the output node without touching any node twice.
- Example Path 1: $G_1(s) G_2(s) G_3(s) G_4(s) G_5(s) G_7(s)$
- Example Path 2: $G_1(s) G_2(s) G_3(s) G_4(s) G_6(s) G_7(s)$
-
Loop ($L_m$): A closed path that originates at one node and terminates at the same node. Along the loop, no node is touched twice.
- Example Loops: $G_2(s)H_1(s)$ or $G_4(s)H_2(s)$
-
Non-Touching Loops: Two or more loops that share no common nodes and no common branches.
- Example: Loop $G_2(s)H_1(s)$ , Loop $G_4(s)H_2(s)$ , Loop $G_4(s)G_5(s)H_3(s)$ and Loop $G_4(s)G_6(s)H_3(s)$ do not touch each other.
- Input Node (Source): A node having only outgoing branches (e.g., $R(s)$).
- Output Node (Sink): A node having only incoming branches (e.g., $C(s)$).
- Chain Node (Mixed Node): A node that has both incoming and outgoing branches (e.g., $V_2(s)$).
3. Steps to Convert Block Diagram to SFG
When given a traditional block diagram, converting it into an SFG is a straightforward 3-step process:
- Nodes: Replace each summing node and each branching (pick-off) point in the block diagram with a single chain node (a circle).
- Branches: Connect the nodes with branches (lines with arrows) instead of blocks. Write the block's transfer function (the gain) directly on the branch.
- Dummy Nodes: Add a dummy source node for the input and a dummy sink node for the output, connecting them to the main graph with a branch gain of $1$.
Example 1: Convert Block Diagram to SFG
Original Block Diagram:
Converted Signal Flow Graph:
Notice the dummy nodes for R and C with a gain of 1. Feedback signs are integrated directly into the branch gains (e.g., $-H_2$, $-1$).
4. Mason's Gain Formula
Mason's formula allows us to compute the overall Transfer Function $T.F = \frac{C(s)}{R(s)}$ of an SFG in one step.
Where:
- $N$: The total number of forward paths from input to output.
- $P_k$: The gain of the $k^{th}$ forward path.
- $\Delta$: The main determinant of the entire control system graph.
- $\Delta_k$: The sub-determinant for the $k^{th}$ forward path.
Calculating the Main Determinant ($\Delta$)
- (Sum of the gains of all individual loops)
+ (Sum of gain products of all possible combinations of 2 non-touching loops)
- (Sum of gain products of all possible combinations of 3 non-touching loops)
+ ... etc.
Calculating the Sub-Determinant ($\Delta_k$)
The sub-determinant $\Delta_k$ is calculated using the exact same formula as $\Delta$, but you eliminate all loops that touch the $k^{th}$ forward path. If all loops in the system touch the forward path $P_k$, then $\Delta_k$ simply equals $1$.
5. Algebra of Signal Flow Graphs
Just like block diagrams, SFGs can be manipulated algebraically. If you derive equations from the graph, you can simplify nodes directly.
6. Solved Examples
Example 2: Applying Mason's Formula
Find the transfer function of the following complex SFG.
1. Forward Paths ($P_k$):
- $P_1 = G_1 G_2 G_3 G_4 G_5$
- $P_2 = G_1 G_6 G_4 G_5$
- $P_3 = G_1 G_2 G_7$
2. Individual Loops ($L_m$):
- $L_1 = -G_4 H_1$
- $L_2 = -G_2 G_7 H_2$
- $L_3 = -G_6 G_4 G_5 H_2$
- $L_4 = -G_2 G_3 G_4 G_5 H_2$
3. Main Determinant ($\Delta$):
Looking at the graph, the loops $L_1$ (on $G_4$) and $L_2$ (on $G_2 G_7$) do not share any nodes. They are non-touching. So we add their product: $L_1 L_2$.
4. Sub-Determinants ($\Delta_k$) - The Common Trap:
By definition, $\Delta_k = 1 - \sum L_m$ (for loops that do not touch the $k^{th}$ forward path). Let's analyze each path carefully to avoid the common "node vs gain" trap.
Rule of thumb: Two paths touch if they share AT LEAST ONE NODE, even if they share no common branches or gains!
Path 1 ($P_1 = G_1 G_2 G_3 G_4 G_5$)
This path travels directly through the main horizontal axis, passing through every single node in the system. Therefore, it mathematically touches all loops ($L_1, L_2, L_3, L_4$). Since there are zero non-touching loops, $\Delta_1 = 1 - 0 = 1$.
Path 2 ($P_2 = G_1 G_6 G_4 G_5$)
Does loop $L_2$ ($-G_2 G_7 H_2$) touch $P_2$? If you simply look at their gains, you might think: "They don't share any common gain or branch, so they are non-touching."
You are actually WRONG!
They touch because there is a common node between them. If we look closely at the SFG, Path 2 ($P_2$) and Loop 2 ($L_2$) intersect at the node right after $G_1$ (this is where $G_2$ and $G_6$ split). They also meet again at the final output node $C(s)$. Because they share these nodes, they touch. The same logic applies to all other loops; they all share at least one node with $P_2$. Thus, $\Delta_2 = 1 - 0 = 1$.
Path 3 ($P_3 = G_1 G_2 G_7$)
We must check which loops do not touch this path. First, we can directly eliminate $L_2$ and $L_4$ because they explicitly share the gain $G_2$ with $P_3$. But what about $L_1$ and $L_3$? Let's look at the SFG again:
- Does $L_3$ ($-G_6 G_4 G_5 H_2$) touch $P_3$? Yes! Look at the node before $G_2$. $P_3$ passes through it, and $L_3$ originates from it (via $G_6$). They also share the final output node $C(s)$. So there are touching points here!
- Does $L_1$ ($-G_4 H_1$) touch $P_3$? If we trace $L_1$, it is completely isolated between the nodes of $G_3, G_4, G_5$. Meanwhile, $P_3$ takes the upper "bridge" route ($G_7$) and completely bypasses these inner nodes. They share absolutely no common nodes!
Therefore, $L_1$ is the only loop that does not touch $P_3$. We substitute it into our sub-determinant formula:
5. Final Transfer Function:
Example 3: Equations to Signal Flow Graph
Convert the following function into a Signal Flow Graph, where $U$ is the input and $X_1$ is the output:
We add nodes for variables $X_1, X_2, X_3$ and a dummy input $U$, dummy output $X_1$.
Example 4: Electrical Circuit to SFG
Convert the following circuit to an SFG and find the transfer function $\frac{V_3(s)}{V_1(s)}$.
1. Define the physical equations (Ohm's & Kirchhoff's Laws):
2. Draw the SFG based on the equations:
3. Solve with Mason's Formula:
-
Forward Path:
$$P_1 = \left(\frac{1}{R_1}\right) \cdot (R_3) \cdot \left(\frac{1}{R_2}\right) \cdot (R_4) = \frac{R_3 R_4}{R_1 R_2}$$
-
Loops:
$$L_1 = -\frac{R_3}{R_1} \quad , \quad L_2 = -\frac{R_3}{R_2} \quad , \quad L_3 = -\frac{R_4}{R_2}$$
- Non-touching Loops: $L_1$ and $L_3$ do not touch.
-
Main Determinant ($\Delta$):
$$\Delta = 1 - (L_1 + L_2 + L_3) + (L_1 L_3) = 1 + \frac{R_3}{R_1} + \frac{R_3}{R_2} + \frac{R_4}{R_2} + \frac{R_3 R_4}{R_1 R_2}$$
- Sub-Determinant: $\Delta_1 = 1$ (all loops touch the forward path).