Symbolic Circuit Modeling and Simulation Using A Sparse Matrix: An Introduction

Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

ARTICLE PREPRINT: JANUARY 2004 (REV 06/04)

Symbolic Circuit Modeling and Simulation


Using a Sparse Matrix: An Introduction
John Rugis

Abstract The first part of this article introduces some basic


concepts and briefly contrasts electronic circuit modeling with
circuit analysis. Then a sparse matrix generalized circuit model
is built from first principles by means of an example. Finally,
examples of symbolic modeling and simulation for the purposes
of theorem development and circuit design validity checking are
presented. Note that in this article we will be considering linear
circuit elements only.

I. I NTRODUCTION

E begin with the question: What is an is an electronic


circuit? An electronic circuit is a collection of interconnected electronic components that has well-defined deterministic functionality when it is running. The functionality of
a circuit when it is running is fully characterized by
1) the electric current through each component,
2) the voltage drop across each component,
3) and the voltage potential at each of the interconnections
with respect to an arbitrary ground interconnection.
Each of the voltages has a polarity and each of the currents
has a direction and can thus be either positive or negative.
A circuit is often thought of as a system having one or more
inputs and one or more outputs. When we say that a circuit
is running what we mean is that its inputs and outputs are
(possibly constant) functions of time.
When a collection of interconnected circuit elements does
not have well-defined deterministic functionality we say that
the circuit design is not valid.
What is circuit modeling?
The modeling of electronic circuits consists of producing
a mathematical representation of the circuit and all of its
characteristics. Circuit models are an abstraction of their realworld counterpart and as such use idealized versions of real
physical components and their interconnections. The modeling
process is made easier by intentionally omitting any realworld considerations that are not of immediate interest eg.
temperature effects.
Any complete circuit model includes variables for each of
the circuits characteristic currents and voltages. Inputs are
modeled using (possibly additional) circuit components and
outputs are modeled as one or more of the characteristic currents or voltages. Circuit models are used by circuit designers
to gain insight into the functioning of circuits and as an aid
in the circuit design process.
The author is with the Department of Electrical and Computer Engineering
at Manukau Institute of Technology in Auckland, New Zealand.

We point out that circuit modeling is not the same thing


as circuit analysis. Circuit analysis typically consists of applying a sequence of simplification methods one after the
other until the answer to some specific question about the
circuits functionality has been reduced to the obvious. Circuit
analysis can be characterized by saying that is done using a
collection of tools and an as needed approach. This analysis
by simplification has the limitation that we can ask only one
question at a time about the circuit.
Modeling on the other hand can answer all questions about
the functioning of any given circuit simultaneously. Modeling
is best done with methods that seek comprehensive generalized
representation.
Models are mostly used for simulation. Simulation
means that we run the model, often but not necessarily
on a computer, and that the model behaves like the actual
physical circuit. It is reasonable to expect that a circuit model
will give us some indication when a circuit design is not valid.
Is it possible to model a linear circuit with a single
equation?
Yes! It is possible to model any given linear circuit, no matter
how complex, with a single matrix algebraic equation [1], [2].
II. A GENERALIZED CIRCUIT MODEL
We will use an example and proceed step-by-step from first
principles to construct a sparse matrix [3] generalized model.
A. Schematic diagram
Figure 1 shows a schematic diagram of a simple circuit that
contains three components (a constant independent voltage
source and two resistors) plus ground. Schematics are the
standard representation commonly used by circuit designers to
specify electronic circuits. Note that some components, such
as the resistors, can be connected in either direction without
effecting the functionality of the circuit. Other components,
such as the independent voltage source, have a polarity and
reversal changes the functionality of the circuit.
A schematic diagram can be used as an unambiguous guide
for building a real physical circuit and as such is a complete
circuit specification. But the schematic diagram alone is not
sufficient for circuit modeling.
B. Digraph
Digraphs, taken from the mathematics subject area known
as graph theory, can be used to represent circuits somewhat

ARTICLE PREPRINT: JANUARY 2004 (REV 06/04)

R1
10
+

5V

Fig. 1.

R2

20

Schematic of a simple circuit.


1

Fig. 2.

A circuit digraph.

more abstractly. Figure 2 shows a digraph representation of


