You are on page 1of 7

Signal Flow Graphs and the Mason’s Formula

A) Signal Flow Graphs – brief introduction


A signal-flow graph or signal-flow-graph (SFG), invented by Shannon, but often called a Mason
graph after Samuel Mason who coined the term, is a specialized flow graph, a directed graph in which
nodes represent system variables, and branches (edges, arcs, or arrows) represent functional
connections between pairs of nodes.
Thus, signal-flow graph theory builds on that of directed graphs (also called digraphs), which includes
as well that of oriented graphs. This mathematical theory of digraphs exists, of course, quite apart from
its applications.
SFG's are most commonly used to represent signal flow in a physical system (process) and its
controller(s), forming respective control systems. Other uses of the SFG are the representation of signal
flow in various electronic networks and amplifiers, digital filters, state variable filters and some other
types of analog filters. In nearly all literature, a signal-flow graph is associated with a set of linear
equations.

Fig. 1. a) Simple flow graph; b) The arrows of the graph incident on node 2; (c) The arrows of the
graph incident on node 3

The Linear Signal Flow Graph is related to a system of linear equations of the following form:
N
x j   t j k xk
k 1
(1)
t jk x
where = transmittance (or gain) from xk to j .

Example: Block diagram of a Control System and two equivalent signal-flow graph representations.

1
Fig. 1. Example of the classical Feedback Control system, represented as a Signal Flow Graph.
B) Mason's gain formula (MGF) is a method for finding the transfer function of a linear signal-flow graph (SFG).
The formula was derived by Samuel Jefferson Mason in 1956, whom it is also named after.
MGF is an alternate method to finding the transfer function algebraically.
MGF provides a step by step method to obtain the transfer function from a SFG.
The method can easily handle SFGs with many variables and loops including loops with inner loops.
N

y
G 
k 1
k k

G  out 
yin  , where (1)

 1   Li   Li L j   Li L j Lk  ...  (1)m   ... (2)

 Δ = the determinant of the graph.


 yin = input-node variable
 yout = output-node variable
 G = complete gain between yin and yout
 N = total number of forward paths between yin and yout
 Gk = path gain of the kth forward path between yin and yout
2
 Li = loop gain of each closed loop in the system
 LiLj = product of the loop gains of any two non-touching loops (no common nodes)
 LiLjLk = product of the loop gains of any three pairwise non-touching loops
 Δk = the cofactor value of Δ for the kth forward path, with the loops touching the kth forward path removed.

Definitions:
 Path: a continuous set of branches traversed in the direction that they indicate.
 Forward path: A path from an input node to an output node in which no node is touched more than once.
 Loop: A path that originates and ends on the same node in which no node is touched more than once.
 Path gain: the product of the gains of all the branches in the path.
 Loop gain: the product of the gains of all the branches in the loop.

To use this technique (The Mason Formula) we need to do first the following “preprocessing”:

1. Make a list of all forward paths, and their gains, and label these Gk.
2. Make a list of all the loops and their gains, and label these Li (for i loops).
3. Make a list of all pairs of non-touching loops, and the products of their gains (LiLj).
4. Make a list of all pairwise non-touching loops taken three at a time (LiLjLk),
5. then four at a time, and so forth, until there are no more.
6. Compute the determinant Δ and cofactors Δk.
7. Apply the formula.

Complexity and Computational Applications of Mason’s Formula:


Mason's Rule can grow factorially, because the enumeration of paths in a directed graph grows
thusly. o see this consider the complete directed graph on vertices, having an edge between every
pair of vertices.
There is a path form yin to yout for each of the (n - 2)! permutations of the intermediate vertices.

Solution (the Transfer Function) of the Feedback Control system from Fig. 1 by using the Mason
formula:
N = 1; G1 = G(s).1 = G(s);
L1 = -G(s)H(s)
Δ = 1 – L1 = 1 + G(s)H(s)
Δ1 = 1 – 0 (there are no un-touching Loops to the Path)
G = C(s)/R(s) = G1Δ1/Δ = G(s)/[1 + G(s)H(s)]

Example 2: The following structure of a Control system is given in Fig.2. By applying the Mason
Formula on the respective Signal Flow Graph find the Transfer Function G(s) = y(s)/x(s) between the
input x(s) and output y(s) of the system.

3
Fig. 2. Structure of the Control System for Example 2.

Fig.3. The respective Signal Flow Graph of the Control System from Fig. 2.

4
Solution: The respective Flow Signal Graph (SFG) is drawn in Fig. 3 (on the next page), according to
the definitions for the graph. From it we extract the following elements:
N = 2 - there are two Paths from the input x(s) to output y(s), as follows:
G1 = 1.G1.G2.1.G3.G4.G5.1 = G1G2G3G4G5
G2 = 1.G1.G7.1 = G1G7
There are two loops L1 and L2 within the whole graph structure, as follows:
L1 = G3.G4.G5.(-1) = - G3G4G6;
L2 = G1.G2.1.G3.G4.G5.G8.(-1) = -G1G2G3G4G5G8
The Determinant Δ of the graph will be:
Δ = 1 – [L1 + L2] + 0 (the two Loops touch each other). Therefore
Δ = 1 – [G3.G4.G6.(-1) + G1.G2.1.G3.G4.G5.G8.(-1)] =
1 + G3G4G6 + G1G2G3G4G5G8

The cofactors (sub-determinant) Δ1 and Δ2 will be:


Δ1 = 1 – 0 and Δ2 = 1 – L1 = 1 + G3G4G6
Because the two loops L1 and L2 are destroyed by the respective paths G1 and G2.
Finally, we have the following equation that describes the transfer function between x(s) and y(s).

y(s) G1Δ1 + G2Δ2 G1G2G3G4G5 + G1G7(1+G3G4G6)


G(s) = --------- = ------------------------ = -------------------------------------------------------
x(s) Δ 1 + G3G4G6 + G1G2G3G4G5G8

5
Example 3 (Homework): The following structure of a Control system is given in Fig.3.
1. Create the respective Signal Flow Graph of the Control System;
2. Apply the Mason Formula in order to define the following Transfer Functions:
G(s) = y(s)/x1(s); G(s) = y(s)/x2(s); G(s) = y(s)/x3(s)

Fig. 3. Structure of the Control System for Example 3.

6
Example 4 (Homework)
1. Create the respective Signal Flow Graph for the Control System from Fig. 4;
2. Apply the Mason Formula in order to define the following Transfer Functions:
G(s) = y(s)/x(s) and G(s) = y(s)/z(s)

Fig. 4. Structure of the Control System for Example 4.

You might also like