Control 2.2
By the end of this section, you will be able to:
Tip
Think of the transfer function as a “black-box equation” describing your circuit’s behavior.
Later, multiple black boxes will be connected to form full control systems.
Variables and Units
Voltage: \(v(t)\) [V]
Current: \(i(t)\) [A]
Charge: \(q(t)\) [C]
Resistor: \(R\) [Ω]
Conductance: \(G = 1/R\) [mho or S]
Capacitor: \(C\) [F]
Inductor: \(L\) [H]



Time-domain and impedance/admittance relationships
| Component | Voltage–current | Current–voltage | Voltage–charge | Impedance \(Z(s) = \dfrac{V(s)}{I(s)}\) | Admittance \(Y(s) = \dfrac{I(s)}{V(s)}\) |
|---|---|---|---|---|---|
| Capacitor | \(v(t) = \dfrac{1}{C}\displaystyle\int_{0}^{t} i(\tau)\,d\tau\) | \(i(t) = C \dfrac{dv(t)}{dt}\) | \(v(t) = \dfrac{1}{C} q(t)\) | \(\dfrac{1}{Cs}\) | \(Cs\) |
| Resistor | \(v(t) = R\,i(t)\) | \(i(t) = \dfrac{1}{R} v(t)\) | \(v(t) = R \dfrac{dq(t)}{dt}\) | \(R\) | \(\dfrac{1}{R} = G\) |
| Inductor | \(v(t) = L \dfrac{di(t)}{dt}\) | \(i(t) = \dfrac{1}{L}\displaystyle\int_{0}^{t} v(\tau)\,d\tau\) | \(v(t) = L \dfrac{d^{2}q(t)}{dt^{2}}\) | \(Ls\) | \(\dfrac{1}{Ls}\) |
Important
Zero initial conditions are assumed for the impedance formulas. If \(i(0^-)\) or \(v(0^-)\) is nonzero, extra terms appear in the Laplace transform.
Alternative shortcut:
Problem
Circuit: series RLC with input voltage \(v(t)\) and output \(v_C(t)\) across the capacitor.
Find transfer function:
\[ \frac{V_C(s)}{V(s)} \]
Assume zero initial conditions.

Using KVL around the loop:
\[ L\frac{di(t)}{dt} + R i(t) + \frac{1}{C}\int_{0}^{t} i(\tau)\,d\tau = v(t) \]
Use current–charge relationship:
\[ i(t) = \frac{dq(t)}{dt} \]
Substitute into KVL:
\[ L\frac{d^{2}q(t)}{dt^{2}} + R\frac{dq(t)}{dt} + \frac{1}{C}q(t) = v(t) \]
For the capacitor, voltage–charge relationship:
\[ q(t) = C\,v_C(t) \]
Substitute into the ODE:
\[ LC\frac{d^{2}v_C(t)}{dt^{2}} + RC\frac{dv_C(t)}{dt} + v_C(t) = v(t) \]
Now both input and output are voltages, which is convenient for transfer functions.
Take Laplace transform (zero initial conditions):
\[ LC s^{2} V_C(s) + RC s V_C(s) + V_C(s) = V(s) \]
Factor \(V_C(s)\):
\[ (LC s^{2} + RC s + 1)V_C(s) = V(s) \]
Solve for transfer function:
\[ \frac{V_C(s)}{V(s)} = \frac{1}{LC s^{2} + RC s + 1} = \frac{\frac{1}{LC}}{s^{2} + \frac{R}{L}s + \frac{1}{LC}} \]

Take Laplace transforms of time-domain voltage–current relations (zero initial conditions):
\[ v(t) = \frac{1}{C}\int_{0}^{t} i(\tau)\,d\tau \quad \Rightarrow \quad V(s) = \frac{1}{Cs}I(s) \]
\[ v(t) = R i(t) \quad \Rightarrow \quad V(s) = R I(s) \]
\[ v(t) = L \frac{di(t)}{dt} \quad \Rightarrow \quad V(s) = Ls I(s) \]
Define impedance:
\[ Z(s) \equiv \frac{V(s)}{I(s)} \]
Thus:
Note
Impedance generalizes resistance to dynamic components (C and L). It captures frequency-dependent behavior in a single algebraic expression.
Starting from the RLC loop equation in the \(s\)-domain:
\[ \left(Ls + R + \frac{1}{Cs}\right) I(s) = V(s) \]
This has the form:
\[ [\text{Sum of impedances}]\,I(s) = [\text{Sum of applied voltages}] \]
We can draw the transformed circuit by replacing each element with its impedance:

