A Program for Calculating the Statistical Mode of Circuits with Semiconductor Diodes and Triodes

V. V. Pfenning
Submitted 1971 | SovietRxiv: ru-197101.11967 | Translated from Russian

Abstract Generated abstract

This paper describes an ALGOL-60 program for the Minsk-2 computer that calculates the static operating mode of circuits containing semiconductor diodes and triodes. The method separates a circuit into linear and nonlinear parts, represents the linear part as a multiport, and solves the resulting equations by Newton’s method with a variable grouping of currents and voltages chosen to improve convergence. The program includes an algorithm for selecting a circuit tree according to the expected bias state of semiconductor junctions, derives matrix formulas for circuits with passive elements and independent sources, and introduces a modified Newton procedure for cases where the initial operating mode is unknown or unsuitable.

Full Text

Proceedings of the Tomsk Order of the Red Banner of Labor Polytechnic Institute named after S. M. Kirov

Vol. 231                                1971

PROGRAM FOR CALCULATING THE STATIC OPERATING MODE OF CIRCUITS WITH SEMICONDUCTOR DIODES AND TRIODES

V. V. Pfenning

(Submitted by the scientific seminar of the Department of Radio Engineering)

The program considered here was written in the ALGOL-60 language (MEI-2 translator) for the Minsk-2 digital computer. To analyze the established mode, the method of partitioning the circuit into linear and nonlinear parts is used [1]. The linear part of the circuit is represented in the form of a multiport (more precisely, a \(2n\)-port), whose inputs are the branches of the nonlinear elements. One nonlinear branch corresponds to a diode, and two to a triode. For the linear multiport one may write the equation:

\[ Y = HX + F \begin{bmatrix} I\\ E \end{bmatrix}, \tag{1} \]

where \(X\) and \(Y\) are \(n\)-dimensional vectors composed of the currents and voltages of the external branches: if the \(i\)-th element of the vector \(X\) is the current of the corresponding branch, then the \(i\)-th element of the vector \(Y\) is the voltage of this same branch, and vice versa;

\(n\) is the number of external branches;

\(H\) is a square matrix of size \(n \times n\);

\(F\) is a rectangular matrix of size \(n \times s\) (\(s\) is the number of independent sources);

\(I\) and \(E\) are, respectively, the vectors of independent current sources and voltage sources.

The vectors \(X\) and \(Y\) are found by jointly solving, by Newton’s method, equation (1) and the equations of the nonlinear elements

\[ Y = f_1(X). \tag{2} \]

Here \(f\) is an \(n\)-dimensional vector function. If the solution is carried out with respect to the vector \(X\), then we obtain the following computational scheme [2]:

\[ X^{(k+1)} = X^{(k)} - W^{-1}\!\left(X^{(k)}\right) f\!\left(X^{(k)}\right), \tag{3} \]

where

\[ f\!\left(X^{(k)}\right) = HX^{(k)} + F \begin{bmatrix} I\\ E \end{bmatrix} - f_1\!\left(X^{(k)}\right); \]