the same simple circuit.
This digraph has three nodes which are shown as labeled
dots, and three branches shown as line segments with labeled
circles on them. Additionally, each branch has a small arrowhead that indicates an associated reference direction pointing
from its source node to its destination node. Note that each
branch corresponds to a circuit component and that the nodes
correspond to interconnections.
The labeling and reference directions provide the additional
information required for modeling the circuit. The digraph
highlights the circuits interconnection topology and the reference directions but omits the component types, component
values, and any possible component polarity.
C. Netlist
Another circuit representation, as used by the Spice [4]
circuit simulation program, is a circuit netlist. The netlist is
a non-graphical text-only representation. Here is one possible
netlist for the same circuit:
V1 1 0 5
R1 1 2 10
R2 2 0 20
The format for each line in this netlist is:
1) Branch label with the first character indicating component type.
2) Source node label.
3) Destination node label.
4) Numeric component value.
There are a number of conventions that are followed both with
netlists and circuit digraphs:
1) The ground node is always named 0.

2) All of the other node labels as well as all of the branch


labels are arbitrary.
3) A positive numeric value for branch current indicates
that (positive) current is flowing from the source node to
the destination node, whereas a negative numeric value
indicates that the current is in fact flowing in the opposite
direction.
4) A positive numeric value for branch voltage indicates
that voltage drops when moving from the source node
to the destination node, whereas a negative numeric
value indicates that voltage actually drops in the opposite
direction.
The netlist is a complete circuit specification that can be
used as a basis for modeling. The netlist is also conveniently
computer readable.
D. Incidence matrix.
The first step in producing a mathematical circuit representation is to construct a node-branch incidence matrix for
the circuit. The purpose of this matrix A a is to capture the
circuits interconnection topology.
For a circuit with n nodes and b branches we start with
a zero matrix having n rows and b columns. Then for each
branch column we put a 1 in the corresponding source node
row and -1 in the corresponding destination node row. The
result for the sample circuit is given by:

n0
1 0 1
n1 1
1
0
(1)
Aa =
n2
0 1 1
b1
b2
b3
Because the voltage potential at the ground node is always
zero, a reduced incidence matrix A, in which the ground node
row has been deleted, is ultimately no less informative. The
reduced incidence matrix for the sample circuit is:


1 1 0
A=
0 1 1
The dimensions of A are (n 1) b where n is the number
of nodes and b is the number of branches.
E. Kirchhoffss Current Law
Kirchhoffss Current Law states that the algebraic sum of
currents leaving any node is zero.
For the sample circuit, KCL involves all three branch
currents i1 , i2 , i3 and applies to all three interconnection nodes
n0 , n1 , n2 resulting in the following equations:
i1 i3 = 0
i1 + i2 = 0
i2 + i3 = 0
These equations can
incidence matrix and
follows:

1
1
0

be rewritten in terms of the circuits


a column vector of branch currents as

0
0 1 i1
1
0 i2 = 0
i3
0
1 1

RUGIS: SYMBOLIC CIRCUIT MODELING AND SIMULATION

In general, KCL can be expressed in matrix form as A a i = 0


and when using the reduced incidence matrix as

For the sample circuit we now have:

(2)

v1 = 5
v2 10 i2 = 0

where i is a column vector of branch currents and 0 is a


column vector of zeros.

v3 20 i3 = 0

Ai = 0

F. Kirchhoffss Voltage Law


Kirchhoffss Voltage Law in one of its most general forms
states that the voltage drop between any two nodes is equal to
the difference of the two node voltages.
For the sample circuit, KVL involves three branch voltage
drops v1 , v2 , v3 and three node voltages e 0 , e1 , e2 . Remembering that e0 = 0 this results in the following equations:

These equations can be combined and rewritten in matrix


form:



1 0 0 v1
0
0
0
5
i1
0 1 0 v2 + 0 10
0 i2 = 0
0 0 1 v3
0
0
20 i3
0
In general the characteristic equations for all linear resistive
components can be combined and written in the form
Mv + Ni = us

v1 = e1 0
v2 = e1 e2
v3 = e2 0
These equations can be rewritten in matrix form using the
transpose of the circuits reduced incidence matrix as follows:

1 0  
v1
v2 = 1 1 e1
e2
v3
0 1

where M is an array of voltage coefficients, N is an array of


current coefficients, and u s is a column vector of independent
source magnitudes. The dimensions of both M and N are bb
where b is the number of branches.
H. Sparse Matrix Model.
Now (2), (3), and (5) can

0
0
AT 1
0
M

In general, KVL can be expressed in matrix form as


v = AT e

(3)

where v is a column vector of branch voltages and e is a


column vector of node voltages.
KCL (2) and KVL (3) can be combined into the single
equation

 

 e
0
0
0 A
v
=
(4)
0
AT 1 0
i
where 1 is an identity matrix and 0 is a zero matrix having the
requisite dimensions. Note that this single equation encodes all
of the circuits component interconnections, as well as both
KCL and KVL, and holds true for all circuits. Whats needed
to finish off the model formulation is additional specific
component type information.
G. Component Characteristics.
A components type defines a characteristic vi relationship
for each branch. The vi relationship for resistors is v b = ib R
where R is the resistors resistance. For an independent voltage
source whose voltage is V the relationship is v b = V no matter
what ib is. For the sample circuit:
v1 = 5
v2 = 10 i2
v3 = 20 i3
These equations can each be rearranged to take the form:
avb + bib = ub