Steps to build the transformed circuit:
From Figure 2.5:
KVL in \(s\)-domain:
\[ \left(Ls + R + \frac{1}{Cs}\right) I(s) = V(s) \]
Solve for current:
\[ \frac{I(s)}{V(s)} = \frac{1}{Ls + R + \frac{1}{Cs}} \]
Capacitor voltage:
\[ V_C(s) = I(s) \cdot Z_C(s) = I(s)\cdot \frac{1}{Cs} \]
Therefore:
\[ \frac{V_C(s)}{V(s)} = \frac{1}{Cs}\cdot \frac{1}{Ls + R + \frac{1}{Cs}} \]
Algebraic simplification recovers the same transfer function as in Example 2.6.
Tip
By working directly with \(Z(s)\), we bypass writing and transforming the differential equation. This becomes essential for more complex networks.
Use Figure 2.5 again, but now apply KCL at the node with voltage \(V_C(s)\).
Assume:
Currents:
\[ I_{RL}(s) = \frac{V_C(s) - V(s)}{R + Ls} \]
KCL at node \(V_C(s)\) (sum of leaving currents = 0):
\[ \frac{V_C(s)}{1/Cs} + \frac{V_C(s) - V(s)}{R + Ls} = 0 \]
Solve this equation for \(\dfrac{V_C(s)}{V(s)}\); the result again matches Example 2.6.
Same RLC transformed circuit: series combination of \(Z_L(s)\), \(Z_R(s)\), and \(Z_C(s)\).
Voltage division:
\[ V_C(s) = \frac{Z_C(s)}{Z_L(s) + Z_R(s) + Z_C(s)} \, V(s) = \frac{\dfrac{1}{Cs}}{Ls + R + \dfrac{1}{Cs}}\,V(s) \]
Thus:
\[ \frac{V_C(s)}{V(s)} = \frac{1/Cs}{Ls + R + 1/Cs} \]
Algebra gives the same transfer function as before.
Note
Three different methods (ODE, mesh, nodal/voltage division) all give the same \(G(s)\). Choosing the fastest correct method is a key engineering skill.
For multi-loop networks, direct ODE writing becomes painful.
Two scalable strategies:
Both reduce to solving simultaneous algebraic equations in \(s\).
Given
Goal
\[ G(s) = \frac{I_2(s)}{V(s)} \]



