Introduction

DC operating points, also known as the bias points or the quiescent points, are the values of the voltages and currents established in the circuit with DC sources. Devices, such as transistors, behave differently when biased with DC or AC sources. They are usually combined with resistors that ensure their proper functioning. The values of currents and voltages determined with DC voltage sources, under a certain configuration of resistors and other components, are the operating points. The bias point depends on the values of resistances and other components used along with the transistors. To find the DC operating points of a transistor circuit, we need to solve a system of nonlinear algebraic equations that describe the DC behavior of the circuit.

A common method used to find DC operating points is the Newton-Raphson algorithm. It requires an initial point close enough to the solution, which is sometimes difficult to provide. Therefore alternative methods to solve nonlinear system of equations, such as homotopies, are often applied to find the DC operating points of various circuits. In this project, we have used a software implementation of homotopy algorithm. It is composed of two programs: a parser, developed by Edward Chan improved by Andrea Dyess, and then recently further improved by Joao Eric Melo. It generates a system of equations derived from a circuit description file. A Matlab script written by Heath Hoffman implements the homotopy method to solve the system of equations. The output generated by the parser was incomplete and needed modifications that were in past done manually. The main goal of the project is to identify and correct the problems.

The page gives a rough outline of the project. The report attached in the Downloads section provides deeper insight into the topic along with the work done. 

 

[Top] DC Operating Points

The algorithm to find the DC operating points in this project is described by the scheme shown in Figure 1:

  Fig. 1. Algorithmic flow to find the DC operating points.

The circuit is described by a netlist file that is written in the well-known SPICE format. This file is then used as the input to the Parser program that in turn produces the system of nodal or modified nodal equations in a symbolic format. These non-linear equations are used by the homotopy algorithm that solves the system of equations and calculates the DC operating points of the specified circuit. The following sections give a quick explanation about the parser used in this project. 

[Top] Parser

The MATLAB algorithm that implements the homotopy method requires a system of equations in a symbolic form. The parser created by Edward Chan, improved by Andrea Dyess and then recently further improved by Jao Eric Melo receives a netlist file as the input and generates equations. A netlist file is a text file that describes a circuit, that is, its components and their connections to each other in the circuit. As an example, shown are the schematics and netlist representation of the Schmitt trigger circuit.

                 Fig. 2. Schematic representation of the Schmitt trigger circuit.

                  Fig. 3. Netlist representation Schmitt trigger circuit.

From the netlist file, the Parser generates as output the system of equations based on a nodal or modified nodal analysis. This equations describe the circuit behavior in terms of voltage and currents of each node as well as its Jacobian. A Jacobian is a square matrix of whose elements are derivatives of each function with respect to each variable. This system of equations and its Jaconbian are used as input to the MATLAB code developed by Heath Hofmann, which uses homotopy method to solve the system of equations and then find DC operating points of the circuit.

[Top] Conclusion

The parser has been improved in terms of quality of output. The equations are in the format required by the Matlab code. The equations, nodal as well as modified nodal equations, have been corrected. The Jacobians that posed a lot of issues have also been corrected to produce the result that can be used to employ homotopy. Further improvements can be made to incorporate more devices like current sources, MOSFET’s etc. in the parser. 

[Top] Downloads

The updated version of the code along with the Matlab Code and Spice Netlist file can be downloaded from the links below:


       Parser (Visual studio c++ version)

       MATLAB Code (Modified Nodal Analysis)

       PSPICE Netlist

Project report and presentation: Report and Presentation.

[Top] References

[1] L. Trajkovic, ”DC Operating points of transistor circuits,” Nonlinear Theory and Its Applications, IEICE, vol. 3, no. 3, pp. 287-300, July 2012.

[2] E. Chan, Documentation on the parser program, Technical report, UC Berkeley, 1996.

[3] A. Dyess, Finding dc operating points of chua’s circuit using homotopy methods, Technical report, University of Alabama, 1997.

[4] A. Dyess, E. Chan, H. Hofmann, W. Horia, and L. Trajkovic, ”Simple implementations of homotopy algorithms for finding dc solutions of nonlinear circuits,” Proceedings of the 1999 IEEE International Symposium on Circuits and Systems, volume 6, pages 290–293 vol.6, Jul 1999.

[5] J. Eric Melo and L. Trajkovic, Improving an electronic circuit simulator based on homotopy methods, Technical report, SFU Burnaby, 2014. 

[Top] About Jatin

Jatin Vikram Singh is a final year undergraduate student of Electrical Engineering (2012-2016) at Indian Institute of Technology, Kanpur, India.
This work was done as part of his summer internship (May 2015-July 2015) funded by MITACS Globalink program under supervision of Professor Ljiljana Trajkovic at Simon Fraser University - Burnaby.
Please email questions related to this work to jatinvs@iitk.ac.in or contact him via LinkedIn.