\[ W\!\left(X^{(k)}\right) = H - f'_1\!\left(X^{(k)}\right), \]

\(W\!\left(X^{(k)}\right)\) and \(f'_1\!\left(X^{(k)}\right)\) are the Jacobi matrices, respectively, for the functions \(f(X)\) and \(f_1(X)\).

The convergence of the method of successive approximations when solving by formula (3) is the better, the smaller the norm of the matrix \(W(X)\) [2], and, consequently, also the norm of the matrix \(f'_1(X)\). If all nonlinear branches are two-terminal elements (in our case, semiconductor diodes), then the matrix \(f'_1(X)\) is diagonal, each element of which is equal to the dynamic conductance of the corresponding element—if the voltage of this element is included in the vector \(X\), or to the dynamic resistance—if the current is included in the vector \(X\). Thus, in order to improve convergence, for semiconductor diodes biased in the reverse direction (having small conductance), it is necessary to include voltages in the vector \(X\), while for diodes biased in the forward direction (having small resistance), it is necessary to include current in the vector \(X\).

For a semiconductor triode, which in the present program is represented by two nonlinear branches, emitter–base and collector–base, the matrix \(f'_1(X)\) contains four elements:

\[ \frac{\partial y_{\mathrm{e}}}{\partial x_{\mathrm{e}}}, \quad \frac{\partial y_{\mathrm{e}}}{\partial x_{\mathrm{k}}}, \quad \frac{\partial y_{\mathrm{k}}}{\partial x_{\mathrm{e}}} \quad \text{and} \quad \frac{\partial y_{\mathrm{k}}}{\partial x_{\mathrm{k}}}. \]

Calculations show that the smallest values of these parameters are also obtained under the condition that, for junctions biased in the forward direction, currents are included in the vector \(X\), and for reverse-biased junctions—voltages.

In [3] it is proved that the grouping of currents and voltages of external branches into the vectors \(X\) and \(Y\) is determined by the choice of a tree of the circuit graph. It can be shown that, for the matrices \(H\) and \(F\) of equation (1) to exist under the chosen grouping of variables into the vectors \(X\) and \(Y\), it is necessary that each current variable of the vector \(X\) and each internal current source correspond to a chord, and each voltage variable in \(X\) and internal EMF source correspond to a branch of the tree.

In the present program an algorithm for choosing the tree is implemented based on the condition of ensuring the best convergence, in accordance with the recommendations given above: branches with small conductances are included in the tree branches, and those with small resistances—in the chords. The operating mode of the nonlinear elements is determined from the specified initial solution. The basis of the subroutine for forming the circuit tree is the procedure of adding one branch to a partial tree (which may consist of several subtrees).

If both nodes of the branch being analyzed already belong to one of the subtrees, or if these nodes are identical, then the branch is a chord. In all other cases the branch is added to the tree. In this case the following situations are possible:

— both nodes do not belong to any of the subtrees—the branch forms a new subtree;

— one of the nodes belongs to the \(i\)-th subtree, while the second does not belong to any of the subtrees—the branch is added to the \(i\)-th subtree;

— one of the nodes belongs to the \(i\)-th subtree, the second to the \(j\)-th; in this case the \(i\)-th and \(j\)-th subtrees are merged.

The construction of the tree begins with the EMF sources. Next, the branches of the junctions of semiconductor devices biased in the reverse direction are added to the tree, and then the resistors. Thus, if a tree can be chosen that includes all EMF sources, branches of nonlinear elements with small conductances, and part of the resistors, then after this stage it will already have been constructed. The tree is then completed (if necessary) by branches of the junctions of semiconductor devices biased in the forward direction.

To obtain the matrices of the linear part of the circuit, \(H\) and \(F\), the matrices of fundamental loops \((\Gamma)\) and loop resistances \((Z)\) are used.

In [3] a derivation is given of expressions for computing the matrix \(H\) for the case in which only passive elements remain inside the linear multiport. In the method under consideration, the multiport also contains independent voltage sources and current sources. Using the index \(MI\) to denote the set of independent current sources of the multiport, \(RC\) for passive links, \(NC\) for current inputs (external branches whose current enters the vector \(X\)), \(ME\) for independent voltage sources, \(RB\) for passive branches of the tree, and \(NB\) for voltage inputs (the branch voltage enters the vector \(X\)), we partition the matrices \(\Gamma, Z, H, F\) as follows:

\[ \Gamma = \begin{array}{c} \\[-1.2em] MI\\ RC\\ NC \end{array} \left[ \begin{array}{cccccc} E_1 & 0 & 0 & \Gamma_1 & \Gamma_2 & \Gamma_3\\ 0 & E_2 & 0 & \Gamma_4 & \Gamma_5 & \Gamma_6\\ 0 & 0 & E_3 & \Gamma_7 & \Gamma_8 & \Gamma_9 \end{array} \right] \begin{array}{cccccc} MI & RC & NC & ME & RB & NB \end{array} ;\qquad Z = \begin{array}{c} \\[-1.2em] MI\\ RC\\ NC \end{array} \left[ \begin{array}{ccc} Z_{11} & Z_{12} & Z_{13}\\ Z_{21} & Z_{22} & Z_{23}\\ Z_{31} & Z_{32} & Z_{33} \end{array} \right] \begin{array}{ccc} MI & RC & NC \end{array} ; \]

\[ H = \begin{array}{c} \\[-1.2em] NC\\ NB \end{array} \left[ \begin{array}{cc} H_{11} & H_{12}\\ H_{21} & H_{22} \end{array} \right] \begin{array}{cc} NC & NB \end{array} ;\qquad F = \begin{array}{c} \\[-1.2em] NC\\ NB \end{array} \left[ \begin{array}{cc} F_{11} & F_{12}\\ F_{21} & F_{22} \end{array} \right] \begin{array}{cc} MI & ME \end{array} . \]

Applying the equations of the loop-current method, after some transformations one may obtain the following voltages, which are used in the present program to compute the elements of the matrices \(H\) and \(F\):

\[ \begin{aligned} H_{11} &= Z_{32}Z_{22}^{-1}Z_{23}-Z_{33}; & H_{12} &= Z_{32}Z_{22}^{-1}\Gamma_6-\Gamma_9;\\ H_{21} &= \Gamma_9^{t}-\Gamma_6^{t}Z_{22}^{-1}Z_{23}; & H_{22} &= -\Gamma_6^{t}Z_{22}^{-1}\Gamma_6;\\ F_{11} &= Z_{32}Z_{22}^{-1}Z_{21}-Z_{31}; & F_{12} &= \Gamma_7-Z_{32}Z_{22}^{-1}\Gamma_4;\\ F_{21} &= \Gamma_3^{t}-\Gamma_6^{t}Z_{22}^{-1}Z_{21}; & F_{22} &= \Gamma_6^{t}Z_{22}^{-1}\Gamma_4, \end{aligned} \]

where \(t\) is the symbol of transposition.

The calculation method presented above provides good convergence of Newton’s method when the operating region of the semiconductor elements coincides with the prescribed initial operating mode. However, sometimes the operating mode of the nonlinear elements is unknown (or is specified incorrectly), or it is impossible to choose a tree that ensures the best convergence. Therefore a modification of Newton’s method, discussed below, has been introduced into the program.

Let us note that determining, by Newton’s method, at each step the vector \(X^{(k+1)}\) from formula (3) is equivalent to calculating an approximating circuit obtained from the original one by replacing the nonlinear elements with linear dynamic resistances (conductances) and sources of emf (current). The linearization is carried out at the value of the vector \(X\) obtained at the preceding step.

Thus, taking into account the conclusion obtained earlier, we see that convergence is improved when, for branches with small conductance, the linearization is performed at a specified voltage \((X^{(k)}=U^{(k)})\), and for branches with small resistance, at a specified current \((X^{(k)}=i^{(k)})\).

It may be observed that the same result that is achieved by grouping the currents and voltages of nonlinear branches into the vectors \(X\) and \(Y\), corresponding to better convergence of Newton’s method, can be obtained in the following way: at each \(k\)-th step the currents and voltages of all nonlinear branches are determined (i.e., in our case, after na-

finding the vector \(X^{(k)}\) from the linear system, the vector \(Y^{(k)}\) is determined; the linearization of the characteristics of the nonlinear elements at the \((k+1)\)-st step is carried out either at the value of the voltage \(U^{(k)}\) (the junction is biased in the reverse direction), or at the value of the current \(i^{(k)}\) (the junction is biased in the forward direction).

REFERENCES

  1. V. M. Bondarenko, Problems in the Analysis of Nonlinear Electrical and Electronic Circuits, Naukova Dumka Publishing House, Kiev, 1967.

  2. V. P. Demidovich and I. A. Maron, Fundamentals of Computational Mathematics, Nauka Publishing House, Moscow, 1966.

  3. H. C. So. “On the hybrid description of a linear n-port resulting from the extraction of the arbitrarily specified elements,” IEEE Trans. on Circuit Theory, vol. CT-12, pp. 381—387, Sept. 1965.

Submission history

A Program for Calculating the Statistical Mode of Circuits with Semiconductor Diodes and Triodes