Professional Documents
Culture Documents
Kelkar Filter 1982
Kelkar Filter 1982
by
Shriram S Kelkar
DOCTOR OF PHILOSOPHY
in
Electrical Engineering
APPROVED:
Dr.F.C.Lee,Chairman
&r.D.Y.Chen
Dr.C.E.Nunnally Dr.R.D.Riess
October, 1982
Blacksburg, Virginia
INPUT FILTER COI-'l.PEN.5ATION FOR
SWITCHING REGULATORS
by
Shriram S. Kelkar
(ABSTRACT)
lator and its power source due to the need of preventing the
sient response.
ing regulator from its power source thus eliminating all in-
in my research.
project.
iv
CONTENTS
ACKNOWLEDGEMENTS . . . . . . . . . . . . . . . . . . . . iv
Chapter
I. INTRODUCTION 1
v
Measurement of Transient Response and Starting
of the Regulator. 145
Conclusions . . . . . . . . . . . 160
VII. DIGITAL SIMULATION OF BUCK REGULATOR FOR TRANSIENT
ANALYSIS . . . . 162
Description of the method 162
Description of the program 171
Simulation Results . . . . 178
Appendix
A. 298
B. 325
BIBLIOGRAPHY 353
VITA .. ... 355
vi
LIST OF TABLES
Table
1. continued 240
1. continued . . . . . 241
2. Eigenvalues for different values of Rf2.. 255
2. continued 256
2. continued 257
vii
LIST OF FIGURES
Figure
Viii
18. Buck-boost converter power stage small signal
equivalent circuit 48
20. Buck converter power stage model during: (a) TON and
(b) TOFF" . . . . . . . . . . . 52
30. "
Small signal equivalent circuit with VI =0 78
lX
37. Open loop transfer function measurements with two-
staqe input filter. (a) gain (b) phase margin. . 99
x
41. (c) Open loop gain at VL=40v: Calculated values
and measured values (~J with feedforward . . 117
xi
54. Z of two staqe input filter, ~=0.075 ohm . . . . 139
xii
68. continued 177
xiii
73. Measurement with feedforward: output voltage (a) and
input filter capacitor voltage (b) . . . . . . 198
Xl.V
83. Closed loop poles with input filter, without
f eedf orward . . . . . . . 243
xv
93. Small signal equivalent circuit with v1 " =0 279
xvi
Chapter I
INTRODUCTION
lation.
1
2
between the input filter and the regulator control loop. Em-
2. Audiosusceptibility;
3. Output impedance; and
4. Transient response.
In this dissertation the problem caused by input filter
interaction and conventional input filter design techniques
Knowledge is Power
RIDlEY ENGINEERING
www.ridleyengineering.com
~ Lifetime License
Power Stage Designer Closed Loop Design
Power Stage Waveforms Automated FRA Control
Magnetics Designer LTspice® Automated Link
Transfer Function Bode Plots PSIM® Automated Link
Differential Probes
Accessories
4-Channel 200 MHz Oscilloscope
Picoscope® 5444D 4-Channel Oscilloscope
200 MHz Bandwidth
1 GS/s at 8-bit res; 62.5 MS/s at 16-bit res
Signal Generator up to 20 MHZ
Computer Controlled
Output Impedance
Embedded Computer
Intel® Computer with 32 GB RAM, 256 GB SSD
Intel® HD Graphics 620
Integrated Dual Band Wireless, Bluetooth 4.2
Dual HDMI and USB Ports, Ethernet Impedance Test Kit
Chapter II
5
6
OUTYCYCU:
INPUT Flt.TU SIGNAi. t(tl
.,
0
d(t)
ir I
. • El • er
r (£1. I1) ~'r R
-~ + te dlr l
- c rt-··-
der r
El (
l r
SWITCHING REGUlATOR
FP(S)
F (S)
I
"'
Vo
"'
v, OH~S)
"c
"'
v.
RL
Fc(S) c
.
d(t)
V - Z(s)t
I I
PULSE ERROR
MODULATOR PROCESSOR
input vol taqe and current respectively, and the lower case
ter, output filter and the control loop and the problems
(2-1)
where Fc(s)Fp(s) is the duty cycle-to-output describing
I' A
(2-2)
11
(2-3}
Vy
The first term in the brackets lz is the neqative input
even worse a neqative duty cycle power staqe gain F 0 (s). Re-
[RC + l/sC]//~
= where (2-4}
o2 z (s} + zi (s)
db
30
20
- WITHOUT INPUT FILTER
- - WITH INPUT FILTER
10
-.
-
"°
......
~
c>o
0
E -10
0
(\I
u
~ -20
:::>
.....
::J
tl.
:E
4 -30
-60
en
<'O -90
......
<>o -
Ill
...i ·120
•
·160
100 1000
t<HZ) (b)
(2-6)
14
(2-7)
..
0...-----------~--------------------------------~---
I
n
MIDIOSllSIPTlllUTY It
--
- WITHOUT tlltlUT ftl.TER II
11
--
·20 - - WI'" .-UT. fllJ'Elt
I I)
JI
.....
11
;; ·lO
JI
I I
I \
_., ,,/ \\
O·
0
0 .-.0 -------~-c:.:::...._ \
N
•
\
\
'
\
\
\
\
IO 100 1000 10000
t(HZ)
nant frequency of the two stage input filter can also cause
result from the interaction between the input filter and the
terference requirement}.
17
'•
._....
+
•
y
eo I I 1ao•
I I
I I
--..
I I
40 I I 120-
en
f
L I
Cl)
I .,,
§ 20
MEASUMM£HTS
e GAIN
I
I so- :z:
~
en
0 • PMASI ~
N
• I •
..,
I
"
---7-----
~ 0 0- C>
::I
~~
'\ 'I
', \ •·•'1
~
!:: (II
a.
~
..
~u \ 1 ~
\ • 4 "'\...
·40
-\·\ \ ~
-120•
·'...~~~ 4
•
\
\
-60 -18()•
10 IOO IK IOK
f (Hz)
input to output.
by a noticeable amount.
I
0 rY"'Y" 0
L1
TO
C1I
TO
SOURCE REGULATOR
0 0
(a)
R
TO TO
I
SOURCE REGULATOR
C1
o~----------~--------~o
( b)
w0 ={LC9
_!__ , [4,5,10]. Fiqure 9 , [4,5,lOL shows three pos-
[RC + l/sC]//~
= (2-8)
o 2zcs) + Zi(s)
er w 1 •
23
w0 • 11./Lc
w1• 11..f't7C
1
(al
(c)
peaking of H(s) and Z(s). Figure 11 shows the gain and phase
R~
w
TO TO
I
SOURCE REGULATOR
C1 C2I
0 0
dla
30
---- , ......
\
\ - AMP\.ITUOE
\
-
--PHASE
en
10 \ ,,J:
\
~
,..., l>
..... \ CJ)
u;
c,";• 0
\ -90 "',..•
Cl'
.2 \ C>·
o_
0 \ <n
.....
\
N ..IQ
.....•
·Ito
....
Q, ..
g
,_. \ en
~ -20 \
~
.q: \ -·~
\
-30
' ' ' -I -180
-40
100 1000 10000
f (HZ)
ter Z(s), since the peaking of Z(s) interacts with the con-
trol loop. The forward transfer function H(s) does not in-
I
I
I
I Switchinq
I
Preregulator I Regulator
I
I
I
I
I
I
I
I
I
I
31
32
-- Re
I r r r
vi S2
(OFF,
l~~l 0.
0
0
..I
d(t)
~
COMPENSAmN
-
LOOP
DIGITAi.
CZ R5
SIGNAi. R4 .--11-~-- A
''
PROC£5SOR
Rt
I' A3
B
"T DC LOCP R2
i ~
filter of the power stage: It was also shown that the feed-
G (5 ) = KZ ( i w )
( 3-1)
T sP (jw)
2 2
=1 + j2z;2 ~;~n2 - w /w n2 ( 3-3)
and Z(jw) has complex zeros produced by the two loop feed-
back control.
w
nl = /L~ (3-4)
1
wn2 = (3-5)
ILC
w
nl (3-6)
z; 1 = -2- Tz
w
z; 2 = n 2 (~ +RC+ RC) (3-7)
2 ~ c i
34
R4
a =-
NRy
(3-8)
L
Tz = (Ry + Rs)C2 + al\. ( 3-9)
Ry = rcR /R ) + R l_CR_l_+_~_)
(3-10)
~l 2 ~ R2
thus resultinq in
{3-14)
The open loop transfer function is of first order and is
completely independent of output filter parameters. The
adaptive nature of the control loop is apparent f.t·om the
fact that the complex zeros imitate the chanqe in the com-
senses the input filter state variables and uses the infor-
ween the input filter and the requlator control loop. Such a
feedforward loop working in conjunction with existinq feed-
error processor.
taqe across the output filter inductor and the output vol-
VI Input Power Vo
-
I
E'llter
--
Staqe
- --.
-
-
-
Input
Duty cycle Output
Filter Filter
Stata siqnal d(t) State
Variables Variables
-x.
-
Pulse Error E-
-
Modulator
~ -
Processor iE-
E'eedf orward
- t.oop Gain
power stage with input filter for the buck-boost, buck and
38
39
ure 16 {a).
{4-2)
(4-4)
(4-5)
(4-6)
40
/Zc.j. •
.lt..1
N /'
Ns
T~L + • ...,. R\..
c
I 'j
AJ~1 C.l. .Uc:.
I. 5
~L1 Li ~p
JJ (J
. =;:,
~-;i f<c..
~L.1
-r Lt> R_L
C.1 ~
A.Jc.1
AJc. c
(a)
RL1 L1 t<..s
A.Jo
. "')
R.c.1
+ . ~
A..s R.c.
TNx '-L.1
+
Ls
• -t
(<.L
.AJc.j Cl .Uc. c.
{l:>)
in Figure 16 (b).
(4-7)
(4-8)
dyCl ,. 1t1
Cl Cl (4-10)
( 4-11)
( 4-12)
1t1
u ,. [vI]
~
x - ( 4-13)
VCl
:t.. .. [v0 J
VC
TON TOFF
where
,,
Ll
Ll Ll.Lp
RCl -(Rel +Rp) 1
0
Ai • Np Np
.
(4-15)
1
-Np
0 0
Cl Cllp
-1
0 0 0
C(~ +Re)·
(~l +RCl) -1
0 0
Ll Ll
-Rl -~
0 0
A2 ,. LS Ns<Rc +I\> (4-16)
1 0 0
0
Cl
NS~ -1
0 0
cts<Re +I\> C(Rc+l\)
1 0 ]T
Bl • [ Ll 0 0 (4-17)
B2 = B1 (4-18)
cl ,..
[a 0 0
1\
RC+~ ] (4-19)
44
c [a
2 • 0 (4-20)
( 4-2 l)
(4-22)
where
d =D + d
,...
d' = D' - d
,...
y = u + u ( 4-24)
y = y + y
/\
x = x /\
+ x
.
i - [DAl + D'A2l x+ [DBl + D'B2l VI (4-25)
Def ininq
(4-26)
C • DC 1 + D'C 2
results in
v~ '"' [Cl - c2 ] X d + C x
-1
.!_(s) • [SI - A] B vI(s)
A A
... (4-29)
v ..
I
(4-30)
(4-31)
(4-32)
• 1m V source for fragile loop measurement • >90 dB gain measurements in noisy systems
PFC down to 0.01 Hz • USB 2.0 640 Mbit/s for seamless communication
• 20 V p-p to drive high power • Lifetime AP300 software license and upgrades
• 2 ohm source amplifier • Single injector for current and voltage injection
Compare
WWW.RIDLEYENGINEERING.COM
47
/\
,1Jx(s)
8
-1
(SI-A) c
"
d,.(S)
_ _ __..(A1-A1)~
------~ ( C1 - c'2.) ~
"
Vo
~L1 L1. •
I'
"
'Vz. R.c.l Kz_
(4:-33)
an equivalent circuit can be made up that is described by
the four equations given above. This circuit will use the
Figure 18.
The procedure used in deri vinq the small signal model for
19 .
(4-34)
(4-35)
--=---
dvcl 1t1 1t (4-36)
dt Cl Cl
dvc ~1t
-=- - - - - - (4-37)
dt C(RC + ~)
50
(4-38)
(4-39)
d1r_ -R 21r_
-dt ---L
(4-40)
----
dvCl
dt
1!_1
Cl
(4-41)
( 4-42)
(4-43)
(4-44)
(4-45)
x ,. (4-46)
51
R t.1 Ll RJ. L
s Vo
~
jL1 Re1 iL Re
VJ: RL
+ +
Ve1 Cl Ve c
ill
• RC.1 IL
~
Vo
VJ: RL
+ C.l
+ c
Vet Ve
(a)
(b)
where
RCl -R 1 1 -~
L L L L(RC +~)
Al• (4-48)
1 -1
0 0
Cl Cl
J
RL -1
0 0
C(RL +RC) C(~ +RC)
-·c~1 +Rc1> -1
0 0
Ll Ll
0
-Rz -~
0
L L(RC +~)
A2 .. (4-49)
1
0 0 0
Cl
0
~ 0
-1
C(~ +RC) C(~ +RC)
54
0 0 {4-50)
(4-51)
0 (4-52)
(4-53)
where
d' =1 - d (4-55)
T = TON+ TOFF
The state space averaged model is perturbed and linearized
Def ininq
A= DA 1 + D'A 2
B = DB1 + D'B 2 (4-57)
C = DC l + D'C 2
.
results in
x • AX + Bv~
+ [(Al - A2)X + (Bl - B2)VI]d (4-58)
v~ • [c1 - c2 Jxci + ci
Usinq Laplace transforms qives
The state space model is derived from the above two equa-
+ v~l - RClILd
(4-62)
dv~
cdt
- (4-63)
shown in Figure 22 .
23 .
(4-64)
--
dvCl
dt (4-65)
(4-66)
(4-67)
VC~
VO •R R,. (4-68)
c + l.I
A
Vl(s)
- I
-
A r B . .,,- -
- I
/\ A
Vo (s)
I
~!s> -
(SI- A )-1
r c ... -u
-
0\
-
....,i
A
d (s) ,
- ...- (Ai-A2)X --
·~
A
VI
~
Rc1 ,.l
\.. +./ )
~·rz ~Re ~ RL
.
Cl I I "'\ r -c I
U1
00
1:0
(4-69)
1t.
-
dvCl
dt · -
1t1
Cl - -
Cl (4-70)
~vc vc1
----+-
L(Rc + ~) L
(4-72)
(4-73)
-
The f ollowinq vectors are defined
lv:; J
I
x - (4-74)
.....
v ::I [vo]
(4-75)
z - c1-x z = c~
60
~L.1 L1 fl.1.. L
~()
.
'4..L..l
.
-<..£_ f<c.
~L.
}Jr.
+
CJ. A)~
(a)
(b}
where
RCl -R -11,
1 1
L L L L(RC +11,)
A2 • (4-77)
1 -1
0 0
Cl Cl
0
~ 0
-1
C(RC + 11_) C(RC +~)
Rc11_
Rl • RCl + R.2. + RC + 11_ (4-78)
Bl • [ L~ 0 0 0JT (4-79)
Bz • Bl (4-80)
c1 • [ o 0 0
RC :Pc lJ (4-81)
63
0 (4-82)
where
d' .. 1 - d
{4-84)
T •
(4-85)
{4-86)
v .. (4-87)
0
where
(4-88)
C = DC 1 + D'C 2
Using Laplace transforms gives
64
.. -1 ..
x(s) • [SI -A] B vI(s)
The state space model is derived from the ·above two equa-
(4-90)
...
d1r_ ~ RC~ ..
L dt - Rel 1r.1 - (Rel +R2)'1.- DD' RC+~ 1r. (4-91)
.. .. a
Re~ 1r. <D - D, ) ..
+ v c1 - D'vo + R + R- + vod
. c --i.
dvCl ... ..
cl -a-t ,. 1r.1 - 1r. (4-92)
(4-93)
in Figure 26 .
65
,. (SI-A) c
~(s) (J\
• ."'l1(A1-A1)~ (J\
.__~~~~~--(c,-c~>~
'? • •
l'J
"-C.1.
• /\
..t.L ~c.
/.. f!.L
AJ:r.
c.
I
o:J
I,_ tJ.."
0\
.....
DD 1 RcRi,
R = RR.+ RC+ ~
R IL I (D - D )
c--i. L
'
vl :: Vo+ RC+~
68
69
oped in Chapter 4.
A
d ( s)
FEED FORWARD
cessor and duty cycle pulse modulator. The power stage model
r - - - - - - - - P"OWiRsTAGE - - - - - - ,
Fu ,. I
1 VO
~
I
I
I
I
1
H 75: I
I
I
Fat I
"
Vcl I
1
I
;\
d IS
Fa2
I
~
I
F41 1L 1 I
-r
1
I
I
F42
I
- - - ----------.--..--+-1-- J
L-
r- - - -,~---------- I
I I I C3 I
I I I , I
I I I I
I I c 2, I
I . FM I
I Fa FAc I
I
I I ,.. I
L----..J I vx Fnc I
PULSE
MODULATOR L __ - - - - - - - - - - - - J
ERROR PROCESSOR
.
Figure 28: Generalized Small Signal Model
73
( 5-2)
=0
A
and
H Fll
Tll = /},.
(5-3)
Fl2
Tl2 = /},.
1 + sClRCl
H (s) = (5-4)
74
Z ( s}
= s 2 LlClRCl + sClRCl~l + sLl + ~l
2 (5-5)
s LlCl + sCl(~l + Rc1> + l
be derived:
v 0 D~(l + scRC)H
Tll = -
... =
vI
...
A
iL D(l + sC~)H
T21 = -:-- = A
VI
(5-6)
VCl a 1H
T31 = -:::-- = ~
VI
T41 = iLl
~ ==
t:. - a 1H
(RLl + sLl) t:.
VI
where
L
al = s 2 Lc~ + sCRL(R! + RC + C~) + I\
~ = al + o 2 Z(l + sC~)
(5-7)
Vo
D = duty cycle = v_J. = supply ,,.ol tage
v'
I
75
F3l = al ( 5-8)
t./H - al
F4l = ~l + SLl
(5-9)
76
z DD'R 01 R.
:t L ....
Vo
I
I\
•
,...
iL RL
Ve 1
l
"1
Hv
c
l :D
,...
Figure 29: Small siqnal equivalent circuit with d =O
77
.
These transfer functions are evaluated with v"'1 = 0 in Figure
22 . The resulting circuit is shown in Figure 30
VO Vo(l\ - o2 z) (1 + sCRc)
Tl2 = -:-
d
= 06
A
it V0 (~ - o 2 z) (1 + sC~)
T22 = -= A
Dl\6
d (5-10)
-zv0 [a 1 + 1\ (1 +
-VCl
SC~)]
T32 = A
=
d ~6
Vo(Rr, - o2 Z) ( l + sCRC)
t:' =·
• 12 D
V0 (1\ - o 2 z) (1 + SCI\)
F22 = DI\
( 5-11)
-ZV0 (a 1 + 1\(1 + SCI\)]
F32 =
1\
78
1 1
SC1 SC
(5-12)
F3 = snL
FAC = scil R4
'I:'
= _l_( 9: + 1:..) (5-13)
.. DC
sci R14 + Rx zc
Rx
R
x = R11//R12 I g = Rll
1
zc = Rl3 + sc 2
80
E'iqure 28 :
...
[ v x + c2 vcl + c3 iL"'l ]FM =d (5-14)
and
...
dF12 v
= 0
A
dF32
(5-15)
VCl = A
...
dF 42
i£1 = 6.
/'I ,,.._ /\
Subs ti tutinq for vc 1 , iLl and d from ( 5-15) in ( 5-14) re-
sults in
F
(_g)F
A M (5-16)
=
1 -
RIDLEYBOX
®
RIDLEYWORKS
®
RIDLEY ENGINEERING
81
be seen that:
(5-17)
-02
c2 = v-F (5-18)
o M
leads to
V0 FM(J\ - o2 z) (1 + sCRc)
v
A
0
= D~
( 5-19)
v
x
82
(5-20)
Thus a proper choice of the f eedf orward loop gains has re-
A ~
sulted in the transfer function v 0 /vx being completely inde-
feet, in any noticable manner, the open loop gain and phase
next.
84
Ll Sl L R1 Vo
l'n
•
Tl
Re 0
l J2
VI=-
r
~
0
~
d(t)
C2 R13
R4
R.u
PULSE R14
MODULATOR
-
R12
ER
FEED FORWARD J
CIRCUIT
, equation (5-18)
Input-Output Parameters
VI = 25-40 volts v0 = 20 volts P0 = 40 watts
(5-22)
c1 II k.0.
27p.f
o-f II k.0.
INPUT R11 TO
Flt. TER S ·I k.0. PUt.SE
CAPAC I TATOR MODULATOR
VOLTAGE 11 k.11
164.11 11 k.11
FROM INTEGRATOR
R.f2 IN FEEDBACK t.OOP
"""' v, ...
-....--
129Yle40VI llkA ll•a
_,...,...,..
.......___
.......
ICLIOl3-
.,,.,_
°"""' ....
If •• ~
measurements.
phase marqin are presented first; data made usinq the adap-
91
92
6.1 MEASUREMENTS -
OF-THE
- NONADAPTIVE FEEDFORWARD CONTROL
The buck requlator with feedforward used to obtain experi-
(6-1)
In equation (6-1) F 11 and F 12 are the power staqe transfer
functions, FDC' FM, F3 and FAc are the feedback control loop
transfer functions, as discussed in Chapter 5 (section 5.2).
2.
V0 (RL - D Z) ( 1 + sCRL)
F 2.2. = (6-3)
DRL[ D2.Z( 1 + sCRL) + c:.- l ]
93
The peakinq of Z(s) reduces the gain of both F1 ~ and Fz~ and
FDCFMVORL ( 1 + sCRc>
G'T(s) =
D a1
F3FACFMVo< 1 + sCRL)
+ (6-4)
D a1
filter output impedance and that the open loop qain with
95
identical to the gain and phase margin plots of the buck re-
I
I I
I
I
:t,, r J
'
30 I'"
l
j
~I
db
5 I-
oL
~1
.5 ~ 4
·10 2000 20000
20 200
HZ
(a)
J
I I I I I I I Ii 'I
I
150 ~ ~
~
!
135 I- 4
1
I
......
Ill 120 ~
L
...a:
Cl
105 ~
I
I
0
90 r- WITH 1,.PUT 1
75 r FILTER, WITHOUT
FEEDFOR#AAD '1
i
i
'
60;..
,, r '#ITH IMl\JT
j I
Fl~TEAAND
30 ~ FEEDFOA•AD ..j
15;..
I
()"
20 200 2000 20000
Hz
(b)
with the f eedf orward input beinq the vol taqe at capacitor C%.
phase marqin were made with and without feedforward and the
results are shown in Fiqure 37 {a) and {b). The open loop
the two staqes of the input filter because the output impe-
Fiqure 37 .
REMARKS
are noteworthy:
R3
C2I
TO TO
C1I
SOURCE REGULATOR
0 0
·5 .
-10..,L--"'--------1000
.1..-------::20::'..ono
FRt:OUENCY Utrl-
(a)
,.,
'#1111 'f((lffltWAffn
l!o() -
t "' .
tit 120 - -wnnour
"'~IM· rccon_,.,,
"~ ~
,~ -
)(I •
15
oL----'------~~..1-~-------'
llO :zoo 1000 211'100
FR£0UEHCY 11111 _.
(b)
to-
ward circuit.
and phase margin of the open loop transfer function with and
Equation (6-1) was used to calculate the gain and phase mar-
Z(s) = (6-5)
where
and phase margin with and without the two-stage input filter
for input voltages v1 = 25v, 30v, 35v and 40v. It can be
seen that the two-stage input filter resonates at two fre-
were obtained with and without feedf orward and are also
loop gain and phase margin caused by the input filter, pro-
lier. The analytical prediction that the open loop gain and
8•
ID..,...------..----.---.,--.--.-...-.....
~ ...--------.-------.....-----~--
-s
--
CD •
-
ClLD
z calculated values with input
filter, without feedforward
0
.
(~) measured values with input
8
tD
. filter, without feedforward
-....,.___________...__...__.__.__._~+-~~~""-~....l--'-'---'--'-.L.-.l""-'-1
I
I .E+2 I .E+3 1 .E~4
FREQ(HZl
8.
N
L
input filter
-
tB
-09
z
a:: •
-
C:o
I:-
w
CJ)
a:
J:O
o...~
IB
calculated values with input
filter, without feedforward
(A) measured values with input
filter, without feedforward
1.E+3 1 .E+4
FREQ(HZl
8.
1D-r-------...----.---------._......,.._-------..--------------..--
'llil'
calculated values
~ ~input filter
~
-o
--
ID~
-
CllJl
z calculated values with input
a: filter, without feedforward
08
0
.
8. {~) measured values with input
filter and with feedforward
1 .E+3 1 .E+4
FREQCHZJ
8.
~i-r-----.,....._,.--,r---r--w-..,_.~------------------
calculated values without
8. input filter
z-
LO
<D ~A/
-os
a:: .
-
CCo
l:-
w
Cf)
a:
:co
a_O
U)
.
U)
calculated values with input
filter, without feedforward
(~) measured values with input
8·~-r-----~---~-'-~.__.__._-'-"--'-+-~~~.&.----'-~'---'--'-.a....JL....l.J
filter and with feedforward
0
1 .E+2 1 .E+3 1 .E+4
FREQ(HZl
8•
~...,-------,.---~--y--r-r-i-r.,..,.~~~--~......~--------.........
-a
CD .
Clo
-a:
-N
z
calculated values with input
(!) 0 filter, without feedforward
IJ)
.
(A) measured values with input
8. filter, without feedforward
ID~------""----...__.~~-'-.L-&.~------i......--"----'-~.....i.-L..~~
I
1.e:+2 1 .E+3 l.E+4
FREQ( HZ>
8.
~--------------------~~
calculated values without
8• input 7ter
-
fa
-
z
o g.
a::
~8
- I
I
LL.I
CJ)
a:
:co
a..~
~ calculated values with inout
filter, without feedforward
8
. ______________________
(A) measured values with input.
...,_________________________ without feedforward ~
....,.
filter,
0
l .E+2 1 .E+3 1.E+4
FREQCHZl
8•
U>:.,-------.,...--..,..--.....
~ ..,..-.--.-.......----------------.------..-..--.
calculated values withou
A ..--input f i 1 ter
-s
CD .
-
Clo
-N
z
a: calculated values with input
without feedforward
053
~ilter,
.
f'
8•
~'----------.--...-----.......---------,--T'"-r--.-i-r-T""I
without
8•
-
~
-09
z
a:: .
~8
w -
CJ)
a:
J:O
a..~
~ calculated values with input
filter, without feedforward
(A) measured values with input
8•.._______.....___ ~
filter and with feedforward
__..______..._......,.._______________..__..._......
~--t
0
1.E+2 1 .E+3 1 .E+4
FREQ(HZl
8.
-o
(D~
ClN A
-eowr
-N A
z A
A
AA
8•
~----------------.------------------ .........
calculated values with input
filter, without feedforward
----
8•
-
~
-
z
Oo
a::o.
a:
:t:8
LL.I
CJ)
-
a:
:co
a..q
f6 calculated values without
input filter
(A) measured values with input
8......,______. . . .______..__.___. . . . . . . -+-------.._-------------..--.
filter, without feedforward
0
1 .E+2 1 .E+3 1 .E+4
FREQ(HZl
8.
calculated values withou
C--input filter
.
en
en
-o
O:l~
ClN
-
-N
z
~IJ) calculated values with input
--
~ filter, without feedforward
8.
8.---------------.--------------
N
-
5S
/
-a: .
z
Oo
o:::o
L:8
w
CJ)
-
a:
IO
CL~
0
lD
calculated values with input
filter, without feedforward
(A) measured values with inout
8 filter and with feedforward.
1 .E+3 1 .E+4
FREQ(HZl
8•
U),~-------r----,---.--~:""'"!1-:'"-------------_,.--..,________,_
~ I I I
.
en . .
en
-o A
m~ A
-
ClN A
-N A
z AAA
--
N filter, without feedforward 6A
A
8.
~_,__---~~~~~~ ..
calculated values without
8. filter
-
@
-
z
Oo
o:::o
a:ci
-
l:c __
0 I
1 • E+2 l . E-i·3 l . E·:·O::·
FREQ(l-lZl
8.
w
~
I I
without
~
m•
m
......
{~) measured values with input
filter and with feedforward
0
0
c:i,~-~~~--~-i..~.!.--L-~'!-!'--'-..l.-l·~~~~~~.!---!..--!'!-..!'~'-=-.,!..,;;
1.E+2 l.E~3
FREQ(HZl
8•
~-------.--..--.-.-~.1----------~.~.--
calculated values without
8• input filter
- ·A~/
-a: .
z
Oo
~o
/
l:8
w
CJ)
-
cc
:co
a.q
0
lD
calculated values with input
filter, without feedforward
are made:
ures 38 - 41 .
(4) The addition of the.feedforward loop effectively eli-
cuit is confirmed.
120
8.
lD~..,..-------T""----.---T"..................._.._.,__________________________
~
-s
--
(D •
ClLO
-08
z
a:
calculated values with input
filter, without feedforward
0
.
(A) measured values with input
8• filter, without feedforward
ID
-·-+--------"-----'---"--'--'--"-'-~--------'----"-;.....i.--.i.....&-.L...&...L.J
I
J .E+2 1 .E+3 1.E+4
FREQCHZ>
8•
le•
U)
~ calculated values without
-a:r:
~ input filter
-
filter, without feedforward
l:l'
8•
...
U)"T"______T -___,..__.,......,....,..._,_,.________,,,_______.,_.._..__..._ _
-s
--
OJ .
CllD
-08
z
a:
calculated values with input
filter, without feedforward
•
0
8•
LO
LD--------..-------....---..__....,...,...------..----....---.--..-..-......- -
('I')
lD
N
•
tB calculated values without
N input filter
-cc .
z
Oo
O:::Ul
calculated values with input
filter, without feedforward
w -
:r:~
Cf.)
cc
a..r-:
J:LO
Q)
CD
~
(~) measured values with input i
8• filter and with feedforward
0-.-------------------------+---------~----------
1 .E+3
. . . .l .E+4
--i
1.E+2
FREQ(HZl
supply voltaqe v1 = 25v; 30v, 35v and 40v usinq the same
8•
_________.,...______,__
U)
.,..."P"-!~.,...,--------------..,.-...,.....,..~.,...,...,
feed-forward
~•
~
I
fi5.
I""'
-LO
-
CD I
Cl
~I with feed-forward
8.
8
--.....
I
J.E+2
-------------------------';-------------------------1
I
1.E+3 1 .E+4
FREQCHZl
/\ I\
Fiqure 43: Measurement of audiosusceptibility (v0 (s)/vx(s)]
with and without feedforward at V1 =25v
127
8•
~•
~without feed-forward
~
I
0
LO
•
l'
-LO
CD
-
I
Cl
with feed-forward
~I
8•
8
1 .E+3 1 .E+4
FREQ(HZl
0
0 ~
LO
---------,....--------.--T"-'l~
1 .......------------.-------------
U)
N
•
co
('f') /without feed-forward
I
g
•
l'
-ID
al'
-=a:r-->w
Cl
feed-forwa:r~
.
OJ
with
r--
1
8•
1 .E+3 1 .E+4
FREQ(HZl
8•
ID
-..,------.,r----.,--.--r-r-r-..,-w--------...---...--..---------
1 ~-
~•
feed-for11ard
~•
-a:r-:
:JU>
with feed-forward
~I
8•
8
1.E+3 1.E+4
FREQ(HZl
and the output impedance Z(s) of the input filter used. Com-
8
'
o.._.-----.----.---.,..._..._...,.....,~~-------------------.-__..
N
N·1-------
51
I
.
0
0
lD
-N
-.
CD I
Cl
J :o
LD
l'
~
I
8•
~
.~---------------------..------------------.-...~
1.E+2 1 .E+3 l .E14
FREQ(HZl
Figure 47: H(s) of two stage input filter, with R3 =0.2 ohm
133
8.
~-r------,.---,.--~-,-T'""'lr-T',..,...------...---...-----------
.
0
LO
N
N
.
0
0
-LD
l:-
:r:
-
0
1 .E+3 t.E+4
FREQ(HZl
8•
LO
---------......
I --.......---ir--.,.....,--i,....,.-,...-------...----------------_.,.~
.
I
lD without feed-forward
N
~
I
~
r--•
-lD
CD
-.
I
C)
::JIJ)
CI:l'
with feed-forward
a>
l'
I
.
0
0
8--.-______.._______.._.._._..__.-.i_______._____.__________ ~
I
l .E+2 I .E+3 I .E+4
FREQ(HZl
8•
LO
7.-------r---.,---i--r-r-i~-r-r-------------r---r- ______,.__
.
U)
N
CD /without feed-forward
en
I
0
U)
•
1'
-w-,-,.__
CD' ;'
3w
a:r--
with feed-forward
w
r··
I
8.
l .E+3 1 .E+4
FREQ(HZJ
-
0
•
LD
I
LD
N
•
I
co without feed-forward
(I')
I
.
0
LD
r--
-LD
CD
-.
I
Cl
with
::>to
a:r--
CD
r--
I
.
0
0
8
-I .E+2
I
I.E+3 I.E+4
FREQ(HZl
8.
_____________.,..___ ____ _______________
U) __,, __, __,,__,,__......, __ .,....,
.
U)
I
N
without feed-forward
~
I
~•
l'
I
-LD
CD
-
I
Cl
with feed-forward
~I
.
0
0
8 __________...__...._...._..._...__...._______ __ __
,,__ _,__
-
~
_
_
,
.
.
.
_
.
_
_
,
_
.
.
.
.
.
_
~
I
1 .E+2 1 .E+3 1 .E+4
FREQ(HZl
8•
5l
N
I
·L-----
8•
_,LON
m
0
. -o
:CLO
•
8.
g .........~~-i-~-'--...Jl....-l.......l-i.....L..'-1
.-t-~~_..~_,___..._..._.--i.....&...1.
8•
~'-----------.-----..-........----------------------.--.......~
8.
8.
-o
l:ro
-
J:
0
- U)
1.E+3 1.E+4
FREQ(HZl
forward circuit.
8•
•..,-------,....--.,-...,.--,__,_,...,..,~-------------------..----
I
x without feedforward
0
LD
•
CD
I o with feedforward
8•
-a>
-
(Il I
Cl
Oo
--
NLO
•
8•
•
7-t-------'----..__.__..._...--L...J-.J4-------.a.....--""'---.L-..JL--l~-'-~
8•
~--------------------._.,,_,.. _____________________________
I
x without feedforward
fi3•
co <> with feedforward
J
8•
-Ol
-.
CD I
Cl
-
C Jo
NID
8.
~
_-t-______...____________................
...i...i------...i..----i--...i.....i.....i..-.i....i....i.~
I
1 .E+2 1 .E+3 1 .E+4
FREQ(HZl
8•
•..,-------.,---..,-__,,.._.,....'l"'""'I,.._..,....._________________________
•
x without feedforward
0
ID
•·
CD
I
o with feedforward
8•
-en
CD
-
I
CJ
--
Oo
NID
•
8.
t .E+3 l .E+4
FREQ(HZl
8•
x without feedforward
@
•
co o with feedforward
I
8.
-m
-.
CD I
Cl
Oo
--
NLD
8.
1 .E+3 1.E+4
FREQ(HZl
was seen earlier in sections 6.1 and 6.2 the effect of Z(s)
from Figures 55 - 58 .
ters are presented with and without feedforward for two cas-
es:
ters:
61 (a) and (b) , 62 (a) and (b) show the photographs of the
put filter and the regulator control are also lessened with
sient response for the case where the supply voltage is sub-
(a)
( b)
··+·
;
I I
I I I
~~:,.......--~..............-1-+.......~-+-4-+-<H---+-+-~;~1~1•1+1+1•1-.1~14!~1~1~1
I I I I
; ·.I
I
I ;
I
I I
I
I
'
;
.. I I I I I I I ·•
I I I I I I
I
(a)
( b)
Figure 60: Output filter inductor current (a) and control
voltage (b) without feedforward
(a) Y- 0.5 A/div X-1 msec/div
(b) Y-0.Sv/div X-1 msec/div
150
(a)
(b)
Figure 61: Output voltage ripple (a) and input filter
capacitor voltage (b) with feedforward
(a) Y-0.lv/div X-1 msec/div
(b) Y-Sv/div X-1 msec/di v
151
f
'it,_......, ' . '
I i
ittl.,1 I ! ,
j
I I I I I I I I I
I I I .
........,_:~_.,_._._.._. I I ,., I I I ~~I I I' I. I
; I I I .... I I I
I ; I I I I ' I
I I : I I : ' ·
--~---~-!-----:----+--- f----~----~-----;-----:---
1 I I I ··P.-· I I I
I I I I I I I
I , ,
(a)
(b)
chanqes:
ameters:
(a)
(b)
ters are presented with and without feedforward for two cas-
es:
(1) Large step change in supply voltage.
close to 20v, and since this value is lower than the design
(a)
( b)
Figure 64: Output voltage without feedforward (a) and with
feedforward (b)
(a) Y-0.Sv/div X-0.5 msec/div
(b) Y-0.Sv/div X-0.5 msec/div
157
gle stage input filter of section 6.5.1.1 was used with the
forward.
output voltage and output fil te·r inductor current were made
and (b) 66 (a) and (b). The output voltage without feedfor-
(a)
(b)
Figure 65: Output voltage (a) and output filter inductor
current (b) without feedforward
{a) Y-5v/div X-0.5 msec/div
{b) Y-1 A/div X-0.5 msec/div
159
(a)
(b)
6.6 CONCLUSIONS
Extensive measurements made to verify experimentally the
ments of the open loop gain and phase margin, closed loop
worthy:
ior the f eedf orward does not in any way deqrade the
the requlator.
7.1 DESCRIPTION -
OF -THE
- METHOD
The starting point is the definition of the buck regu-
the sum of the inteqrator output and the f eedf orward siqnal
(VITON} control mode that was used. Thus it can be seen that
feedf orward are developed [ 12, 13, 14] for the two time per-
X = Fl x + Gl u (7-1)
where
164
-~l -1
0 0 0 0
Ll Ll
l 0 0
-1 0 0
Cl Cl
-n -~RCKl ~K2 1
0 C'R O Ci(~ + RC)
l 4 Ci(~ + RC) CiR13
Fl = RC~ (7-2)
0
1 0 --(R
1 + -~ 0
L L R. RC+Ry.) L(RC+~)
0 0 0
Rr. -1 0
C (~+RC) C (~+RC)
0 0 0 ~RC ~ -1
C2Rl3(~+RC) C2Rl3(~+RC) C2Rl3
1
0 0 0
Ll
0 0 0 0
1 n
0 0
Gl = CiR14 CiR14 (7-3)
0 0 --1L 0
0 0 0 0
0 0 0
~
( 7-4)
( 7-5)
165
VI
ER
u = (7-6)
EQ
ED
where
F2 = Fl except for
F2 (2,4) = 0
F2 (3,2) =0 (7-8)
F2 (4,2) =0
and
G2 =0 except for
G2(1,1) = l/Ll
G2(3,2) = C1' 1Rl4
(7-9)
G2(3,4) = Ci n R4
166
G2(4,4) = - !.L
DF = ~F *~T -F2•s l
O e dj G2
(7-12)
ON = ~N * ~Te-Fl•sd}l
Equations (7-11) and (7-12) are used to simulate the behav-
qates the state throuqh the ON period [ 12, 13, 14] . For the
propaqate the state durinq the OFF period, with the initial
find the exact point in time when ec equals ET [ 12, 13, 14].
x(l) = iLl
x(2) = VCl
x(4)= ec (7-13)
x(S)= iL
168
x(6)= vc
x(7)= eR
-1\1 -1 0 0 0 0 0
LI Lr
1
l -1 -1
CI 0
cl (Rfl +Rf2)
0
er 0 0
l _ccf+cll -1
er 0
Cf•cl (Rfl+Rf2)
0
Cl
0 0
l -1 -~
0 0 0 L(Rl+RC) 0
'L L(~+RC)
0 0 0 0 I\ -1
0
C(Rc+l\) C(l\+RC)
0 0 0 0
RC I\ -1
I_ C2•R13 C2 • R13 (~+RC) C2 ·R13
(7-14)
1
0 0 0
Ll
0 0 0 0
0 0 0 0
Gl = 0 l n 0 (7-15)
ct •R14 Cl• R14
-1
0 0
'L
:J
0 0 0
0 0 0
169
(7-16)
K3 =
F2(5,2)= 0
and
G2(4,4)= n/C~·R 4
G2(5,4)= -1/L
Cf
Ilka
2711-f
11 kil
o-i Rf1 TO
INPUT
FILTER ~·I kil PULSE
MODULATOR
CAPAC ITATOR
VOLTAGE 11 kil
Ilk~
164il
FROM INTEGRATOR
Rp IN FEEDBACK LOOP
ion.
the current in the switch may rise above the set value of
to find the exact point in time where this occurrs and the
program will automatically terminate the ON time calculation
c BEGIN
'I
t
Set up matrices Fl,
F2, Gl, G2.
TOFF = TON(VI-Eo)/Eo
T = FRAC * TOFF
Compute q,F, DF
T = FRAC * TON
Initialize ~, output V0
and u. IT = 0
State vector
T • TOFF MIN propagation during
Calculate 'FT'DFT off time.
+ OFT * ~(t)
t = t+T
T = FRAC*TOFF; IT =0
Yes
IT = IT+l
Yes
Calculate ~FT'DFT
x(t+T) = ~
FT * x_(t)
+ D
FT * ~ (t)
+
Yes
Yes
4>N' ON
M = IT =0
T = FRAC * TON
State vector
y_(t) propagation
t = during ON time.
IT:i:O
Yes
999
Yes
100
Write: 'Maximum
iteration at
time = t'
presented in Chapter 6.
ameters:
The same buck regulator was used with its parameters as spe-
ToFF(minimum) =5 microseconds
.
2.-r---~---r--~~-.----~-r~~~--,~------
......
.
2
......
8.
o:r::=-~---::r-:---~~-1--~~~-1-~~~-+-~~___J
"b.oo 0.01 0.02 o.o3 o.o4 o os
TIMECSECSl •10~ .
8
·-----------------------------------------------
1"'"
- 6;
-
OU>
I •
-
~
"-+---------+---------+---------+---------t----------1
'Lb.co 0 • 04 0 • 09 0 . 13 .. 0 . 18 0.22
TIME(SECSl *to-~
8•
~----------------~-------
.
~
.....
u
>~
~
•
m
N
.
~
cn-+-~~~--1~~~~-+-~~~~-+-~~~--1~~~~-1
"b.oo 0.04 0.09 0.13 e 0.18 0.22
TIME(SECSl *10-w
i
..:"T"'"'--------,--------....---------------------------
...
~
0,..,-----------..-----------.---------,----------------------
~
0
.
-
C J)('
J-oo
...J •
ao
-
>
lJ..
>w
(1)
0
.
0 . 04 0 . 09 0 • 13 0 . 18 0.22
TIMECSECSl *10~
8
r-·-r--------n--------r.------~l""l'"'"------.._..--------
te.
-
-
0 . 04 0 . 09 0 . 13 0 . 18 0.22
TIMECSECSl •10~
~•
~-------------------------
w
.....
~
ww
~
0
0
.
N
8.
0-+-~~~~~~~~..._~~~~~~~~..._~~~~
~.00 0.04 0.09 0.13 s 0.18 0.22
TIMECSECSl *10-
f eedforward.
ments for the same step change in supply voltage were pre-
sented in Chapter 6 and are repeated here for convenience;
0
LD .
~·-r---~~~-r-~--~~--------~--~~~--..-~~~--
-~~~
en
.
........IPl'l!1!
-.....
.'":·:7~. ::.::.· ..... · . ."':.
( J)lD
~
...Jm
o-
>
.......
0
>a>
en .
-
(J)
8•
~:;-~~~~;-~~--~-t-~~~~+-~~~~4--~~~---1
o . oo o . 02 o . os o . 07 o . 1o o . 12
TI ME CSECS l ~E 10- 1
8.
U). _____________________________,___________________
8.
-
~
-.....
U )O
~
...JI"
om
->9
>
u
•
m
m
8,____ _
.
~.00 0.02 0.05 0 .07 0. 10 0.12
TIMECSECSl ~ 10- 1
~
~,'"I"'----------.,-----------,.-----------.-----------------------
~
-•
-
...J
···-.
•
O;----------t----------r----------+----------'----------J
'o.oo 0.02 0.05 0.07 0.10 0. 12
TIMECSECSl • 10·1
~.
-
en
-r-r:
Cf)Ul
...Jm
o-
->
0
>~
-
m•
8.
-
m........~~~~+-~~~--ii--~~~-+-~~~~-~~~~---t
0 . 00 0 . 02 0 . 05
TI ME CSECS)
0 . 07 0 . 10
* 10- 1
0 . 12
8.
8.
-....
UJO
~
_J['
om
-u>O
>
0
m
.
(Y')
m-1-~~~---11--~~~-..~~~~-+-~~~--1~~~~-t
"b . 00 0 • 02 0 . 05 0 . 07 0 . 10 0 . 12
TI ME CSECS l * 10· 1
@
N·.....------------.....------------..,.-------------,--------------,i-------------,
~•
C>-1-~~~~~1--~~~~-+-~~~~--'t--~~~~'"'i-~~~~-;
'o.oo 0.02 o.os o.o7 0.10 0.12
TI ME (SECS l 31E 10-1
-
U)
U>
(a)
(b)
I
I
-+---+--+---+-----+---+--+---+-
I I I
• I I -
I I I
(C)
(ci)
(a)
(b)
tt I
I
I
I
I
I
I I --
-.....-{_........_,_:~~,t---...,.~-I~;_____._;--·-_......
: ; : ; j~
;--+-- -..- -:- ---+---+--- +----1'----~- - ---:--- - -,---
! . I
' I
I ! I
I
! I
I
· t-<·
I
(c)
(d)
Chapter 6.
as experimental data.
0
0 .
~.
0
N
-
(J)C
I-~
_J(J')
o-
-
>
0
>LD
('
.
-
co
.
0
0
0)-4-~~~~-r-~~~~-t-~~~~-t-~~~~-+-~~~~-ll
-0 . 00 0 . 02 0 . OS 0 . 07 0 . 10 0 . 12
TI ME CSECS ) * 10- 1
0
0 .
i-------'--
0-.-~~~~--~~~~....-~~~~--~~~--~~~~--
oq-
0
0
LJ)
.
(Y)
uo
>~
U')
N
.
0
0
0--~~~~---~~~~..._~~~~i--~~~~~~~~-i
~.oa a.02 a.as 0 .a7 0. 10 0.12
TIME(SECSl * 10- 1
IJ.)
N
.
N
-
-. IJ.)
I'
0
0
0 .
.
0
LO
O'>
._o
(f)o
_J •
aoo
>
.....,
u
WO
LO .
<.O
0
0
ub.oo
"-+-~~~~~-1--.1.~~~~1~~~~~~~~~~~-1-~~~~~~
.
0
0
.
LD
N
0
N
(J)O
I-~
_JO)
a-
>
CJ
.
>LD
('
-
Q)
.
0
0
°'--~~~~--~~~~-~~~~~~----~~~~---~~~----!
-0.00 0.02 0.05 0 .07 0. 10 a. 12
TIMECSECS) * 10- 1
0
0
___
. .,.._
_.. __
0.,-----..,-----..-----.--------.---~--
~
8.
~
......
-uo
>~
lJ)
N
0
0
.
0.02 o.os 0. 07 0. 10 0. 12
TIME(SECSl ~·~ 10- 1
"'
0
U)
en
en
CD
N
......
(Lr:
(J)U)
I:-
a:
-. Q)
Q)
frt~~'.?~'!m~r:~~~"':-~0~:7"-,;~''C-'l
0
~iILiliE13~;uJ[~;~ii;~~r;;~B~~:;;,~~;.:;c;~~,~~:~:r~iL~Jh•isili.~u;J
0
0
8.
~.
m
-
( J)o
1-o
_J •
QCO
->
(a)
(b)
goes down close to 20V in both cases. For such a low input
voltage to the regulator the duty cycle would have to be
tion and testing that the f eedf orward does not have any de-
isolates the regulator from the input filter; any input fil-
213
214
ter can be used with the buck regulator without causing loop
instability.
are:
x(S) = eR
x(6) = ec
in Chapter 7:
equations (7-2) and (7-8) are moved to the sixth place with
tions (7-2) and (7-8) are moved into sixth place with the
other columns beinq moved up one place in a manner similar
During TOFF
+ D • u
N -
The matrices ~· jdF , DF and DN are defined, as is time step
T, exactly as in Chapter 7.
From (8-3) the following is derived [15,16,17]
(8-4)
• u
K
is fixed and TOFF is determined by the point at which ec in-
tersects the threshold voltage ET :
6 4
ET = l 4>F ( 6, I} • x (I} + l OF (6 ,J} • u(J) (8-5)
I=l J=l .
K
ToFF is thus a function of ~(tK ) and (8-4) is a nonlinear
equation [15,16,17]. Equations (8-1) - (8-5) thus represent
exactly the nonlinear buck regulator system without feedfor-
ward.
For the purpose of stability analysis the steady state
or equilibrium state is necessary [15,16] and this is der-
ived as
( 8-6)
o~ (tK+l)) = { 4>N •
a
ax GF . ~(tK) + D
F
•
~} o~(tK) (8-8)
x*
218
d(t) •I' I l
I K I
Tp )I
·~I I
I
K K+l
TON TOFF~ TON ~TOFF--+
r
time
( 8-9)
x(l) = iLl
x(2) = VCl
x(3) = vf (voltage at capacitor Cf)
x(4) = iL (8-11)
x(S) = VC
x(6) =~
220
x(7) = ec
During TON
Ji = Fl.,2S + Gl.y (8-12)
During TOFF
~
.= E'2.~ + G2.y (8-13)
Matrices Fl, F2, Gl and G2 of equations (8-12) and (8-13)
and the matrix r/t are identical to the case without feedfor-
ward.
A computer program was written to calculate the matrix
fr and its eigenvalues both without and with feedforward. It
can be easily seen that by changing the single stage input
dix.
221
calculation of eigenvalues.
tion (8-6) is not valid for the last state variable ec since
the exact steady state values [15,16]. The best way of det-
ermining the exact steady state is to determine the exact
(8-15)
ZT =
with ZT(6) = ET
The cycle-to-cycle matching condition is expressed as:
222
+ I
J=l
ON ( 6 , J) • u ( J )]
BEGIN
Compute approximate
steady state values
FUNl(~* + Dx (I) ) = GF
• x + DF . (8-17)
ajx* + Dx (I)
FUN2(~* - Dx (I)) = GF . x + DF .
ajx* - Dx(I)
(8-18)
(8-20)
6 4
ZETA= l 4>F(6,I) • XA(I) .., l DF(6·,J) u(J) - ET (8-21)
I=l J=l
225
BEGIN
I=O
IRICH=O
2000
I=I+l
2010
IRICH=IRICH+l
XA = XB = X
DX (I) =CON (RICH) •X(I)
XA(I)=X(I) + DX(I)
XB(I)=X(I) - DX(I)
TFFCl=TOFFB
IT=O
Calculate ~F' DF
1101
Calculate ZETA
Yes
1102
Yes
1003
SLOPE=(ZETAN-ZETA)/DTOFF
TFFC1 = TFFCl -
(ZETA/SLOPE)
Calculate ~F' DF
IT=I +
1101
1102
Calculate FUNl
TFFC2 = TOFFB
IT = 0
Calculate 1Pp, D
1103
Calculate ZETA
Yes
1104
Yes 1003
SLOPE = (ZETAN-ZETA)/
DTOFF
TFFC2 = TFFC2 -
(ZETA/SLOPE)
Calculate rl>p' DF
IT=IT+l
1103
1104
Calculate FUN2
and RVAL(IRICH)
Yes
2010
Perform Richardson's
Extrapolation on RVAL
Yes
2000
1003
905
Calculate, ~ and
its eigenvalues
905
is evaluated.
tained.
lue the vectors FUNl and FUN2 are calculated. This results
en.
231
culated. The expression for the closed loop gain v"0 /v"1 can
forward:
(8-25}
lier.
tion (8-28) for the case without input filter. The resulting
P 1 (s} = s 4 (K 7 K6 LC} +
3
S (K 7 K6 K8 + K7 CiLC + K 5 K 4 C~) +
s 2 (K 7 CiKa + K7 K6 + K3 K2 CRC + K5 K4
(8-26}
+ K5 nL c ~} +
+ K3Kl
232
the roots of P1 which are the closed loop poles of the sys-
= S 6 (K 7 K6 Y8 ) +
+ K4KSY6) +
+ K3K1Y4
233
V1 = 25 v R 13 = 200 Kohms
Ci. = 100 pf RL = 10 ohm
The values of R 13 and C 2 were changed so that the compensa-
er.
The eigenvalues and poles are:
Thus
crT
Iz I = e (8-29)
lz = wT
genvalue program once the closed loop poles are known. Equa-
from the eigenvalue program. The two poles on the real axis
Next the single stage input filter was put in and the
50, 150, 325, 450, 650, 800, 1000, 1425 and 1800 microH
lues above 800 microH the eigenvalues do not move much; the
236
'
I r ----. -·--
I I I i
I i i i I
II i "'I
!
l I
I
;
I 1 l
--..,_. --
i ..:..1 I i
I
i l I
-. ....... ....
I .i- I-·--·- I '
- ...1-
~..J-
.. !
....... . ~ I
I
~,
I -
~
~ ....
'·
! tS I
·-
tJj I
I I
!
-.
:I I ~l ! i ' i I
I ~ I I
I I I I
I "j I
I
!
..j i l
-
I
I ~
'
i I ~I i I I
i !
'
I I I !
i !
I
I
I U\ I
a
~
I
I I I I I
i
I I I I I I
I
I
I
I !
i I
I I I i I
i :
I ! ! ~ I I
I I
I I i I !I
• !
i I 'i i I
' ! I !
I I I I i i I i I I
i I I
I
I
I
..
i
I I i I I !
I I I I C) I ! !
i ! I !
;
0
..
I
I iI
i I ! i I i I
co
I
i I I I I ; '
! I i ~ I I I I i d)
! l i
.
!' I l-1
I -• I I i o4 i I -ct &
,
.~
·rt
Cz.i
I 61 Q t;i 0 9 I I !
'
! I I I I
I I
' I I I
I I ! i ! !
I I
I
I I I !
:
I I ! I
I
l
I I
! I I
I Ol
I
I
I
I I I
i
l
i I !
I
I
I ~I I l I I :I !
i I i I I I
I
iI I I
I I
I I I I
~-' ! I !
237
I ! 'I ·1
!
I I I -,-,
I
.. I
Q
0
I
I I
!
I I
I I I I '
!
Q
Q 1... t .....-
'o .9
.;,
~ ~
0
'
~ I~ ' Q
I
I )I(
I
~ I g
I I l( I i
,-
i"'
...I
I
I
I
I
I
I
I
I
I • i
I
'
I
! i i
!
i ! i
! I Cl I
I
i I
I !
! I
~ ~ I
I I l I
I
I
!
I ! I I l
l I
I I
I
I I
I
' I i I
I
I I I I I
i
II I
i
I I I i ; I l I ;
"''
I ! I
' '
I iI i
! I I I ~I I !
!
i ! I I
I '' ;
I i ! I i' i I l I
I I 11I I I
I
I ''
I
' : I
I i
;
I
I ! ! i
I
I
I
I i I !
I
'
I "'C
I !
I I I ! : I
I
I
I I I
I
: I
:
Q)
Ul
' I I
0
I
I ! ! I
l ! s•I I I I
! ! I
i
I '; .-l
I
u
I t I
I I '
I I I
I I ! ~ j I I l I
I
I
I
'!
I i i I I I I
l
I
I I I
I
!
I
I : I
I i I
! i I
I
I
I I i iI
I I '
' 'I
~~ I I
.
I
! I I i
(I I
Q I
I I I I Jl ! I
! !
; I
I i i
..!c
~,
I ! I i
'
; I I 'i i I
I
I
I I I t !
i i I ! I .
!
I I I
I
I
i I I
;
.
I \
I I I I I
II i I I I i I i I I'
i
!
I I
I I I : I l I I
I i I
I
: I
I I I '
' I I I
I i
I i I i
I
I II I !
;
I I I
I I
I
I
;
I
I
!
I
I
'' I
I
I
! i I !
I
I I I
I I I !
I
I i i !
i
i
I
'
238
real part stays at around 1. 003 for the ones outside the
unit circle and around 0.97 for the ones inside. This may
TABLE 1
-0.00274 + jO -55,045 + jO
0.1234 + jO -50,005 + jO
j 0.348 j 9314
j 0.1025 j 2227
-0.0028 + jO -55,045 + jO
0.1233 + jO -50,005 + jO
0.9457 :I: -662 :I:
j 0.1026 j 2227
-0.003 + jO -55,045 + jO
0.1233 + jO -50,005 + jO
j 0.1539 j 3725
0.9851 :I: -271 :I:
j 0.103 j 2232
240
TABLE 1
continued
-0.003 + jO -55,045 + jO
0.1233 + jO -50,005 + jO
L = 450f-H 0.971 : -323 ..
j 0.132 j 3165
0.9897 .:. -214 .:.
j 0.1026 j 2237
-0.003 + jO -55,045 + jO
0.1233 + jO -50,005 + jO
L = 650f" H 0.97 : -419 :I;.
j 0.1162 j 2684
j 0.0954 j 2189
-0.003 + jO -55,045 + jO
0.1232 + jO -50,005 + jO
L = aoora 0.97 :!: -483 :t:
j 0.111 j 2546
0. 9996 ::!: 43.6 ::!:.
j 0.089 j 2069
241
TABLE 1
continued
-0.003 + jO -55,046 + jO
0.1233 + jO -50,005 + jO
Ll = lOOOf-H 0.971 ± -513 ±
j 0.1078 j 2455
1.0002 ± 98.3 ±
j 0.082 j 1909
-0.003 + jO -55,046 + jO
0.1233 + jO -50,005 + jO
Ll = 1425f- H 0.972 ± -517 ±
j 0.1052 j 2371
1. 003 ;t 133 ±
j 0.071 j 1650
-0.003 + jO -55,046 + jO
0.1233 + jO -50,005 + jO
-- -- -- -- ------r---··-·----
\--·---·-----
1
-----f---J--4___,1 ____ ..1. ____ .. ---.L---- -- ··--
--
.
v
___ - --
I t_~JJ _ _ j _ J_>'1~1_tT_ J___ ~·&_ _ t__J_ f_ ~~l __J__ J___J____l~:~~-J__l_j_ _ _ p~~LJ_ _ LJ___ ~1Fj__I I I
---1--1-----1--
N
ifl-
'1-0 t I N
---+-JJl--·- -
-· ' __________ ,.. __.. - ...... - -·. -· 6-·----·---- ·- -·
--1--1-----
.. --- · - -L---1--- · - - J...-... -l---
'
. --·---··--... ·--I-- --- ·- ·---~-
1-6-19 '/. I
----- -1---1-1---+ - -l--·-1----+--·-- -·-·-t--r-1·--r·-- -·- - --- ·--·---- -·-·--·- ---- - -- --- --- ----t:'--· - - · I
--1-- ---·---·--- -·--·------1-----1 __ j -- I·······-'----'-__ ___,.,___,, __ -·--- -- - ·-·- - - ··- --- ·-- - . . --- -. ···- ----- -- -- - - - - --·-----·- - _,
Z4
·-I·'" . • • . . • • -- I·-·......_ __ '· - ••--1 -···-'-•.• .&---....+--.I--- ••- - . - - •••-· --·•. ·--- -• - -· -· -·• "• --·· --·· -I
J
---- ----- ··-- --- --- L'
~ I I I I 1- 14- I I I I ~---J--t---+---t+t---1--t
0 I
'
I !
.i-
. -:
z 5 move outside the unit circle while the other pair z~ and
system will be stable for some values of Rr~· For the regu-
lator under consideration the value of Rr~ is calculated to
be 220 ohm from the f eedforward design as obtained in Chap-
ter 5. A value less than the design value causes the eigen-
values zG and z 1 to be outside the unit circle while it is
noticed that a value higher than the design value also caus-
es instability in the system. For the design value of 220
ohms all the eigenvalues are inside the unit circle thus
feedforward loop gain the open loop gain and phase margin
t
. ---1---- . --+----I -----·- - ---·--•-0---1-
--+-.ri.t - --1--~ ~- ..
-,,"
f----+--+---·I --- I--~--·-·
N
ti::>
"
i·b
-0·2
-
r
°'
""1'1J
. .
__ _..... ___ __ __ _
0·'
o~1~J_Ll_J~!~LJ_3-- ~1-·- -~-- --~'ifli st_.--- .
I
.-1-- -- -- -- - -- -- -- - --
-- --- -- - ----
---1----1-- _, __ ,_. ___ ,_,, __ , __ 4 ____ --
--•-----t---1----+---•-
-j
- ---
--·-· --1--·-- ·--·--~ ~---
----ijlJ;~ 3J~ ~h~-r- -~I
-0105
-d·i /
~~ f"
~~I"
,-- I
/
--!-·-
Figure 85 (a) - (f) shows the plots of the open loop gain
and phase margin for three values of Rrz· The solid lines
on the figures are the plots without feedforward and with
that the open loop gain with an input filter and ~2=220 ohm
plot that the eigenvalues do not seem to move very much, for
0
0 .
Ohm
•
(r)
N
..e"without feed
forward
-f5
--
CD .
ClN
-
8•
0
_-t-__________...__,,__..__.1-L...1...L..l-------....____.___.&.--'--'-.1-J~
I
l .E+2 1.E+3 1.E+4
FREQCHZ)
8•
~.,------ir--r-r--r-r-T-T-r_ _ _ _ _ _ _ _ _ _ _ __ _
8•
~
-
N /without feed-forward
z
Oo
a:::o.
a:
l:~
- = 220 Ohm
8c:i-t-~~--~--L.~J.-""-.a....1~"'4-~~~L.-~L.-..i....-'-....&-.1....L""'-I
1 .E+2 l .E+3 1 .E+4
FREQCHZl
8.
LD
[°"'"
• ,,,/without feed
(\')
N ~ forward
-@
--
CD •
ON
-gjl!l
z =
.
-
8.
-
0
I
1 .E+2 1 .E+3 1 .E+4
FREQCHZl
8.
~·------------------.--------------------------------
8•
~
-a:a:::o.
z ~without feed-forward
Oo
:r:~
- = 220 Ohm
8._______________...._.._..._.___._________________..._..._._............
0
1 .E+2 1 .E+3 1.E+4
FREQCHZl
without feed-
lD
r--
(T')
. forward
(\I
= 220 Ohm
-@
CD .
ON
-
-
........
z
-
8.
0
~. .~~-'-~""'--"--"--'-L-J...~~~--...L~-'---L--L-L..-L-l~
1 .E+2 1 .E+3 1 .E+4
FREQ(HZl
8.
.
0
0
g
-
N
z /without feed-forward
c:>o
a:::o
a: .
L:~
- = 220 Ohm
1 .E+3 1 .E+4
FREQCHZ)
TABLE 2
Eigenvalues for different values of RfZ •
Eigenvalues
0.00116 + jO
0. 1282 + jO
0.00017 + jO
0.1282 + jO
0.9907 .± j 0.1006
0.00122 + jO
0.1282 + jO
0.9955 .± j 0.0743
0.9922 ± j 0.10121
256
TABLE 2
continued
Eigenvalues
-0.00025 + jO
0.1282 + jO
0.9952 ± j 0.0742
0.9931 + j 0.1006
-0.00011 + jO
0 .1282 + jO
0.9948 + j 0.0743
0.9936 + j 0.10049
0.00039 + jO
0.1283 + jO
0.9946 + j 0.0744
-
0.9941 + j 0.1011
257
TABLE 2
continued
Eigenvalues
0.00023 + jO
0.1283 + jO
0.9933 + j 0.0742
-
0.9964 + j 0.1008
0.00029 + jO
0.1285 + jO
Rf2. = 300 ohm 0.9998 + jO
0.98952 + j 0.0724
The open loop gain and phase margin were measured without
the measured values of the open loop gain and phase margin.
It can be seen that without the input filter the gain dips
the values of R13 and c2 are such that the compensation loop
(7,8] is largely ineffective. Thus the open loop gain and
phase margin correspond to a value of a(= 0.355 as shown in
the literature [7,8].
Wifl-iovt input
.tilter
-----L·-~
ro
0
loo Soo 1 IC.
-10
-
100
. / Wi1hou t feed forwa.rd
...
0
100 lK 5K
of the open loop gain and phase margin were made. It is seen
tal data.
262
(a)
(b)
(a)
(b)
8.3 CONCLUSIONS
the closed loop poles and the eigenvalues track very closely
ward (with the gain set to its design value) completely re-
control loop.
Chapter IX
266
267
2R 4Ci
FM = nM
where ( 9-1)
M = VI(l-2D)Tp
-D 2 nM
( 9-2)
V • 2R C'
0 4 1
fied as [ 8]:
(9-3)
where TOFF is the constant off time. Susti tution into the
c2 = (9-4)
ure 89 . The feedback loop has as its input the output vol-
(9-5)
r- - - - - - - - P"OWiasTAGE - - - - - -I
I
vI
Fi11----
I 1
I Fu
~
I
I I
I
I F21 ~ I
,. I l L I
VII ~ I
I F22 ~ I
I I
I F31 " I
I i Vci I
I ~ I
I F32 :
I I
-i-
F41 1Ll
I I
·I I
I F42 I
~ r----,~----------
--------------- --,J
I I I C3 I
I I I I
I I I I
: FM I I C2 I
I I
I I
I I I
L----...1 I FE I
PULSE
MODULATOR L~- - - - - - - - - - - - - J
ERROR PROCESSOR
shows:
(9-6)
both the input filter and the output filter. The total
dulate the duty cycle of the switch for loop gain correc-
ti on.
B - /\
"
X1=iL1
--
~
%2.:
-
/\
,
(SI-A) 1 /'\ /\
c
X3•VCl
"
d(.-) /\ ....
X4""VC
d\
C2 J
11
·II
C3 /
-
,11
FM·~
I ~
~
Feedback
"'Vx(s) -
J
v
Tll = ,.,
0
d = 0 (9-8)
VI
and
HFll
Tll = D.
(9-9)
Fl2
Tl2 = D.
r- - - - - - - - P"OWE"asTAGE - - - - - - ,
I Fu ,. I
I i vo
I F12 i----~
K'
I I
I I
I I
... I I
VII I
I-- I
I I
I I
I
II "
d_ __..,--0)6
1
ts I
I
I I
I F41---- I
I I
I I
I I
J
L....
r-- -
-- - - - - - - - - - - - - --+--+--
-1~---------- --,
I I I C3
I
I I I
l I I I
I
I I I
I FM I
I
: II I
I II I
L-----..1 I
JI
Foe~-------
PULSE
MODULATOR
L ______________
ERROR PROCESSOR
/J. - a 1 H
= CRr.l + sLl)t.
where
Ls
al = s 2 LsC~ + sC~(Rs + D'Rc + c~)
+ Rs DD'R c + D12 R
L
/::,. = a
2
1 + o1 Z(l + sCRL) ( 9-11)
ON
s
01 = where D is the duty cycle.
Np
Rr. + RC = I\
Using the above equations the following can be derived:
z DD 1R c
• •
l
c
D1 : 1
,..
Fiqure 92: Small signal equivalent circuit with d=O
278
/\
Evaluation of the transfer functions with -
v I =O.
A
The small signal equivalent circuit with v 1 =O is shown
·circuit:
V0 (1 + sCRc>{-o 1 2 z + o• 2 ~ - DsLs}
Tl2 = OD'~
( 9-13)
v0
I = ~D'
(9-14)
v0
vl ,... o
Using the above equations the following are derived:
N 5 0D' 2 ~
279
z Rs DD 1Rc Ls . "'
Vo
--~~,--~~.,.--~~-,
Np ti."
-'f'd
"
Id c
Lp
o': i
(9-15)
(9-16)
tute the two loop SCM feedback control scheme reported ear-
ature [2,7,8], and it is noted that they do not play any part
Figure 91
=d
A A A /\
[ v z + c2v cl + ca iL l l FM (9-17)
F
(..Jd) F
fJ. M
( 9-18)
v
x 1 -
281
be seen that
gain of the transfer function and thus also in the open loop
the design:
assumed that:
(9-20)
DR - D 2 z ( 9-21)
1
282
C3 =0
( 9-22)
-DD l
c2 = VoFM
which leads to
v Vo(l + sC~)D'~FM
-... 0 = (9-24)
vx Dal
loop gains are very similar to the gains developed for the
noted from equations (9-15) and (9-18) that the gain of F32
283
loop qain and phase marqin at any frequency other than those
fective for most input filter designs because the filter re-
positive zero.
lows:
(9-25)
(9-25) was used to plot the open loop gain and phase marqin
without input filter, with and without feedforward. The
(9-25) is also valid for the case without input filter, all
285
-
R11 D(OFF, ON)
i, y
c_+ c
R1.
.----;t--·'-
E:l~§
S(ON,Off)
COMPENSATION
LOOP
C'1.
DIGITAL THRESHOLD
SIGNAL R3
PROCESSOR DETECTOR i--o\1-T< ~...---
DC LOOP
':'
equation.
process have not been used in calculating the open loop gain
The regulator was set up to measure the open loop gain and
8.
input filter
-s
CD •
Clo
-
_.("()
z
a:
Qo lJ)
-
• without feed for.1ard
N
8.
l .E+3 1 .E+4
FREQ(HZl
8.
@
.
~
N
z
without feed
~forward
w
(J)
-
a:
IO
a..~
l'
(.Q
1 .E+3 1 .E+4
FREQ(HZ)
ameters:
lier.
performance specifications.
290
c
r
AIN (db).
2.0
10·----------------------------·------- ---
•
Wifl..out feedforward-
0
100
c:;o•- ---- --------- ------ ---- ---- --- ____________ 'Wilhovt. fec!dforwa....d - - - .
.2.0 _______________ - .
o•
/00 11<. 51<.
9. 3 REMARKS
control schemes.
10.1 CONCLUSIONS
A novel scheme for input filter compensation is presented in
stage and two staqe input filters [3,5,6] minimize the peak-
293
294
f ollowinq cateqories--
(b) audiosusceptibil~ty;
lator performance.
equipment upstream.
296
in this dissertation.
compensation scheme.
10.2
--
SUGGESTIONS FOR FUTURE WORK
---
The following suqqestions for future work are made:
1. The concept of feedforward compensation for buck-
made.
could be made.
SOFTWARE FOR
DISCRETE TIME SIMULATION OF A BUCK REGULATOR
298
c ******************~****************************************
C * DISCRETE TIME SIMULATION OF A BUCK CONVERTER. *
c ***********************************************************
c
C TlllS PROGRAM SIMULATES THE STEADY-STATE BEHAVIOR AS WELL AS
C lHE TRANSIENT PERFORMANCE FOR A BUCK REGULATOR
C WITH INPUT FILTEH, WITllOUT FEEDFORWARD.
c
DIMENSION X(6,9000),F1(6,6),F2(6,6),G1(6,4),G2(6,4),TIME(9000),
1U(4),PHIF(6,6),PlllN(6,6),DF(6,4),DN(6,4),TVEC1(6),TSWIT(2),
2VISWIT(2),V0(9000),PHIFT(6,6),DFT(6,4),TVEC2(9000)
DIMENSION F3(6,6),G3(6,4),TVEC3(6),PHIFT3(6,6),DFT3(6,4),
1PHIF3(6,6),DF3(6,4)
c
REAL L1,L,K1,K2, IQMAX
c
DATA RLl,Ll,Cl,L,RO,RN,RC,C/1.0,325.E-6,20.E-5,230.E-6,0.2,0.65,
20.067,300.E-6/
OATA RL,R11,R12,R13,R14,C2,R4,CP1/20.0,33.3E3,16.7E3,2.E3,
147.E3,0.01E-6,40.7E3,5600.E-12/
DATA ER,El,Vl,E0/6.7,7.0,40.,20./ N
DATA TON,TOFMIN,TSWIT,VISWIT,VITON/2.20E-5,5.E-6,0.003,10., ID
125.0,50.,0.88£-3/ ID
DAlA NIT,FRAC,EPS,TF/10,0.5,5.E-6,0.012/
DATA IQMAX,EQ,ED/8.0,0.2,0.7/
CLlS=0.5291665
VC1S=39.48866
ECS=7.0
CLS=O. 092912113
VCS=20.05715
ERS=20.05712
VOS=19.99638
c
TON=VITON/VI
Kl=(R12/(R14*(R11+R12)))+(1./R13)-(RN/R4)
Kl=K1-(RN*RO*(RL+RC))/(R4*RL*RC)
K2=(RN/R4)-(1./R13)-(R12/(R14*(R11+R12)))
DO 1 I =1, 6
00 80 J= 1 • ''
Gl(l,J)=O.
G2 ( I , J) =O.
OF(l,J)=O.
ON(l,J)=O.
80 DFT(l,J)=O.
DO 1 J=l,6
fl(l,J)=O.
1 f2(1,J)=O.
c
DO 2 I= 1, 6
00 2 J=l, 6
PHI FT( I ,J )=O.
PHIF(l,J)=O.
2 PHIN(l,J)=O.
c
f 1 ( 1 , 1 ) =( - 1 . *R L1 ) I L1
fl( 1,2)=-1./Ll
f1(2,1)=1./C1
f1(2,4)=-1./C1
f1(3,2)=(-1.*RN)/(CP1*R4)
f1(3,4)=(-1.*RL*RC*K1)/(CP1*(RL+RC))
f1(3,5)=(RL*K2)/(CP1*(RL+RC))
f1(3,6)=1./(CP1*R13)
fl(lt,2)=1./L
f1(4,4)=(-1.*RO)/L+(-1.*RC*RL)/(L*(RC+RL)) w
F1(4,5)=(-1.*RL)/(L*(RC+RL)) 0
f1(5,4)=RL/(C*(RL+RC)) 0
f1(5,5)=-1./(C*(RL+RC))
f1(6,4)=(RL*RC)/(C2*R13*(RL+RC))
f1(6,5)=RL/(C2*R13*(RL+RC))
f1(6,6)=-1./(C2*R13)
Gl(l,1)=1./Ll
G1(3,2)=1./(CP1*R14)
G1(3,3)=RN/(CP1*R4)
G1(4,3)=-1./L
DO 3 I= 1, 6
DO 3 J=l, 6
3 f2( l,J)=fl( l,J)
F2(2,4)=0.
f2(3,2)=0.
f2(4,2)=0.
G2( 1, 1)=Gl{1, 1)
G2(3,2)=G1(3,2)
G2(3,4)=RN/(CP1*R4)
G2 ( It , 11 ) = - 1 . IL
DO 530 1=1,6
DO 531J=l,6
531 f3(1,J)=f2(1,J)
DO 532 J=l,4
532 G3(1,J)=G2(1,J)
530 CONTINUE
DO 535 1=1,6
f3(11, I )=0.0
535 f3(1,4)=0.0
DO 536 1=1,4
536 G3(4, I )=0.0
c
NSWIT=O
I TEMP=NSW I T+l
TXX=TSWI T( I TEMP)
NT=O. 1+1 • / FRAC
TOFF=TON*(Vl-EO)/EO
TIME(l)=O.O
ND=l
M=O
IT=O
T= FRAC*TOFF
c w
CALL STRAN(T,Plllf,Df,f2,G2,6,11,6,l1,l,O,EPS,OIFMAX, ITER, IFLAG) 0
c I-'
T= FRAC*TON
CALL STRAN ( T, Pli IN, ON, f 1, G 1, 6, 11, 6, 4, 1, 0, EPS, 0 I FMAX, ITER, IF LAG)
WR I TE( 6, 7011)
704 FORMAT ( / /, 1 VALUES Of X ON fllE NEXT PAGE 1 )
c
X( 1, 1 )=CL1S
X{2,1)=VC1S
X(3, l)=ECS
X(4,1)=CLS
X(5,1)=VCS
X(6,1)=ERS
VO(l)=VOS
U( 1 )=VI
U( 2 )=ER
U(3)=EQ
U( 4 )=ED
c
c
lf(X(3,NO).GE.ET) GO TO 60
TEMPA=ABS(X(3,ND)-ET)
lf(TEMPA.LT.EPS) GO TO 40
20 CONTINUE
lf(X(3,ND).LT.ET) GO TO 28
c
c ***************************************
C MINIMUM Off TIME CALCULATION *
c ***************************************
c
T=TOfMIN
CALL STRAN(T,PHlfT,OfT,f2,G2,6,4,6,4,1,0,EPS,DlfMAX,ITER,lfLAG)
DO 6 1=1,6
6 TVECl( l)=X( 1,ND)
CALL fUTURE(TVECl,U,PHlfT,DfT,6,6,6,4,6,6,6,4,1)
TEMP=TIME(ND)
ND=ND+l
TI ME( ND )=TEMP+T
DO 7 1=1, 6
7 X( I, ND )=TVECl ( I )
VO(ND)=(RL*RC)*X(4,ND)/(RL+RC)+RL*X(5,ND)/(RL+RC)
lf(X(4,ND).GT.0.0) GO TO 570
ITl=O w
571 lf(ABS(X(4,NO)).LT.EPS) GO TO 579 0
ITl=ITl+l N
lf(NIT.GE.NIT) GO TO 100
SLOPE3=f2(4,4)*X(4,ND)+f2(4,5)*X(5,ND)+G2(4,4)*U(4)
T3=-X(4,ND)/SLOPE3
CALL STRAN(T3,PHIFT3,DFT3,f2,G2,6,11,6,4, 1,0,EPS,DlfMAX, ITER, lfLAG)
DO 572 1=1,6
572 TVEG3( l)=X( l,ND)
CALL FUTURE(TVEC3,U,PHlfT3,DfT3,6,6,6,4,6,6,6,4,1)
TIME(ND)=TIM£(ND)+T3
DO 573 I= 1, 6
573 X( I, ND)=TVEC3( I)
VO(ND)=RL*RC*X(4,ND)+RL*X(5,ND)
VO(ND)=VO(ND)/(RL+RC)
GO TO 571
579 CONTINUE
CALL SlRAN( T3, Piii f3, Df3, F3,G3,6,4,6,11, 1,0, EPS, DI fMAX, I TER, I FLAG)
DO 5 711 I= 1 , 6
574 TVEC3( l)=X( l,NU)
X(4,ND)=O.O
CALL FUTURE(TVEC3,U,PHlf3,Df3,6,6,6,4,6,6,6,4,1)
TEMP=TIME(ND)
NO=NO+l
TIME( NO )=TEMP+T3
DO 575 I= 1, 6
575 X( 1,NO)=TVEC3( I)
VO(NO)=(RL*X(5,ND))/(RL+RC)
570 CONTINUE
GO TO t10
c
c ***************************************
C Off TIME CALCULAl ION *
c ***************************************
c
28 T= FRAC*TOF F
ll=O
25 CONTINUE
DO 8 1=1, 6
8 TVfCl( I )=X( l,ND)
IF(ND.LT.300) GO TO 5000
WHITE(6,706)
706 FORMAT(//,' STAfE VECTOH IN OFF TIME')
WR I TE ( 6, 9004) (TVEC 1 ( I ). I= 1, 6) VJ
9004 FORMAT(6F15.11) 0
WRITE(6,*) VO(NO) VJ
5000 CONTINUE
IF(X(4,ND).LE.O) GO TO 502
c
CALL FUTURE(TVECl,U,PHIF,DF,6,6,6,4,6,6,6,4,1)
c
TEMP=llME(NO)
ND=Nll+l
l I ME( NO )=TEMP+T
DO 9 I= 1, 6
9· X(l,ND)=TVECl(I)
VO(NO)=RL*HC*X(4,NO)+RL*X(5,ND)
VO(NO)=VO(ND)/(RL+RC)
GO TO 520
502 CONTINUE
c
c ************************************
C * CALCULATION TO FIND WllEN X(4)=0 *
c ************************************
c
ITl=O
503 IF(ABS(X(4,NO)).LT.EPS) GO TO 509
ITl=ITl+l
IF( IT I.GE.NIT) GO TO 100
SLOPE3=F2(4,4)*X(4,NO)+f2(4,5)*X(5,NO)+G2(4,4)*U(4)
T3=-X(4,ND)/SLOPE3
CALL STRAN(T3,PlllFT3,DFT3,F2,G2,6,4,6,4,1,0,EPS,DIFMAX, ITER, IFLAG)
DO 504 1=1, 6
504 TVEC3( I )=X( I ,NO)
CALL FUTURE(TVEC3,U,PHIFT3,0FT3,6,6,6,4,6,6,6,4,1)
TIME(NO)=TIMf(ND)+T3
DO 505 I= 1, 6
505 X( I ,ND)=TVEC3( I)
VO(ND)=RL*RC*X(4,ND)+RL*X(5,ND)
VO(ND)=VO(ND)/(RL+RC)
GO TO 503
509 CONTINUE
CALL STRAN(T,PlllF3,DF3,F3,G3,6,4,6,ll, 1,0,EPS,DIFMAX, ITER, IFLAG)
DO 5401=1,6
51l0 TVEC3( I )=oX( I ,NO)
X(4,ND)=O.O
CALL FUTURE(TVEC3,U,PHIF3,DF3,6,6,6,4,6,6,6,4,1) w
TEMP=l I ME (ND) 0
ND=ND+l ~
T I ME (ND)= TfMP+ T
DO 511 I= 1, 6
511 X(l,ND)=TVEC3(1)
VO(ND)=(RL*X(5,ND))/(RL+RC)
520 CONTINUE
IF(X(3,ND).GE.ET) GO TO 30
GO TO 25
c
c ***************************************
C CALCULATION TO HIT TllRESHOLD WHEN *
C X(3)=ET. *
c ***************************************
c
30 IF(ABS(X(3,ND)-ET).Ll.EPS) GO TO 40
IT=IT+l
I F( I T. GE.NIT) GO TO 100
SLOPE=F2(3,4)*X(4,ND)+F2(3,5)*X(5,ND)+F2(3,6)*X(6,ND)
SLOPE=SLOPE+G2(3,2)*U(2)
T=(ET-X(3,ND))/SLOPE
c
CALL STRAN(T,PlllfT,DFT,f2,G2,6,4,6,4,1,0,EPS,DIFMAX, ITER, lfLAG)
c
DO 10 1=1,6
10 TVECl( I )=X( l,ND)
CALL FUTURE(TVECl,U,PHIFT,DFT,6,6,6,4,6,6,6,4,1)
TIME(ND)=TIME(ND)+T
DO 11 1=1,6
11 X( 1,ND)=TVfCl( I)
VO(ND)=RL*RC*X(4,ND)+RL*X(5,ND)
VO(ND)=VO(ND)/(RL+RC)
GO TO 30
40 CONTINUE
IF(ND.LT.300) GO TO 5001
WRITE(6,440) TIME(ND)
4110 FORMAT(/, 'SWITCH ON TIME= 1 ,F15.11)
5001 CONTINUE
IF(TIME(ND).GE.TF) GO TO 120
c
c ***************************************
c CHANGE Vl,lON,TOff AT TllE SWITCHING *
c INSTANT. ALSO CllANGE PH If, OF, If * w
c NECESSARY. * 0
c *************************************** l11
c
IF(TIME(ND).l~.TXX) GO TO 60
NSWI l"NSWI T+l
I TEMP=NSW IT+ 1
TXX=lSWIT( I fEMP)
Vl=VISWIT(NSWIT)
TON=VITON/VI
TOFF=TON*(Vl-EO)/EO
U(l)=VI
T= FRAC*TOF F
c
CALL STRAN(T,PHIF,DF,F2,G2,6,4,6,4, 1,0,EPS,DIFMAX, ITER, IFLAG)
c
T=FRAC*TON
c
CALL ST RAN( T, Pit IN, ON, f 1, G1, 6, t1, 6, 11, 1, 0, EPS, DI FMAX, I TER, I FLAG)
c
60 CONTINUE
M=O
T=FRAC*TON
c
c ***************************************
c ON TIME CALCULATION •
c ***************************************
c
65 CONTINUE
DO 12 I= 1, 6
12 TVECl( I )=X( 1,ND)
lf(ND.LT.300) GO TO 5002
WRITE(6,709)
709 FORMAT(//,' STATE VECTOR IN ON TIME')
WRITE(6,9005)(TVEC1( I), 1=1,6)
9005 fORMAl(6f15. 11)
WRITE(6,*) VO(NO)
5002 CONTINUE
c
CALL fUTURE(TVECl,U,PlllN,DN,6,6,6,11,6,6,6,11,l)
c
TEMP=T IME( ND)
ND=ND+l
TIME(NO)=TEMP+T
DO 13 I= 1, 6 w
13 X( l,NO)=lVECl( I) 0
VO(NO)=RL*RC*X(4,ND)+RL*X(5,ND)
VO(ND)=VO(ND)/(RL+RC) °'
M=M+l
lf(X(4,NO).GE. IQMAX) GO TO 70
IF(M.LT.NT) GO TO 65
c
GO TO 999
c
c ***************************************
C CALCULATION TO f I NO WllfN I NDUClOR *
C CURRENT HI TS TllE TllR[SllOLD VALUE. *
c ***************************************
c
70 CONTINUE
IT=O
71 IF(ABS(X(l1,NO)-IQMAX).LE.EPS) GO TO 999
IT= IT+l
If ( IT. GE.NIT) GO TO 100
SLO PE2=X( 2, ND)* F1 ( 11, 2) +X ( 11, ND)* f 1 ( 11, 4 ) +X( 5, ND)* f 1 ( 4, 5 )
T=( IQMAX-X(4,ND))/SLOPE2
CALL STRAN(T,PHIFT,DFT,fl,Gl,6,4,6,4,1,0,EPS,DlfMAX, ITER, lfLAG)
DO 15 1=1, 6
15 TVECl( I )=X( 1,ND)
CALL FUlURE(TVfCl,U,PlllFT,DFT,6,6,6,4,6,6,6,4,1)
TIME(ND)=TIME(ND)+T
DO 16 1=1,6
16 X( l,ND) ·TVfCl( I)
VO(NO)=RL*RC*X(4,NO)+RL*X(5,NO)
VO(ND)=VO(ND)/(RL+RC)
GO TO 71
999 CONTINUE
c
lf(ND.LT.300) GO TO 5003
WRITE(6,442) TIME(ND)
41t2 FORMAl(/,'SWITCll Off TIME=',F15.11)
5003 CONTINUE
IF(TIME(ND).LT.Tf) GO TO 20
GO TO 120
100 CONTINUE
WRITE(6,204) TIME(ND)
2011 FORMAT(/, 1 MAX I MUM I TE RAT I ON AT TI ME= 1 , f 15. 11 )
120 CONTINUE w
DO 1011 I= 1 , ND 0
WRITE(8, 103) TIME( I ),X(3, I) .....J
103 FORMAT(2f20.10)
104 CONTINUE
00 105 1=1,ND
WRITE(8, 103) TIME( I ),X(4, I)
105 CONTINUE
DO 106 1=1,NO
WR I TE ( 8 , 10 3 ) T I ME ( I ), VO ( I )
106 CONTINUE
DO 10 7 I = 1 , NO
WRITE(8, 103) TIME( I ),X(2, I)
107 CONTINUE
00 14 1=1,ND
14 TVEC2( I )=VO( I)
CALL ABPLOT(ND,TIME,TVEC2)
STOP
END
c
c
1 SUBROUTINE STHAN( TAU, Pll I, TllET A, A, B, NA, NB, MA, MB, MODE, NTERMS,
1 TOL,DIFMAX,ITER, lfLAG)
REAL Pill (NA, NA), TllET A( NA, NB), A( NA, NA). B( NA, NB),
1 WORK1(10,10),WORK2(10,10),DUMMY(1,1),FAC1,CON1,FAC2,CON2
C1=1
TS= TAU
DO 4 1=1,MA
DO 2 J=l ,MA
WORKl(l,J)=O
WORK2( I, J )=O
Pll I ( I, J) =O
2 CONTINUE
WORK 1 ( I , I ) = 1
WORK2( I, l)=TAU
Piii ( I , I ) =1
11 CONT I NUE
DO 6 1=1,MA
DO 6 J=l,MB
6 lliETA(l,J)=O
DI FMAX= 1 . E8
ND0=50
IF(NTERMS.GT.O) NDO=NTERMS
FAC1=1 w
IFLAG=O 0
00 1000 1=1,NDO 00
CALL MXMUL(DUMMY,WORKl,A,TS,1,1,10,10,NA,NA,MA,MA,MA,MA,1)
FACl=FACl*I
CON1=1./FAC1
IF(NTERMS.EQ.0.AND. l.GE.4) CALL SERROR(PHl,WORK1,CON1,NA,NA,
1 10,10,MA,MA,DIFMAX)
CALL MXADD(DUMMY,Plll,WORK1,C1,CON1,1, 1,NA,NA,10,10,MA,MA,1)
IF(MODE.EQ.2) GO TO 500
FAC2=FAC1*( 1+1)
CON2=TAU/FAC2
CALL MXADD(DUMMY,WORK2,WORK1,C1,CON2,1,1, 10,10,10,10,MA,MA,1)
500 CONTINUE
ITEH= I
IF(NTERMS.GT.O.OR. l.LT.4) GO TO 1000
IF(DIFMAX.LE.TOL) GO TO 1100
1000 CONTINUE
1100 CONTINUE
IF(MODE.EQ.1) CALL MXMUL(TllETA,WORK2,B,C1,NA,NB, 10, 10,NA,NB,
1 MA,MA,MA,MB,2)
IF( ITER.EQ.NDO.AND.NTERMS.EQ.O) IFLAG=l
RETURN
ENO
c
c
1 SUBROUflNE SERROR(AMX,BMX,CCC, IA,JA, IB,JB, 100,JOO,OIFMAX)
DIMENSION AMX( IA,JA),BMX( IB,JB)
OIFMAX=l.E-30
DO 100 I =1 , I DO
DO 50 J=l,JDO
IF(AMX( 1,J).EQ.0.0 ) GO TO 50
CllANGE= ABS(BMX( 1,J)*CCC/AMX( l,J))
I F( CllANGE. GT.DI FMAX) DI FMAX=CllANGE
50 CONTINUE
100 CONTINUE
RETURN
ENO
c
c
SUBROUf INE FUTURE(X, V, Pill, TllEfA, LP,MP, LT ,Ml, I P,JP, IT ,JT ,MOOE)
DIMENSION X(MP),V(MT),Plll(LP,MP),THETA(LT,MT),TEMP(20)
DO 20 I =t , I P
SUM=O w
DO 10 J= 1, JP 0
10 SUM=SUM+Plll (I ,J )*X(J) \0
20 TEMP( I )=SUM
DO 30 I= 1, IP
30 X( I )=TEMP( I)
IF(MOOE.EQ.2) RETURN
DO 60 1=1, IT
SUM=O
DO 50 J=t,JT
50 SUM=SUM+THETA( l,J)*V(J)
X( I )=X( I )+SUM
60 CONTINUE
RETURN
END
c
c
1 SUBROUTINE MXAOD(RMX,AMX,BMX,ACC,BCC, IR,JR, IA,JA, IB,JB, IDO,JOO,
1 MODE)
DIMENSION AMX( IA,JA),BMX( IB,JB),RMX( IR,JR)
If( IA.LT. 100.0R.JA.LT.JDO) GO TO 999
IF( IB.LT. 100,0R.JB.LT.JDO) GO TO 999
GO TO (10,100),MODE
10 CONTINUE
0050 1=1,100
DO 50 J=l ,JDO
50 AMX( l,J)=AMX( l,J)*ACC+BMX( l,J)*BCC
GO TO 300
100 CONTINUE
IF( IR.LT. 100,0R.JR.LT.JDO) GO TO 999
DO 200 1=1, 100
DO 200 J= 1, JOO
200 RMX( l,J)=AMX( l,J)*ACC+BMX( l,J)*BCC
300 RElURN
999 CONTINUE
RETURN
END
c
c
1 SUBROUTINE MXMUL(RMX,AMX,BMX,CCC, IR,JR, IA,JA, IB,JB, I DA, JOA, IDB,JDB
1, MODE)
DIMENSION AMX( IA,JA),BMX( IB,JB),RMX( IR,JR), TEMP(20)
IF( IDA*IDB*JOA*JDB.Gl. IA*IB*JA*JB) GO TO 999
IF(JDB.GT.JDA) GO TO 999 w
GO TO (10,210),MOOE I-'
10 DO 100 1=1, IDA 0
DO 20 L=l ,JOA
20 TEMP(L)=AMX(l,L)
DO 80 J =1 , J DB
SUM=O
DO 40 K=l ,JOA
40 SUM=SUM+TEMP(K)*BMX(K,J)
AMX( l,J)=SUM*CCC
80 CONTINUE
100 CONTINUE
GO TO 600
210 CONTINUE
IF( IR.LT. IDA.OR.JR.LT.JDB) GO TO 999
00 400 l=l, IDA
DO 380 J=l,JOB
SUM=O
DO 340 K= 1, .JOA
340 SUM=SUM+AMX(l,K)*BMX(K,J)
RMX( I, J )=SUM*CCC
380 CONTINUE
400 CONTINUE
311
l.i
::;)
zzz
c:-a:
::;)
::;)
.-z.-c
...
l.i 0 l.i z
a: c.; a: l.i
00\
00\
"'°'
cC ·············••***********•••••••••························
DISCRETE TIME SIMULATION OF A BUCK CONVERTER *
c •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
C THIS PROGRAM SIMULATES THE STEADY-STATE BEHAVIOR AS WELL AS
C TltE TRANS I ENT PERFORMANCE FOR A BUCK REGULATOR
C WITH INPUT FILTER AND Wlllt FEEDFORWARD.
c
DIMENSION X(7,9000),F1(7,7),f2(7,7),G1(7,4),G2(7,4),TIME(9000),
1U(4). Piii F( 7, 7), PlllN( 7, 7 ).Of( 7 ,11). ON( 7,4), TVEC1 ( 7). TSWIT( 2).
2V I SW IT( 2 ). VO( 9000) , Pll I FT ( 1, 1). DFT ( 7, 11). TVEC2 ( 9000)
DI MENS I ON F3 ( 7, 7). G3 ( 7, 4). TVEC3 ( 7), Pit I FT 3 ( 7, 7), Off 3 ( 7, 4).
1PHIF3(7,7),DF3(7,7)
c
REAL L1,L,K1,K2, IQMAX,K3
c
DATA RLl,Ll,Cl,L,RO,RN,RC,C/1.0,325.E-6,22.E-5,230.E-6,0.2,0.65,
20.067,300.E-6/
DATA RL,R11,R12,R13,R14,C2,R4,CP1/20.0,33.3E3,16.7E3,2.E3,
147.E3,0.01f-6,40.7E3,5600.E-12/
DATA ER,fT,Vl,E0/6.7,7.0,40.,20./
OATA TON,TOFMIN,TSWIT,VISWIT,VITON/2.20E-5,5.E-6,0.003,10.0, w
125.,50.,0.88E-3/ f-'
DATA NIT, FRAC, EPS, TF I 10, 0. 1, 10. E-6, 0. 0120/ N
DATA IQMAX,EQ,ED/6.0,0.2,0.7/
OATA RF1,RF2,CF,VFS/5.1E3,90.970,27.E-6,0.0507E-1/
CLlS=0.69552390
VC1S=39.87245
ECS=7. 0
CLS::.:0.40158130
VCS-=20. 061111
ERS=20. 061113
VOS=20.02125
VFS=+O. 389118170
c
TON=VITON/VI
K1=(R12/(R14*(R11+R12)))+(1./R13)-(RN/R4)
Kl=Kl-( RN*RO*( RL+RC) )/( Rl1*RL*RC)
K2-=(RN/R4)-(1./R13)-(R12/(R14*(R11+R12)))
K3=RF2/(Rfl+RF2)
DO 1 I= 1, 7
DO 80 J=l,11
Gl(l,J)=O.
G2(1,J)=O.
Of( I ,J )=0.
DN( I ,J )=0.
80 DFT(l,J)=O.
DO 1 J=l, 7
fl ( I ,J )=O.
I f2( I ,J )=O.
c
DO 2 I= 1, 7
DO 2 J=l, 7
Pit I FT ( I , J) =O.
PHI f( I ,J )=O.
2 PHIN(l,J)=O.
c
fl( 1, 1 )=(-1.*Rll )/ll
fl( 1,2)=-1./Ll
f1(2,1)=1./Cl
f1(2,3)=-1./(Cl*(Rfl+Rf2))
f1(2,5)=-1./Cl
F1(3, 1 )-,1./Cl
f1(3 3)=(-1.*(Cf+Cl))/(CF*Cl*!"rl+~F?))
11 ( 3, 3 )=-0 w
F 1 ( 3, ')) =- 1. /CI ......
f 1 (11, 1 ) = ( -1 . *K3) /C 1 w
f1(4,2)=(-1.*RN)/(CP1*R4)
f1(4,3)=(K3*(Cf+Cl))/(Cf*Cl*(Rfl+Rf2))
f 1 ( 11, 5 )= ( K3/C 1 )- ( ( RL *RC*K 1 ) / ( CP 1*( Rl +RC) ) )
F1(4,6)=(RL*K2)/(CP1*(RL+RC))
f1(4,7)=1./(CP1*R13)
f1(5,2)=1./l
f1(5,5)=((-1.*RO)/L)+((-1.*RC*RL)/(L*(RC+RL)))
F1(5,6)=(-1.*RL)/(L"(RC+RL))
F1(6,5)=RL/(C*(RL+RC))
F1(6,6)=-1./(C*(RL+RC))
F1(7,5)=(RL*RC)/(C2*R13*(RL+RC))
f1(7,6)=RL/(C2*R13*(RL+RC))
F1(7,7)=-1./(C2*R13)
GI( 1, 1 )=1./ll
G1(4,2)=1./(CP1*R14)
G1(4,3)=RN/(GP1*R4)
G1(5,3)=-1./L
DO 3 I =1, 7
DO 3 J=l, 7
3 F2( l,J)=Fl( l,J)
F2(2,5)=0.
F2(3,5)=0.
F2(3,3)=0
F2(4,2)=0.
F2(4,5)=(-1.*RL*RC*K1)/(CP1*(RL+RC))
F2(5,2)=0.
G2( 1, 1)=Gl(1, 1)
G2 ( 4, 2 ) = G1 ( 11, 2 )
G2(4,4)=RN/(CP1*R4)
G2(5,4)=-1./L
DO 530 1=1,7
DO 531 J= 1. 7
531 f3(1.J)=F2(1,J)
DO 532 J=l,4
532 G3(1,J)=G2(1,J)
530 CONTINUE
DO 535 1=1, 7
F3(5, I )=0.0
535 F3(1,5)=0.0
DO 536 1=1,4
536 G3( 5, I )=O. 0
w
c .....
NSWIT=O ~
TEMP=NSWIT+l
TXX=TSWIT(TEMP)
NT=0.1+1./rRAC
TOFF=TON*(Vl-EO)/EO
TIME( 1 )=-=0.0
ND=l
M"O
IT=O
T= FRAC* TO ff
c
CALL SlRAN( T, Piii F, DF, F2,G2, 7 ,11, 7 ,4, 1,0, EPS, DI FMAX, I TER, I FLAG)
c
T=FRAC*TON
CALL STRAN ( T, PH IN, ON, F 1 , G 1 , 7, 4, 7, 4, 1 , 0, E PS, DI FMAX, IT ER, I FLAG)
WRITE(6, 7011)
704 FORMAT ( / /, ' VALUES OF X ON TUE NEXT PAGE' )
c
X( 1, 1 )=CLlS
X( 2, 1 )=VCl S
X( 3, 1 )=VFS
X(4,1)=ECS
X(5,1)=CLS
X(6,1)=VCS
X(7, 1 )=ERS
VO( 1 )=VOS
U(l)=VI
U( 2 )=ER
U(J)=EQ
U(ll)=EO
c
c
lf(X(4,ND).GE.ET) GO TO 60
TEMPA=ABS(X(4,ND)-ET)
lf(TEMPA.LT.EPS) GO TO 40
20 CONTINUE
c
lf(X(4,ND).LT.ET) GO TO 28
c
c ***************************************
C MINIMUM Off TIME CALCULATION *
c
c
***************************************
....w
T=TOFMIN Ul
CALL STRAN( T, Pll I FT, OFT, f2,G2, 7 ,11, 7 ,4, 1,0, EPS, DI FMAX, ITER, I FLAG)
DO 6 1=1, 7
6 TVECl(l)=X(l,ND)
CALL FUTURE(TVECl,U,PlllfT,DfT,7,7,7,4,7,7,7,4,1)
TEMP=T IME( ND)
ND=ND+l
TIME( ND)=TEMP+T
DO 7 I= 1, 7
7 X( l,ND)=lVECl( I)
VO(ND)=(RL*RC)*X(5,ND)/(RL+RC)+RL*X(6,ND)/(RL+RC)
lf(X(5,ND).GT.0.0) GO TO 570
ITl=O
571 lf(ABS(X(5,ND)).LT.EPS) GO TO 579
ITl=ITl+l
If( I Tl.GE.NIT) GO 10 579
SLOPE3=f2(5,5)*X(5,NO)+f2(5,6)*X(6,NO)+G2(5,4)*U(li)
T3=-X(5,ND)/SLOPE3
CALL STRAN( T3, PH I FT 3, OFT 3, f2, G2, 7, 11, 7, 4, 1, 0, EPS, DI FMAX, ITER, I FLAG)
DO 572 1=1,7
572 TVECJ( I )=X( I ,ND)
CALL FUTURE( TVEC3, U, Piii FT3, DFT3, 7, 7, 7 ,11, 7, 7, 7, 4, 1)
TIME(ND)=TIME(ND)+T3
DO 573 1=1, 7
573 X( I, ND)=TVEC3( I)
VO(ND)=RL*RC*X(5,ND)+RL*X(6,ND)
VO(ND)=VO(ND)/(RL+RC)
GO TO 571
579 CONTINUE
CALL STRAN(T3,PHIF3,0F3,F3,G3,7,4,7,4,1,0,EPS,DIFMAX, ITER, lflAG)
DO 5711 1=1, 7
574 TVEC3( l)=X( l,ND)
X(5,ND)o:O.O
CALL FUTURE(fVEC3,U,PHIF3,0F3,7,7,7,4,7,7,7,4,1)
TEMP=TIME(ND)
ND=NO+l
TIME( ND)=TEMP+l3
DO 575 1=1, 7
575 X( I, ND)=TVEC3( I)
VO(ND)=(RL*X(6,ND))/(RL+RC)
570 CONTINUE
GO TO 110 w
c I-'
c ***************************************
C OFF TIME CALCULATION * °'
c ***************************************
c
28
T=FRAC*TOFF
IT=O
25 CONTINUE
DO 8 1=1,7
8 TVECl( I )=X( l,ND)
IF(NO.LT.300) GO TO 5000
WRITE(6,706)
706 FORMAT(//,' SlATE VECTOR IN Off TIME')
WRITE(6,90011)(TVEC1( I), 1=1, 7)
9004 FORMA1(7F15.11)
WRITE(6,*) VO(ND)
5000 CONTINUE
IF(X(5,ND).LE.O.O) GO TO 502
c
CALL FUTURE(TVECl,U,PHIF,OF,7,7,7,4,7,7,7,4,1)
c
TEMP=T IME( ND)
ND=ND+l
TIME( ND)=HMP+T
DO 9 1=1,7
9 X( 1,ND)=TVECl( I)
VO(ND)=RL*RC*X(5,ND)+RL*X(6,ND)
VO(ND)~VO(ND)/(RL+RC)
GO TO 520
502 CONTINUE
c
c ************~***********************
C *CALCULATION TO FIND WllEN X(5)=0 *
c ************************************
c
I Tl"'O
503 lf(ABS(X(5,ND)).LT.EPS) GO TO 509
ITl=ITl+l
If( Ill.GE.NIT) GO TO 100
SLOPE3=f2(5,5)*X(5,ND)+f2(5,6)*X(6,ND)+G2(5,4)*U(4)
T3=-X(5,ND)/SLOPE3
CALL STRAN(T3,PHlfT3,DfT3,f2,G2,7,4,7,4,1,0,EPS,DlfMAX,ITER, lfLAG)
DO 504 1=1,7 w
504 TVEC3( I )=X(l,ND) I-'
CALL fUTURE(TVEC3,ll,PlllfT3,DfT3,7,7,7,4,7,7,7,4,1) ......
TIME(ND)=TIME(ND)+T3
DO 505 I= 1, 7
505 X( I, ND)=TVEC3( I)
VO(ND)=RL*RC*X(5,ND)+RL*X(6,ND)
VO(ND)=VO(ND)/(RL+RC)
GO TO 503
509 CONTINUE
CALL STRAN( T, Pll I f3, DF3, f3, G3, 7, 4, 7, 4, 1,0, EPS, DI fMAX, ITER, I FLAG)
DO 51,0 1=1, 7
540 TVEC3( l)=X(l,ND)
X(5,ND)=O.O
CALL rurnRE(TVEC3,U,PHlf3,0f3,7, 7, 7,4,7, 7, 7,4,1)
TEMP=TIME(ND)
ND,,,ND+l
TIME( ND)=HMP+l
DO 511 1=1,7
511 X( 1,ND)=TVEC3( I)
VO(ND)=(RL*X(6,ND))/(RL+RC)
520 CONTINUE
lf(X(4,ND).GE.ET) GO TO 30
GO TO 25
c
c ***************************************
C CALCULATION TO lllT THRESllOLD WllEN *
C X(3)=ET. *
c ***************************************
c
30 lf(ABS(X(4,ND)-ET).LT.EPS) GO TO 40
IT= I T+l
I f ( IT. GE.NIT) GO TO 100
SLOPE=f2(4,1)*X(1,ND)+f2(4,3)*X(3,ND)+f2(4,5)*X(5,ND)+
1f2(4,6)*X(6,ND)+f2(4,7)*X(7,NO)
SLOPE=SLOPE+G2(4,2)*U(2)+G2(4,4)*U(4)
T=(ET-X(4,ND))/SLOPE
c
CALL STRAN(T, PH I FT, OFT, f2, G2, 7, 11, 7, 4, 1, 0, EPS, DI fMAX, ITER, I FLAG)
c
DO 10 I= 1, 7
10 TVECl(l)=X(l,ND)
CALL fUTURE(TVECl,U,PlllfT,DfT,7,7,7,4,7,7,7,4,1)
TIME(ND)=TIME(ND)+T
DO 11 I= 1, 7 w
11 X(l,ND)=TVECl(I) ......
<X>
VO(ND)=RL*RC*X(5,ND)+RL*X(6,ND)
VO(ND)=VO(ND)/(RL+RC)
GO TO 30
110 CONT I NUE
lf(ND.LT. 1000) GO TO 5001
WRITE(6,440) TIME(ND)
11110 fORMAl(/, 1 SWITCH ON TIME=',f15.11)
5001 CONTINUE
lf(TIME(ND).GE.Tf) GO TO 120
c
c ***************************************
c CHANGE Vl,fON, TOH AT HIE SWITClllNG *
c I NS TANT. ALSO CllANGE PH If, Of If *
c NECESSARY. *
c ***************************************
c
lf(TIMl(ND).LT.TXX) GO TO 60
I
NSWI T=NSWI T+l
TEMP=NSWI T+l
TXX=TSWI T( TEMP)
Vl=VISWIT(NSWll)
lON=VllON/VI
lOFF=TON*(Vl-fO)/EO
U(l)=VI
Rf2o:23Q.27
K3=Rf2/( Rfl+Rf2)
f1(2,3)=-l./(Cl*(Rfl+RF2))
f1(3,3)=(-1.*(Cf+Cl))/(Cf*Cl*(Rfl+Rf2))
f1(4, l )=(-1.*K3)/C1
f1(4,3)=(K3*(Cf+C1))/(CF*Cl*(Rfl+Rf2))
f1(4,5)=(K3/Cl)-((RL*RC*Kl)/(CP1*(RL+RC)))
F2(2,3)=f1(2,3)
f2( 3, 3 )=fl( 3, 3)
f2 ( 4, 1 ) = f 1 (II, 1 )
f 2 (11, 3 ) = f 1 ( ,, , 3 )
T=FRAC*TOff
c
CALL STRAN(T,PHIF,Df,f2,G2,7,4,7,4,1,0,EPS,DIFMAX, ITER, lfLAG)
c
T=FRAC*TON
c w
CALL STRAN( T, PlllN, DN, fl ,Gl, 7 ,4, 7 ,11, 1,0, EPS,DI fMAX, I TER, I FLAG) ~
c \.0
60 CONTINUE
M=O
T=FRAC*TON
c
c ***************************************
C ON flME CALCULATION *
c ***********~***************************
c
65 CONTINUE
00 12 I= 1, 7
12 TVECl(l)=X(l,ND)
lf(NO.LT.1000) GO TO 5002
WRITE(6, 709)
109 FORMAT(//,' SfAfE VECTOR IN ON TIME')
WRITE(6,90U5)(TVEC1( I ).1=1, 7)
9005 FORMAT(7f15.11)
WRITE(6,*) VO(ND)
5002 CONTINUE
c
CALL FUTURE(TVECl,U,PHIN,DN,7,7,7,4,7,7,7,4,1)
c
TEMP=TIME(ND)
ND=ND+l
TI ME( ND )=TEMP+T
DO 13 I= 1, 7
13 X( 1,ND)=TVEC1( I)
VO(ND)=RL*RC*X(5,ND)+RL*X(6,ND)
VO(ND)=VO(ND)/(RL+RC)
M=M+l
IF(X(5,ND).GE. IQMAX) GO TO 70
IF(M.LT.NT) GO TO 65
c
GO TO 999
c
c ***************************************
C CALCULATION TO FIND WHEN INDUCTOR *
C CURRENT 111 TS TllE THRESllOLD VALUE. *
c ***************************************
c
70 CONTINUE
IT=O
71 IF(ABS(X(5,ND)~IQMAX).LE.EPS) GO TO 999
IT=IT+l w
I F( IT. GE.NIT) GO TO 100 1'l
0
SLOPE2=F1(5,2)*X(2,ND)+F1(5,5)*X(5,ND)+F1(5,6)*X(6,ND)+
1G1(5,3)*U(3)
T=( IQMAX-X(5,ND))/SLOPE2
CALL ST RAN ( T, PH I FT, DFT, F1, G1, 7, 4, 7, 4, 1, 0, EPS, DI FMAX, IT ER, I FLAG)
DO 15 I= 1, 7
15 TVECl(l)=X(l,ND)
CALL FUTURE(TVECl,U,PHIFT,DFT,7,7, 7,4, 7,7,7,4,1)
TIME(ND)=TIME(ND)+T
DO 16 I= 1, 7
16 X(l,ND)=TVECl(I)
VO(ND)=RL*RC*X(5,ND)+RL*X(6,ND)
VO(ND)=VO(ND)/(RL+RC)
GO TO 71
999 CONTINUE
c
IF(ND.LT. 1000) GO TO 5003
WRITE(6,442) TIME(ND)
442 FORMAT(/,'SWITCH OFF TIME=',F15.11)
5003 CONTINUE
IF(TIME(ND).LT.TF) GO TO 20
GO TO 120
100 CONTINUE
WRITE(6,204) TIME(ND)
204 FORMAl(/,'MAXIMUM ITERATION AT TIME=',f15.11)
120 CONTINUE
111 DO 105 1==1,NO
WRIH(B, 103) TIME( I ).X( 1, I)
105 CONTINUE
DO 106 1=1,ND
WRITE(8, 103) TIME( I ),X(2, I)
106 CONTINUE
112 00 1011 I= 1 , ND
WIU TE( 6, 103) TIME( I ).X( 3, I)
103 FORMAT ( 2E20. 10)
1011 CONTINUE
DO 107 1=1,NO
WRITE(8, 103) TIME( I ).X(4, I)
107 CONTINUE
DO 122 1=1,NO
WRIH(8, 103) TIME( I ),X(5, I)
122 CONTINUE w
DO 12 3 I = 1 , NO N
WRITE(8, 103) TIME( I ),VO( I) .......
123 CONTINUE
00 1211 1=1, ND
WRITE(8, 103) TIME( I ),X(7, I)
124 CONTINUE
109 CONllNUE
DO 14 1=1,NO
111 TVFC2( I )=VO( I)
STOP
END
c
c
SUBROUTINE STRAN(TAU,Plll,TllETA,A,B,NA,NB,MA,MB,MODE,NTERMS,
1 TOL,DlfMAX, ITER, lfLAG)
REAL PHI (NA, NA), TllETA( NA, NB) ,A( NA, NA), B( NA,NB),
1 WORK1(10,10),WORK2(10,1U),DUMMY(1,1),fAC1,CON1,fAC2,CON2
Cl=l
TS= TAU
DO 4 1=1,MA
00 2 J=l,MA
WORKl(l,J)=O
WORK2( I, J )=0
PHI (I ,J )=O
2 CONTINUE
WORKl( I, I )=I
WORK2( I, I )=TAU
PH I ( I, I )= 1
4 CONTINUE
00 6 1=1,MA
DO 6 J=l,MB
6 THlTA( I ,J )=0
DI FMAX= 1 . E8
N00=50
IF(NTERMS.GT.O) NDO=NTERMS
FAC1=1
IFLAG==O
DO 1000 1=1,NDO
CALL MXMUL(OUMMY,WORKl,A,TS,1,1,10,10,NA,NA,MA,MA,MA,MA,1)
FAC1=FAC1*1
CON1=1./FAC1
lf(NTERMS.EQ.O.AND. l.GE.4) CALL SERROR(PHl,WORK1,CON1,NA,NA,
1 10, 10,MA,MA,DIFMAX) w
CALL MXAOD(DUMMY,nll,WORK1,C1,CON1,1,1,NA,NA,10,10,MA,MA,1) N
IF(MODE.EQ.2) GO TO 500 N
FAC2=FAC1*( 1+1)
CON2==TAU/FAC2
CALL MXADD( DUMMY, WORK2,WOHK1 ,Cl ,CON2, 1, 1, 10, lQ, 10, 10,MA,MA, 1)
500 CONTINUE
ITER= I
IF(NTERMS.GT.O.OR. l.LT.4) GO TO 1000
IF(DIFMAX.LE.TOL) GO TO 1100
1000 CONTINUE
1100 CONTINUE
IF( MODE. EQ. 1) CALL MXMUL( THETA, WORK2, B, Cl, NA, NB, 10, 10, NA, NB,
1 MA,MA,MA,MB,2)
IF( ITER.EQ.NDO.AND.NTERMS.EQ.O) IFLAG=l
RETURN
END
c
c
SUBROUTINE SERROR(AMX,BMX,CCC, IA,JA, IB,JB, 100,JDO,DIFMAX)
DIMENSION AMX( IA,JA),BMX( IB,JB)
DIFMAX=l.E-30
DO 100 1=1, 100
DO 50 J=l ,JDO
lf(AMX( l,J).EQ.0.0 ) GO TO 50
CHANGE= ABS( BMX( I , J) *CCC/ AMX( I ,.I))
lf(ClfANGE.Gl.DlfMAX) DlfMAX=CllANGE
50 CONTINUE
100 CONTINUE
RETURN
END
c
c
SUBROUTINE fUTURE(X,V,Plfl,THETA,LP,MP,LT,MT, IP,JP, IT,JT,MODE)
DIMENSION X(MP), V(MT), Piii ( LP,MP), HIETA( LT ,MT), TEMP(20)
DO 20 1=1, IP
SUM=O
DO 10 J= 1,JP
10 SUM=SUM+Plll(l,J)*X(J)
20 TEMP( I )=SUM
DO 30 1=1, IP
30 X( I )=TEMP( I )
lf(MODE.EQ.2) RETURN
DO 60 1=1, IT w
SUM=O N
DO 50 J=l,JT w
50 SUM=SUM+THETA( l,J)*V(J)
X( I )=X( I )+SUH
60 CONTINUE
RETURN
END
c
c
SUBROUTINE MXADD(RMX,AMX,BMX,ACC,BCC, IR,JR, IA,JA, IB,JB, 100,JDO,
1 MODE)
DIMENSION AMX( IA,JA),BMX( IB,JB),RMX( IR,JR)
If( IA.LT. IDO.OR.JA.LT.JDO) GO TO 999
IF( IB.LT. IDO.OR.JB.LT.JDO) GO TO 999
GO 10 (10,100),MODE
10 CONTINUE
DO 50 I= 1 , I IJO
DO 50 J= 1, JOO
50 AMX( l,J)=AMX( l,J)*ACC+BMX( l,J)*BCC
GO TO 300
100 CONTINUE
If( IR.LT. IDO.OR.JR.LT.JDO) GO TO 999
DO 200 l=l, IDO
D0200J=1,JDO
200 RMX( l,J)=AMX( l,J)*ACC+BMX( l,J)*BCC
300 R£lURN
999 CONTINUE
RETURN
END
c
c
SUBROUTINE MXMUL(RMX,AMX,BMX,CCC, IR,JR, IA,JA, IB,JB, IDA,JDA, IDB, JOB
1,MODE)
DIMENSION AMX( IA,JA),BMX( IB,JB),RMX( IR,JR),TEMP(20)
IF( IDA*IDB*JOA*JDB.GT. IA*IB*JA*JB) GO TO 999
IF(JDB.GT.JDA) GO TO 999
GO TO (10,210),MODE
10 DO 100 I= 1 , I DA
DO 20 L=l ,JDA
20TEMP(L)=AMX(1,L)
D080J=l,JDB
SUM=O
DO 110 Kc=l,JDA w
40 SUM=SUM+TEMP(K)*BMX(K,J) N
AMX( I ,J )=SUM*CCC ~
80 CONTINUE
100 CONTINUE
GO TO 600
210 CONTINUE
IF( IR.LT. IDA.OR.JR.LT.JDB) GO TO 999
DO 1100 l=l, IDA
DO 380 J=l,JDB
SUM=O
DO 3110 K= 1, JOA
340 SUM=SUM+AMX(l,K)*BMX(K,J)
RMX( I, J )=SUM*CCC
380 CONTINUE
400 CONTINUE
600 RETllRN
999 CONTINUE
RETURN
END
Appendix B
SOFTWARE FOR
STABILITY ANALYSIS OF A BUCK REGULATOR
325
c
c *******************************************************************
C * THIS PROGRAM COMPUTES THE CLOSED-LOOP POLES Of A BUCK CONVERTER *
C * WITH A SINGLE-STAGE INPUT FILTER,AS A FUNCTION Of THE INPUT *
C * FILTER PARAMETERS. *
c *******************************************************************
c
DIMENSION A(7),B(6),CC1(7),CC2(5)
REAL NXEG, IXR,M,K1,K2,K3,K4,K5,K6,K7,L,L1,K8
INTEGER NDEG, IER
COMPLEX Z(6),Z1(5),Z2(6),Z3(4)
DATA Vl,L,RO,RC,C,RL,V0/25.0,230.0E-6,0.2,0.067,300.0E-6,10.0,20.0
1/
DATA RN,R11,R12,R13,R14,R4,C2,CP1,M/0.65,33.3E3,16.7E3,2.0E5,
147.0E3,40.7E3,1.0E-10,5600.0E-12,0.88E-3/
c
00 2000 1=1,1000
READ(5,*) RL1,L1,C1
lf(RL1.LT.O.) GO TO 2001
D=0.8388579
c
Yl=RL*Ll*Cl*C*RC
Y2=RL*L1*Cl+C*RC*(C1*RL1*RL-(D**2)*L1) w
Y3=Cl*RL1*RL-(D**2)*Ll+C*RC*(RL-(D**2)*RL1) l\J
Y4=RL-(D**2)*RL1
Y5=RL*L1*C1*C*RL °'
Y6=RL*L1*C1+C*RL*(C1*RL1*RL-(D**2)*L1)
Y7=C1*RL1*RL-(0**2)*Ll+r.*RL*(RL-(D**2)*RL1)
Y8'-=L*C*RL*Ll*C1
Y9=( L*C*RL*Cl *RU)+( C*RL*Ll *Cl*( RO+RC+( L/( C*RL))))
Y10=L*C*RL+C*RL*C1*RL1*(RO+RC+(L/(C*RL)))+Ll*Cl*RL+(0**2)*C*RL*L1
Y11=C*RL*(RO+RC+(L/(C*RL)))+C1*RL1*RL+(0**2)*(L1+C*RL*RL1)
Y12=RL+(D**2)*RL1
RX=(R11*R12)/(R11+R12)
G=RX/Rl 1
Kl=G/( R14+RX)
K2=C2*(1.0+K1*R13)
FM=(2.0*R4*CP1)/(RN*M)
K3=VO*RL*R4*FM
Kll=RN*L*C2*R13
K5=VO*FM
K6=CP1*C2*R13
K7=D*RL*R4
K8=C*(RO+RC+(L/(C*RL)))
c
c ********************************************************
C * THIS CALCULATION IS FOR THE CLOSED LOOP POLES WITH *
C * INPUT FILTER. *
c ********************************************************
c
A( 1 )=K7*K6*Y8
A(2)=K7*CP1*Y8+K7*K6*Y9+K5*~1*Y5
A(3)=K7*CP1*Y9+K7*K6*Y10+K3*K2*Yl+K5*RN*L*Y5+K5*K4*Y6
A(l1)=K7*CP1*Y10+K7*K6*Y11+K3*K2*Y2+K3*Kl*Yl+K5*RN*L*V6+K5*K4*Y7
A(5)=K7*CP1*Y11+K7*K6*Y12+K3*Kl*V2+K3*K2*Y3+K5*RN*L*Y7+K5*K4*Y4
A(6)=CP1*K7*Y12+K3*Kl*Y3+K3*K2*V4+RN*L*K5*Y4
A( 7 )=K3*K1 *Y4
NDEG=6
CALL ZPOLR(A,NDEG,Z, IER)
c
WRITE(6,101) RL1,L1 1C1
101 FORMAT(/,lOX, 1 RLl= ,F15.10,' L1=',F15.10, 1 C1=',f15.10)
WRITE(6,103)
103 FORMAT(/,20X, 1 THE CLOSED LOOP POLES WITH I.FILTER ARE-')
WRITE(6, 102)(Z( IX), IX=1,6)
102 FORMAT(/,20X,2E15.8) w
c N
.....J
B(1)=K5*K4*Y5
B(2)=K5*RN*L*Y5+K5*K4*V6+K3*K2*Y1
B(3)=K5*RN*L*V6+K5*K4*Y7+K3*K2*Y2+K3*Kl*Y1
B( 4 )=K5'*RN*L*V7+K5*K4*Vl1+K3*K1 *Y2+K3*K2*Y3
B( 5 )=RN*L *K5*Y4+K3*K 1*V3+K3*K2*Yll
R(6)=K3*Kl*Y4
NDEG=5
CALL ZPOLR(B,NDEG,Zl, IER)
WR I TE( 6, 1011)
104 FORMAT(/,20X,' THE OPEN LOOP ZEROES ARE 1 )
WR I TE ( 6 102 )( z 1 ( Ix) , IX= 1 , 5 )
I
c
CCl ( 1 )=K7·*K6*Y8
CCl ( 2 )=K7*CP1*Y8+K7'*K6*Y9
CC1(3)=K7*CP1*Y9+K7*K6*Y10
CC1(4)=K7*CP1*Y10+K7*K6*Y11
CC1(5)=K7*CP1*Y11+K7*K6*Y12
CC1(6)=CP1*K7*Y12
CC1(7)=0.0
CALL ZPOLR(CC1,6,Z2, IER)
WRITE(6, 105)
105 FORMAT(/,20X,' THE OPEN LOOP POLES ARE 1 )
WR I TE ( 6, 102 )( Z2 ( IX), IX= 1, 6)
c
c ******************************************************************
C * THIS CALCULATION IS FOR THE CLOSED LOOP POLES WITHOUT INPUT *
C * FILTER. *
c ******************************************************************
c
CC2(1)=K7*K6*L*C
CC2(2)=K7*K6*K8+K7*CP1*L*C+K5*K4*C*RL
CC2(3)=K7*CP1*K8+K7*K6+K3*K2*C*RC+K5*K4+K5*RN*L*C*RL
CC2(4)=K7*CP1+K3*K2+K3*Kl*C*RC+RN*L*K5
CC2(5)=K3*K1
CALL ZPOLR(CC2,4,Z3, IER)
WRITE(6, -/85)
785 FORMAT(/,20X, 1 THE CLOSED LOOP POLES W/O I.FILTER ARE-')
WRITE(6, 102)(Z3( IX), IX=l,11)
2000 CONTINUE
2001 CONTINUE
STOP
END w
N
00
cC **************************************************"''********
STABILITY ANALYSIS OF A BUCK CONVERTER WITll INPUT FILTER *
c
c
***********************************************************
C THIS PROGRAM COMPUTES THE EIGENVALUES OF A BUCK REGULATOR
C SYSTEM WITH INPUT FILTER.
c
DIMENSION F1(6,6),F2(6,6),G1(6,4),G2(6,4),U(4),PHIF(6,6),
1PHIN(6,6),DF(6,4),DN(6,4),X(6),ZT(6),AA(6,6),BB(6),TEMP1(6,4),
2Pll I FT ( 6, 6), OFT ( 6, 4), XA( 6), ZN 1 ( 6), XB( 6)
DIMENSION PSl(6,6),XN1(6),FUN1(6),FUN2(6),CON(4),RVAL(6,9)
DIMENSION TEMP2(6,6),DX(6)
DIMENSION WKAREA(70),WK(70)
REAL Ll,L,K1,K2
COMPLEX W(6),Z(6,6),ZN
DATA RL1,L1,Cl,L,RO,RN,RC,C/0.2000,50.0E-6,220.E-6,230.E-6,0.2EO
1,0.65E0,0.067E0,300.E-6/
DATA RL,R11,R12,R13,R14,C2,R4,CP1/10.0E0,33.3E3,16.7E3,2.E5,
147.E3,0.01E-8,40.7E3,5600.E-12/
DATA ER,ET,Vl,E0/6.7EO, 7.E0,25.E0,20.EO/
DATA VITON,EQ,ED/0.88E-3,0.2E0,0.7EO/
DATA NIT,EPS/90,10.E-6/
DATA EPS1,ERROR/2.E-6,0.5E-6/ w
DATA CON/0.1E-1,0.05E-1,0.025E-1,0.0125E-1/
DATA TOL.L/0.01/ "'
l.O
c
Kl=(R12/(R14*(R11+R12)))+(1./R13)-(RN/R4)
K1=K1-(RN*RO*(RL+RC))/(R4*RL*RC)
K2=(RN/R4)-(1./R13)-(R12/(R14*(R11+R12)))
TON=VITON/VI
TOFFB=TON*((Vl-EO)/EO)
DO 1 1=1,6
DO 2 J=l,11
Gl (I ,.J )=O.
G2( I ,J )=0.
OF( I ,J )=O.
ON( I ,J )=0.
2 CONTINUE
DO 3 K=l,6
Fl(l,K)=O.
F2(1,K)=O.
AA( I, K)=O.
PH IF ( I , K) =O.
PHIN( l,K)=O.
3 CONTINUE
1 CONTINUE
DO 5 1=1,6
ZT( I )=O.
BB( I )=O.
FUNl( I )=0.
FUN2( I )=O.
XA( I )=O.
XB( I )=O.
XNl( I )=0.
ZNl (I )=O.
5 CONT I NUE
f1(1,1)=(-1.*RL1)/L1
Fl(l,2)=-1.00/Ll
f1(2, 1 )=1.00/Cl
f1(2,3)=-1.00/C1
f1(3,2)=1.00/L
f1(3,3)=(-1.00*RO)/L+(-1.00*RC*RL)/(L*(RL+RC))
f1(3,4)=-1.00*RL/(L*(RL+RC))
f1(4,3)=RL/(C*(RC+RL))
F1(4,4)=-1.00/(C*(RC+RL))
f1(5,3)=(RL*RC)/(C2*R13*(RC+RL)) w
f1(5,4)=RL/(C2*R13*(RC+RL)) w
0
f1(5,5)=-1.00/(C2*R13)
f1(6,2)=(-1.00*RN)/(CP1*R4)
f1(6,3)=(-1.00*RL*RC*K1)/(CP1*(RC+RL))
f1(6,4)=(RL*K2)/(CP1*(RL+RC))
f1(6,5)=1.00/(CP1*R13)
Gl(l,1)=1.00/Ll
G1(3,3)=-1.00/L
G1(6,2)=1.00/(CP1*R14)
G1(6,3)=RN/(CP1*R4)
U(l)=VI
U( 2 )=ER
U( 3 )=EQ
U( 4 )=ED
DO It I =1, 6
DO 4 J=l,6
4 f2 ( I , J ) =fl ( I , J )
F2(2,3)=0.00
f2(3,2)=0.00
f2(6,2)=0.00
G2( 1, 1)=G1(1, 1)
G2(6,2)=G1(6,2)
G2(3,4)=-1.00/L
G2(6,4)=RN/(CP1*R4)
c
T==TON
CALL STRAN( T, PH IN, ON, Fl, G1, 6, 4, 6, 11, 1, 0, ERROR, DI fMAX, I TER, I FLAG)
T=TOFFB
CALL STRAN(T,PHIF,DF,F2,G2,6,11,6,4, 1,0,ERROR,DlfMAX, ITER, IFLAG)
c
c *************************************************
C CALCULATION OF Tllf APPROXIMATE STEADY STATE *
c *************************************************
c
DO 5000 1=1,6
DO 5000 J=1,6
AA( I ,J )=O.
DO 5001 K== 1 , 6
5001 AA( l,J)=AA( l,J)+PtllN( l,K)*PHIF(K,J)
AA( l,J)=-1.*AA( l,J)
5000 CONTINUE
DO 5002 I= 1 , 6 w
5002 AA( I, I )=1.+AA( I, I) w
I-'
DO 5003 1=1,6
DO 5003 J=1,4
TEMP1 (I ,J )=0.
DO 50011 K= 1 , 6
50011 HMP1( l,J)=TEMP1( l,J)+PlllN( l,K)*DF(K,J)
5003 TEMP1( l,J)=TEMP1( l,J)+DN( l,J)
DO 5005 1=1,6
BB( I )=O.
00 5006 J=l,11
5006 BB( I )=BB( I )+TEMP1 (I ,J )*U( J)
5005 CONTINUE
MM=1
NN=5
IAA=6
IOGT=O
CALL LEQT2F(AA,MM,NN, IAA,BB, IDGT,WKAREA, IER)
DO 5007 1=1, 5
5007 X( I )=BB( I )
X(6)=ET-PHIF(6,1)*X(1)-PlllF(6,2)*X(2)-PHIF(6,3)*X(3)-PHIF(6,4)*X(
14)-PlllF(6,5)*X(5)-Df(6,1)*U(1)-DF(6,2)*U(2)-Df(6,3)*U(3)-Df(6,4)*
2U(4)
WRITE(6, 5008)
5008 FORMAT(1H1,37X,' APPROXIMATE STEADY STATE VALUES,X= 1 )
WRITE(6,5009)(X( I), 1=1,6)
5009 FORMAT(lH ,6F15.10)
WRITE(6,5010) TOFFB
5010 FORMAT(1H0,37X,' APPROXIMATE VALUE OF OFF TIME= 1 ,F15.10)
c
c *************************************************
c CALCULATION OF THE EXACT STEADY STATE VALUES *
c *************************************************
c
ITl=O
900 DO 26 1=1,5
ZT( I )=O. 00
DO 27 K=l,6
27 ZT( I )=ZT( I )+PH IF( I, K )*X( K)
DO 28 .J= 1, IJ
28 ZT( I )=ZT( I )+OF( I, J )*U( J)
26 CONTINUE
IT1=1T1+1
SMAT=X(6)-PHIN(6,1)*ZT(1)-PHIN(6,2)*ZT(2)-PHIN(6,3)*ZT(3)-PHIN(6,4 w
1)*ZT(4)-PHIN(6,5)*ZT(5)-PHIN(6,6)*ET-DN(6,1)*U(1)-DN(6,2)*U(2)- w
I\.)
2DN(6,3)*U(3)-DN(6,4)*U(4)
lf(ABS(SMAT).LE.EPSl) GO TO 70
IF( ITl.GT.60) GO TO 70
DTOFF=O.Ol*TOFFB
T=TOFFB+DTOFF
CALL STRAN(T,PHIFT,DFT,f2,G2,6,4,6,4,1,0,ERROR,DIFMAX, ITER, IFLAG)
DO 29 1=1, 6
DO 29 J=l,6
AA( l,J)=0.00
DO 56 K=l, 6
56 AA( l,J)=AA( l,J)+PHIN( l,K)*PHIFT(K,J)
AA( l,J)=-1.00*AA( l,J)
29 CONTINUE
DO 31 1=1, 6
31 AA( I, I )=1.00+AA( I, I)
DO 32 1=1,6
DO 32 J=l,4
TEMPl (I ,J )=0.00
DO 34 K=l, 6
31l TEMPl( l,J)=TEMPl( l,J)+PHIN( l,K)*DFT(K,J)
32 TEMPl( l,J)=TEMPl( l,J)+DN( l,J)
DO 35 1=1,6
BB( I )=0.00
DO 36 J=l ,ll
36 BB( I )=BB( I )+TEMPl( l,J)*U(J)
35 CONTINUE
MM=l
NN=5
IAA=6
IDGT=O
CALL LEQT2f(AA,MM,NN, IAA,BB, IDGT,WKAREA, IER)
DO 37 1=1,5
37 XNl(l)=BB(I)
XN1(6)=ET-PHIFT(6,1)*XN1(1)-PlilfT(6,2)*XN1(2)-PHlfT(6,3)*XN1(3)-
1PlilfT(6,4)*XN1(4)-PHIFT(6,5)*XN1(5)-DFT(6,1)*U(1)-DFT(6,2)*U(2)-
2DfT(6,3)*U(3)-DfT(6,4)*U(4)
DO 38 1=1,5
ZNl( I )=0.00
DO 39 K=l,6
39 ZNl(l)=ZNl(l)+PHIFT(l,K)*XNl(K)
IJO 40 J= 1, 4
40 ZNl (I )=ZNl (I )+OFT( I ,J )*U(J) w
38 CONTINUE w
SMATN=XN1(6)-PlllN(6,1)*ZN1(1)-PHIN(6,2)*ZN1(2)-PHIN(6,3)*ZN1(3)- w
1PlllN(6,4)*ZN1(4)-PHIN(6,5)*ZN1(5)-PHIN(6,6)*ET-DN(6,1)*U(1)-DN(6,2
2)*U(2)-DN(6,3)*U(3)-DN(6,4)*U(4)
DSMAT=SMATN-SMAT
TOffB=TOffB+((-1.00*SMAT)/(DSMAT/DTOFF))
T=TOHB
CALL STRAN(T,PHlf,Df,F2,G2,6,4,6,4,1,0,ERROR,DIFMAX, ITER,lfLAG)
00 112 1=1,6
DO 112 J=l,6
AA( I ,J )=0.00
DO 43 K=l, 6
113 AA( 1,J)=AA( l,J)+PlllN( l,K)*PlllF(K,J)
AA( l,J)=-1.00*AA( l,J)
42 CONTINUE
DO 55 1=1,6
55 AA(l,l)=AA(l,1)+1.
DO 1111 1=1,6
DO 44 J=l,11
TEMPl (I ,J )=0.00
DO 116 K=l ,6
L16 TEMPl( l,J)=TEMPl( 1,J)+PHIN( l,K)*Df(K,J)
44 TEMPl (I ,J )=TEMPl (I ,J )+ON( I ,J)
DO L17 1=1, 6
BB( l)=0.00
00 L18 J=l,ll
48 BB( I )=BB( I )+TEMPl( l,J)*U(J)
47 CONTINUE
MM=l
NN=5
IAA=6
IDGT=O
CALL LEQT2f(AA,MM,NN, IAA,BB, IDGT,WKAREA, IER)
DO L19 I =1, 5
L19 X( I )=BB( I )
X(6)=ET-PHlf(6,1)*X(1)-PHlf(6,2)*X(2)-Plllf(6,3)*X(3)-Plllf(6,4)*
1X(4)-PH1f(6,5)*X(5)-Df(6,1)*U(1)-Df(6,2)*U(2)-Df(6,3)*U(3)-
2Df(6,4)*U(4)
GO TO 900
70 CONTINUE
WRITE(6,50)
50 FORMAT( 1110, 37X,' EXACT STEADY STATE VALUES,X= 1 )
WRITE(6, 199)(X( I), 1=1,6) w
199 FORMAT(lll ,6F15.10) w
WRITE(6,198) TOFfB ~
DZETA=ZfTAN-ZETA
SLOPE=DZETA/DTOFF
TfFC 1 =-Tf FCl-( ZETA/SLOPE)
To.:TffCl
CALL STRAN(T,PHIF,Df,F2,G2,6,4,6,4,1,0,ERROR,DIFMAX, ITER,IFLAG)
IT=ll+l w
GO TO 1101 w
U1
1102 DO 13 J=l,6
TEMP=0.00
DO 14 K=l, 6
DO 81 MENT=l,5
81 PHIF(MENT,6)=0.0
PH IF( 6, 6 )=1.0
14 TEMP=TEMP+PHIF(J,K)*XA(K)
DO 15 K=l,4
15 TEMP=TEMP+Of(J,K)*U(K)
FUNl(J)=TEMP
13 CONTINUE
TffC2=TOff8
IT=O
T=TOHB
CALL STRAN( T, Pll If, Of, f2,G2,6, 11,6,4, 1, 0, ERROR, DI FMAX, I TER, I FLAG)
1103 ZETA=PHIF(6,3)*XB(3)+Plllf(6,4)*
1XB(4)+PlllF(6,5)*XB(5)+1.0*XB(6)+Df(6,1)*U(l)+DF(6,2)*U(2)+
2Df(6,3)*U(3)+Df(6,4)*U(4)-ET
lf(ABS(ZETA).LE.EPS) GO TO 1104
If( IT.CE.NIT) GO TO 1003
DTOff=CON( IRICH)*TffC2
T=TffC2+DTOff
CALL STRAN(T,PHlfT,DfT,f2,G2,6,4,6,4,1,0,ERROR,DlfMAX, ITER, lfLAG)
ZETAN=Pll 1FT(6, 3 )*XB( 3 )+PH I FT( 6, 11
1)*XB(4)+PHlfT(6,5)*XB(5)+1.0*XB(6)+DfT(6,1)*U(l)+DFT(6,2)*
2U(2)+DfT(6,3)*U(3)+DfT(6,4)*U(4)-ET
DZETA=ZETAN-ZETA
SLOPE~DZETA/DTOff
TffC2=TFfC2-(ZETA/SLOPE)
T=TffC2
CALL STRAN(T,PHlf,Df,f2,G2,6,4,6,4,1,0,ERROR,DlfMAX, ITER, lfLAG)
I I"= IT+l
GO TO 1103
1104 DO 62 J=l,6
TEMP=0.00
DO 63 K=l, 6
DO 82 MENT= 1, 5
82 Plllf(MENT,6)=0.0
PHIF(6,6)=1.0
63 TEMP=TEMP+PHlf(J,K)*XB(K)
DO 64 K= 1, 11 w
64 TEMP=TEMP+Df(J,K)*U(K) w
fUN2(J )=TEMP
62 CONTINUE
DO 2011 J = 1, 6
°'
2011 RVAL(J, IR I Cll )=( fUNl ( J )-FUN2( J) )/( 2. O*DX( I))
2010 CONTINUE
DO 65 J=l,6
RVAL(J,5)=(RVAL(J,2)-0.25*RVAL(J,1))/0.75
RVAL(J,6)=(RVAL(J,3)-0.25*RVAL(J,2))/0.75
65 RVAL(J,7)=(RVAL(J,4)-0.25*RVAL(J,3))/0.75
DO 66 J=l,6
RVAL(J,8)=(RVAL(J,6)-0.0625*RVAL(J,5))/0.9375
66 RVAL(J,9)=(RVAL(J,7)-0.0625*RVAL(J,6))/0.9375
DO 67 Jo:l,6
67 TEMP2(J, l)=(RVAL(J,9)-0.015625*RVAL(J,8))/0.984375
2000 CONTINUE
DO 17 1=1, 6
DO 17 J= 1, 6
TEMP-=0.00
DO 19 K= 1, 6
19 HMP=TEMP+PlllN( l,K)*HMP2(K,J)
PSI (I ,J )=TEMP
17 CONTINUE
WRITE(6,92)
92 FORMAT(1H0,37X, 1 MATRIX PSI-- 1 )
DO 30 1=1,6
30 WRITE(6,93)(PSI( l,J).J=l,6)
93 FORMAT ( 6f 15. 10 )
GO TO 10011
1003 WR I TE ( 6 , 100 ) I
100 FORMAT(//,' CONVERGENCE NOT OBTAINED FOR X(I), I= 1 , 14)
1004 CONTINUE
CALL EIGRF(PSl,6,6,2,W,Z,6,WK, IER)
WR I TE ( 6, 911 )
94 FORMAT(HI0,37X, I THE EIGENVALUES ARE-- I)
WR I TE ( 6, 103) ( W( I ) , I= 1, 6)
103 FORMA l( 111 , 6 fl 5 • 10 )
WRITE(6, 101l) WK( 1). IER
104 FORMAT ( HIO. 3-rx. CONVERGENCE TOLERANCE= I . Fl 5. 10. I I ER= I . 14)
905 CONTINUE
STOP
END
c
c w
w
SUBHOllT I NE STRAN( TAIJ, Pit I, TllETA, A, B, NA, NB, MA, MB, MODE, NTERMS,
1 TOL, DI FMAX, ITEB, I FLAG) ..J
REAL Plll(NA,NA), TllETA(NA,NB),A(NA,NA),B(NA,NB),
1 WORK1(10,10),WORK2(10,10),DUMMY(1,1),FAC1,CON1,FAC2,CON2
Cl=l
TS= TAU
DO 11 1=1,MA
DO 2 J=l ,MA
WORKl( l,J)=O
WORK2( I, J )=O
Pll I ( I, J )=O
2 CONTINUE
WORK 1 ( I, I ) = 1
WORK2( I, I )=TAU
Pll I ( I, I )= 1
4 CONTINUE
DO 6 1=1,MA
DO 6 J=l ,MB
6 TllETA( I ,J )=0
DI FMAX= 1 • E8
ND0=50
IF(NTERMS.GT.O) NDO=NTERMS
FAC1=1
IFLAG=O
DO 1000 1=1, NDO
CALL MXMUL(DUMMY,WORKl,A,TS,1,1,10,10,NA,NA,MA,MA,MA,MA,1)
FAC1=FAC1 *I
CON1=1./FAC1
IF(NTERMS.EQ.O.AND. l.GE.4) CALL SERROR(PHl,WORK1,CON1,NA,NA,
1 10,10,MA,MA,DIFMAX)
CALL MXADD(OUMMY,PHl,WORK1,C1,CON1,1,1,NA,NA,10,10,MA,MA,1)
IF(MODE.EQ.2) GO TO 500
FAC2=FAC1*( 1+1)
CON2=TAU/FAC2
CALL MXADD(DUMMY,WORK2,WORK1,C1,CON2,1,1,10,10,10,10,MA,MA,1)
500 CONTINUE
ITER=I
IF(NTERMS.GT.O.OR. 1.LT.4) GO TO 1000
IF(OIFMAX.LE.TOL) GO TO 1100
1000 CONTINUE
1100 CONTINUE
lf(MOOE.EQ.1) CALL MXMUL(THETA,WORK2,B,C1,NA,NB,10,10,NA,NB,
1 MA,MA,MA,MB,2) w
IF( ITER.EQ.NDO.AND.NTERMS.EQ.O) IFLAG=l w
RETURN co
END
c
c
SUBROUTINE SERROR(AMX,BMX,CCC, IA,JA, IB,JB, IDO,JDO,DIFMAX)
DIMENSION AMX( IA,JA),BMX( IB,JB)
DI FMAX=l. E-30
DO 100 I =1 , IDO
DO 50 J=l ,JDO
IF(AMX( l,J).EQ.0.0 ) GO TO 50
CHANGE= ABS(BMX( l,J)*CCC/AMX( l,J))
lf(CllANGE.GT.DIFMAX) DIFMAX=CHANGE
50 CONTINUE
100 CONTINUE
RETURN
END
c
c
SUBROUTINE MXADD(RMX,AMX,BMX,ACC,BCC, IR,JR, IA,JA, IB,JB, 100,JDO,
1 MOOE)
DIMENSION AMX( IA,JA),BMX( IB,JB),RMX( IR,JR)
If( IA.LT. IDO.OR.JA.LT.JDO) GO TO 999
If( IB.LT. 100.0R.JB.LT.JDO) GO TO 999
GO TO (10,100),MODE
10 CONT I NUE
DO 50 1=1, IDO
DO 50 .J=l ,JDO
50 AMX( l,J)=AMX(l,J)*ACC+BMX( l,J)*BCC
GO TO 300
100 CONTINUE
If( IR.LT. IDO.OR.JR.LT.JDO) GO TO 999
DO 200 1=1, 100
DO 200 J=l,JDO
200 RMX( l,J)=AMX(l,J)*ACC+BMX( l,J)*BCC
300 RETURN
999 CONTINUE
RETURN
END
c
c
SUBROUTINE MXMUL(RMX,AMX,BMX,CCC, IR,JR,IA,JA, IB,JB,IDA,JDA, IDB,JDB
1, MODE) w
DIMENSION AMX( IA,JA),BMX( IB,JB),RMX( IR,JR), TEMP(20) w
l.O
If( IDA*IDB*JOA*JDB.GT. IA*IB*JA*JB) GO TO 999
IF(JDB.GT.JDA) GO TO 999
GO TO (10,?.10),MODE
10 DO 100 1=1, IDA
DO 20 L=l,JDA
20 TEMP(L)=AMX( l,L)
DO 80 J=l,JDB
SUM=O
DO 110 K=l ,~IDA
40 SIJM=SUM+TEMP( K )*BMX( K, J)
AMX( l,J)=SUM*CCC
80 CONTINUE
100 CONT I NUE
GO TO 600
210 CONT I NUE
If( IR.LT. IDA.OR.JR.LT.JDB) GO TO 999
DO 1100 1=1, IDA
DO 380 J=l,JDB
SUM=O
DO 340 K=l ,JDA
340
...,
-i
al
*-u
:.::u
''-'
-*
-:E:
x;:,
:E: Cl)
<( II
+ -UJUJ UJ
:E: ..., ;:) ;:) ;:)
;:) ,zzzzz
Cl)---a:-cc::
II -1- I- ;:, !- ;:)
:E: X Z Z l - Z l - 0
;:,::i;:oowowz
Cl)O::(.Jc.JCC::(.JCC::W
c 0000\
.=T COOOO\
M M.:T\00\
c
c ***************************************************
C * ST AB I LI TY ANAL VS IS Of A BUCK CONVERTER *
c ***************************************************
c
C THIS PROGRAM COMPUTES HIE EIGENVALUES Of A BUCK
C REGULATOR SYSTEM WITH INPUT FILTER AND
C FEEDFORWARD.
c
DI MENS I ON f 1 ( 7, 7) , f2 (7, 7), G1 ( 7, 11), G2 ( 7, 4), U( 4), PH I f ( 7, 7),
1PHIN(7, 7),Df(7,4),0N(7,4),X(7),ZT(7),AA(7, 7),88(7), TEMP1(7,4),
2PHIFT(7,7),DFT(7,4),XN1(7),ZN1(7)
DIMENSION PSl(7,7),XA(7),FUN1(7),FUN2(7),XB(7),CON(4),RVAL(7,9)
DIMENSION TEMP2(7,7),DX(7)
DIMENSION WKAREA(90),WK(90)
REAL L1,L,K1,K2,K3
COMPLEX W(7),Z(7,7),ZN
DATA RL1,L1,C1,L,RO,RN,RC,C/0.20E0,1.425E-3,220.E-6,230.E-6,D.2ED,
10.65E0,0.067E0,300.E-6/
DATA RL,R11,R12,R13,R14,C2,Rl1,CP1/l0.0E0,33.3E3,16.7E3,2.E5,
147.E3,0.01E-8,40.7E3,5600.E-12/
DATA ER,ET,Vl,E0/6.7E0,7.E0,25.E0,20.EO/ w
DATA VITON,EQ,ED/0.88E-3,0.7E0,0.2EO/ .e:.
DATA NIT,EPS/150,5.E-6/ I-'
DATA EPS1/0.5E-6/
DAlA ERROR/0.5E-6/
DATA CON/0.2E-1,0.1E-1,0.05E-1,0.025E-1/
DATA Cf,RF1,Rf2,TOLL/2.7E-5,5.1E3,220.0E0,0.11/
c
Kl=(R12/(R14*(R11+R12)))+(1./R13)-(RN/R4)
Kl=K1-(RN*RO*(RL+RC))/(R4*RL*RC)
K2=(RN/R4)-(1./R13)-(R12/(R14*(Rll+R12)))
K3,,,RF2/(Rfl+Rf2)
TON=VITON/VI
TOFF8=TON*((Vl-EO)/EO)
DO 1 I= 1, 7
DO 2 J= 1, t1
Gl(l,J)=O.
G2( l,J)=O.
DF( I ,J )=0.
DN( I ,J )=0.
2 CONTINUE
DO 3 K=l, 7
Fl( 1,K)=O.
F2( I, K)=O.
AA( I, K)=O.
Pit I F ( I , K) =O.
PlllN( I, K)=O.
3 CONTINUE
1 CONTINUE
DO 5 1=1, 7
ZT( I )=0.
BB( I )=0.
FUNl( I )=O.
FUN2( I )=0.
XA( I )=O.
XB( I )=O.
XNl (I )=O.
ZNl ( I )=O.
5 CONTINUE
Fl(l,1)=(-1.*RLl)/Ll
Fl(l,2)=-1.00/Ll
F1(2,1)=1.00/C1
F1(2,3)=-1./(Cl*(RF1+RF2))
F1(2,4)=-1.00/C1 w
F1(3,1)=1./C1
F1(3,3)=-1.*(Cl+CF)/(Cl*CF*(RF1+RF2))
F1(3,11)=-l./Cl
""'
llJ
F1 ( 4, 2 )= 1 . 00 IL
F1(4,4)=(-1.00*RO)/L+(-1.00*RC*RL)/(L*(RL+RC))
F1(4,5)=-1.00*RL/(L*(RL+RC))
F1(5,4)=RL/(C*(RC+RL))
F1(5,5)=-1.00/(C*(RC+RL))
F1(6,4)=(RL*RC)/(C2*R13*(RC+RL))
F1(6,5)=RL/(C2*R13*(RC+RL))
f1(6,6)=-1.00/(C2*R13)
F1(7,l)=-1.*K3/Cl
F1(7,2)=(-1.00*RN)/(CP1*R4)
Fl(7,3)=K3*(Cl+CF)/(Cl*CF*(RF1+RF2))
F1(7,4)=(K3/C1)-((RL*RC*K1)/(CP1*(RL+RC)))
F1(7,5)=(RL*K2)/(CP1*(RL+RC))
F1(7,6)=1.00/(CP1*R13)
Gl(l,1)=1.00/Ll
Gl(l1,3)=-1.00/L
G1(7,2)=1.00/(CP1*R14)
G1(7,3)=RN/(CP1*R4)
U(l)=VI
U(2)=ER
U(3)=EQ
U(4 )=ED
DO IJ 1=1, 7
DO 4 J=l,7
4 f2(1,J)=f1(1,J)
F2(2,4)=0.
F2(3,4)=0.
F2(11,2)=0.
F2(7,2)=0.
F2(7,4)=(-1.*RL*RC*K1)/(CP1*(RL+RC))
G2( 1, 1)=Gl(1, 1)
G2(7,2)=G1(7,2)
G2(4,11)=-1.00/L
G2(7,4)=RN/(CP1*R4)
c
T=TON
CALL STRAN(T,PHIN,DN,fl,Gl,7,4,7,4,1,0,ERROR,DIFMAX, ITER, IFLAG)
T=TOFFB
CALL STRAN( T, Plil f ,OF, F2,G2, 7 ,11, 7 ,4, 1,0, ERROR, DI FMAX, I TER, I FLAG)
c w
c *************************************************** is:..
w
c * CALCULATION Of TllE APPROXIMATE STEADY STATE *
c ***************************************************
c
DO 5000 1=1, 7
DO 5000 J=l, 7
AA( I ,J )=O.
DO 5001 K=l, 7
5001 AA( l,J)=AA( l,J)+PHIN( l,K)*PHIF(K,J)
AA( 1,J )=-1. *AA( I ,J)
5000 CONTINUE
DO 5002 1=1,7
5002 AA( I, I )= 1. +AA( I, I )
DO 5003 1=1, 7
DO 5003 J=l,4
TEMPl( l,J)=O.
DO 5004 K=l,7
5004 TEMPl( l,J)=TEMPl( l,J)+PHIN( l,K)*DF(K,J)
5003 TEMPl( l,J)=TEMPl( l,J)+DN( l,J)
DO 5005 1=1,7
BB(l)=O.
DO 5006 J=l,4
5006 BB( I )=BB( I )+TEMPl( l,J)*U(J)
5005 CONTINUE
MM=l
NN=6
IAA=7
IDGT=O
CALL LEQT2f(AA,MM,NN, IAA,BB, IDGT,WKAREA,IER)
DO 5007 1=1,6
5007 X( I )=BB( I )
X(7)=ET-PHlf(7,1)*X(1)-PHlf(7,2)*X(2)-PHlf(7,3)*X(3)-PHlf(7,4)*X(
14)-PHlf(7,5)*X(5)-Df(7,1)*U(1)-Df(7,2)*U(2)-Df(7,3)*U(3)-Df(7,4)*
2U(4)-PHlf(7,6)*X(6)
WRITE(6,5008)
5008 FORMAT(1H1,37X,' APPROXIMATE STEADY STATE VALUES,X= 1 )
WRITE(6,5009)(X( I). 1=1, 7)
5009 fORMAT(lH ,7f15.10)
WRITE(6,5010)TOFFB
5010f0RMAT(HI0,37X, 1 APPROXIMATE VALUE Of Off TIME=',f15.10)
c
c ***************************************************
C * CALCULATION Of THE EXACT STEADY STATE VALUES * w
c *************************************************** ii::.
c
ITl=O ""'
900 DO 26 1=1,6
ZT( I )=0.00
DO 27 K=l, 7
27 ZT(l)=ZT(l)+PHlf(l,K)*X(K)
DO 28 J=l,4
28 ZT( I )=ZT( I )+Df( l,J)*U(J)
26 CONTINUE
IT1=1T1+1
SMAT=X( 7 )- Ptl IN ( 7, 1 ) 1t-zt ( 1 )- Pill N( 7, 2) *ZT ( 2 )- Pll IN( 7, 3) *Zl ( 3 )- Pli IN( 7, 4
1)*ZT(4)-Pli1N(7,5)*ZT(5)-PHIN(7, 7)*ET-DN(7, 1)*U(1)-DN(7,2)*U(2)-
2DN(7,3)*U(3)-DN(7,4)*U(4)-PHIN(7,6)*ZT(6)
lf(ABS(SMAT).LE.EPSl) GO TO 70
If( ITl.GT.60) GO 10 70
DTOf f::O. 01 *TOF fB
T=TOFFB+DlOff
CALL STRAN(T,PlllfT,DFT,f2,G2,7,4,7,4,1,0,ERROR,DlfMAX,ITER, lfLAG)
DO 29 1=1,7
DO 29 J=l,7
AA( I, J )=O. 00
DO 56 t<.=1, 7
56 AA( l,J)=AA( l,J)+PHIN( l,K)*PHIFT(K,J)
AA( l,J)=-1.00*AA( l,J)
29 CONTINUE
DO 31 I= 1, 7
31 AA(l,1)=1.00+AA(l,I)
DO 32 1=1,7
DO 32 J=l,4
TEMPl (I ,J )=0.00
DO 31, K=l, 7
31, TEMPl( l,J)=TEMPl( l,J)+PHIN( l,K)*DFT(K,J)
32 TEMPl( l,J)=TEMPl( l,J)+DN( l,J)
DO 35 1=1, 7
BB( I )=0.00
DO 36 J=l,4
36 BB( I )=BB( I )+TEMPl (I ,J )*U(J)
35 CONTINUE
MM=l
NN=6
IAA=7
IDGT=O w
~
CALL LEQT2F(AA,MM,NN, IAA,BB, IDGT,WKAREA, IER) U1
DO 37 1=1, 6
37 XNl (I )=BB( I)
XN1(7)=ET-PHIFT(7,1)*XN1(1)-PHlfT(7,2)*XN1(2)-PHlfT(7,3)*XN1(3)-
1~11fT(7,4)*XN1(4)-PHIFT(7,5)*XN1(5)-DfT(7,1)*U(l)-DfT(7,2)*U(2)-
2DFT(7,3)*U(3)-DFT(7,4)*U(4)-PHIFT(7,6)*XN1(6)
DO 38 1=1,6
ZNl(l)=0.00
DO 39 K=l, -1
39 ZNl(l)==ZNl(l)+PlllFT(l,K)*XNl(K)
DO 110 J=l,11
110 ZNl( I )=ZNl( I )+DfT( l,J)*U(J)
38 CONTINUE
SMATN=XN1(7)-PHIN(7,1)*ZN1(1)-PHIN(7,2)*ZN1(2)-PHIN(7,3)*ZN1(3)-
1PlllN(7 ,4 )*ZNl ( 11)-PlllN(7 I 5 )*ZNl ( 5 )-Piii NP, 7)*ET-DN( 7, 1)*U(1)-ON(7,2
2)*U(2)-DN(7,3)*U(3)-DN(7,4)*U(4)-PHIN(7,6)*ZN1(6)
DSMAT=SMATN-SMAT
TOFFB=TOFFB+((-1.00*SMAT)/(DSMAT/DTOFF))
c
T=TOffB
CALL STRAN( TI PH IF I f)f I F2,G2, ·1,4, 7 ,4, 1,0, ERROR,DI FMAX, I TER, I FLAG)
00 42 1=1,7
DO 42 J=l, 7
AA( l,J)=0.00
DO 43 K=l,7
43 AA( l,J)=AA( l,J)+PlllN( l,K)*PHIF(K,J)
AA( l,J)=-1.00*AA( l,J)
42 CONTINUE
DO 55 1=1,7
55 AA(l,l)=AA(l,1)+1.
DO IJ4 I =1, 7
DO IJll J= 1, 4
TEMPl( 1,J)=0.00
DO IJ6 K=l, 7
46 TEMPl( l,J)=TEMPl( l,J)+PHIN( l,K)*Df(K,J)
44 TEMPl( l,J)=TEMPl( l,J)+DN( l,J)
DO 47 1=1, 7
BB(l)=0.00
DO 118 J = 1 , 11
48 BB(l)=BB(l)+TEMPl(l,J)*U(J)
47 CONTINUE
MM=l
NN=6 w
IAA=7 ~
O"I
IDGT=O
CALL LEQT2f(AA,MM,NN, IAA,BB, IDGT,WKAREA, IER)
DO 119 1=1,6
49 X( I )=BB( I )
X(7)=ET-PHIF(7,1)*X(1)-PHIF(7,2)*X(2)-Plllf(7,3)*X(3)-PHIF(7,4)*
1 X(ll )- Piii f ( 7, 5) *X( 5 )-Df (7, 1 ) *U( 1 )-Of ( 7, 2) *U( 2 )-Of ( 7, 3) *U( 3 )-
2Df ( 7 ,11 )1tU(4)-Pll If( 7, 6)*X( 6)
GO TO 900
70 CONTINUE
WRITE(6,50)
50 FORMAT( HIO, 37X,' EXACT SHADY STATE VALUES,X=')
WRITE(6, 199)(X( I), 1=1, 7)
199 FORMA l ( 111 , 7 fl 5 . 10 )
WRITE(6,198) TOrFB
198 FORMAT(1110,37X,' EXACT Off TIME= 1 ,f15.10)
WR I H ( 6, 51 ) I T 1
51 FORMAT(1H0,37X, 1 NO. Of ITERATIONS REQD.= ', 14)
c
c ********************************************************
C * CALCULATION OF THE MATRIX PSI AND ITS EIGENVALUES *
c ********************************************************
c
DO 2000 1=1, 7
DO 2010 IRICH=l,4
00 61 IZ=l, 7
XA( IZ)=X( IZ)
61 XB( IZ)=X( IZ)
DX( I )=CON( IRICH)*ABS(X( I))
IF(ABS(X( I) ).LE. TOLL) DX( I )=CON( IRICtl)
XA( I )=X( I )+DX( I)
XB( I )=X( I )-DX( I)
TFFCl=TOFFB
IT=O
T=TOFFB
CALL STRAN(T, PHlf,DF,F2,G2, 7,4, 7,4, 1,0,ERROR,DIFMAX, ITER, IFLSG)
1101 ZETA=O.O*XA(1)+0.0*XA(2)+PHIF(7,3)*XA(3)+PHIF(7,4)*
lXA( IJ )+Pll If( 7, 5 )*XA( 5 )+1. O*XA( 7 )+O. O*U( 1)+Of(7, 2 )*U( 2 )+
2DF(7,4)*U(4)-ET+PlllF(7,6)*XA(6)
lf(ABS(ZETA).LE.EPS) GO TO 1102
IF( IT.GE.NIT) GO TO 1003
DTOFF=CON( IRICH)*TFFCl
T=TFFCl +DTOFF
CALL STRAN(T,PHIFT,DFT,F2,G2,7,4,7,4,1,0,ERROR,DIFMAX,ITER, IFLAG)
ZETAN=O.O*XA(l)+O.O*XA(2)+PHIFT(7,3)*XA(3)+PHIFT(7,4 w
1 )*XA( IJ )+PHI fT( 7, 5 )*XA( 5)+1.0*XA( 7 )+O.O*U( 1)+OFT(7, 2)* tl:>o
2U( 2)+DFT(7,11)*U(4 )-ET+PH I FT( 7, 6 )*XA( 6) -....J
DZF.TA=ZETAN-ZETA
SI.OPE= DZ ET A/DTOF F
TFFCl=TFFCl-(ZETA/SLOPE)
T=TFFCl
CALL STRAN(T,PHIF,DF,F2,G2,7,4,7,4,1,0,ERROR,DIFMAX, ITER, IFLAG)
IT=IT+l
GO TO 1101
1102 DO 13 J= 1, 7
TEMP=0.00
DO 14 I<= 1, 7
DO 81 MENT=l,6
81 PHIF(MENT,7)=0.0
PlllF(7, 7)=1.0
Ptllf(7,1)=0.0
PHIF(7,2):0.0
14 TEMP=TEMP+Ptllf(J,l<)*XA(I<)
DO 15 K=l, It
Of(7,1)=0.0
15 TEMP=TEMP+DF(J,K)*U(K)
fUNl ( J )=TEMP
13 CONTINUE
TFFC2=::TOfFB
IT=O
T=TOFFB
CALL STRAN(T,PHIF,DF,F2,G2,7,1!,7,4,1,0,ERROR,DIFMAX, ITER,IFLAG)
1103 ZETA=O.O*XB(1)+0.0*XB(2)+PHIF(7,3)*XB(3)+PHIF(7,4)*
1XB(4)+PlllF(7,5)*XB(5)+1.0*XB(7)+0.0*U(l)+Df(7,2)*U(2)+
2DF(7,4)*U(4)-ET+PHIF(7,6)*XB(6)
IF(ABS(ZETA).LE.EPS) GO TO 1104
IF( IT.GE.NIT) GO TO 1003
DTOFF=CON( IRICH)*TFFC2
T=TFFC2+DTOff
CALL STRAN( T, PHI FT, OFT, F2,G2, 7 ,4, 7 ,4, 1,0, ERROR, DI FMAX, I TER, I FLAG)
ZETAN=O.O*XB(l)+O.O*XB(2)+PHIFT(7,3)*XB(3)+PHIFT(7,4
1)*XB(4)+PHIFT(7,5)*XB(5)+1.0*XR(7)+0.0*U(l)+DFT(7,2)*
2U(2)+DFT(7,4)*U(4)-ET+PHIFT(7,6)*XB(6)
DZETA=ZETAN-ZETA
SLOPE=OZETA/DTOFF
TFFC2=TFFC2-(ZETA/SLOPE)
T=TFFC2
CALL STRAN(T,PlllF,DF,F2,G2, 7,11, 7,t1, 1,0,ERROR,DIFMAX, ITER, IFLAG) w
IT=IT+l ~
00
GO TO 1103
1104 DO 62 J=l,7
TEMP=0.00
DO 63 K=l,7
DO 82 MENT= 1, 6
82 PHIF(MENT,7)=0.0
Pit I F ( 7, 7) = 1. 0
PHIF(7,1)=0.0
PHIF(7,2)=0.0
63 TEMP=TEMP+PHIF(J,K)*XB(K)
DO 64 K=l, 4
DF(7, 1)=0.0
64 TEMP=TEMP+DF(J,K)*U(K)
. FUN2(J)=TEMP
62 CONTINUE
DO 2011 J=l, 7
2011 RVAL( J, IR ICH)=( FUNl ( J )-fUN2( J ))/( 2. O*DX( I))
2010 CONTINUE
DO 65 J=l, 7
RVAL(J,5)=(RVAL(J,2)-0.25*RVAL(J,1))/0.75
RVAL(J,6)=(RVAL(J,3)-0.25*RVAL(J,2))/0.75
65RVAL(J,7)=(RVAL(J,4)-0.25*RVAL(J,3))/0.75
DO 66 J=l,7
RVAL(J,8)=(RVAL(J,6)-0.0625*RVAL(J,5))/0.9375
66 RVAL(J,9)=(RVAL(J,7)-0.0625*RVAL(J,6))/0.9375
DO 67 J=l, 7
67 TEMP2(J, l)=(RVAL(J,9)-0.015625*RVAL(J,8))/0.984375
2000 CONTINUE
DO 17 1=1, 7
DO 17 J=l, 7
TEMP=0.00
DO 19 K=l, 7
19 TEMP=TEMP+PHIN( l,K)*TEMP2(K,J)
PSI (I ,J )=TEMP
17 CONTINUE
WRITE(6,92)
92 FORMAT( Hl0,37X, 1 MATRIX PSI= 1 )
D030 1=1,7
30 WRITE(6,93)(PSI( l,J),J=l, 7)
93 FORMAT(7F15.10)
GO TO 10011
1003 WRITE(6,100) I w
100 FORMAT(//, 1 CONVERGENCE NOT OBTAINED FOR X( I), I= 1 , 14) .s:..
10011 CONT I NUE ID
CALL EIGRF(PSl,7,7,2,W,Z,7,WK, IER)
WRITE(6,94)
911 FORMAT( lHO, 37X,' TllE EIGENVALUES ARE--')
WRITE(6, 103)(W( I), 1=1, 7)
10 3 FORMAT ( 1H , 7 F15 . 10 )
WRITE(6, 104) WK! 1), IER
1011 FORMAT ( 1110, 37X, CONVERGENCE TOLERANCE= 1 , F15. 10, 1 I ER= 1 , 14)
905 CONTINUE
STOP
END
c
c
SUBROUTINE STRAN(TAU,PHl,THETA,A,B,NA,NB,MA,MB,MODE,NTERMS,
1 TOL,DIFMAX,ITER, IFLAG)
REAL Piii (NA, NA), THETA( NA, NB),A( NA, NA), B( NA, NB),
1 WORKl ( 10, 10), WORK2( 10, 10), DUMMY( 1, 1), FACl, CONl, FAC2, CON2
Cl=l
TS= TAU
DO 11 1=1,MA
DO 2 J=l ,MA
WORKl( l,J)=O
WORK2( I ,J )=O
Piii (I ,J )=O
2 CONTINUE
WORKl (I, I )=1
WORK2( I, I )=TAU
=
Pit I ( I , I ) 1
4 CONTINUE
DO 6 1=1,MA
DO 6 J=l ,MB
6 Tllf.TA(l,J)=O
DI FMAX=l. E8
ND0=50
IF(NTERMS.GT.O) NDO=NTERMS
FAC1=1
IFLAG=O
DO 1000 I= 1 , NDO
CALL MXMUL(DUMMY,WORKl,A,TS,1,1,10,10,NA,NA,MA,MA,MA,MA,1)
FAC1=FAC1*1
CON 1= 1 . I FAC 1
IF( NTERMS. EQ. 0. AND. I. GE. 4) CALL SERROR( PH I, WORKl, CONl, NA, NA, w
1 10,10,MA,MA,DIFMAX) U1
0
CALL MXADD(DUMMY,Plll,WORKl,Cl,CONl,1,1,NA,NA,10,10,MA,MA,1)
IF(MODE.EQ.2) GO TO 500
FAC2=FAC1*( 1+1)
CON2=TAU/FAC2
CALL MXADD(OUMMY,WORK2,WORK1,C1,CON2,1,1,10,10,10,10,MA,MA,1)
500 CONTINUE
ITER=I
IF(NTERMS.GT.O.OR. l.LT.4) GO TO 1000
IF(DIFMAX.LE.TOL) GO TO 1100
1000 CONTINUE
1100 CONTINUE
IF( MODE. EQ. 1) CALL MXMUL( TllET A, WORK2, B, Cl, NA, NB, 10, 10, NA, NB,
1 MA,MA,MA,MB,2)
If( ITER.EQ.NDO.AND.NTERMS.EQ.O) IFLAG=l
RETURN
END
c
c
SUOROUTINE SERROR(AMX,BMX,CCC, IA,JA, IB,JB, IDO,JDO,DIFMAX)
DIMENSION AMX( IA,JA),BMX( IB,JB)
DI FMAX=l. E-30
DO 100 1=1, IDO
DO 50 J=l ,JDO
IF(AMX( l,J).EQ.0.0 ) GO TO 50
CHANGE= ABS(BMX( I ,J )*CCC/AMX( I ,J))
IF(Cl-IANGE.GT.DIFMAX) DIFMAX=CHANGE
50 CONTINUE
100 CONTINUE
RETURN
END
c
c
SUBROUTINE MXADD(RMX,AMX,BMX,ACC,BCC, IR,JR, IA,JA, IB,JB, 100,JDO,
1 MODE)
DI MENS I ON AMX( I A, JA), BMX( I B, ,JB), RMX( IR, JR)
IF( IA.LT. 100.0R.JA.LT.JDO) GO TO 999
IF( IB.LT. IDO.OR.JB.LT.JDO) GO TO 999
GO TO (10,100),MODE
10 CONT I NUE
DO 50 1=1, IDO
DO 50 ,J= 1, JOO
50 AMX( l,J)=AMX( l,J)*ACC+BMX( l,J)*BCC w
GO TO 300 U1
.....
100 CONTINUE
IF( IR.LT. 100.0R.JR.LT.JDO) GO TO 999
DO 200 1=1, 100
DO 200 J= 1, ,mo
200 RMX( I ,J )=AMX( I ,J )ilACC+BMX( I ,J )*BCC
300 RETURN
999 CONTINUE
RETURN
END
c
c
SUBROUTINE MXMUL(RMX,AMX,BMX,CGC, IR,JR, IA,JA, IB,JB, IDA,JDA, IDB, JOB
1, MODE)
DIMENSION AMX( IA,JA),BMX( 18,JB),RMX( IR,JR),TEMP(20)
IF( IDA*IDB*JDA*JDB.Gl. IA*IB*JA*JB) GO TO 999
lf(JDB.GT.JDA) GO TO 999
GO TO (10,210),MODE
10 00 100 1=1, IDA
DO 20 L= 1 , J DA
20 TEMP(L)=AMX(l,L)
DO 80 J=l ,JDB
SUM=O
DO 40 K=l ,JDA
40 SUM=SUM+TEMP(K)*BMX(K,J)
AMX( I, J )=SUM*CCC
80 CONTINUE
100 CONTINUE
GO TO 600
210 CONTINUE
If( 1R.Lf. IDA.OR.JR.LT.JDB) ,.(. ,o )·.o
DO 1100 1=1, IDA
DO 3h0 J=l,JDB
SUM=U
DO 3110 K=l ,JDA
340 SUM=SUM+AMX(l,K)*BMX(K,J)
RMX( l,J)=SUM*CCC
380 CONTINUE
400 CONTINUE
600 RETURN
999 CONTINUE
RETURN
END w
U1
N
BIBLIOGRAPHY
353
354