Assume mesh currents \(I_1(s)\) and \(I_2(s)\) as shown.
Mesh 1 (around left loop):
\[ R_1 I_1(s) + Ls I_1(s) - Ls I_2(s) = V(s) \]
Mesh 2 (around right loop):
\[ Ls I_2(s) + R_2 I_2(s) + \frac{1}{Cs} I_2(s) - Ls I_1(s) = 0 \]
Combine terms:
\[ (R_1 + Ls) I_1(s) - Ls I_2(s) = V(s) \]
\[ - Ls I_1(s) + \left(Ls + R_2 + \frac{1}{Cs}\right) I_2(s) = 0 \]
Write the system in matrix form:
\[ \begin{bmatrix} R_1 + Ls & -Ls \\ -Ls & Ls + R_2 + \dfrac{1}{Cs} \end{bmatrix} \begin{bmatrix} I_1(s) \\ I_2(s) \end{bmatrix} = \begin{bmatrix} V(s) \\ 0 \end{bmatrix} \]
Let the determinant:
\[ \Delta = \begin{vmatrix} R_1 + Ls & -Ls \\ -Ls & Ls + R_2 + \dfrac{1}{Cs} \end{vmatrix} \]
For \(I_2(s)\), Cramer’s Rule:
\[ I_2(s) = \frac{ \begin{vmatrix} R_1 + Ls & V(s) \\ -Ls & 0 \end{vmatrix} }{\Delta} = \frac{Ls\,V(s)}{\Delta} \]
So:
\[ G(s) = \frac{I_2(s)}{V(s)} = \frac{Ls}{\Delta} \]
Carrying out determinant algebra yields:
\[ G(s) = \frac{LC s^{2}}{(R_1 + R_2)LC s^{2} + (R_1 R_2 C + L)s + R_1} \]
(as in Figure 2.6(c)).
The general form of the two-mesh equations observed:
\[ \left[\text{Sum of impedances around Mesh 1}\right] I_1(s) - \left[\text{Sum of common impedances}\right] I_2(s) = \left[\text{Sum of applied voltages around Mesh 1}\right] \]
\[ - \left[\text{Sum of common impedances}\right] I_1(s) + \left[\text{Sum of impedances around Mesh 2}\right] I_2(s) = \left[\text{Sum of applied voltages around Mesh 2}\right] \]
Recognizing this structure lets you write mesh equations by inspection without rederiving each term.
Tip
Inspection rule for mesh \(k\):
Define admittance:
\[ Y(s) = \frac{1}{Z(s)} = \frac{I(s)}{V(s)} \]
For basic elements:
Using admittance can make KCL equations more compact, especially when multiple parallel branches are present.
Use the transformed circuit of Figure 2.6(b).
Nodes:
KCL at \(V_L(s)\): sum of currents leaving node = 0:
\[ \frac{V_L(s) - V(s)}{R_1} + \frac{V_L(s)}{Ls} + \frac{V_L(s) - V_C(s)}{R_2} = 0 \]
KCL at \(V_C(s)\):
\[ Cs\,V_C(s) + \frac{V_C(s) - V_L(s)}{R_2} = 0 \]
Express resistances as conductances \(G_1 = 1/R_1\), \(G_2 = 1/R_2\):
\[ \left(G_1 + G_2 + \frac{1}{Ls}\right) V_L(s) - G_2 V_C(s) = G_1 V(s) \]
\[ - G_2 V_L(s) + (G_2 + Cs) V_C(s) = 0 \]
Solve simultaneously for \(V_C(s)/V(s)\):
\[ \frac{V_C(s)}{V(s)} = \frac{\dfrac{G_1 G_2}{C} s}{ (G_1 + G_2) s^{2} + \dfrac{G_1 G_2 L + C}{LC} s + \dfrac{G_2}{LC} } \]
(as shown in Figure 2.7).

Sometimes nodal analysis is simpler if we convert voltage sources in series with impedances into current sources in parallel with admittances (Norton’s theorem).
This leads to nodal equations of the general form:
\[ \left[\text{Sum of admittances connected to Node 1}\right] V_1(s) - \left[\text{Common admittances}\right] V_2(s) = \left[\text{Sum of applied currents at Node 1}\right] \]
…and similarly for Node 2.

KCL at \(V_L(s)\):
\[ G_1 V_L(s) + \frac{1}{Ls} V_L(s) + G_2\bigl[V_L(s) - V_C(s)\bigr] = G_1 V(s) \]
KCL at \(V_C(s)\):
\[ Cs\,V_C(s) + G_2\bigl[V_C(s) - V_L(s)\bigr] = 0 \]
These are algebraically identical to the equations in Example 2.11, thus yielding the same \(V_C(s)/V(s)\).
Tip
Pattern for node equations:

Goal: Write, but do not solve, the mesh equations.
General structure for Mesh 1:
\[ \bigl[\text{Sum of impedances around Mesh 1}\bigr] I_1(s) - \bigl[\text{Common impedances (1–2)}\bigr] I_2(s) - \bigl[\text{Common impedances (1–3)}\bigr] I_3(s) = \bigl[\text{Sum of applied voltages around Mesh 1}\bigr] \]
Similarly for Meshes 2 and 3.
After substituting values from Figure 2.9, we obtain:
Mesh 1:
\[ (2s + 2) I_1(s) - (2s + 1) I_2(s) - I_3(s) = V(s) \]
Mesh 2:
\[ -(2s + 1) I_1(s) + (9s + 1) I_2(s) - 4s\,I_3(s) = 0 \]
Mesh 3:
\[ - I_1(s) - 4s\,I_2(s) + \left(4s + 1 + \frac{1}{s}\right) I_3(s) = 0 \]
These can be solved for any desired transfer function, e.g., \(I_3(s)/V(s)\).
An operational amplifier (op-amp) is used to implement transfer functions electronically.
Ideal op-amp assumptions:
Basic relationship:
\[ v_o(t) = A \bigl(v_2(t) - v_1(t)\bigr) \]

If the non-inverting input is grounded (\(v_2 = 0\)), we get an inverting amplifier:
\[ v_o(t) = -A v_1(t) \]
With impedances \(Z_1(s)\) and \(Z_2(s)\) connected as in Figure 2.10(c):

