I recently read the book "Linear Circuit Transfer Functions" by Christophe P. Basso, and I realised
that KVL and KCL are slow. There are far easier and faster techniques to analyze circuits, which provide
more insight than plain old KVL or KCL. In many cases we can find the transfer function by looking at the circuit
(this is called "solving by inspection").
General transfer function and Low entropy form.
The general transfer function of an n-order network looks like:
H(\yellow s) = \frac{N_0 + N_1\yellow s + N_2\yellow s^2 + \dots + N_n\yellow s^n}{D_0 + D_1\yellow s + D_2\yellow s^2 + \dots + D_n\yellow s^n}
But it is hard to find out the poles and zeros at a glance. Hence this form is called high entropy form. The low
entropy form of the same transfer function would look like:
H(\yellow s) = \green{H_0}\frac{(1 + \frac{\yellow s}{\Blue{\omega_{z_1}}})(1 + \frac{\yellow s}{\Blue{\omega_{z_2}}})\cdots(1 + \frac{\yellow s}{\Blue{\omega_{z_n}}})}{(1 + \frac{\yellow s}{\blue{\omega_{p_1}}})(1 + \frac{\yellow s}{\blue{\omega_{p_2}}})\cdots(1 + \frac{\yellow s}{\blue{\omega_{p_n}}})}
Why not KVL and KCL?
So why not KVL and KCL? Both laws are fairly straightforward to apply. But they don't provide insight into the transfer function. Most of the
time the complex frequency (\yellow{s}) is littered throughout the numerator and denominator and it is hard to simplify it into a low entropy form
from which we can easily read off the poles and zeros.
The humble Wheatstone bridge.
Let us solve the following simple-looking problem, everyone's favourite Wheatstone bridge. We have to find the transfer function, \light{A_v} = \magenta{V_o}/\blue{V_i}.
We will use KCL to find the transfer function. Labelling the top node A and bottom node B, we can write the following equations:
\begin{align}
\text{KCL for node A:}\; \frac{\blue{V_i} - \green{V_A}}{R_1} + \frac{\red{V_B} - \green{V_A}}{R_5} + \frac{\dark{0} - \green{V_A}}{R_2} &= 0. \\
\text{KCL for node B:}\; \frac{\blue{V_i} - \red{V_B}}{R_3} + \frac{\green{V_A} - \red{V_B}}{R_5} + \frac{\dark{0} - \red{V_B}}{R_4} &= 0.
\end{align}
Also note that \green{V_A} = \magenta{V_o}.
Now here is the time-consuming part: we need to solve for \green{V_A}. Starting with the equation for node B:
\begin{align}
\frac{\blue{V_i} - \red{V_B}}{R_3} + \frac{\green{V_A} - \red{V_B}}{R_5} + \frac{\dark{0} - \red{V_B}}{R_4} &= 0, \\
\implies\frac{\blue{V_i}}{R_3} + \frac{\green{V_A}}{R_5} - \red{V_B}\left(\frac{1}{R_3} + \frac{1}{R_5} + \frac{1}{R_4}\right) &= 0, \\
\implies\red{V_B}\left(\frac{1}{R_3} + \frac{1}{R_5} + \frac{1}{R_4}\right) &= \frac{\blue{V_i}}{R_3} + \frac{\green{V_A}}{R_5}, \\
\implies\red{V_B} = \left(\frac{1}{R_3} + \frac{1}{R_5} + \frac{1}{R_4}\right)^{-1}\left(\frac{\blue{V_i}}{R_3} + \frac{\green{V_A}}{R_5}\right).
\end{align}
Substituting the value of \red{V_B} in the equation for node A, we get (you can already see this is getting very messy):
\begin{align}
\frac{\blue{V_i} - \green{V_A}}{R_1} + \frac{\red{V_B} - \green{V_A}}{R_5} + \frac{\dark{0} - \green{V_A}}{R_2} &= 0. \\
\implies\frac{\blue{V_i}}{R_1} + \red{\left(\frac{1}{R_3} + \frac{1}{R_5} + \frac{1}{R_4}\right)^{-1}\left(\frac{V_i}{R_3} + \frac{V_A}{R_5}\right)}\left(\frac{1}{R_5}\right) - \green{V_A}\left(\frac{1}{R_1} + \frac{1}{R_5} + \frac{1}{R_2}\right) &= 0, \\
\implies\blue{V_i}\left[\frac{1}{R_1} + \frac{1}{R_3R_5}\left(\frac{1}{R_3} + \frac{1}{R_5} + \frac{1}{R_4}\right)^{-1}\right] - \green{V_A}\left[\frac{1}{R_1} + \frac{1}{R_5} + \frac{1}{R_2} - \frac{1}{R_5^2}\left(\frac{1}{R_3} + \frac{1}{R_5} + \frac{1}{R_4}\right)^{-1}\right] &= 0, \\
\implies\green{V_A}\left[\frac{1}{R_1} + \frac{1}{R_5} + \frac{1}{R_2} - \frac{1}{R_5^2}\left(\frac{1}{R_3} + \frac{1}{R_5} + \frac{1}{R_4}\right)^{-1}\right] = \blue{V_i}\left[\frac{1}{R_1} + \frac{1}{R_3R_5}\left(\frac{1}{R_3} + \frac{1}{R_5} + \frac{1}{R_4}\right)^{-1}\right], \\
\implies\magenta{V_o} = \green{V_A} = \frac{\frac{1}{R_1} + \frac{1}{R_3R_5}\left(\frac{1}{R_3} + \frac{1}{R_5} + \frac{1}{R_4}\right)^{-1}}{\frac{1}{R_1} + \frac{1}{R_5} + \frac{1}{R_2} - \frac{1}{R_5^2}\left(\frac{1}{R_3} + \frac{1}{R_5} + \frac{1}{R_4}\right)^{-1}} \blue{V_i}.
\end{align}
After further simplification (which I did using sympy), we get our transfer function:
A_v = \frac{R_1R_2R_4 + R_2R_3R_4 + R_2R_3R_5 + R_2R_4R_5}{R_1R_2R_3 + R_1R_2R_4 + R_1R_3R_4 + R_1R_3R_5 + R_1R_4R_5 + R_2R_3R_4 + R_2R_3R_5 + R_2R_4R_5}.
That was a lot of work for a fairly simple-looking circuit! And the resultant expression is hard to follow. What happens to the gain when R₅ increases?
What if R₃ decreases? The expression is in a high entropy form.
The calculations would be even worse had we had energy-storing elements in the network. FACTs aims to solve these exact problems by eliminating the need for KVL and KCL
on huge networks which can be a headache.
Solving by inspection.
We start by discussing simple methods to solve circuits by inspection. Rules like Voltage Divider Rule and Current
Divider Rule are indispensable tools to solve circuits by inspection. You have already solved a few circuits by inspection
before by applying Thevenin's theorem or Norton's theorem. Let us solve a simple problem, showcasing the ease of solving these circuits.
In the following circuit, we are asked to find its transfer function:
We start by forgetting about the existence of the capacitor and apply Thevenin's theorem:
Applying voltage divider rule, we get: \light{V_{th}} = \blue{V_i}\frac{\cyan{R_2}}{\green{R_1}+\cyan{R_2}}.
Computing the resistance across the capacitor terminals (we short out the voltage source) is straightforward: \light{R_{th}} = \green{R_1}\parallel\cyan{R_2}.
The Thevenin's equivalent circuit is then:
and we can immediately see that this is a 1st order low-pass filter with time constant:
\red{\tau_3} = \light{R_{th}}\red{C_3} = (\green{R_1}\parallel\cyan{R_2})\red{C_3}.
and the transfer function:
H(\yellow s) = H_0\frac{1}{1+\yellow s\red{\tau_3}} = \frac{\light{V_{th}}}{\blue{V_i}}\frac{1}{1 + \yellow s(\green{R_1}\parallel\cyan{R_2})\red{C_3}} = \frac{\cyan{R_2}}{\green{R_1} + \cyan{R_2}}\frac{1}{1 + \yellow s(\green{R_1}\parallel\cyan{R_2})\red{C_3}}.H_0 is the static DC gain, i.e. the voltage gain when \yellow{s} is equal to 0 (in other words, the capacitor is removed, or the ratio \light{V_{th}} / \blue{V_i}).
Notice how we didn't have to solve a system of linear equations when using inspection. We just found the answer to simpler problems and combined them to get
the desired result. This is the power of solving by inspection. You will soon see that we will do the same thing in the Extra Element Theorem.
The Extra Element Theorem (EET).
The Extra Element Theorem is very powerful. It allows one to remove an element (with impedance Z) entirely from a network and breaks down a complex problem into 3 simple ones:
The gain of the network with the element removed (\left.\blue{A}\right\rvert_{\light{Z}\to\infty}).
The impedance of the network with the input zeroed (\green{Z_d}).
The impedance of the network with the output nulled (\red{Z_n}).
These values are generally easier to calculate than considering the entire network. To get the final transfer function (A), we use the EET formula:
A = \left.\blue{A}\right\rvert_{\light{Z}\to\infty}\frac{1 + \frac{\red{Z_n}}{\light{Z}}}{1 + \frac{\green{Z_d}}{\light{Z}}}
When it is easier to short the impedance \light{Z} rather than removing it, we use the following formula:
A = \left.\blue{A}\right\rvert_{\light{Z}=0}\frac{1 + \frac{\light{Z}}{\red{Z_n}}}{1 + \frac{\light{Z}}{\green{Z_d}}}
where \left.\blue{A}\right\rvert_{\light{Z}=0} is the gain of the network with the element shorted. I will not go into the derivation of these formulas, as the book really explains them well.
Instead let us jump straight into the example:
Revisiting the Wheatstone bridge.
We will solve the same Wheatstone bridge as above and this time we will use the power of the EET to solve it quickly. We start by removing the pesky resistor R_5, hence \light{Z} = R_5.
To compute \left.\blue{A}\right\rvert_{\light{Z}\to\infty}, we need to simply remove the resistor and compute the gain:
\left.\blue{A}\right\rvert_{\light{Z}\to\infty} = \frac{R_2}{R_1 + R_2}.
To compute \green{Z_d}, we simply need to short the voltage source and find the resistance across the terminals:
\green{Z_d} = R_1\parallel R_2 + R_3\parallel R_4.
The procedure to find \red{Z_n} may sound confusing at first (at least it was for me). What we have to do, is to insert a current
source supplying I_T across the terminals of the removed impedance \light{Z}. We assume that there is no output at all (rather, enforce that there is no output):
(\magenta{V_o} = \light{0}) and compute the voltage V_T across the terminals of \light{Z}. Finally \red{Z_n} = V_T/I_T.
Since this isn't easily solved by inspection, we must use Kirchhoff's laws. However this time the application is much simpler and not as intense as if we directly used the laws to compute
the entire network. Labelling all the branch currents, we have:
The voltage across R_4 is simply V_T, so I_1 = -V_T/R_4.
Now applying KVL to the R_1-R_3-I_T loop:
\begin{align}
V_T = I_TR_1 + I_2R_3, \\
\implies I_2 = \frac{V_T - I_TR_1}{R_3}.
\end{align}
Applying KCL: I_2 = I_1 + I_T, and then substituting the values for I_1 and I_2:
\begin{align}
\frac{V_T - I_TR_1}{R_3} = -\frac{V_T}{R_4} + I_T, \\
\implies V_T\left(1 + \frac{R_3}{R_4}\right) = I_T(R_1 + R_3). \\
\end{align}
Hence, we get:
\red{Z_n} = \frac{V_T}{I_T} = \frac{R_1 + R_3}{1 + \frac{R_3}{R_4}}.
Substituting these values into the EET formula we get our final transfer function:
\begin{align}
A &= \left.\blue{A}\right\rvert_{\light{Z}\to\infty}\frac{1 + \frac{\red{Z_n}}{\light{Z}}}{1 + \frac{\green{Z_d}}{\light{Z}}} \\
&= \frac{R_2}{R_1 + R_2}\frac{1 + \frac{\red{Z_n}}{\light{R_5}}}{1 + \frac{\green{Z_d}}{\light{R_5}}} \\
&= \frac{R_2}{R_1 + R_2}\frac{1 + \frac{\red{\frac{R_1 + R_3}{1 + \frac{R_3}{R_4}}}}{\light{R_5}}}{1 + \frac{\green{R_1\parallel R_2 + R_3\parallel R_4}}{\light{R_5}}} \\
\end{align}
And that's it!
Generalized first order transfer functions.
Now you are probably disappointed because finding \red{Z_n} is fairly complex. We can rewrite EET in the following form,
which eliminates the need for nulling the output and converts it into a gain calculation, which is much easier to find.
H(\yellow s) = \frac{\blue{H_0} + \green{H^1}\red{\tau_1}\yellow s}{1 + \red{\tau_1}\yellow s}.
H(\yellow{s}) - Final transfer function.
\blue{H_0} - Gain when all (removed) elements are at zero frequency (capacitors are removed and inductors are shorted).
\green{H^1} - Gain when element numbered 1 is at its high frequency state (capacitors are shorted and inductors are removed).
NOTE: The superscript ¹ is an index not an exponent.
\red{\tau_1} - The time constant of the element numbered 1. This can be calculated by using the formula RthC₁ for capacitors and L₁/Rth for inductors.
These 3 values are easy to calculate for most systems. Let us do an example:
To find \blue{H_0}, we open the capacitor. Note that the R_2-C_5 branch is open and basically does not exist for the calculation. Hence:
\blue{H_0} = \frac{R_3}{R_1 + R_3}.
To find \green{H^4}, we short the capacitor. Applying voltage divider rule to R_1 and R_2\parallel R_3, we get:
\green{H^4} = \frac{R_2\parallel R_3}{R_1 + R_2\parallel R_3}.
Finally to find \red{\tau_4}, we find the Thevenin's resistance by shorting V_i. We get:
\begin{align}
\light{R_{th}} &= R_2 + R_1\parallel R_3, \\
\implies \red{\tau_4} &= \light{R_{th}}C_4 = (R_2 + R_1\parallel R_3)C_4.
\end{align}
Hence we get the transfer function H(\yellow{s}):
H(\yellow s) = \frac{\frac{R_3}{R_1 + R_3} + \frac{R_2\parallel R_3}{R_1 + R_2\parallel R_3}(R_2 + R_1\parallel R_3)C_4\yellow s}{1 + (R_2 + R_1\parallel R_3)C_4\yellow s}.
What's next?
Naturally the next step would be to solve a lot of problems using this theorem, to get comfortable with it. But what if you encounter multiple energy-storing elements? Or you want
to remove a pesky resistor and a pesky capacitor? Fortunately there is a more generalized form of the EET, called the nEET. Which is covered
in the next article.