Vous êtes sur la page 1sur 7

LOOP GAIN CALCULATION WITH SPICE

Alberto Petrini When you have to check the loop gain of a circuit with a feedback loop, the first attempt is to break the loop, reconstruct the impedance and, after that, calculate the loop gain T. Obviously, this is not a good idea, because the DC operating point is lost and an AC analysis of the circuit gives incongruous results. A better approach is to break the loop by means of a huge inductor. Then you have to reconstruct the impedance seen after the cut, put it before the cut and decouple with a huge capacitor. The signal is injected after the cut, decoupling the test signal generator by means of a huge capacitor. The results are, unfortunately, inaccurate. There is another method, found by Professor Middlebroook of Caltech (who passed away on 16 April 2010): the GFT (General Feedback Theorem) that gives exact results. See the website www.ardem.com of Professor Middlebrook where the theoretical analysis is explained. I think that the documents on this website should be studied before reading the following text. The figures in my article were also taken from this website. The theoretical approach of Professor Middlebrook was implemented by Intusoft (ICAP/4). The first step requested is a cut in the loop where the circuit in the picture is inserted. Observe that the DC operating point isnt affected because vz and iz are AC generators.

This circuit can be inserted anywhere in the loop, but if you have many feedback paths, the circuit must be added where the different paths join together (otherwise the results will obviously be incorrect). The best you can do is to add this circuit after the summing point of the feedback, on the error signal path. If you do this, the transfer functions that will be calculated will have a physical significance. Professor Middlebrook, in order to find the transfer functions defined in the theory, regulates the amplitude of vIN, vz and iz simultaneously with some SPICE templates developed by Intusoft.

A simpler and clever application of the GFT has been proposed by Frank Wiedmann: thanks to Frank, the GFT can be applied with any SPICE simulator. The key of Frank Wiedmanns approach is to perform three AC simulations on the same circuit, each time with a different active source: 1) Simulation #1 with vz = 1 (active), ui = 0 (not active) and iz = 0 (not active). 2) Simulation #2 with ui = 1 (active), vz = 0 (not active) and iz = 0 (not active). 3) Simulation #3 with iz = 1 (active), ui = 0 (not active) and vz = 0 (not active). It does not matter if ui is a voltage or a current generator. Obviously, in a linear circuit, the superposition principle can be applied: see in the following paragraphs how the three simulations are wisely mixed together in order to find the transfer functions defined by the theory.

Calculation of H and H
The first step is the calculation of H . H is the transfer function of the circuit when T, the loop gain, or with error signal = 0 (this happens when T ).

H =

uOUT u IN

where vY and iY are the error signals at the summing point.


vY = 0,iY = 0

Let xv be a scaling factor with respect to vz = 1 and xi a scaling factor with respect to iz = 1. xi and xv will be calculated so that the conditions vY = 0 and iY = 0 are met.

v Y = xv v Y 1 + xi v Y 3 + v Y 2 = 0 i Y = xv i Y 1 + xi i Y 3 + i Y 2 = 0
Indices 1, 2 and 3 are for simulations 1, 2 and 3 respectively. Solve for xv and xi with Cramers rule (if v Y 1i Y 3 v Y 3i Y 1 0 )

vY 1 i Y1

v Y 3 xv v Y 2 = i Y 3 xi i Y 2 vY 2 iY2 vY 1 iY1 vY 1 iY1 vY 1 iY1 vY 3 iY3 vY 3 iY3 vY 2 iY2 vY 3 iY3 v Y 3i Y 2 v Y 2 i Y 3 v Y 1i Y 3 v Y 3 i Y 1

xv =

xi =

v Y 2i Y 1 v Y 1i Y 2 v Y 1i Y 3 v Y 3i Y 1

Then H can be easily derived: the scaling factors xv and xi apply to all variables (voltage or current) of the circuit.

H =
or

u OUT u IN u OUT u IN
v Y = 0 ,i Y = 0 v Y = 0 ,i Y = 0

= v OUT 2 + x v v OUT 1 + x i v OUT 3

H =

= v OUT 2 +

v Y 3i Y 2 v Y 2 i Y 3 v Y 1i Y 3 v Y 3 i Y 1 = v OUT 2

v OUT 1 +

v Y 2 i Y 1 v Y 1i Y 2 v Y 1i Y 3 v Y 3 i Y 1

v OUT 3

and, by definition, H =

u OUT u IN
v Z = 0 ,i Z = 0

Calculation of T
uY uX 1 T = ix iY
v i = 0, v Y = 0 ui =0

The next step is the calculation of T. The formulas of Professor Middlebrook are

T=

(*)

vx vY
v i = 0 ,i Y = 0

ix iY
v i = 0,v X = 0

vx vY
v i = 0 ,i Y = 0

Look at the loop gain definition (*): observe that for the calculation of T, ui = 0 and, therefore, the variables with index 2 will not appear. The simulation #2 isnt useful for loop gain calculation.

1 T

1 Ti _ vY 1

1 T v _ iY = ix iY

Ti _ vx T v _ iY

a)

Ti _ vY

v i = 0,v Y = 0

