23.01.2015 Views

Download - Wolfram Research

Download - Wolfram Research

Download - Wolfram Research

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

2.6 Modeling and Analysis of Nonlinear Circuits 97<br />

equations cannot be set up in matrix form. Therefore, whenever a netlist contains behavioral models,<br />

you must call CircuitEquations with the option MatrixEquation −> False, or as in our case,<br />

you need to switch the AnalysisMode to e.g. DC for setting up nonlinear static equations which<br />

automatically implies the setting MatrixEquation −> False.<br />

In[5]:= dnwmna = CircuitEquations[diodeNetwork,<br />

AnalysisMode −> DC];<br />

DisplayForm[dnwmna]<br />

Out[6]//DisplayForm=<br />

V$1 V$2<br />

V$1 V$2<br />

I$V0 <br />

⩵⩵ 0, I$AC$D1 <br />

⩵⩵ 0,<br />

R1<br />

R1<br />

<br />

V$1 ⩵⩵ V0, I$AC$D1 ⩵⩵ 1 V$2<br />

Vt Is$D1,<br />

V$1, V$2, I$V0, I$AC$D1, DesignPoint <br />

Here, we have set up a system of nonlinear modified nodal equations in the unknowns V$1, V$2,<br />

I$V0, and I$AC$D1. The latter symbol has been created automatically from the port current identifier<br />

Current[A, C] in the definition of the diode model. All port branch voltages have been replaced<br />

by corresponding differences of node voltages.<br />

Generally, a port current Current[x, y] in a model instance MX will be denoted by symbols of the<br />

form I$xy$MX. A port voltage Voltage[x, y] will be denoted by V$xy$MX, provided that branch<br />

voltages appear as unknowns in the selected analysis method. To examine both effects we set up<br />

the sparse tableau equations.<br />

In[7]:= CircuitEquations[diodeNetwork,<br />

Formulation −> SparseTableau, AnalysisMode −> DC<br />

] // GetVariables<br />

Out[7]= V$V0, V$R1, V$AC$D1, I$V0, I$R1, I$AC$D1<br />

We use the command GetVariables (Section 3.6.7) to extract the list of variables from the equation<br />

system. As you can see, the corresponding variables are called V$AC$D1 and I$AC$D1<br />

Solving Nonlinear Equations<br />

Solving nonlinear circuit equations analytically is, unfortunately, mathematically impossible in the<br />

general case. However, in many applications it is possible to reduce the original set of equations by<br />

eliminating a number of variables. This may already yield some qualitative insight into the behavior<br />

of a nonlinear circuit. On the other hand, we can always assign values to symbolic parameters and<br />

solve the equations numerically using NDAESolve (Section 3.7.5).<br />

Let’s derive an expression which relates the diode current<br />

I$AC$D1 to the input voltage V0 by eliminating all other variables. For this task, Analog Insydes<br />

provides the function CompressNonlinearEquations (Section 3.12.2) which removes equations and<br />

variables from a nonlinear DAEObject that are irrelevant for solving for a set of given variables. The<br />

option setting EliminateVariables −> All additionally allows for eliminating variables that occur<br />

linear somewhere in the equations.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!