Key consequences of ideal assumptions:
So:
\[ I_1(s) = \frac{V_i(s)}{Z_1(s)}, \quad I_2(s) = \frac{V_o(s)}{Z_2(s)} \]
From \(I_1 = -I_2\):
\[ \frac{V_o(s)}{Z_2(s)} = -\frac{V_i(s)}{Z_1(s)} \Rightarrow \frac{V_o(s)}{V_i(s)} = -\frac{Z_2(s)}{Z_1(s)} \]
Note
Inverting op-amp transfer function:
\[ G(s) = \frac{V_o(s)}{V_i(s)} = -\frac{Z_2(s)}{Z_1(s)} \]

We know:
\[ \frac{V_o(s)}{V_i(s)} = -\frac{Z_2(s)}{Z_1(s)} \]
Compute \(Z_1(s)\): parallel \(R_1\) and \(C_1\):
\[ Z_1(s) = \frac{1}{C_1 s + \dfrac{1}{R_1}} = \frac{1}{C_1 s + G_1} \]
(Numerical combination gives: \(Z_1(s) = \dfrac{360\times 10^{3}}{2.016 s + 1}\) in the text.)
Compute \(Z_2(s)\): series \(R_2\) and \(C_2\):
\[ Z_2(s) = R_2 + \frac{1}{C_2 s} \]
Plug into \(-Z_2/Z_1\) and simplify:
\[ \frac{V_o(s)}{V_i(s)} = -1.232 \frac{s^{2} + 45.95 s + 22.55}{s} \]
This is of the form:
\[ K\left( s + \frac{\text{something}}{s} + 1 \right) \]
which corresponds to a PID (Proportional–Integral–Derivative) controller.

Op-amp equation:
\[ V_o(s) = A\bigl(V_i(s) - V_1(s)\bigr) \]
By voltage division:
\[ V_1(s) = \frac{Z_1(s)}{Z_1(s) + Z_2(s)} V_o(s) \]
Substitute into op-amp equation:
\[ V_o(s) = A\left[V_i(s) - \frac{Z_1}{Z_1 + Z_2} V_o(s)\right] \]
Rearrange and solve for \(V_o/V_i\):
\[ \frac{V_o(s)}{V_i(s)} = \frac{A}{1 + A Z_1(s)/(Z_1(s) + Z_2(s))} \]
For large \(A\), the “1” in the denominator is negligible:
\[ \frac{V_o(s)}{V_i(s)} \approx \frac{Z_1(s) + Z_2(s)}{Z_1(s)} \]
Note
Noninverting op-amp transfer function (large \(A\)):
\[ G(s) = \frac{V_o(s)}{V_i(s)} = \frac{Z_1(s) + Z_2(s)}{Z_1(s)} \]

Given:
Use:
\[ \frac{V_o(s)}{V_i(s)} = \frac{Z_1(s) + Z_2(s)}{Z_1(s)} \]
After substituting and simplifying:
\[ \frac{V_o(s)}{V_i(s)} = \frac{C_2 C_1 R_2 R_1 s^{2} + (C_2 R_2 + C_1 R_2 + C_1 R_1)s + 1} {C_2 C_1 R_2 R_1 s^{2} + (C_2 R_2 + C_1 R_1)s + 1} \]