(5)

all be combined giving:



A
e
0
0 v = 0
N
i
us

(6)

Equation (6) is a sparse matrix generalized circuit model


for linear resistive circuits. This sparse matrix equation is
a complete model in that it encodes all of the circuits
component characteristics and interconnections as well as both
KCL and KVL. Note that the sparse matrix equation has the
form
Tw = u

(7)

where T is a square matrix with dimensions (n 1)2b where


the circuit that it represents has n nodes and b branches.
In most circuit simulation applications one or more of the
entries in u are the circuits inputs, one or more of the the
entries in w are the circuits outputs, and the entries in T
are constants. Running a simulation means that we find the
solution w to equation (7).
The complete sparse matrix equation for the sample circuit
is:

0
0 0 0
0
0 0 0
1 0 1 0
1 1 0 1
0 1 0 0
0
0 1 0
0
0 0 1
0
0 0 0

0
0
0
0
1
0
0
1

1
0
0
0
0
0
0
0

1
0
1
1
0
0
0
0
0
0
0
0
10
0
0
20

e1
e2
v1
v2
v3
i1
i2
i3

0
0
0
0
0
5
0
0

ARTICLE PREPRINT: JANUARY 2004 (REV 06/04)

Gaussian elimination and exact arithmetic yields the solution

5
e1
e2 10/3

v1 5

v2 5/3

v3 10/3

i1 1/6

i2 1/6
i3
1/6

1) Circuit design example: Is the single independent voltage source shown in Figure 3 a valid circuit design?
1
1V

V1 1 0 1

Fig. 3.

Schematic, digraph, and netlist.

which fully characterizes the sample circuit when it is running.


I. Symbolic Modeling and Simulation.
The sparse matrix circuit model equation can also be solved
using symbolic rather than numerical component values. For
the sample circuit we have:

0
0 0 0 0 1
e1
0
1
0
0

1
0 0 0 0 0 1

e2 0
1 0 1 0 0 0
v1 0
0
0

1 1 0 1 0 0

0
0

v2 = 0
0 1 0 0 1 0
v3 0
0
0

0 1 0 0 0
0
0

i1 V1
0
0 i2 0
0 0 1 0 0 R1
0
0 0 0 1 0
0
0
R2
i3
Symbolic Gaussian elimination yields the solution:

e1
V1
e2 V1 R2 /(R1 + R2 )

v1

V1

v2 V1 R1 /(R1 + R2 )

v3 V1 R2 /(R1 + R2 )

i1 V1 /(R1 + R2 )

i2 V1 /(R1 + R2 )
V1 /(R1 + R2 )
i3
Note the richness of this solution in that it effectively includes
both the series resistor formula and the voltage divider equation:
Rtotal
e2

=
=

(v1 /i1 ) = R1 + R2
V1 R2 /(R1 + R2 )

J. Circuit Design Validity Checking.


Recall that, by definition, a circuit has well-defined deterministic functionality. What we mean by a valid circuit design
is that it in fact represents a circuit having the required welldefined functionality. In terms of the model what this means
is that equation (6) has a well-defined unique solution. A
fundamental result from linear algebra states that all equations
of the form given by (7) have either
1) a single solution,
2) no solution,
3) or infinitely many solutions.
Thus, a circuit design is valid if and only if its model has a
single solution. With this in mind, we are now in a position
to explore a number of example circuit designs for validity.

Working with the circuit model in the form of an augmented


matrix and using symbolic Gaussian elimination gives the
following result:

0 0 1 0
1 0 0 V1
1 1 0 0 = 0 1 0 V1
0 1 0 V1
0 0 1 0
Which means that the solution is:

e1
V1
v1 = V1
i1
0
All of the circuits characteristics are well-defined, therefore
this circuit design is valid.
2) Circuit design example: Is the single independent current source shown in Figure 4 a valid circuit?
1
1A

I1 0 1 1

Fig. 4.

Schematic, digraph, and netlist.

The augmented matrix and symbolic Gaussian elimination


gives the result:

1 1 0 0
0 0 1 0
1 1 0
0 = 0 0 0 0
0 0 1 I1
0 0 1 0
This means that there are an infinite number of solutions as
long as the following conditions are met:
  

0
e1 + v1
=
i1
0
The circuits characteristics are not uniquely determined, therefore this circuit design is not valid.
3) Circuit design example: Is the single resistor as shown
in Figure 5 a valid circuit?
1
R1
10

