Analog ElectronicsInternubiquitous

Signal Flow Graph and Mason's Gain Formula

Learn signal flow graphs and Mason's gain formula with a worked feedback amplifier example, loop determinant math, and design implications.

6 min readAhmet Zahid ArıcanUpdated 11 Sept 2026
Contents & prerequisites

Feedback amplifiers, control loops, and multi-stage analog systems often have so many interacting paths — forward gain, feedback, loading, parasitic coupling — that writing one big transfer function by algebraic substitution becomes error-prone. Signal flow graphs (SFGs) turn the system into a directed graph, and Mason's gain formula extracts the exact transfer function from that graph without ever inverting a matrix or eliminating variables by hand. It's the same information content as solving simultaneous KCL/KVL equations, but organized so complex loop interactions stay tractable and auditable.

What a Signal Flow Graph Is

An SFG represents a system of linear algebraic equations as a directed graph:

  • Nodes represent variables (voltages, currents, or signals).
  • Branches are directed edges from one node to another, each carrying a gain (a transmittance, which can be a constant, 1/s, or any transfer function).
  • A node's value equals the sum of all incoming branch gains multiplied by their source nodes' values.

This is a direct graphical encoding of linear equations of the form:

x_j = Σ (g_kj · x_k)   for all branches k→j

SFGs were developed by Samuel Mason in the 1950s specifically to analyze feedback amplifiers and control systems, and they generalize block diagrams — every block diagram can be redrawn as an SFG, but SFGs handle loops and multiple paths more compactly.

Key Definitions

  • Source node: has only outgoing branches (an independent input, e.g., Vin).
  • Sink node: has only incoming branches (the output of interest, e.g., Vout).
  • Path: a sequence of branches following the arrow directions, never repeating a node.
  • Forward path: a path from a source to the sink node that doesn't touch any node twice.
  • Loop: a closed path returning to its starting node without repeating any other node.
  • Loop gain: the product of all branch gains around a loop.
  • Non-touching loops: two or more loops that share no common node.
  • Path gain (P_k): the product of all branch gains along forward path k.

Mason's Gain Formula

For a graph with a single source and single sink, the overall transfer function is:

          Σ_k [ P_k · Δ_k ]
H = -----------------------------
                  Δ

where the graph determinant Δ is:

Δ = 1 − ΣL₁ + ΣL₂ − ΣL₃ + ...
  • ΣL₁ = sum of all individual loop gains
  • ΣL₂ = sum of products of gains of all pairs of non-touching loops
  • ΣL₃ = sum of products of gains of all triples of mutually non-touching loops
  • (alternating signs continue for higher-order combinations)

Δ_k is the cofactor for forward path k: the value of Δ computed using only the loops that do not touch path k (i.e., delete every loop that shares a node with path k, then recompute Δ from what remains).

This formula is exact for any linear signal flow graph — it is algebraically equivalent to Cramer's rule applied to the underlying linear equations, but it's derived directly from the graph topology.

Worked Example: Feedback Amplifier

Consider a classic single-loop feedback block diagram redrawn as an SFG with four nodes: input Vin, error node E, output Vout, and feedback signal F.

Vin --1--> E --A--> Vout --β--> F --(-1)--> E

Branches:

  • Vin → E, gain 1
  • E → Vout, gain A (forward amplifier gain)
  • Vout → F, gain β (feedback network)
  • F → E, gain −1 (subtraction at the summing node)

Step 1 — Forward paths. Only one path from Vin to Vout: Vin→E→Vout, gain P₁ = 1·A = A.

Step 2 — Loops. One loop: E→Vout→F→E, gain L₁ = A·β·(−1) = −Aβ.

Step 3 — Determinant. Only one loop, so no non-touching pairs exist:

Δ = 1 − L₁ = 1 − (−Aβ) = 1 + Aβ

Step 4 — Cofactor Δ₁. The forward path touches the only loop (they share node E and Vout), so all loops are removed for the cofactor: Δ₁ = 1.

Step 5 — Assemble.

H = P₁·Δ₁ / Δ = A·1 / (1 + Aβ) = A / (1 + Aβ)

Check: This matches the standard negative-feedback closed-loop gain A/(1+Aβ) derived by direct algebra (Vout = A·E, E = Vin − βVout, solve for Vout/Vin). Substituting β = 0 removes feedback and recovers H = A, as expected — confirms the sign convention and the formula.

Worked Example: Two Non-Touching Loops

Now extend the graph with an added loop that shares no nodes with the feedback loop above — e.g., a separate parasitic feedback path around a different node pair, with loop gain L₂ = −k (some independent coupling elsewhere in the circuit, not sharing E, Vout, or F).

Δ = 1 − (L₁ + L₂) + (L₁·L₂)
  = 1 − (−Aβ − k) + (−Aβ)(−k)
  = 1 + Aβ + k + Aβk

The L₁·L₂ cross term appears only because the two loops are non-touching. If instead the second loop shared a node with the first, that product term would be dropped from Δ. This is the step people most often get wrong — always check node-sharing before including a cross-term.

Practical Design Implications

  • Feedback amplifier analysis: Mason's formula gives closed-loop gain, input/output impedance modifications, and sensitivity directly from a graph built from small-signal models — no matrix inversion needed even with multiple feedback and feedforward paths.
  • Control system block diagrams: any block diagram (with summers, multipliers, gains) converts directly to an SFG; Mason's formula replaces block-diagram reduction rules (which get unwieldy past 2–3 loops).
  • Two-port and multi-stage cascades: an SFG naturally represents forward gain, reverse loading, and parasitic feedback paths (e.g., Miller coupling through Cgd in an amplifier) as explicit branches, making loading and stability effects visible instead of buried in algebra.
  • Sensitivity and loop gain extraction: because Δ and Δ_k are built purely from loop gains, they directly expose which physical loop dominates stability margin — useful when deciding which component to trim for compensation.
  • Verification workflow: for any graph beyond 2 loops, list all loops first, check every pair for shared nodes, then build Δ term by term — skipping the systematic node-sharing check is the most common source of formula errors.

Key Takeaways

  • A signal flow graph encodes a linear system as nodes (variables) and directed, gain-labeled branches — a direct graphical form of the underlying linear equations.
  • Mason's gain formula computes the exact transfer function as H = Σ(P_k·Δ_k)/Δ, using forward-path gains and the graph determinant built from loop gains.
  • Δ = 1 − ΣL₁ + ΣL₂ − ΣL₃ + ... sums individual loop gains, then pairwise products of non-touching loops, then triples, with alternating signs.
  • Δ_k is Δ recomputed with all loops touching forward path k removed — forgetting this cofactor step is the most common mistake.
  • The method scales gracefully to multi-loop feedback amplifiers and control systems where direct algebraic elimination becomes unwieldy, and it matches standard results (e.g., A/(1+Aβ)) as a sanity check.

Learning

Sign in to track your progress.

Evidence

Public projects engineers linked to Signal Flow Graph and Mason's Gain Formula.

Add evidence

No engineer has linked a project to this topic yet. Built something that proves it? Add the project and tag it with analog-electronics-signal-flow-graph-and-masons-gain-formula — it then shows here and on your public profile.