Non-linear DC Analysis

Previous sections described using the modified nodal analysis solving linear networks including controlled sources. It can also be used to solve networks with non-linear components like diodes and transistors. Most methods are based on iterative solutions of a linearised equation system. The best known is the so called Newton-Raphson method.

Newton-Raphson method

The Newton-Raphson method is going to be introduced using the example circuit shown in fig. 3.2 having a single unknown: the voltage at node 1.

Figure 3.2: example circuit for non-linear DC analysis

The 1x1 MNA equation system to be solved can be written as

$\displaystyle \begin{bmatrix}G \end{bmatrix} \cdot \begin{bmatrix}V_{1} \end{bmatrix} = \begin{bmatrix}I_{0} \end{bmatrix}$ (3.23)

whereas the value for $ G$ is now going to be explained. The current through a diode is simply determined by Schockley's approximation

$\displaystyle I_{d} = I_{S}\cdot \left(e^{\frac{V_{d}}{V_{T}}} - 1\right)$ (3.24)

Thus Kirchhoff's current law at node 1 can be expressed as

$\displaystyle I_{0} = \dfrac{V}{R} + I_{S}\cdot \left(e^{\frac{V}{V_{T}}} - 1\right)$ (3.25)

By establishing eq. (3.26) it is possible to trace the problem back to finding the zero point of the function $ f$.

$\displaystyle f(V) = \dfrac{V}{R} + I_{S}\cdot \left(e^{\frac{V}{V_{T}}} - 1\right) - I_{0}$ (3.26)

Newton developed a method stating that the zero point of a functions derivative (i.e. the tangent) at a given point is nearer to the zero point of the function itself than the original point. In mathematical terms this means to linearise the function $ f$ at a starting value $ V^{(0)}$.

$\displaystyle f\left(V^{(0)} + \Delta V\right) \approx f\left(V^{(0)}\right) + ...
...rtial f\left(V\right)}{\partial V}\right\vert _{V^{(0)}}\cdot \Delta V \;\;\;\;$    with $\displaystyle \;\;\;\; \Delta V = V^{(1)} - V^{(0)}$ (3.27)

Setting $ f(V^{(1)}) = 0$ gives

$\displaystyle V^{(1)} = V^{(0)} - \dfrac{f\left(V^{(0)}\right)}{\left.\dfrac{\partial f\left(V\right)}{\partial V}\right\vert _{V^{(0)}}}$ (3.28)

or in the general case with $ m$ being the number of iteration

$\displaystyle V^{(m + 1)} = V^{(m)} - \dfrac{f\left(V^{(m)}\right)}{\left.\dfrac{\partial f\left(V\right)}{\partial V}\right\vert _{V^{(m)}}}$ (3.29)

This must be computed until $ V^{(m+1)}$ and $ V^{(m)}$ differ less than a certain barrier.

$\displaystyle \left\vert V^{(m+1)} - V^{(m)}\right\vert < \varepsilon_{abs} + \varepsilon_{rel}\cdot \left\vert V^{(m)}\right\vert$ (3.30)

With very small $ \varepsilon_{abs}$ the iteration would break too early and for little $ \varepsilon_{rel}$ values the iteration aims to a useless precision for large absolute values of $ V$.

Figure 3.3: Newton-Raphson method for example circuit

With this theoretical background it is now possible to step back to eq. (3.26) being the determining equation for the example circuit. With

$\displaystyle g_{d}^{(m)} = \left.\dfrac{\partial I_{d}}{\partial V}\right\vert _{V^{(m)}} = \dfrac{I_{S}}{V_{T}}\cdot e^{\frac{V^{(m)}}{V_{T}}}$ (3.31)


$\displaystyle \left.\dfrac{\partial f\left(V\right)}{\partial V}\right\vert _{V^{(m)}} = \dfrac{1}{R} + g_{d}^{(m)}$ (3.32)

the eq. (3.29) can be written as

$\displaystyle \left(g_{d}^{(m)} + \dfrac{1}{R}\right)\cdot V^{(m+1)} = I_{0} - \left(I_{d}^{(m)} - g_{d}^{(m)}\cdot V^{(m)}\right)$ (3.33)

when the expression

$\displaystyle f\left(V^{(m)}\right) = \dfrac{1}{R}\cdot V^{(m)} + I_{d}^{(m)} - I_{0}$ (3.34)

based upon eq. (3.26) is taken into account. Comparing the introductory MNA equation system in eq. (3.23) with eq. (3.33) proposes the following equivalent circuit for the diode model.

Figure 3.4: accompanied equivalent circuit for intrinsic diode


$\displaystyle I_{eq} = I_{d}^{(m)} - g_{d}^{(m)}\cdot V^{(m)}$ (3.35)