1
0

Fig. 5.

Schematic, digraph, and netlist.

R1 1 0 10

RUGIS: SYMBOLIC CIRCUIT MODELING AND SIMULATION

The augmented matrix and symbolic


gives the result:

0
1
0 0
1
1 1
0
0 = 0
0 1 R1 0
0

0 0
1 0
0 1

0
0
0

Which means that the solution is:

e1
0
v1 = 0
i1
0

R1
10

R2
10

3
1

Fig. 6.

R1 1 2 10
R2 3 0 10

2
0

the augmented matrix:


0 0 0
0 0 0
0 0 0
1 0 1
0 1 0
0 0 1
0 0 0

Symbolic Gaussian

1
0

0
0

0
1
0 1
0
0
0
0
1
0
0 R1
1
0

0
0
1
0
0
0
R2

0
0
0
0
0
0
0

elimination gives the result:

1 0 0 0 0 0 0
0 1 0 0 0 0 0

0 0 1 0 0 0 0

0 0 0 1 0 0 0

0 0 0 0 1 0 0

0 0 0 0 0 1 0
0 0 0 0 0 0 0

Which means that the solution is:


e1 e2


e3


v1


v2


i1
i2

0
0
0
0
0
0

I1
1A

R1
10

2
1

I1 0 1 1
I2 1 2 1
R1 2 0 10

Schematic, digraph, and netlist.

5) Circuit design example: Is the circuit design shown in


Figure 7 valid?
We start with the augmented matrix

0
0 0 0 0 1 1
0
0
0
0 0 0 0 0 1
1
0

0
1
0
0
0
0
0
0

1 1 0 1 0 0

0
0
0

0 1 0 0 1 0

0
0
0

0
0
0
0
1
0
0
I
1

0
0 0 0 0 0
1
0
I2
0
0 0 0 1 0
0 R1 0
but after a number of elementary row operations the augmented matrix contains the row

0 0 0 0 0 0 0 0 I1 I2

Schematic, digraph, and netlist.

We start with

0
0

0
0

1A
1

Fig. 7.

All of the circuits characteristics are well-defined, therefore


this circuit design is valid.
4) Circuit design example: Do the two resistors as shown
in Figure 6 form a valid circuit?
1

I2

Gaussian elimination

The circuits characteristics are not uniquely determined as


either e1 or e2 could be a free variable, taking any value as
long as the condition e 1 e2 = 0 is met. Therefore this circuit
design is not valid.

which indicates that when I 1 = I2 there are no solutions


and the circuit is thus not valid. But what happens when the
currents are equal?
Setting I2 = I1 and continuing with Gaussian elimination
leads to the result:

1 0 1 0 0 0 0 0
0
0 1 0 0 0 0 0 0 R1 I1

0 0 1 1 0 0 0 0 R1 I1

0 0 0 0 1 0 0 0 R1 I1

0 0 0 0 0 1 0 0
I1

0 0 0 0 0 0 1 0
I
1

0 0 0 0 0 0 0 1
I1
0 0 0 0 0 0 0 0
0
The circuits characteristics are still not uniquely determined
as any one of e 1 , v1 , or v2 could be a free variable, the other
two then being determined by:
 


0
e1 + v1
=
v1 + v2
R1 I1
Therefore there are no conditions under which this circuit
design is valid.
III. C ONCLUSION .
A sparse matrix circuit model can be easily constructed
from first principles and used with both numerical as well as
symbolic component values. The utility of the model has been
demonstrated in a number of ways. Carefully selected circuit
simulations can yield fundamental circuit theorems. Symbolic
Gaussian elimination applied to the model can be used to
check circuits for design validity.

ARTICLE PREPRINT: JANUARY 2004 (REV 06/04)

ACKNOWLEDGMENT
This work was supported by a University Fellowship from
Manukau Institute of Technology and by the Department of
Mathematics at the University of Auckland.
R EFERENCES
[1] L. O. Chua, C. A. Desoer, and E. S. Kuh, Linear and Nonlinear Circuits.
New York: McGraw-Hill, 1987.
[2] J. Vlach and K. Singhal, Computer Methods for Circuit Analysis and
Design. New York: Van Nostrand Reinhold, 1983.
[3] G. Hachtel, R. Braytoni, and F. Gustavson, The sparse tableau approach
to network analysis and design, IEEE Transactions on Circuits Theory,
vol. CT-18, pp. 101113, January 1971.
[4] U. of California, spice3f5.tar.gz, July 1993, spice program source code
and documentation.

c
2004
J. Rugis
email: [email protected]

You might also like