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.

136 2. Tutorial<br />

Let’s apply solution-based approximation to the transfer function of the common-emitter amplifier<br />

calculated in the preceding section. First, we extract the list of design-point values from the<br />

DAEObject using GetDesignPoint.<br />

In[16]:= dpceamp = GetDesignPoint[ceampsta]<br />

Out[16]=<br />

C1 1. 10 7 , C2 1. 10 6 , R1 100000.,<br />

RC 2200., R2 47000., Rpi$Q1 2200., Ro$Q1 36400.,<br />

Cbc$Q1 4.39 10 12 , Cbe$Q1 7.01 10 11 , gm$Q1 0.0808,<br />

Cbx$Q1 0., RE 1000., V1 1., RL 47000., Simulator PSpice<br />

Then we let ApproximateTransferFunction remove all numerical insignificant terms from the<br />

coefficients of the frequency variable s, thereby allowing for a maximum design-point error of <br />

in each coefficient. Note that a coefficient error does not imply error on the magnitude of<br />

the transfer function in the design point. Ideally, the coefficient error should be a common factor<br />

and thus cancel from numerator and denominator, yielding zero overall error in the design point.<br />

In practice, however, there is no direct correlation between the overall error and the maximum<br />

coefficient error. The former is usually lower than the latter but may, in some cases, even be larger.<br />

In[17]:= voutsimp = ApproximateTransferFunction[ceampvout,<br />

s, dpceamp, 0.1] // Together<br />

Out[17]=<br />

C1 C2 gm$Q1 R1 R2 RC RL Rpi$Q1 s 2 V1 C1 C2 Cbc$Q1 gm$Q1 R1 R2 RC RE<br />

RL Rpi$Q1 s 3 V1 C1 C2 Cbc$Q1 Cbe$Q1 R1 R2 RC RE RL Rpi$Q1 s 4 V1 <br />

R1 R2 gm$Q1 R1 RE Rpi$Q1 gm$Q1 R2 RE Rpi$Q1 C2 R1 R2 RL s <br />

C1 gm$Q1 R1 R2 RE Rpi$Q1 s C2 gm$Q1 R1 RE RL Rpi$Q1 s <br />

C2 gm$Q1 R2 RE RL Rpi$Q1 s C1 C2 gm$Q1 R1 R2 RE RL Rpi$Q1 s 2 <br />

C1 C2 Cbe$Q1 R1 R2 RE RL Rpi$Q1 s 3 C1 C2 Cbc$Q1 gm$Q1 R1 R2 RC<br />

RE RL Rpi$Q1 s 3 C1 C2 Cbc$Q1 Cbe$Q1 R1 R2 RC RE RL Rpi$Q1 s 4 <br />

Here, the approximation process reduces the original transfer function to only significant terms.<br />

We can check the quality of the approximation by evaluating it with the design-point values and<br />

comparing it graphically with the original function.<br />

In[18]:= voutexactn[s_] = Together[ceampvout /. dpceamp]<br />

Out[18]=<br />

470. s 2 6.68943 10 8 3.00693 s 2.54816 10 9 s 2 <br />

1.15576 10 15 5.9939 10 13 s <br />

1.52545 10 11 s 2 1543.08 s 3 1.19764 10 6 s 4 <br />

In[19]:= voutsimpn[s_] = voutsimp /. dpceamp<br />

Out[19]=<br />

8.63878 10 6 s 2 0.0379242 s 3 3.29021 10 11 s 4 <br />

3.08307 10 10 1.53259 10 9 s <br />

3.92672 10 6 s 2 0.041331 s 3 3.29021 10 11 s 4 <br />

For the following BodePlot we choose a linear scaling of the magnitude values to get a better<br />

impression of the true magnitude error. It turns out that the simplified expression (dashed line)<br />

approximates the original transfer function (solid line) quite well, although it comprises only about<br />

one tenth of the terms of the latter.

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

Saved successfully!

Ooh no, something went wrong!