Nodal Analysis#
An electric network consists of interconnected network elements. The connections are called nodes and the connecting elements between nodes form the branches of a network. The graph of a network shows the branches as lines and the nodes as dots. Below are a few definitions that we will use throughout this text:
A connected graph is a graph that has at least one path among the branches that connects all the nodes.
A sub-graph is a subset of branches with their corresponding nodes.
A closed path of branches is called a loop.
A collection of branches that isolates a sub-graph when removed is called a cut set.
A tree is a collection of branches that connects all the nodes but has no loops.
Fig. 540 illustrates the definitions of loops, cut sets and of the tree.
Fig. 540 Graph of a network, showing loops, cut sets and a tree.#
Nodal analysis provides the network’s nodal voltages from the independent currents flowing into the nodes. It is based upon the application of Kirchhoff’s current law (see Fig. 541), which states that the sum of the electric currents that flow into a node equals zero.
Networks with only voltage-controlled elements (\(I=f(V)\)) can directly be solved with the nodal analysis method. A network element is said to be voltage-controlled if its branch currents are uniquely defined by its branch voltages. This is not the case for current-controlled elements such as voltage sources. These elements have their voltage unambiguously defined by their current (\(V=f(I)\)). As we will see later, networks with both voltage-controlled and current-controlled elements can be solved using modified nodal analysis (MNA).
In the next section, we will demonstrate the nodal analysis method for a simple network comprising voltage-controlled elements only.
The procedure#
The procedure for nodal analysis is as follows:
Set up the circuit diagram, select a reference node and number all remaining nodes.
Set up the nodal equations for all nodes except the reference node.
This results in the following matrix equation:
\[\mathbf{I}=\mathbf{Y\cdot V,}\]where \(\mathbf{I}\) is the vector of independent currents that flow into a node, \(\mathbf{Y}\) is the admittance matrix that depends both on the graph and the element relations of the network elements, and \(\mathbf{V}\) is the vector of the nodal voltages with respect to the voltage at the reference node. A network having \(n\) nodes requires \(n-1\) nodal equations. The voltage of the reference node is usually assigned zero (ground potential).
Find the network solution (all nodal voltages and branch currents).
The nodal voltages are found from
\[\mathbf{V}=\mathbf{Y}^{-1}\cdot\mathbf{I.}\]The branch currents \(I(j,k)\) \(\left( j\neq k\right) \) are found from
\[I(j,k)=\left( V_{j}-V_{k}\right) Y_{j,k}.\]The transimpedance from a current \(I_{k}\) flowing into node \(k\) to a voltage \(V_{j}\) at node \(j\) is found as:
(215)#\[\frac{\mathbf{V}_{j}}{\mathbf{I}_{k}}=\mathbf{Y}_{j,k}^{-1}, \label{eq-MNAtransfer}\]in which \(\mathbf{Y}_{j,k}^{-1}\) is the coefficient \(j,k\) of the inverse of the admittance matrix \(\mathbf{Y}^{-1}\). It can be obtained as
(216)#\[\left( \mathbf{Y}^{-1}\right) _{j,k}=\frac{\mathcal{C}_{k,j}}{\det (\mathbf{Y})}, \label{eq-MNAtransferCofactor}\]in which the cofactor \(\mathcal{C}_{k,j}\) is a coefficient of the cofactor matrix \(\mathcal{C}\) of \(\mathbf{Y}\). It is defined as the determinant of the minor matrix \(\mathcal{Y}_{j,k}\), multiplied by \(\left( -1\right) ^{j+k}\). The minor matrix \(\mathcal{Y}_{j,k}\) is the matrix \(\mathbf{Y}\) with the \(j-th\) row and the \(k-th\) column left out. Hence, \(\mathcal{C}_{k,j}\) is defined as
\[\mathcal{C}_{kj}=\left( -1\right) ^{j+k}\det(\mathcal{Y}_{j,k}).\]If an independent current source is supplying a current \(I_{s}\) into node \(p\) and drawing a current from node \(q\), the transfer \(Z_{t}\) from that current source to the voltage between node \(m\) and node \(n\) is found as
(217)#\[Z_{t}=\frac{V_{m}-V_{n}}{I_{s}}=\frac{\mathcal{C}_{p,m}-\mathcal{C} _{q,m}-\mathcal{C}_{p,n}+\mathcal{C}_{q,n}}{\det(\mathbf{Y})}. \label{eq-MNAtransferComplete}\]This is illustrated in Fig. 542. Fig. 542A shows the circuit with \(I_{s}\) flowing from node \(p\) to node \(q\). This branch current can be redirected via the ground node as shown on Fig. 542B. We now have contributions to the differential voltage \(V_{m}-V_{n}\). Each transfer is modeled by one term in ((217)):
The transfer from \(I_{s}\) flowing into node \(p\), to the nodal voltage \(V_{m}\)
The transfer from \(I_{s}\) flowing into node \(p\), to the nodal voltage \(V_{n}\)
The transfer from \(I_{s}\) flowing from node \(q\), to the nodal voltage \(V_{m}\)
The transfer from \(I_{s}\) flowing from node \(q\), to the nodal voltage \(V_{n}\).
The poles of the system described by \(\mathbf{Y}\), are obtained by solving the characteristic equation:
\[\text{poles}:\det\mathbf{Y}(s)=0.\]
Example
In this example, we will derive expressions for the transfer of the current source I1 to the voltage \(V_{\ell}\) of the circuit drawn in Fig. 543. Please notice that the device identifiers (also called REFDES: reference designators) have been typeset with a fixed width font and the device values with a math font: (R1, \(R_{a}\)).
The node at the top of the current source I1 has been selected as the reference node. The value of I1 is \(I_{s}\) and the load voltage \(V_{\ell}\) is the voltage between node (0) and node (2), which equals \(-V_{2}\).
The nodal equations for nodes (1) and (2) are:
These equations can be written using matrix notation as:
or, alternatively
where
The current-to-voltage transfer can be obtained with the aid of ((217)) using \(p=0\), \(q=1\), \(m=0\) and \(n=2\), which yields \sidenote [][]{Row \(0\) and column \(0\) do not exist, because node (\(0\)) is selected as the reference node.}
where
and
After substitution of ((220)) and ((221)) in ((219)), we obtain
The transfer \(Z_{t}\) has one zero at \(s=0\) (no DC transfer) and two poles that are the solutions for \(s\) of ((221)).
In the following example, we will demonstrate the use of SLiCAP for setting-up the matrix equations for the circuit from Fig. 543 and for evaluation of the transfer.
Example
The SLICAP netlist for the circuit from Fig. 543 is listed below:
1"NA-2"
2* file: NA-2.cir
3* SLiCAP netlist for nodal analysis
4I1 1 0 {I_s}
5C1 0 1 {C_a}
6R1 0 1 {R_a}
7R2 0 2 {R_b}
8C2 2 1 {C_b}
9.param R_a=100k R_b=1k C_a=100p C_b=10n I_s=1
10.end
The SLICAP script that displays the matrix equation on a html page is:
1#!/usr/bin/env python3
2# -*- coding: utf-8 -*-
3# File: NA-2.py
4
5from SLiCAP import *
6prj = initProject('NA-2')
7instr = instruction()
8instr.setCircuit('NA-2.cir')
9instr.setSimType('symbolic')
10instr.setGainType('vi')
11instr.setDataType('matrix')
12result = instr.execute()
13htmlPage("Example Nodal Analysis")
14head2html('MNA equation')
15matrices2html(result)
The current-to-voltage transfer from expression ((222)) can also be found with SLICAP. To this end, we need to define the source and the detector, set the gain type to GAIN and set the required data type to LAPLACE. The lines 21 through 33 of the script show the way to do this:
1instr.setSource('I1')
2instr.setDetector(['V_0', 'V_2'])
3instr.setGainType('gain')
4instr.setDataType('laplace')
5result = instr.execute()
6head2html('Transimpedance')
7eqn2html('Z_t', result.laplace)
The html page generated by this script is shown in Fig. 544. The matrix equations match those of ((218)) and the expression for the gain equals ((222)).
Fig. 544 SLiCAP simulation results.#
General form of the admittance matrix#
The general form of the nodal equation (Kirchhoff’s current law) for node \(k\) is:
where:
In other words: a diagonal element \(\mathbf{Y}_{k,k}\) of the admittance matrix \(\mathbf{Y}\)\textbf{ }equals the sum of the admittances of each network element connected to node \(k\). So, the first diagonal element is the sum of admittances connected to node \(1\), the second diagonal element is the sum of admittances connected to node \(2\), and so on.
The off-diagonal elements \(\mathbf{Y}_{k,j}\) equal the sum of the negative admittances of the network elements connected between node \(k\) and node \(j\). Hence, an admittance between nodes \(1\) and \(2\) appears in the admittance matrix \(\mathbf{Y}\) at locations \((1,1)\) and \((2,2)\) with a positive sign and at locations \((1,2)\) and \((2,1)\) with a negative sign. This is shown in Fig. 545.
A network with passive elements alone, has a symmetrical admittance matrix \(\mathbf{Y}_{j,k}=\mathbf{Y}_{k,j}.\)
Voltage-controlled current sources#
Voltage-controlled current sources can easily be handled in nodal analysis. A voltage-controlled current source \(G_{x},\) with its current flowing from node \(\ell\) into node \(m\) and which is controlled by the voltage between node \(p\) (positive) and node \(q\) (negative) and a gain of \(g\) [A/V], adds, in the \(\ell\)-th row, \(+g\) to column \(p\) and \(-g\ \)to column \(q,\) and in the \(m\)-th row \(-g\) to column \(p\) and \(+g\) to column \(q.\) This is illustrated in Fig. 546.
Example
\label{example-MillerNetworkTheory}
In this example, we will determine the poles and the zeros of the transimpedance of a current-driven and RC-loaded CE-stage. Fig. 547 shows the small-signal equivalent circuit of a current-driven and RC-loaded CE-stage. The emitter terminal is taken as the reference node.
Nodal analysis yields the following matrix equation
in which
and \(R_{\ell}^{^{\prime}}=\frac{R_{\ell}r_{o}}{R_{\ell}+r_{o}}\).
Fig. 547 Circuit for the determination of the input impedance, the transimpedance and the current gain of the current-driven RC-loaded intrinsic CE-stage#
The transimpedance of this stage is defined as
The zeros are the solutions for \(s\) from
The poles of this circuit are the solutions for \(s\) from
Network transformations#
Nodal Analysis can be applied to analyze networks comprising only elements of which their branch currents can be written as a function of their branch voltages. This is not the case for, e.g., voltage sources; their current is not defined by their voltage. With the aid of network transformations, we can replace voltage sources with current sources and find the network solution with Nodal Analysis.
Any voltage source in series with an impedance can be replaced with a current source in parallel with that impedance (Norton equivalent circuit), thereby reducing the number of nodes by one. This is shown in Fig. 548.
If a voltage source is connected to a multiple of branches, it must be “shifted through the node” before it can be replaced with a current source. This shifting is known as the Blakesley Voltage Shift; it is shown in Fig. 549.
In the following example, we will evaluate the transfer of a negative feedback voltage follower with an operational amplifier and use the above transformation techniques.
Example
\label{ex-opamp}
Evaluation of the small-signal voltage transfer of a voltage follower realized with an operational amplifier.
Fig. 550 Voltage follower and its small-signal model (A) Voltage follower with operational amplifier and power supplies (B) Simplified small-signal model of (A).#
In this example, we use a simple operational amplifier model as shown in Fig. 551. This model includes the DC voltage gain \(A_{dm}\), the DC output resistance \(R_{o}\) and a first order low-pass cut-off. The complete circuit of the voltage follower with the operational amplifier and its small-signal equivalent circuit are shown in Fig. 550.
With the aid of Norton equivalent representation, the small-signal model from Fig. 550B can be further simplified to that of Fig. 552.
This circuit now has three nodes and its \(2\times2\) admittance matrix can easily be found using Nodal Analysis:
where:
Fig. 552 Norton equivalent circuit for the small-signal model from Fig. 550B.#
The source-to-load transfer can be obtained as:
Alternatively, this can be written as