Signal flow graphs and Mason's gain formula
Signal flow graph terminology, converting block diagrams to SFGs, and Mason's gain formula with touching and non-touching loops and path cofactors.
Drafted with Aria, reviewed by the AiCanCode.org team. Spotted an error? Use Give Feedback at the bottom of the page.
Why it matters
Block diagram reduction becomes slow and error-prone once loops overlap, which is common in multi-sensor mechatronic systems (a robot joint with current, speed and position loops plus a disturbance path). A signal flow graph (SFG) shows the same linear equations as nodes and branches, and Mason's gain formula gives the overall transfer function in one step, without redrawing the diagram. It is also the quickest way to get the transfer function from a set of simultaneous equations.
Key ideas
What an SFG is. A signal flow graph is a picture of a set of linear algebraic equations in the s-domain, each written in cause-and-effect form xⱼ = Σ aᵢⱼ·xᵢ.
- Node: a system variable (signal). The value at a node is the sum of all signals entering it, so summing points become nodes.
- Branch: a directed line from one node to another, carrying a gain (transmittance) — the transfer function of a block. A signal travels only in the arrow direction.
- Input (source) node: only outgoing branches. Output (sink) node: only incoming branches; if the output node has outgoing branches, add a dummy branch of gain 1 to a new output node.
- Path: a continuous sequence of branches in the arrow direction, passing no node twice.
- Forward path: a path from the input node to the output node, touching no node more than once.
- Loop: a path that starts and ends on the same node, touching no other node more than once. A self-loop is a single branch from a node back to itself.
- Path gain / loop gain: the product of branch gains along the path or loop. Feedback signs are inside the loop gain: a negative feedback branch makes the loop gain negative.
- Touching: two loops (or a loop and a path) touch if they share at least one node. Non-touching loops share no node.
From a block diagram. Every summing point and every take-off point becomes a node; each block becomes a branch with the block's transfer function; a subtraction at a summing point becomes a negative sign on that branch. Input and output become source and sink nodes.
Mason's gain formula gives the gain from one source node to one sink node. The graph determinant Δ collects all loops: subtract every individual loop gain, add the products of every pair of non-touching loops, subtract the products of every triple of mutually non-touching loops, and so on. For each forward path k, the cofactor Δₖ is Δ evaluated with every loop that touches path k removed. If every loop touches a path, its Δₖ = 1.
Checks. Δ for a single loop L reduces to 1 − L, so a single negative feedback loop gives G/(1 + GH) — the same as block reduction. Δ = 0 is the characteristic equation of the system. Mason's formula gives input-to-output gain only; between two internal nodes, divide the gains from the input to each.
Formulas
T = C(s)/R(s) = (1/Δ) · Σₖ Pₖ·Δₖ
- T: overall transfer function from source to sink (units of output per unit input).
- Pₖ: gain of the k-th forward path.
- Δ: graph determinant; Δₖ: cofactor of path k.
Δ = 1 − ΣLᵢ + ΣLᵢLⱼ − ΣLᵢLⱼLₖ + …
- ΣLᵢ: sum of all individual loop gains.
- ΣLᵢLⱼ: sum of products of gains of all pairs of non-touching loops.
- ΣLᵢLⱼLₖ: sum over all triples of mutually non-touching loops.
Δₖ = Δ with all loops touching the k-th forward path removed
Δ = 0 — characteristic equation (same as 1 + G·H = 0 for a single loop).
Worked examples
Example 1 (standard — check against block reduction). A forward path has G₁(s) followed by G₂(s). A minor feedback H₁(s) (negative) runs from the output of G₂ back to the input of G₂, and the output C is fed back with unity negative feedback to the input summing point. Find C/R.
- Nodes: R, E (after first summing point), X (after second summing point), C.
- Forward path: R → E → X → C, so
P₁ = G₁·G₂. - Loops: inner loop X → C → X,
L₁ = −G₂·H₁; outer loop E → X → C → E,L₂ = −G₁·G₂. - L₁ and L₂ share nodes X and C, so they touch; there is no non-touching pair.
Δ = 1 − (L₁ + L₂) = 1 + G₂H₁ + G₁G₂.- Both loops touch P₁, so
Δ₁ = 1. - C/R = G₁G₂ / (1 + G₂H₁ + G₁G₂). Reducing the inner loop first and then the unity loop gives the same result.
Example 2 (GATE level — non-touching loops and a non-unit cofactor). An SFG has nodes y₁ (input) to y₆ (output) with branches: y₁→y₂ = 2, y₂→y₃ = 3, y₃→y₄ = 4, y₄→y₅ = 5, y₅→y₆ = 1, a feedback branch y₃→y₂ = −0.5, a feedback branch y₅→y₄ = −0.2, and a feed-forward branch y₁→y₄ = 1. Find y₆/y₁.
- Forward paths:
P₁ = 2 × 3 × 4 × 5 × 1 = 120(y₁y₂y₃y₄y₅y₆);P₂ = 1 × 5 × 1 = 5(y₁y₄y₅y₆). - Loops:
L₁ = 3 × (−0.5) = −1.5(y₂y₃y₂);L₂ = 5 × (−0.2) = −1.0(y₄y₅y₄). - L₁ uses nodes y₂, y₃; L₂ uses y₄, y₅. They are non-touching, so
L₁L₂ = 1.5. Δ = 1 − (−1.5 − 1.0) + 1.5 = 1 + 2.5 + 1.5 = 5.0.- P₁ touches both loops:
Δ₁ = 1. P₂ passes through y₄ and y₅, so it touches L₂ but not L₁:Δ₂ = 1 − L₁ = 2.5. T = (P₁Δ₁ + P₂Δ₂)/Δ = (120 × 1 + 5 × 2.5)/5 = 132.5/5.- y₆/y₁ = 26.5.
Common mistakes
- Treating any two loops as non-touching. Check node by node — two loops that share even one node touch.
- Setting every Δₖ = 1 out of habit. Δₖ = 1 only when every loop touches path k.
- Forgetting the sign: Δ = 1 − ΣL, so a negative-feedback loop of gain −0.5 adds +0.5 to Δ.
- Missing a loop formed through a feed-forward branch combined with a feedback branch, or missing self-loops.
- Counting a forward path that revisits a node, or one that goes against a branch arrow.
- Using a sink node that still has outgoing branches without adding a unity dummy branch.
- Applying Mason's formula between two internal nodes directly.
For GATE ME
Typical questions: list the number of forward paths and individual loops in a given SFG; count pairs of non-touching loops; find Δ or a specific Δₖ; compute C/R for a graph with numeric gains (often with one non-unit cofactor); convert a small block diagram to an SFG and find the characteristic equation. Practise marking node sets for every loop and path before computing — almost all wrong answers come from touching/non-touching errors, not from arithmetic.
Quick check
- A graph has one forward path P = 10 and one loop L = −4 that touches it. Find T.
- Two non-touching loops have gains −2 and −3, and there are no other loops. Find Δ.
- What does a node represent in an SFG?
- When is Δₖ equal to 1?
- What equation do you get by setting Δ = 0?
Answers: 1. 10/(1 + 4) = 2. 2. 1 + 5 + 6 = 12. 3. A system variable (signal). 4. When every loop in the graph touches the k-th forward path. 5. The characteristic equation of the system.
Interview questions
All Control Systems interview questionsTry answering each one aloud before you open it.
1.What is a signal flow graph in control systems?Concept
A signal flow graph is a graphical representation of a set of linear algebraic equations. It consists of nodes and directed branches, where nodes represent system variables and branches represent the functional relationships between these variables. Signal flow graphs are used to visualize the flow of signals in a control system and to analyze the system's behavior.
2.Explain Mason's Gain Formula and its significance in control systems.Concept
Mason's gain formula gives the transfer function between a source node and a sink node of a signal flow graph directly: T = (1/Δ)·Σ Pₖ·Δₖ. Pₖ is the gain of the k-th forward path, Δ = 1 − (sum of loop gains) + (sum of products of non-touching loop pairs) − (triples) + …, and Δₖ is Δ with all loops touching path k removed. Its value is that it handles many interlaced loops in one systematic step, without repeatedly redrawing a block diagram, and Δ = 0 gives the characteristic equation.
3.How do you identify forward paths in a signal flow graph?Concept
Forward paths in a signal flow graph are paths that start at the input node and end at the output node without visiting any node more than once. To identify them, trace all possible paths from the input to the output, ensuring that each node is visited only once per path. These paths represent the direct influence of the input on the output.
4.What are loops in a signal flow graph, and how do they affect the system's transfer function?Concept
Loops in a signal flow graph are closed paths that start and end at the same node without visiting any other node more than once. Loops affect the system's transfer function by introducing feedback, which can alter the system's stability and response. In Mason's Gain Formula, loops are used to calculate the loop gain and the determinant, which are essential for determining the overall transfer function.
5.Why is Mason's Gain Formula preferred over block diagram reduction techniques?Application
Mason's Gain Formula is preferred over block diagram reduction techniques because it provides a more straightforward and systematic approach to analyzing complex systems. While block diagram reduction can become cumbersome and error-prone for large systems, Mason's Gain Formula allows for direct calculation of the transfer function using the signal flow graph, making it easier to handle multiple loops and paths.
6.What happens if a signal flow graph has non-touching loops? How are they considered in Mason's Gain Formula?Application
Two loops are non-touching if they share no node. In the determinant Δ = 1 − ΣLᵢ + ΣLᵢLⱼ − ΣLᵢLⱼLₖ + …, the products of every pair of non-touching loops are added, every triple of mutually non-touching loops is subtracted, and so on. Non-touching loops also matter for the cofactor Δₖ: any loop that does not touch forward path k stays in Δₖ, so Δₖ is not 1. For example, non-touching loops of −0.3 and −0.4 give Δ = 1 + 0.7 + 0.12 = 1.82.
7.How would you convert a block diagram into a signal flow graph?Application
To convert a block diagram into a signal flow graph, follow these steps: 1) Identify all system variables and represent them as nodes. 2) Replace each block with a directed branch, where the branch gain is the block's transfer function. 3) Connect the nodes according to the block diagram's signal flow, ensuring that feedback loops and summing points are accurately represented. This conversion helps in applying Mason's Gain Formula for analysis.
8.Calculate the transfer function of a system with a signal flow graph having one forward path with a gain of 5 and a single loop with a gain of -0.2.Numerical
To calculate the transfer function using Mason's Gain Formula: 1) Identify the forward path gain, P1 = 5. 2) Identify the loop gain, L1 = -0.2. 3) Calculate the determinant, Δ = 1 - L1 = 1 - (-0.2) = 1.2. 4) The transfer function, T = P1 / Δ = 5 / 1.2 = 4.17. Therefore, the transfer function of the system is 4.17.
9.Given a signal flow graph with two non-touching loops with gains of -0.3 and -0.4, calculate the determinant used in Mason's Gain Formula.Numerical
To calculate the determinant, Δ, using Mason's Gain Formula: 1) Identify the loop gains, L1 = -0.3 and L2 = -0.4. 2) Since the loops are non-touching, calculate the product of their gains, L1L2 = (-0.3) * (-0.4) = 0.12. 3) Calculate the determinant, Δ = 1 - (L1 + L2) + (L1L2) = 1 - (-0.3 + -0.4) + 0.12 = 1 + 0.7 + 0.12 = 1.82. Therefore, the determinant is 1.82.
10.Explain how feedback loops in a signal flow graph can impact system stability.Application
Feedback loops in a signal flow graph can significantly impact system stability by altering the system's response to inputs. Positive feedback can lead to instability by amplifying deviations, while negative feedback tends to stabilize the system by reducing deviations. The overall effect of feedback loops is captured in the loop gain, which is used in Mason's Gain Formula to determine the system's transfer function and assess stability.
Finished this topic? Mark it so your progress, study plan and readiness keep up.
Stuck on something here?