Problem:
Find \(G(s) = V_L(s)/V(s)\) using:
Show both methods give:
\[ \frac{V_L(s)}{V(s)} = \frac{s^{2} + 2s + 1}{s^{2} + 5s + 2} \]
Tip
Try both methods yourself: - Mesh: define loop currents, write equations by inspection. - Nodal: select unknown node voltages, write KCL using admittances.
This is great practice for exam-style problems.
Given:
\[ G(s) = \frac{V_o(s)}{V_i(s)} = -\frac{Z_2}{Z_1} = -\frac{10^5}{10^5/s} = -s \]
\[ G(s) = \frac{Z_1 + Z_2}{Z_1} = \frac{\dfrac{10^5}{s} + 10^5}{\dfrac{10^5}{s}} = s + 1 \]
Note
Result:
R, L, C Impedances and Admittances
\[ Z_R(s) = R, \quad Y_R(s) = \frac{1}{R} = G \]
\[ Z_C(s) = \frac{1}{Cs}, \quad Y_C(s) = Cs \]
\[ Z_L(s) = Ls, \quad Y_L(s) = \frac{1}{Ls} \]
Generic Transfer Function Definition
\[ G(s) = \frac{Y(s)}{U(s)} \]
Series RLC (capacitor output) – Example 2.6
\[ \frac{V_C(s)}{V(s)} = \frac{1/LC}{s^{2} + \dfrac{R}{L}s + \dfrac{1}{LC}} \]
Series Impedances in Loop Equation
\[ \bigl[\text{Sum of impedances}\bigr] I(s) = \bigl[\text{Sum of sources}\bigr] \]
Two-Mesh Pattern
\[ \begin{bmatrix} \sum Z_{\text{Mesh 1}} & -\sum Z_{\text{common}} \\ -\sum Z_{\text{common}} & \sum Z_{\text{Mesh 2}} \end{bmatrix} \begin{bmatrix} I_1(s) \\ I_2(s) \end{bmatrix} = \begin{bmatrix} \sum V_{\text{Mesh 1}} \\ \sum V_{\text{Mesh 2}} \end{bmatrix} \]
Two-Node Pattern (Admittances)
\[ \begin{bmatrix} \sum Y_{\text{Node 1}} & -\sum Y_{\text{common}} \\ -\sum Y_{\text{common}} & \sum Y_{\text{Node 2}} \end{bmatrix} \begin{bmatrix} V_1(s) \\ V_2(s) \end{bmatrix} = \begin{bmatrix} \sum I_{\text{Node 1}} \\ \sum I_{\text{Node 2}} \end{bmatrix} \]
Op-Amp Transfer Functions
\[ \frac{V_o(s)}{V_i(s)} = -\frac{Z_2(s)}{Z_1(s)} \]
\[ \frac{V_o(s)}{V_i(s)} = \frac{Z_1(s) + Z_2(s)}{Z_1(s)} \]
Use this live Python block to calculate impedances for R, L, C at a chosen value of \(s = \sigma + j\omega\).
Use the sliders to change \(R\), \(L\), and \(C\) values, and see how the impedance magnitudes vary with frequency.
Recall for the series RLC with capacitor voltage output (Example 2.6):
\[ \frac{V_C(s)}{V(s)} = \frac{1/LC}{s^{2} + \dfrac{R}{L}s + \dfrac{1}{LC}} \]
Use Python to compute the denominator coefficients for your chosen \(R\), \(L\), \(C\).
Interactively vary \(R\), \(L\), and \(C\), and observe the pole locations of:
\[ G(s) = \frac{V_C(s)}{V(s)} = \frac{1/LC}{s^{2} + \frac{R}{L}s + \frac{1}{LC}} \]
For the two-loop mesh system in Example 2.10, the equations:
\[ (R_1 + Ls) I_1(s) - Ls I_2(s) = V(s) \]
\[ - Ls I_1(s) + \left(Ls + R_2 + \frac{1}{Cs}\right) I_2(s) = 0 \]
Use Python to build the coefficient matrix symbolically for selected \(R_1\), \(R_2\), \(L\), \(C\) at a particular \(s\).
For an inverting op-amp:
\[ G(s) = -\frac{Z_2(s)}{Z_1(s)} \]
Here, choose:
Then:
\[ G(s) = -R_2 C_1 s \]
Magnitude grows linearly with \(\omega\). Explore this behavior interactively.
For large-\(A\) noninverting op-amp:
\[ G(s) = \frac{Z_1 + Z_2}{Z_1} \]
Let \(Z_1 = R_1\) and \(Z_2 = R_2\) (purely resistive):
\[ G = 1 + \frac{R_2}{R_1} \]
Use Python to compute the DC gain for selected resistor values.
Make \(Z_1 = R_1 + 1/(C_1 s)\) and \(Z_2 = R_2\) (for simplicity). Then approximately:
\[ G(s) = \frac{Z_1 + Z_2}{Z_1} = 1 + \frac{R_2}{R_1 + 1/(C_1 s)} \]
Interactively explore \(|G(j\omega)|\) as \(R_1\), \(R_2\), and \(C_1\) vary.
Use the block below as a quick self-check: given \(R\), \(L\), \(C\) and the form
\[ G(s) = \frac{1/LC}{s^{2} + \frac{R}{L}s + \frac{1}{LC}}, \]
numerically evaluate \(|G(j\omega)|\) at a chosen frequency.