In this case, iX and iY must be expressed with the condition vY = 0.

i x 1 + q vY i x 3 = i x i Y 1 + q vY i Y 3 = i Y v Y = v Y 1 + q vY v Y 3 = 0 i x1 = iY1 q vY = vY1 vY 3 vY1 vY 3 vY 1 vY 3

1 T i _ vY

ix iY
v i = 0, v Y = 0

i x 1 + q vY i x 3 i Y 1 + q vY i Y 3

i x3 = iY3

v Y 3 i x 1 v Y 1i x 3 v Y 3 i Y 1 v Y 1i Y 3

b)

1 T v _ iY

vx vY
v i = 0 ,i Y = 0

In this case, vX and vY must be expressed with the condition iY = 0.

v x 1 + q iY v x 3 = v x v Y 1 + q iY v Y 3 = v Y i Y = i Y 1 + q iY i Y 3 = 0 q iY = iY1 iY3 iY1 iY3 iY1 iY3

1 T v _ iY

vx vY
v i = 0 ,i Y = 0

v x 1 + q iY v x 3 v Y 1 + q iY v Y 3

v x1 = vY 1

vx3 = vY 3

i Y 3 v x 1 i Y 1v x 3 i Y 3 v Y 1 i Y 1v Y 3

c)

1 Ti _ vx

ix iY
v i = 0,v x = 0

In this case, iX and iY must be expressed with condition vX = 0.

i x 1 + q vx i x 3 = i x i Y 1 + q vx i Y 3 = i Y v x = v x 1 + q vx v x 3 = 0 q vx = v x1 v x3 v x1 v x3 v x1 v x3

1 Ti _ vx

ix iY
v i = 0,v x = 0

i x 1 + q vx i x 3 i Y 1 + q vx i Y 3

i x1 = iY1

i x3 = iY3

v x 3 i x 1 v x 1i x 3 v x 3 i Y 1 v x 1i Y 3

In conclusion, the expression for the loop gain is

1 T 1 T

1 Ti _ vY

1 T v _ iY

Ti _ vx T v _ iY + i Y 3v x 1 i Y 1v x 3 i Y 3v Y 1 i Y 1v Y 3 + v x 3i x 1 v x 1i x 3 i Y 3 v x 1 i Y 1 v x 3 v x 3i Y 1 v x 1i Y 3 i Y 3 v Y 1 i Y 1 v Y 3

v Y 3 i x 1 v Y 1i x 3 v Y 3 i Y 1 v Y 1i Y 3

A first simplification can be done on the last term:

1 T

v Y 3 i x 1 v Y 1i x 3 v Y 3 i Y 1 v Y 1i Y 3

i Y 3v x 1 i Y 1v x 3 i Y 3v Y 1 i Y 1v Y 3

v x 1i x 3 v x 3 i x 1 i Y 3v Y 1 i Y 1v Y 3

An aid to reduce this complicated formula comes from the topologic relations related to the circuit.

In the first simulation (iz = 0, vz = 1):

i Y 1 + i X1 = 0 vY 1 + vX1 = 1

i Y 1 = i X1

(t1)

In the third simulation (vz = 0, iz = 1):

vY 3 + vX3 = 0 i Y3 + iX3 = 1 1 T 1 T 1 T = = =

vY 3 = vX3

(t2)

v Y 3 i x 1 + v Y 1i x 3 + i Y 3 v x 1 i Y 1 v x 3 + v x 1i x 3 v x 3 i x 1 i Y 3v Y 1 i Y 1v Y 3 v Y 3 i x 1 + v Y 1i x 3 ( i Y 1 + i x 1 ) v x 3 + v x 1 ( i x 3 + i Y 3 ) i Y 3 v Y 1 i Y 1v Y 3 v Y 3 i x 1 + v Y 1i x 3 + v x 1 i Y 3v Y 1 i Y 1v Y 3

A further simplification can be done with the topologic relations (t1) and (t2):

i X1 = i Y 1 i X3 = 1 i Y 3
And the expression for the loop gain is simplified:

1 T 1 T 1 T

v Y 3i Y 1 + v Y 1 ( 1 i Y 3 ) + v x 1 i Y 3v Y 1 i Y 1v Y 3 v Y 3 i Y 1 v Y 1i Y 3 + ( v Y 1 + v x 1 ) i Y 3v Y 1 i Y 1v Y 3 v Y 3 i Y 1 v Y 1i Y 3 + 1 i Y 3v Y 1 i Y 1v Y 3

Now, if D = i Y 3 v Y 1 i Y 1 v Y 3 is introduced:

1 T

1 D D T 1+ T

A very nice expression can be written:

D=

= v Y 1i Y 3 v Y 3 i Y 1

Dn derives directly from the GFT (see Middlebrooks GFT manual):

H = H DD n Dn = H H D

And, after Dn, also Tn can be calculated:

Dn = 1+

1 Tn

Tn =

1 Dn 1

H0 is a very easy calculation (GFT):

H = H D + H 0( 1 D) H H D H 1 D H D = H( 1+ T) H T = H + ( H H )T

H0 =

( 1 D)

( 1 D)

Vous aimerez peut-être aussi