Home About Articles zoomlogo's site

Using FACTs to analyze circuits by inspection.

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 (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, A_v = Vo/Vi.

+ - R1 R2 R3 R4 R5 V_IN V_OUT

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 VA = Vo.

Now here is the time-consuming part: we need to solve for VA. 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 VB 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:

+ - R1 R2 C3 V_IN V_OUT

We start by forgetting about the existence of the capacitor and apply Thevenin's theorem:

+ - R1 R2 V_IN V_TH

Applying voltage divider rule, we get: \light{V_{th}} = \blue{V_i}\frac{\cyan{R_2}}{\green{R_1}+\cyan{R_2}}.

R1 R2 R_TH

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:

+ - R_TH C3 V_TH V_OUT

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 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:

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 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 A|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₅, hence \light{Z} = R_5. To compute A|Z=∞, we need to simply remove the resistor and compute the gain:

+ - R1 R2 R3 R4 V_IN V_OUT

\left.\blue{A}\right\rvert_{\light{Z}\to\infty} = \frac{R_2}{R_1 + R_2}. To compute Zd, we simply need to short the voltage source and find the resistance across the terminals:

R1 R2 R3 R4 Z_d

\green{Z_d} = R_1\parallel R_2 + R_3\parallel R_4. The procedure to find Zn may sound confusing at first (at least it was for me). What we have to do, is to insert a current source supplying IT across the terminals of the removed impedance Z. We assume that there is no output at all (rather, enforce that there is no output): (Vo = 0) and compute the voltage VT across the terminals of Z. Finally Zn = VT/IT.

+ - R1 R2 R3 R4 I_T V_IN V_T 0 V

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:

+ - R1 R3 R4 I_T I1 I2 V_IN V_T

The voltage across R₄ is simply VT, so I₁ = -VT/R₄.

Now applying KVL to the R₁-R₃-IT 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₂ = I₁ + IT, and then substituting the values for I₁ and I₂: \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 we used Kirchhoff's laws to find Zn. 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}.

+ - R1 R2 R3 C4 V_IN V_OUT

To find H₀, we open the capacitor. Note that the R₂-C₅ branch is open and basically does not exist for the calculation. Hence: \blue{H_0} = \frac{R_3}{R_1 + R_3}. To find H⁴, we short the capacitor. Applying voltage divider rule to R₁ and R₂||R₃, we get: \green{H^4} = \frac{R_2\parallel R_3}{R_1 + R_2\parallel R_3}. Finally to find τ₄, we find the Thevenin's resistance by shorting Vi. 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(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.