the MNA matrix entries can finally be written as

$\displaystyle \begin{bmatrix}g_{d} & -g_{d}\\ -g_{d} & g_{d} \end{bmatrix} \cdo...
...rix}V_{1}\\ V_{2} \end{bmatrix} = \begin{bmatrix}-I_{eq}\\ I_{eq} \end{bmatrix}$ (3.36)

In analog ways all controlled current sources with non-linear current-voltage dependency built into diodes and transistors can be modeled. The left hand side of the MNA matrix (the A matrix) is called Jacobian matrix which is going to be build in each iteration step. For the solution vector $ x$ possibly containing currents as well when voltage sources are in place a likely convergence criteria as defined in eq. (3.30) must be defined for the currents.

Having understood the one-dimensional example, it is now only a small step to the general multi-dimensional algorithm: The node voltage becomes a vector $ \boldsymbol{V}^{(m)}$, factors become the corresponding matrices and differentiations become Jacobian matrices.

The function whose zero must be found is the transformed MNA equation 3.23:

$\displaystyle \boldsymbol{f}( \boldsymbol{V}^{(m)} ) = \boldsymbol{G}\cdot \boldsymbol{V}^{(m)} - \boldsymbol{I}_{0}^{(m)}$ (3.37)

The only difference to the linear case is that the vector $ \boldsymbol{I}_{0}$ also contains the currents flowing out of the non-linear components. The iteration formula of the Newton-Raphson method writes:

$\displaystyle \boldsymbol{V}^{(m+1)} = \boldsymbol{V}^{(m)} - \left( \left.\fra...
...right\vert _{V^{(m)}} \right)^{-1} \cdot \boldsymbol{f}( \boldsymbol{V}^{(m)} )$ (3.38)

Note that the Jacobian matrix is nothing else but the real part of the MNA matrix for the AC analysis:

$\displaystyle \boldsymbol{J}^{(m)} = \left.\frac{\partial\boldsymbol{f}( \bolds...
...ght\vert _{\boldsymbol{V}^{(m)}} = \boldsymbol{G} - \boldsymbol{J}_{nl}^{(m)} =$   Re$\displaystyle \left(\boldsymbol{G}_{AC}\right)$ (3.39)

where the index $ nl$ denotes only the non-linear terms. Putting equation 3.39 into equation 3.38 and multiplying it with the Jacobian matrix leads to

$\displaystyle \boldsymbol{J}^{(m)} \cdot \boldsymbol{V}^{(m+1)}$ $\displaystyle = \boldsymbol{J}^{(m)} \cdot \boldsymbol{V}^{(m)} - \boldsymbol{f}( \boldsymbol{V}^{(m)} )$ (3.40)
  $\displaystyle = \left( \boldsymbol{G} - \boldsymbol{J}_{nl}^{(m)} \right) \cdot...
...V}^{(m)} - \boldsymbol{G} \cdot \boldsymbol{V}^{(m)} + \boldsymbol{I}_{0}^{(m)}$ (3.41)
  $\displaystyle = -\boldsymbol{J}_{nl}^{(m)} \cdot \boldsymbol{V}^{(m)} + \boldsymbol{I}_{0}^{(m)}$ (3.42)

So, bringing the Jacobian back to the right side results in the new iteration formula:

$\displaystyle \boldsymbol{V}^{(m+1)} = \left( \boldsymbol{J}^{(m)} \right)^{-1}...
...mbol{J}_{nl}^{(m)}\cdot \boldsymbol{V}^{(m)} + \boldsymbol{I}_{0}^{(m)} \right)$ (3.43)

The negative sign in front of $ \boldsymbol{J}_{nl}$ is due to the definition of $ \boldsymbol{I}_{0}$ flowing out of the component. Note that $ \boldsymbol{I}_{0}^{(m)}$ still contains contributions of linear and non-linear current sources.


Numerical as well as convergence problems occur during the Newton-Raphson iterations when dealing with non-linear device curves as they are used to model the DC behaviour of diodes and transistors.

Linearising the exponential diode eq. (3.48) in the forward region a numerical overflow can occur. The diagram in fig. 3.5 visualises this situation. Starting with $ V^{(0)}$ the next iteration value gets $ V^{(1)}$ which results in an indefinite large diode current. It can be limited by iterating in current instead of voltage when the computed voltage exceeds a certain value.

How this works is going to be explained using the diode model shown in fig. 3.4. When iterating in voltage (as normally done) the new diode current is

$\displaystyle \hat{I}_{d}^{(m+1)} = g_{d}^{(m)} \left(\hat{V}^{(m+1)} - V^{(m)}\right) + I_{d}^{(m)}$ (3.44)

