23.01.2015 Views

Download - Wolfram Research

Download - Wolfram Research

Download - Wolfram Research

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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

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

in the model definition.<br />

<br />

Variables −><br />

{Current[B, C], Voltage[B, C],<br />

Current[B, E], Voltage[B, E]},<br />

<br />

It remains to write the model equations in terms of the port branch variables, paying attention to<br />

the different positive reference directions assumed for the port currents as compared to I C and I E in<br />

the Ebers-Moll equations. While the latter are defined to be positive for currents flowing into the<br />

collector and emitter, positive values of Current[B, C] and Current[B, E] denote currents flowing<br />

out of these terminals. We account for this difference by changing the sign on the right-hand side of<br />

the model equations.<br />

<br />

Definition −><br />

Equations[<br />

Current[B, C] == −Is*(Exp[Voltage[B, E]/Vt] − 1)<br />

+ Is/alphar*(Exp[Voltage[B, C]/Vt] − 1),<br />

Current[B, E] == Is/alphaf*(Exp[Voltage[B, E]/Vt] − 1)<br />

− Is*(Exp[Voltage[B, C]/Vt] − 1)<br />

],<br />

<br />

To store the transistor model in the global database we wrap the complete Model definition into a<br />

Circuit structure and expand it with ExpandSubcircuits (Section 3.4.1).<br />

In[10]:= Circuit[<br />

Model[<br />

Name −> NPNBJT,<br />

Selector −> EbersMoll,<br />

Scope −> Global,<br />

Ports −> {C, B, E},<br />

Parameters −><br />

{betaf, betar, Js, Area, Global[Temperature]},<br />

Translation −><br />

{alphaf −> betaf/(1+betaf),<br />

alphar −> betar/(1+betar),<br />

Is −> Js*Area, Vt :> ThermalVoltage[Temperature]},<br />

Variables −><br />

{Current[B, C], Voltage[B, C],<br />

Current[B, E], Voltage[B, E]},<br />

Definition −><br />

Equations[<br />

Current[B, C] == −Is*(Exp[Voltage[B, E]/Vt] − 1)<br />

+ Is/alphar*(Exp[Voltage[B, C]/Vt] − 1),<br />

Current[B, E] == −Is*(Exp[Voltage[B, C]/Vt] − 1)<br />

+ Is/alphaf*(Exp[Voltage[B, E]/Vt] − 1)<br />

]<br />

]<br />

] // ExpandSubcircuits;

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

Saved successfully!

Ooh no, something went wrong!