Analog Intuition

Transfer Function Primer

What is a transfer function?

A transfer function tells you how a circuit’s output amplitude and phase compare to its input as frequency changes. Think of the circuit as a black box: a signal goes in, the network shapes it, and a (possibly scaled and delayed) signal comes out.

Input signal multiplied by H(s) gives output signal IN Vin(s) H(s) OUT Vout(s)

\(V_\text{out}(s) = H(s)\,V_\text{in}(s)\)

Magnitude and phase of H(s) depend on frequency.

In the Laplace domain we write that input–output ratio as:

\[ H(s) = \frac{V_\text{out}(s)}{V_\text{in}(s)} \]

The complex variable \(s\) carries frequency in its imaginary part:

\[ s = \sigma + j\omega \]

One compact expression captures both how much the signal is scaled and how far it is shifted in time — amplitude and phase together, across all frequencies.

When a real number is enough
Ordinary real numbers suffice when the answer is just a gain. A resistive divider is a fixed ratio — it changes magnitude, not phase:

\[ H = \frac{R_2}{R_1 + R_2} \]

Capacitors and inductors are different: their impedance depends on frequency, so the same output level can come with a phase rotation. That is why we move to \(s\).

Factored pole–zero form
Once you have \(H(s)\) from the schematic, rewrite it so each breakpoint is visible — the language of Bode plots, compensators, and loop-gain tools:

\[ H(s) = \frac{\displaystyle\prod_n \left(1 + \dfrac{s}{\omega_{z,n}}\right)}{\displaystyle\prod_m \left(1 + \dfrac{s}{\omega_{p,m}}\right)} \]

Every \((1 + s/\omega_p)\) pole and \((1 + s/\omega_z)\) zero in that form maps directly to a corner on the plot. The interactive example below walks through the algebra the way Equation (2) does in the article — then keeps the result live as you drag capacitor ESR.

Resistor divider

Resistive voltage divider Vin Rtop 90 Ω Vout Rbot 10 Ω
\(H = R_\text{bot}/(R_\text{top}+R_\text{bot})\) — magnitude only, 0° phase.

RC low-pass

RC low-pass with capacitor ESR Vin R 10 Ω Vout Rs 0 C 7.9 µF
Series \(R\), shunt \(R_s + C\) to ground (ideal cap when \(R_s = 0\)).

Circuit values

The divider gain is \(R_\text{bot}/(R_\text{top}+R_\text{bot})\) — equal resistors are not required. A 90 Ω / 10 Ω pair gives 0.1 (−20 dB) with 0° phase. Tune RC \(R\), \(C\), and frequency to match that level and watch phase lag appear on the scope. Cap ESR spans 0–1 Ω (0–1000 mΩ).

Test frequency
Divider · |H|, phase
RC · |H|, phase
|H| mismatch (RC − div)
ESR phase shift at test f
R = 10 Ω C = 7.9 µF Bode: 10 Hz – 10 MHz
Pole \(f_p\)
Zero \(f_z\)

Scope — 20 kHz sine

V(in) V(vout_r_divider) (×5 display) V(vout_rc) (×5 display)

Bode plot

10 Hz – 10 MHz · \(f_p\) (red), \(f_z\) (green), scope frequency (violet crosshair)

Solid: with ESR · dashed: ESR = 0

From schematic to \(H(s)\)

Treat the shunt leg as \(Z_C(s)\), apply the voltage-divider rule, multiply top and bottom by \(sC\), then factor into pole and zero frequencies — the same steps as Equation (2) in the article. The ideal column is fixed; the ESR column keeps the same form as you drag ESR — when ESR = 0 the zero sits at \(\infty\) and the numerator’s \(s R_s C\) term is \(0\).

Ideal capacitor · ESR = 0

With ESR · live value

Transfer function (values plugged in)

Ideal

With ESR