The computed value $ \hat{V}^{(m+1)}$ in iteration step $ m+1$ is not going to be used for the following step when $ V^{(m)}$ exceeds the critical voltage $ V_{CRIT}$ which gets explained in the below paragraphs. Instead, the value resulting from

$\displaystyle I_{d}^{(m+1)} = I_{S}\cdot \left(e^{\frac{V^{(m+1)}}{n V_{T}}} - 1\right)$ (3.45)

is used (i.e. iterating in current). With

$\displaystyle \hat{I}_{d}^{(m+1)} \; \shortstack{!\\ =} \; I_{d}^{(m+1)} \;\;\;\;$    and $\displaystyle \;\;\;\; g_{d}^{(m)} = \dfrac{I_{S}}{n\cdot V_{T}}\cdot e^{\frac{V^{(m)}}{n\cdot V_{T}}}$ (3.46)

the new voltage can be written as

$\displaystyle V^{(m+1)} = V^{(m)} + n V_{T}\cdot \ln{\left(\dfrac{\hat{V}^{(m+1)} - V^{(m)}}{n V_{T}} + 1\right)}$ (3.47)

Proceeding from Shockley's simplified diode equation the critical voltage is going to be defined. The explained algorithm can be used for all exponential DC equations used in diodes and transistors.

$\displaystyle I\left(V\right)$ $\displaystyle = I_{S}\cdot \left(e^{\frac{V}{n V_{T}}} - 1\right)$ (3.48)
$\displaystyle y\left(x\right)$ $\displaystyle = f \left(x\right)$ (3.49)

Figure 3.5: numerical problem with Newton-Raphson algorithm

The critical voltage $ V_{CRIT}$ is the voltage where the curve radius of eq. (3.48) has its minimum with $ I$ and $ V$ having equally units. The curve radius $ R$ for the explicit definition in eq. (3.49) can be written as

$\displaystyle R = \left\vert\dfrac{\left(1+\left(\dfrac{dy}{dx}\right)^{2}\right)^{3/2}}{\dfrac{d^{2}y}{dx^{2}}}\right\vert$ (3.50)

Finding this equations minimum requires the derivative.

$\displaystyle \dfrac{dR}{dx} = \dfrac{\dfrac{d^{2}y}{dx^{2}} \cdot \dfrac{3}{2}...
...t)^{3/2} \cdot \dfrac{d^{3}y}{dx^{3}}}{\left(\dfrac{d^{2}y}{dx^{2}}\right)^{2}}$ (3.51)

The diagram in fig. 3.6 shows the graphs of eq. (3.50) and eq. (3.51) with $ n=1$, $ I_{S}=100\nano\ampere$ and $ V_{T}=25\milli\volt$.

Figure 3.6: curve radius of exponential diode curve and its derivative

With the following higher derivatives of eq. (3.48)

$\displaystyle \dfrac{d I\left(V\right)}{dV}$ $\displaystyle = \dfrac{I_{S}}{n V_{T}}\cdot e^{\frac{V}{n V_{T}}}$ (3.52)
$\displaystyle \dfrac{d^{2} I\left(V\right)}{dV^{2}}$ $\displaystyle = \dfrac{I_{S}}{n^{2} V_{T}^{2}}\cdot e^{\frac{V}{n V_{T}}}$ (3.53)
$\displaystyle \dfrac{d^{3} I\left(V\right)}{dV^{3}}$ $\displaystyle = \dfrac{I_{S}}{n^{3} V_{T}^{3}}\cdot e^{\frac{V}{n V_{T}}}$ (3.54)

the critical voltage results in

$\displaystyle \dfrac{dR}{dx} \;\shortstack{!\\ =}\; 0 = 3 - \dfrac{n^{2} V_{T}^...
...;\;\; V_{CRIT} = n V_{T}\cdot \ln{\left(\dfrac{n V_{T}}{I_{S} \sqrt{2}}\right)}$ (3.55)

In order to avoid numerical errors a minimum value of the pn-junction's derivative (i.e. the currents tangent in the operating point) $ g_{min}$ is defined. On the one hand this avoids very large deviations of the appropriate voltage in the next iteration step in the backward region of the pn-junction and on the other hand it avoids indefinite large voltages if $ g_d$ itself suffers from numerical errors and approaches zero.

The quadratic input I-V curve of field-effect transistors as well as the output characteristics of these devices can be handled in similar ways. The limiting (and thereby improving the convergence behaviour) algorithm must somehow ensure that the current and/or voltage deviation from one iteration step to the next step is not too a large value. Because of the wide range of existing variations how these curves are exactly modeled there is no standard strategy to achieve this. Anyway, the threshold voltage $ V_{Th}$ should play an important role as well as the direction which the current iteration step follows.

This document was generated by Stefan Jahn on 2007-12-30 using latex2html.