WEBVTT

00:00:00.000 --> 00:00:09.160 align:middle line:84%
[SQUEAKING]
[RUSTLING] [CLICKING]

00:00:09.160 --> 00:00:12.160 align:middle line:84%
DAVID PERREAULT: We started
talking about modeling

00:00:12.160 --> 00:00:14.140 align:middle line:90%
of control systems.

00:00:14.140 --> 00:00:17.680 align:middle line:84%
And really, what
we want to do is

00:00:17.680 --> 00:00:21.320 align:middle line:84%
have some model for the
dynamics of a DC/DC converter.

00:00:21.320 --> 00:00:29.080 align:middle line:84%
And the example converter
that we've been using

00:00:29.080 --> 00:00:30.890 align:middle line:90%
is a boost converter.

00:00:30.890 --> 00:00:33.430 align:middle line:84%
So here's our example
boost converter.

00:00:33.430 --> 00:00:37.900 align:middle line:84%
I might have some input
voltage that I'll call u.

00:00:37.900 --> 00:00:44.620 align:middle line:84%
I have some switch that I'm
modulating with q of t, diode,

00:00:44.620 --> 00:00:48.760 align:middle line:90%
and then some output voltage.

00:00:48.760 --> 00:00:50.500 align:middle line:90%
I'll call the output voltage V.

00:00:50.500 --> 00:00:56.060 align:middle line:84%
And in this case, maybe I'll
say, this is one state variable.

00:00:56.060 --> 00:00:59.440 align:middle line:84%
V is one state variable, which
is the capacitor voltage.

00:00:59.440 --> 00:01:01.600 align:middle line:84%
And the other state
variable in the system

00:01:01.600 --> 00:01:02.980 align:middle line:90%
is the inductor current.

00:01:02.980 --> 00:01:05.170 align:middle line:84%
And state variables
are those variables

00:01:05.170 --> 00:01:07.930 align:middle line:84%
that carry information
about their history.

00:01:07.930 --> 00:01:10.040 align:middle line:84%
You can't instantly
change a capacitor voltage

00:01:10.040 --> 00:01:11.400 align:middle line:90%
without an infinite current.

00:01:11.400 --> 00:01:13.790 align:middle line:84%
You can't instantly
change an inductor current

00:01:13.790 --> 00:01:15.270 align:middle line:90%
without an infinite voltage.

00:01:15.270 --> 00:01:18.830 align:middle line:84%
So if you know what the
inductor current or capacitor

00:01:18.830 --> 00:01:21.980 align:middle line:84%
voltage are at
one time, you know

00:01:21.980 --> 00:01:25.520 align:middle line:84%
what it's going to do because
that's what carries history

00:01:25.520 --> 00:01:28.020 align:middle line:90%
around with it in any system.

00:01:28.020 --> 00:01:30.230 align:middle line:84%
So it's the energy
storage elements.

00:01:30.230 --> 00:01:34.590 align:middle line:84%
And we said we figured out,
for this boost converter,

00:01:34.590 --> 00:01:39.170 align:middle line:84%
if I define q of t is
the modulating function,

00:01:39.170 --> 00:01:46.490 align:middle line:84%
it switches between
0 and 1 for q of t.

00:01:46.490 --> 00:01:54.530 align:middle line:84%
And then if I have q prime of
t is equal to 1 minus q of t,

00:01:54.530 --> 00:01:59.390 align:middle line:84%
if I'm modulating this at a
constant duty ratio, q of t

00:01:59.390 --> 00:02:01.490 align:middle line:84%
goes on and off,
and I let this thing

00:02:01.490 --> 00:02:07.430 align:middle line:84%
settle into periodic steady
state, what we get is NPSS.

00:02:07.430 --> 00:02:14.750 align:middle line:84%
We get V, the output voltage,
the DC output voltage

00:02:14.750 --> 00:02:18.320 align:middle line:84%
is going to be the DC input
voltage divided by 1 minus D.

00:02:18.320 --> 00:02:20.900 align:middle line:84%
And I'm using capital letters
here to indicate these

00:02:20.900 --> 00:02:23.780 align:middle line:84%
are all periodic
steady state values.

00:02:23.780 --> 00:02:28.250 align:middle line:84%
But we said, if I were, for
example, to suddenly change

00:02:28.250 --> 00:02:34.110 align:middle line:84%
the load resistance, then even
if I was operating at fixed duty

00:02:34.110 --> 00:02:38.040 align:middle line:84%
ratio, eventually I would have
to go through some transient

00:02:38.040 --> 00:02:41.130 align:middle line:84%
because, to supply a lower
resistance, I need more current,

00:02:41.130 --> 00:02:42.215 align:middle line:90%
more power.

00:02:42.215 --> 00:02:43.840 align:middle line:84%
I can have more
current from the input.

00:02:43.840 --> 00:02:44.840 align:middle line:90%
Something has to change.

00:02:44.840 --> 00:02:47.310 align:middle line:84%
It has to go through
some transient.

00:02:47.310 --> 00:02:50.160 align:middle line:90%
What we have here on the scope--

00:02:50.160 --> 00:02:52.800 align:middle line:84%
or what we have here is
actually a boost converter

00:02:52.800 --> 00:02:55.090 align:middle line:90%
run at fixed duty ratio.

00:02:55.090 --> 00:02:57.750 align:middle line:84%
And what I'm going to
do is I'm going to set

00:02:57.750 --> 00:02:59.440 align:middle line:90%
this thing to single sequence.

00:02:59.440 --> 00:03:02.100 align:middle line:84%
And what I have is--
on the yellow channel,

00:03:02.100 --> 00:03:04.900 align:middle line:84%
I have the inductor current,
just directly coupled.

00:03:04.900 --> 00:03:09.330 align:middle line:84%
And on the purple channel, what
I have is the output voltage,

00:03:09.330 --> 00:03:10.465 align:middle line:90%
but AC coupled.

00:03:10.465 --> 00:03:12.840 align:middle line:84%
So I'm just going to look at
the deviations of the ripple

00:03:12.840 --> 00:03:14.220 align:middle line:90%
in the AC voltage.

00:03:14.220 --> 00:03:16.710 align:middle line:84%
And all I'm going to do
is press this button.

00:03:16.710 --> 00:03:20.280 align:middle line:84%
And that's going to add a
load onto the converter.

00:03:20.280 --> 00:03:23.250 align:middle line:84%
So it's going to make
the load current higher

00:03:23.250 --> 00:03:25.540 align:middle line:90%
or the load resistance smaller.

00:03:25.540 --> 00:03:28.374 align:middle line:90%
And here we go.

00:03:28.374 --> 00:03:29.670 align:middle line:90%
Oh, It didn't capture.

00:03:29.670 --> 00:03:31.370 align:middle line:90%
Let's see.

00:03:31.370 --> 00:03:34.558 align:middle line:90%
I don't know why that is.

00:03:34.558 --> 00:03:37.420 align:middle line:84%
Oh, it would help if I actually
coupled the output voltage.

00:03:37.420 --> 00:03:40.740 align:middle line:90%


00:03:40.740 --> 00:03:43.732 align:middle line:84%
It seems to have-- oh,
set this, set the minimum.

00:03:43.732 --> 00:03:44.440 align:middle line:90%
I don't know why.

00:03:44.440 --> 00:03:46.410 align:middle line:84%
All right, let me
try that again.

00:03:46.410 --> 00:03:48.480 align:middle line:90%
There we go.

00:03:48.480 --> 00:03:54.210 align:middle line:84%
So what we can see here is that
the current goes from some value

00:03:54.210 --> 00:03:56.610 align:middle line:84%
and settles out to
some higher value.

00:03:56.610 --> 00:03:59.910 align:middle line:84%
The voltage goes through
some oscillation,

00:03:59.910 --> 00:04:02.650 align:middle line:84%
and then settles out
to some later voltage.

00:04:02.650 --> 00:04:05.130 align:middle line:84%
And the truth of the matter
is we're not actually

00:04:05.130 --> 00:04:09.180 align:middle line:90%
seeing the full transient here.

00:04:09.180 --> 00:04:16.275 align:middle line:84%
Let me do this, try
this one more time.

00:04:16.275 --> 00:04:24.620 align:middle line:90%


00:04:24.620 --> 00:04:26.340 align:middle line:84%
Ah, there we see it
a little bit better,

00:04:26.340 --> 00:04:28.370 align:middle line:84%
except that actually
what I triggered on

00:04:28.370 --> 00:04:32.096 align:middle line:90%
was the step down in current.

00:04:32.096 --> 00:04:35.060 align:middle line:84%
In any event, what
we see is some kind

00:04:35.060 --> 00:04:36.770 align:middle line:90%
of second order response.

00:04:36.770 --> 00:04:40.100 align:middle line:84%
Superimposed on top of
it is a ton of switching.

00:04:40.100 --> 00:04:42.650 align:middle line:84%
This is going through
thousands and thousands

00:04:42.650 --> 00:04:44.510 align:middle line:90%
of switching cycles.

00:04:44.510 --> 00:04:47.450 align:middle line:84%
And what we would like
to do is some model

00:04:47.450 --> 00:04:50.233 align:middle line:84%
that captures this low
frequency variation,

00:04:50.233 --> 00:04:52.400 align:middle line:84%
but isn't worrying about
the instantaneous switching

00:04:52.400 --> 00:04:55.710 align:middle line:84%
of what's going on
in steady state.

00:04:55.710 --> 00:04:59.610 align:middle line:84%
So I'm going to hide
this, put this up.

00:04:59.610 --> 00:05:07.580 align:middle line:84%
So last time, we said, well, how
can we capture the low frequency

00:05:07.580 --> 00:05:10.490 align:middle line:84%
content in i, l, and
v without worrying

00:05:10.490 --> 00:05:12.100 align:middle line:84%
about the high
frequency content?

00:05:12.100 --> 00:05:24.020 align:middle line:90%


00:05:24.020 --> 00:05:26.990 align:middle line:84%
We defined an operator
that we called

00:05:26.990 --> 00:05:28.786 align:middle line:90%
the local average operator.

00:05:28.786 --> 00:05:33.530 align:middle line:90%


00:05:33.530 --> 00:05:40.010 align:middle line:84%
And this is x-bar of t is equal
to 1 over t, the integral from t

00:05:40.010 --> 00:05:45.290 align:middle line:84%
to minus capital T up
to t of x of tau d tau.

00:05:45.290 --> 00:05:48.770 align:middle line:84%
So basically, if I
apply this local average

00:05:48.770 --> 00:05:51.680 align:middle line:84%
to any waveform, a voltage, or a
current or something like that,

00:05:51.680 --> 00:05:55.520 align:middle line:84%
I'm going to look back over one
capital period T, one switching

00:05:55.520 --> 00:05:58.690 align:middle line:84%
cycle, and take the average
over that switching cycle,

00:05:58.690 --> 00:06:00.770 align:middle line:84%
so that if I have a
bunch of up and down

00:06:00.770 --> 00:06:03.300 align:middle line:84%
within a switching cycle,
that gets filtered out.

00:06:03.300 --> 00:06:08.000 align:middle line:84%
But if over time that voltage
or current moves up and down,

00:06:08.000 --> 00:06:10.460 align:middle line:84%
it captures the slow
frequency up and down

00:06:10.460 --> 00:06:14.780 align:middle line:84%
while suppressing the switching
ripple and its harmonics.

00:06:14.780 --> 00:06:18.900 align:middle line:84%
And we said this operator
has a bunch of properties

00:06:18.900 --> 00:06:19.930 align:middle line:90%
that are interesting.

00:06:19.930 --> 00:06:22.230 align:middle line:90%
One is it's linear.

00:06:22.230 --> 00:06:27.600 align:middle line:90%
Two is it's time-invariant.

00:06:27.600 --> 00:06:31.530 align:middle line:84%
That means this thing
is an LTI operator.

00:06:31.530 --> 00:06:34.320 align:middle line:84%
That means we can write a
transfer function for it.

00:06:34.320 --> 00:06:35.927 align:middle line:90%
It's just a linear filter.

00:06:35.927 --> 00:06:38.010 align:middle line:84%
And we looked at that
transfer function last time.

00:06:38.010 --> 00:06:40.770 align:middle line:84%
And it, indeed, passes
low frequency components

00:06:40.770 --> 00:06:44.160 align:middle line:84%
and suppresses the
switching frequency.

00:06:44.160 --> 00:06:46.620 align:middle line:84%
A third property
that we discussed

00:06:46.620 --> 00:06:53.370 align:middle line:84%
is the so-called
differentiation property,

00:06:53.370 --> 00:06:58.830 align:middle line:84%
which says that if I took
dx some signal dx of t dt

00:06:58.830 --> 00:07:02.130 align:middle line:84%
and then took its local
average, that ends up being

00:07:02.130 --> 00:07:07.990 align:middle line:90%
equal to d/dt of x-bar of t.

00:07:07.990 --> 00:07:11.460 align:middle line:84%
So taking the local
average of a derivative

00:07:11.460 --> 00:07:15.190 align:middle line:84%
is the same thing as the
derivative of the local average.

00:07:15.190 --> 00:07:20.020 align:middle line:84%
The last property is we
said we can approximate

00:07:20.020 --> 00:07:25.840 align:middle line:84%
x of t y of t local
average of the product

00:07:25.840 --> 00:07:32.830 align:middle line:84%
as being approximately equal
to x-bar of t times y-bar of t

00:07:32.830 --> 00:07:43.740 align:middle line:84%
if one of x and y have,
first of all, small ripple,

00:07:43.740 --> 00:07:47.460 align:middle line:84%
meaning it's not changing
full scale within a cycle,

00:07:47.460 --> 00:07:56.940 align:middle line:84%
and, two, slow
variation, meaning it

00:07:56.940 --> 00:07:59.950 align:middle line:84%
only changes gradually
from cycle to cycle.

00:07:59.950 --> 00:08:07.470 align:middle line:84%
And actually, you can relax this
former case in some instances.

00:08:07.470 --> 00:08:10.930 align:middle line:84%
But we saw that it
doesn't always work.

00:08:10.930 --> 00:08:13.710 align:middle line:84%
But if one of x and y was,
say, an inductor current

00:08:13.710 --> 00:08:15.450 align:middle line:84%
or a capacitor
voltage, where we do

00:08:15.450 --> 00:08:18.990 align:middle line:84%
expect there to be small
ripple on top of a big DC,

00:08:18.990 --> 00:08:20.255 align:middle line:90%
we can do that.

00:08:20.255 --> 00:08:26.760 align:middle line:90%


00:08:26.760 --> 00:08:30.810 align:middle line:84%
Last time, we used this And
we applied this to a circuit.

00:08:30.810 --> 00:08:33.450 align:middle line:84%
So we said, we could take
the boost converter circuit,

00:08:33.450 --> 00:08:36.630 align:middle line:84%
and play some games, and
come up with a new circuit

00:08:36.630 --> 00:08:40.270 align:middle line:84%
in which all of the circuit
variables were averaged.

00:08:40.270 --> 00:08:42.000 align:middle line:84%
And so it gets rid
of all the switching,

00:08:42.000 --> 00:08:45.870 align:middle line:84%
but it carries the low frequency
behavior of the circuit.

00:08:45.870 --> 00:08:47.340 align:middle line:90%
And that's one way to do things.

00:08:47.340 --> 00:08:50.160 align:middle line:84%
And people do it, the so-called
direct circuit averaging,

00:08:50.160 --> 00:08:51.170 align:middle line:90%
all the time.

00:08:51.170 --> 00:08:53.190 align:middle line:84%
What I'd like to do
today is to show you

00:08:53.190 --> 00:08:56.880 align:middle line:84%
another way we can use this
local average operator.

00:08:56.880 --> 00:09:01.480 align:middle line:84%
And it's essentially
the same idea.

00:09:01.480 --> 00:09:03.680 align:middle line:84%
It's just implemented
in a different way.

00:09:03.680 --> 00:09:06.088 align:middle line:84%
Some people like one method
of thinking about it.

00:09:06.088 --> 00:09:08.380 align:middle line:84%
Some people like the other
method of thinking about it.

00:09:08.380 --> 00:09:10.320 align:middle line:84%
Frankly, when I'm
doing a new converter,

00:09:10.320 --> 00:09:12.930 align:middle line:84%
I usually do the method I'm
going to show you today,

00:09:12.930 --> 00:09:14.860 align:middle line:90%
but I like them equally.

00:09:14.860 --> 00:09:17.320 align:middle line:84%
It's just the question of
what's more convenient to do.

00:09:17.320 --> 00:09:18.945 align:middle line:84%
And the technique
I'm going to show you

00:09:18.945 --> 00:09:21.540 align:middle line:84%
today is called state
space averaging.

00:09:21.540 --> 00:09:23.170 align:middle line:90%
And here's the idea.

00:09:23.170 --> 00:09:26.500 align:middle line:90%
Suppose I wanted to know the--

00:09:26.500 --> 00:09:29.640 align:middle line:90%


00:09:29.640 --> 00:09:32.100 align:middle line:84%
suppose I wanted to know
the dynamics of this circuit

00:09:32.100 --> 00:09:34.800 align:middle line:90%
about how it behaved.

00:09:34.800 --> 00:09:38.550 align:middle line:84%
Well, I could say, write a
set of differential equations

00:09:38.550 --> 00:09:41.890 align:middle line:84%
for that circuit that would
describe its behavior in time.

00:09:41.890 --> 00:09:44.830 align:middle line:84%
And keep in mind that
this circuit really

00:09:44.830 --> 00:09:47.290 align:middle line:90%
has two subcircuits.

00:09:47.290 --> 00:09:52.340 align:middle line:84%
When q of t is equal
to 1, the switch is on.

00:09:52.340 --> 00:09:54.985 align:middle line:84%
So I could think about
this circuit as being this.

00:09:54.985 --> 00:10:10.620 align:middle line:90%


00:10:10.620 --> 00:10:12.340 align:middle line:90%
So the switch is on.

00:10:12.340 --> 00:10:17.920 align:middle line:84%
This is a linear circuit
that models that behavior.

00:10:17.920 --> 00:10:23.230 align:middle line:84%
If q of t is equal
to 0, I can then

00:10:23.230 --> 00:10:25.320 align:middle line:84%
say the circuit really
looks like this.

00:10:25.320 --> 00:10:40.761 align:middle line:90%


00:10:40.761 --> 00:10:45.330 align:middle line:84%
So I could then write a
differential equation,

00:10:45.330 --> 00:10:49.050 align:middle line:84%
a linear differential
equation, because these

00:10:49.050 --> 00:10:55.600 align:middle line:84%
are all linear elements plus an
input, when it's in this state.

00:10:55.600 --> 00:10:58.470 align:middle line:84%
And I could write a different
differential equation

00:10:58.470 --> 00:10:59.590 align:middle line:90%
when it's in this state.

00:10:59.590 --> 00:11:02.640 align:middle line:84%
And if I just use the right
set of differential equations

00:11:02.640 --> 00:11:06.270 align:middle line:84%
in each substate, I
can get the behavior.

00:11:06.270 --> 00:11:07.890 align:middle line:90%
So let me just write this down.

00:11:07.890 --> 00:11:10.230 align:middle line:84%
And I'm going to show that
we can use this switching

00:11:10.230 --> 00:11:15.705 align:middle line:84%
function, q of t, where q of
t varies between 1 and 0--

00:11:15.705 --> 00:11:19.350 align:middle line:90%


00:11:19.350 --> 00:11:21.215 align:middle line:90%
I'm sorry, this is 1.

00:11:21.215 --> 00:11:23.790 align:middle line:90%


00:11:23.790 --> 00:11:25.950 align:middle line:84%
We can use this
switching function

00:11:25.950 --> 00:11:27.930 align:middle line:84%
to build up a
differential equation that

00:11:27.930 --> 00:11:29.580 align:middle line:90%
captures our system.

00:11:29.580 --> 00:11:31.960 align:middle line:84%
So here's what I would
argue we could do.

00:11:31.960 --> 00:11:37.780 align:middle line:84%
We can say, what does
the diL/dt look like?

00:11:37.780 --> 00:11:43.300 align:middle line:84%
diL/dt would simply be the
voltage across the inductor.

00:11:43.300 --> 00:11:50.950 align:middle line:84%
In this state, It would just
be equal to 1 over L times u.

00:11:50.950 --> 00:11:53.810 align:middle line:84%
And that's true when
q of t is equal to 1.

00:11:53.810 --> 00:11:56.110 align:middle line:90%
So I can multiply it by q of t.

00:11:56.110 --> 00:12:00.940 align:middle line:84%
When q of t is equal to 0 and
1 minus q of t is equal to 1,

00:12:00.940 --> 00:12:04.810 align:middle line:84%
diL/dt is equal to u
minus v. So I could say,

00:12:04.810 --> 00:12:08.110 align:middle line:90%
this is plus u minus--

00:12:08.110 --> 00:12:13.470 align:middle line:84%
this is plus 1 over L u
minus v times 1 minus q of t.

00:12:13.470 --> 00:12:16.321 align:middle line:90%


00:12:16.321 --> 00:12:21.340 align:middle line:84%
So basically, when q
of t is equal to 1,

00:12:21.340 --> 00:12:26.020 align:middle line:84%
this term, diL/dt,
is 1 over L u.

00:12:26.020 --> 00:12:27.970 align:middle line:90%
So it matches the top circuit.

00:12:27.970 --> 00:12:32.110 align:middle line:84%
And this term is gone
because 1 minus q of t is 0.

00:12:32.110 --> 00:12:33.850 align:middle line:90%
And this term just disappears.

00:12:33.850 --> 00:12:37.350 align:middle line:84%
When q of t is equal to
0, this term disappears.

00:12:37.350 --> 00:12:39.870 align:middle line:90%
And this factor becomes 1.

00:12:39.870 --> 00:12:41.980 align:middle line:84%
And I just have 1
over L u minus v.

00:12:41.980 --> 00:12:45.780 align:middle line:84%
So whether I'm in this switch
state or this switch state,

00:12:45.780 --> 00:12:49.710 align:middle line:84%
this differential equation
captures the dynamics

00:12:49.710 --> 00:12:52.040 align:middle line:90%
of that inductor current.

00:12:52.040 --> 00:12:54.020 align:middle line:84%
Does that make
sense to everybody?

00:12:54.020 --> 00:12:56.630 align:middle line:84%
I can do the same
thing for the voltage.

00:12:56.630 --> 00:13:03.800 align:middle line:84%
I can get dv/dt is equal
to 1 over C times--

00:13:03.800 --> 00:13:07.970 align:middle line:84%
this would be minus v
over r times that, minus 1

00:13:07.970 --> 00:13:19.190 align:middle line:84%
over RC times q of t plus
1 over C i sub L minus v

00:13:19.190 --> 00:13:22.855 align:middle line:90%
over R 1 minus q of t.

00:13:22.855 --> 00:13:26.810 align:middle line:90%


00:13:26.810 --> 00:13:29.100 align:middle line:84%
So in fact, if I
came up and I told

00:13:29.100 --> 00:13:32.790 align:middle line:84%
you the starting state of
voltage and current, inductor

00:13:32.790 --> 00:13:35.520 align:middle line:84%
voltage, capacitor voltage,
and inductor current,

00:13:35.520 --> 00:13:37.680 align:middle line:84%
and I told you the
q of t over time,

00:13:37.680 --> 00:13:40.530 align:middle line:84%
I could basically
numerically integrate

00:13:40.530 --> 00:13:42.870 align:middle line:84%
this pair of
differential equations

00:13:42.870 --> 00:13:44.670 align:middle line:84%
and predict the
trajectory, including

00:13:44.670 --> 00:13:47.430 align:middle line:84%
all of the switching
and everything else.

00:13:47.430 --> 00:13:50.490 align:middle line:84%
Does that make
sense to everybody?

00:13:50.490 --> 00:13:51.695 align:middle line:90%
Any questions about that?

00:13:51.695 --> 00:13:54.470 align:middle line:90%


00:13:54.470 --> 00:13:56.930 align:middle line:84%
So this is actually
a simulation model

00:13:56.930 --> 00:14:03.950 align:middle line:84%
of this converter in
continuous conduction mode,

00:14:03.950 --> 00:14:05.810 align:middle line:90%
including dynamics.

00:14:05.810 --> 00:14:09.680 align:middle line:84%
This is a pair of differential
equations, switched differential

00:14:09.680 --> 00:14:11.600 align:middle line:90%
equations that capture it.

00:14:11.600 --> 00:14:14.840 align:middle line:84%
Well, I could take
my averaging operator

00:14:14.840 --> 00:14:17.940 align:middle line:84%
and apply it to the
differential equations as well.

00:14:17.940 --> 00:14:21.650 align:middle line:90%
I could apply it to each side.

00:14:21.650 --> 00:14:25.460 align:middle line:84%
All I would be doing is
walking up and saying,

00:14:25.460 --> 00:14:28.110 align:middle line:84%
OK, let me local
average each side.

00:14:28.110 --> 00:14:30.800 align:middle line:84%
So I'll put a local average
on the left side of this.

00:14:30.800 --> 00:14:33.410 align:middle line:84%
And then the local average
of these sums of terms

00:14:33.410 --> 00:14:35.100 align:middle line:84%
is just the sum of
the local averages.

00:14:35.100 --> 00:14:36.650 align:middle line:90%
So I can do this.

00:14:36.650 --> 00:14:38.460 align:middle line:90%
And I can do this.

00:14:38.460 --> 00:14:41.810 align:middle line:84%
And by the way, the
scaling constants

00:14:41.810 --> 00:14:43.320 align:middle line:84%
can come out of
the local averages.

00:14:43.320 --> 00:14:44.840 align:middle line:90%
So that's OK.

00:14:44.840 --> 00:14:46.310 align:middle line:90%
And I can do this.

00:14:46.310 --> 00:14:48.470 align:middle line:90%
And I can do this.

00:14:48.470 --> 00:14:52.480 align:middle line:84%
And then I can do this,
local average of all this.

00:14:52.480 --> 00:14:55.500 align:middle line:84%
So all I did was I walked up
and I applied that operator

00:14:55.500 --> 00:14:58.950 align:middle line:90%
to each side of the equation.

00:14:58.950 --> 00:15:03.150 align:middle line:90%
Well, now, I can rewrite this.

00:15:03.150 --> 00:15:10.680 align:middle line:84%
And I can apply some of the
properties of the local average.

00:15:10.680 --> 00:15:13.125 align:middle line:84%
First of all, the local
average of the derivative

00:15:13.125 --> 00:15:15.000 align:middle line:84%
is just the derivative
of the local averages.

00:15:15.000 --> 00:15:22.670 align:middle line:84%
So I can write this as di
L-bar/dt Then this would be 1

00:15:22.670 --> 00:15:28.850 align:middle line:84%
over L times the
local average of u.

00:15:28.850 --> 00:15:30.350 align:middle line:84%
And let me rearrange
this, actually.

00:15:30.350 --> 00:15:34.340 align:middle line:84%
I have u times q plus
u times 1 minus q.

00:15:34.340 --> 00:15:36.710 align:middle line:84%
So this would just be
1 over L times u-bar.

00:15:36.710 --> 00:15:39.890 align:middle line:90%


00:15:39.890 --> 00:15:45.260 align:middle line:84%
Then I have minus
1 over L or plus--

00:15:45.260 --> 00:15:53.155 align:middle line:84%
minus 1 over L the local
average of v times 1 minus q.

00:15:53.155 --> 00:15:57.940 align:middle line:90%


00:15:57.940 --> 00:16:00.320 align:middle line:90%
Does that make sense, everybody?

00:16:00.320 --> 00:16:02.340 align:middle line:90%
So all I did was rearrange this.

00:16:02.340 --> 00:16:05.040 align:middle line:84%
I put up the q and
1 minus q terms

00:16:05.040 --> 00:16:08.000 align:middle line:84%
so that the u term doesn't
have q in it anymore.

00:16:08.000 --> 00:16:10.760 align:middle line:84%
And then it's just minus
1 over Lv times 1 minus q.

00:16:10.760 --> 00:16:12.980 align:middle line:84%
And I took the local
average of that.

00:16:12.980 --> 00:16:15.660 align:middle line:84%
I could then do the same thing
with the bottom equation.

00:16:15.660 --> 00:16:19.710 align:middle line:84%
I can get dv-bar/dt, because
I'm using the differentiation

00:16:19.710 --> 00:16:21.230 align:middle line:90%
property, is equal to--

00:16:21.230 --> 00:16:24.420 align:middle line:84%
the v over RC term
again goes up.

00:16:24.420 --> 00:16:28.700 align:middle line:84%
So this is minus 1
over RC times v-bar

00:16:28.700 --> 00:16:38.120 align:middle line:84%
plus 1 over c times the local
average of iL times 1 minus q.

00:16:38.120 --> 00:16:40.880 align:middle line:90%


00:16:40.880 --> 00:16:44.270 align:middle line:90%
Everybody down with that?

00:16:44.270 --> 00:16:51.680 align:middle line:84%
Now, let me define
q-prime is 1 minus q.

00:16:51.680 --> 00:17:01.500 align:middle line:84%
Let me define d is equal to
the local average of q of t.

00:17:01.500 --> 00:17:06.000 align:middle line:84%
If I'm modulating along in
a cycle, in any given cycle,

00:17:06.000 --> 00:17:10.530 align:middle line:84%
the local average of q of t is
the duty ratio in that cycle,

00:17:10.530 --> 00:17:12.579 align:middle line:90%
neglecting small shifts in time.

00:17:12.579 --> 00:17:16.500 align:middle line:84%
But this is everything slowly
varying with respect to a cycle.

00:17:16.500 --> 00:17:21.810 align:middle line:84%
That would mean
that d-prime, which

00:17:21.810 --> 00:17:25.170 align:middle line:84%
is the complement
of the duty ratio,

00:17:25.170 --> 00:17:31.090 align:middle line:84%
is equal to 1 minus
q local average.

00:17:31.090 --> 00:17:34.540 align:middle line:84%
Or it's equal to
q-prime local average.

00:17:34.540 --> 00:17:39.040 align:middle line:84%
So if I apply that, and
then what I'm going to do

00:17:39.040 --> 00:17:45.130 align:middle line:84%
is I'm going to say, OK, I
can make this approximately

00:17:45.130 --> 00:17:53.410 align:middle line:90%
equal to 1 over Lu-bar.

00:17:53.410 --> 00:17:55.370 align:middle line:84%
Then I can make this
approximately equal.

00:17:55.370 --> 00:17:59.710 align:middle line:84%
If I know that xy-bar
is approximately

00:17:59.710 --> 00:18:02.590 align:middle line:84%
equal to x-bar
y-bar if one of them

00:18:02.590 --> 00:18:04.490 align:middle line:84%
has slow ripple and
small variation-- well,

00:18:04.490 --> 00:18:08.560 align:middle line:84%
iL does and v does because
this is a capacitor voltage

00:18:08.560 --> 00:18:09.680 align:middle line:90%
and inductor current.

00:18:09.680 --> 00:18:18.130 align:middle line:84%
So this would be minus
1 over L v-bar d-prime.

00:18:18.130 --> 00:18:21.730 align:middle line:84%
And this is
approximately minus 1

00:18:21.730 --> 00:18:34.210 align:middle line:84%
over RC v-bar plus 1
over c iL-bar d-prime.

00:18:34.210 --> 00:18:38.065 align:middle line:84%
So this becomes a set of
partial differential equations.

00:18:38.065 --> 00:18:39.440 align:middle line:84%
Maybe I should
just rewrite this.

00:18:39.440 --> 00:18:42.520 align:middle line:90%
This is the diL-bar/dt.

00:18:42.520 --> 00:18:46.270 align:middle line:90%
And this is equal to dv-bar/dt.

00:18:46.270 --> 00:18:54.130 align:middle line:84%
Now, I have a set of state
space averaged equations.

00:18:54.130 --> 00:18:56.870 align:middle line:84%
And notice that there's
no switching left in here.

00:18:56.870 --> 00:18:58.630 align:middle line:84%
There's no q of t
bopping up and down

00:18:58.630 --> 00:19:00.320 align:middle line:90%
and turning switches on and off.

00:19:00.320 --> 00:19:02.770 align:middle line:84%
This is just in
terms of whatever

00:19:02.770 --> 00:19:06.630 align:middle line:84%
my duty ratio is going to be
tells me how this evolves.

00:19:06.630 --> 00:19:09.770 align:middle line:84%
So if I knew how the
commanded duty ratio varied,

00:19:09.770 --> 00:19:14.180 align:middle line:84%
I would know how the local
averages of i and l, iL,

00:19:14.180 --> 00:19:16.970 align:middle line:90%
and v would vary.

00:19:16.970 --> 00:19:18.220 align:middle line:90%
Any questions about that?

00:19:18.220 --> 00:19:22.000 align:middle line:90%


00:19:22.000 --> 00:19:24.820 align:middle line:90%
So how would I use this thing?

00:19:24.820 --> 00:19:30.640 align:middle line:84%
I could come up and say, all
right, I had my converter here.

00:19:30.640 --> 00:19:33.340 align:middle line:84%
What I really wanted
to do is say, OK, I

00:19:33.340 --> 00:19:35.273 align:middle line:84%
have some reference
voltage, v-ref.

00:19:35.273 --> 00:19:38.850 align:middle line:90%


00:19:38.850 --> 00:19:43.320 align:middle line:90%
And I compared that to--

00:19:43.320 --> 00:19:45.960 align:middle line:84%
in this case, I'm going to say
it's a local average version

00:19:45.960 --> 00:19:48.450 align:middle line:90%
of the output voltage, v-bar.

00:19:48.450 --> 00:19:53.040 align:middle line:84%
And I'm going to generate
some v-error bar.

00:19:53.040 --> 00:19:56.586 align:middle line:84%
OK I'm going to run that
into some compensator.

00:19:56.586 --> 00:20:00.360 align:middle line:90%


00:20:00.360 --> 00:20:02.200 align:middle line:90%
That could be gc of s.

00:20:02.200 --> 00:20:07.290 align:middle line:84%
Think of this as, for example,
a lead lag controller, or a PID

00:20:07.290 --> 00:20:09.540 align:middle line:84%
controller, or something
like that, something

00:20:09.540 --> 00:20:15.640 align:middle line:84%
that has high gain so that it's
going to amplify the error.

00:20:15.640 --> 00:20:19.290 align:middle line:84%
And out of this comes some
signal that I'm going to call

00:20:19.290 --> 00:20:21.310 align:middle line:90%
d, the duty ratio I want.

00:20:21.310 --> 00:20:24.157 align:middle line:84%
Now, that might be some voltage
representing the duty ratio

00:20:24.157 --> 00:20:25.740 align:middle line:84%
or current representing
the duty ratio

00:20:25.740 --> 00:20:27.160 align:middle line:90%
on an actual implementation.

00:20:27.160 --> 00:20:28.650 align:middle line:84%
But from a theoretical
perspective,

00:20:28.650 --> 00:20:32.070 align:middle line:84%
the output of this compensator
is just the duty ratio I want.

00:20:32.070 --> 00:20:34.355 align:middle line:84%
I need to stick
this into the plant.

00:20:34.355 --> 00:20:37.958 align:middle line:90%


00:20:37.958 --> 00:20:39.750 align:middle line:84%
That's what a control
person would call it.

00:20:39.750 --> 00:20:41.190 align:middle line:90%
We'd call it the converter.

00:20:41.190 --> 00:20:43.874 align:middle line:90%


00:20:43.874 --> 00:20:47.780 align:middle line:84%
And of course, it has
another input, which is,

00:20:47.780 --> 00:20:50.240 align:middle line:90%
in this case, u, or u-bar.

00:20:50.240 --> 00:20:52.580 align:middle line:84%
And out of this thing,
out of this model

00:20:52.580 --> 00:20:54.860 align:middle line:90%
would come iL-bar and v-bar.

00:20:54.860 --> 00:20:58.210 align:middle line:90%


00:20:58.210 --> 00:21:01.950 align:middle line:84%
And so what I needed was a
dynamic model for this thing.

00:21:01.950 --> 00:21:03.240 align:middle line:90%
Well, guess what?

00:21:03.240 --> 00:21:08.150 align:middle line:84%
Here is a differential
equation model

00:21:08.150 --> 00:21:10.970 align:middle line:84%
for the behavior
of the converter.

00:21:10.970 --> 00:21:14.250 align:middle line:84%
And I could just stick
this inside of here.

00:21:14.250 --> 00:21:18.260 align:middle line:84%
And this is saying, if I put
in d, what happens to iL and v?

00:21:18.260 --> 00:21:19.693 align:middle line:90%
And this model is my dynamics.

00:21:19.693 --> 00:21:23.705 align:middle line:90%


00:21:23.705 --> 00:21:26.180 align:middle line:90%
Any questions about that?

00:21:26.180 --> 00:21:27.355 align:middle line:90%
No switching involved.

00:21:27.355 --> 00:21:30.230 align:middle line:90%


00:21:30.230 --> 00:21:38.240 align:middle line:84%
Now, I should have noted, last
time, we drew a circuit model.

00:21:38.240 --> 00:21:41.777 align:middle line:84%
We didn't put a pair state
space equation in here.

00:21:41.777 --> 00:21:43.110 align:middle line:90%
We actually had a circuit model.

00:21:43.110 --> 00:21:44.902 align:middle line:84%
What was that circuit
model from last time?

00:21:44.902 --> 00:21:47.580 align:middle line:90%
It really looked like this.

00:21:47.580 --> 00:21:52.700 align:middle line:90%
It had u-bar iL-bar.

00:21:52.700 --> 00:21:56.510 align:middle line:90%


00:21:56.510 --> 00:22:00.050 align:middle line:84%
It had a voltage
source here, which

00:22:00.050 --> 00:22:05.990 align:middle line:84%
was d-prime v-bar and a
dependent current source,

00:22:05.990 --> 00:22:09.620 align:middle line:90%
which was d-prime iL-bar.

00:22:09.620 --> 00:22:17.420 align:middle line:90%
And then it had v-bar here.

00:22:17.420 --> 00:22:20.240 align:middle line:84%
If you write the
differential equation

00:22:20.240 --> 00:22:22.280 align:middle line:84%
for this circuit,
this nonlinear circuit

00:22:22.280 --> 00:22:24.590 align:middle line:84%
that we got by
circuit averaging,

00:22:24.590 --> 00:22:29.750 align:middle line:84%
it will give you exactly this
set of differential equations.

00:22:29.750 --> 00:22:31.900 align:middle line:90%
diL/dt is u.

00:22:31.900 --> 00:22:35.720 align:middle line:84%
L diL/dt is u-bar
minus d-prime v-bar.

00:22:35.720 --> 00:22:37.370 align:middle line:90%
That's exactly this equation.

00:22:37.370 --> 00:22:40.220 align:middle line:90%


00:22:40.220 --> 00:22:44.265 align:middle line:84%
So I can describe it
with circuit averaging.

00:22:44.265 --> 00:22:46.140 align:middle line:84%
I can describe it with
state space averaging.

00:22:46.140 --> 00:22:47.723 align:middle line:84%
This just gives me
the equation for it

00:22:47.723 --> 00:22:51.860 align:middle line:84%
so I can go back and forth
between the two as I want.

00:22:51.860 --> 00:22:52.680 align:middle line:90%
They both work.

00:22:52.680 --> 00:22:54.138 align:middle line:84%
There are other
circuit models that

00:22:54.138 --> 00:22:56.580 align:middle line:84%
represent the same differential
equations, of course.

00:22:56.580 --> 00:22:58.340 align:middle line:84%
You can do things
different ways.

00:22:58.340 --> 00:23:00.770 align:middle line:84%
But the underlying dynamics
will always be the same,

00:23:00.770 --> 00:23:03.344 align:middle line:90%
if you apply averaging.

00:23:03.344 --> 00:23:04.975 align:middle line:90%
Any questions about that?

00:23:04.975 --> 00:23:09.630 align:middle line:90%


00:23:09.630 --> 00:23:12.970 align:middle line:84%
Now, what is the headache
of this approach?

00:23:12.970 --> 00:23:14.098 align:middle line:90%
Or it's not a headache.

00:23:14.098 --> 00:23:15.640 align:middle line:84%
It's nothing to do
with the approach.

00:23:15.640 --> 00:23:19.950 align:middle line:84%
I shouldn't say-- this
is a fundamental--

00:23:19.950 --> 00:23:24.840 align:middle line:84%
this is a fundamental
property of the system,

00:23:24.840 --> 00:23:29.130 align:middle line:84%
is that this is a nonlinear
circuit and this is a nonlinear

00:23:29.130 --> 00:23:30.260 align:middle line:90%
differential equations.

00:23:30.260 --> 00:23:31.140 align:middle line:90%
Why?

00:23:31.140 --> 00:23:34.980 align:middle line:84%
Because I have a product
between my state variable,

00:23:34.980 --> 00:23:38.320 align:middle line:84%
my output voltage, and my
control input, the duty ratio.

00:23:38.320 --> 00:23:41.320 align:middle line:84%
And likewise, I have a--
or 1 minus the duty ratio.

00:23:41.320 --> 00:23:43.980 align:middle line:84%
And here, I have a product
between my other state variable

00:23:43.980 --> 00:23:46.820 align:middle line:90%
and 1 minus the duty ratio.

00:23:46.820 --> 00:23:48.946 align:middle line:84%
And that makes this
system nonlinear.

00:23:48.946 --> 00:23:53.130 align:middle line:90%


00:23:53.130 --> 00:23:53.880 align:middle line:90%
Why do I care?

00:23:53.880 --> 00:23:55.380 align:middle line:90%
Why is that a pain in the butt?

00:23:55.380 --> 00:23:56.690 align:middle line:90%
Well, what would I like to do?

00:23:56.690 --> 00:23:59.390 align:middle line:84%
If I go back to standard
control theory, what I'd really

00:23:59.390 --> 00:24:02.720 align:middle line:84%
like is perhaps some kind of
transfer function that says,

00:24:02.720 --> 00:24:05.790 align:middle line:84%
if I change the duty ratio,
what does the output voltage do?

00:24:05.790 --> 00:24:07.457 align:middle line:84%
Because if I'm going
to write everything

00:24:07.457 --> 00:24:12.320 align:middle line:84%
in terms of a transfer function,
I can apply linear control

00:24:12.320 --> 00:24:15.320 align:middle line:90%
theory and life is good.

00:24:15.320 --> 00:24:17.520 align:middle line:84%
How do I usually get
the transfer function?

00:24:17.520 --> 00:24:21.170 align:middle line:84%
I take the Laplace transform
of this stuff, which

00:24:21.170 --> 00:24:23.090 align:middle line:84%
converts this
differential equation

00:24:23.090 --> 00:24:24.430 align:middle line:90%
into an algebraic equation.

00:24:24.430 --> 00:24:29.540 align:middle line:84%
diL/dt becomes just S iL, where
S is just the Laplace variable.

00:24:29.540 --> 00:24:31.895 align:middle line:84%
But this is kind of a pain
in the ass in this equation.

00:24:31.895 --> 00:24:32.395 align:middle line:90%
Why?

00:24:32.395 --> 00:24:36.070 align:middle line:90%


00:24:36.070 --> 00:24:37.733 align:middle line:90%
Taking the Laplace of a product.

00:24:37.733 --> 00:24:41.810 align:middle line:90%


00:24:41.810 --> 00:24:44.060 align:middle line:84%
Anybody recall what you
have to do when you take

00:24:44.060 --> 00:24:47.280 align:middle line:90%
the product with a Laplace?

00:24:47.280 --> 00:24:49.110 align:middle line:90%
You end up with a convolution.

00:24:49.110 --> 00:24:50.960 align:middle line:90%
And that's not very pretty.

00:24:50.960 --> 00:24:55.650 align:middle line:84%
So I can't just write a
transfer function for this.

00:24:55.650 --> 00:24:58.080 align:middle line:84%
I can't boil this thing down
into a transfer function

00:24:58.080 --> 00:25:03.660 align:middle line:84%
because this Laplace of
the product is a problem.

00:25:03.660 --> 00:25:08.370 align:middle line:84%
So the question
is, what can I do?

00:25:08.370 --> 00:25:11.190 align:middle line:84%
And the answer
is, it's nonlinear

00:25:11.190 --> 00:25:15.600 align:middle line:84%
and it has nonlinear dynamics,
meaning it truly is not linear.

00:25:15.600 --> 00:25:17.280 align:middle line:90%
That's the way it is.

00:25:17.280 --> 00:25:22.000 align:middle line:84%
But we could find out what
it does for small variations.

00:25:22.000 --> 00:25:25.320 align:middle line:84%
In fact, in my original
example, I just showed you

00:25:25.320 --> 00:25:26.280 align:middle line:90%
the output voltage.

00:25:26.280 --> 00:25:29.080 align:middle line:84%
And I did this little
bump, but it was around 0.

00:25:29.080 --> 00:25:31.090 align:middle line:84%
That's because I
was AC coupling it.

00:25:31.090 --> 00:25:33.570 align:middle line:84%
I was showing you the
deviation in the output voltage

00:25:33.570 --> 00:25:37.000 align:middle line:90%
from its steady state value.

00:25:37.000 --> 00:25:40.540 align:middle line:84%
And what I can go
do is I can say, OK,

00:25:40.540 --> 00:25:42.850 align:middle line:84%
if I believe my converter
is going to be operating

00:25:42.850 --> 00:25:45.280 align:middle line:84%
in periodic steady
state somewhere,

00:25:45.280 --> 00:25:47.920 align:middle line:84%
and then I put in a small
perturbation away from that

00:25:47.920 --> 00:25:51.340 align:middle line:84%
steady state-- in other words,
maybe I step my reference

00:25:51.340 --> 00:25:54.260 align:middle line:90%
voltage just a tiny bit--

00:25:54.260 --> 00:25:56.100 align:middle line:90%
it should respond.

00:25:56.100 --> 00:25:57.810 align:middle line:90%
And the dynamics are nonlinear.

00:25:57.810 --> 00:26:04.080 align:middle line:84%
But for small variations,
they're pretty close to linear.

00:26:04.080 --> 00:26:06.560 align:middle line:84%
So what I might do is
I might go and say,

00:26:06.560 --> 00:26:15.020 align:middle line:84%
all right, suppose that all
of my variables in my system,

00:26:15.020 --> 00:26:24.820 align:middle line:84%
x of t, was equal
to some DC value,

00:26:24.820 --> 00:26:29.020 align:middle line:84%
sometimes called the
bias or the steady state,

00:26:29.020 --> 00:26:33.786 align:middle line:84%
plus some AC variation,
small variation.

00:26:33.786 --> 00:26:37.420 align:middle line:90%


00:26:37.420 --> 00:26:43.030 align:middle line:84%
And then I could express, well,
the small variations are simply

00:26:43.030 --> 00:26:44.830 align:middle line:90%
the total variable minus--

00:26:44.830 --> 00:26:49.270 align:middle line:84%
it's the deviation of the total
variable from the steady state

00:26:49.270 --> 00:26:52.280 align:middle line:90%
operating point.

00:26:52.280 --> 00:26:55.240 align:middle line:84%
And what I can go
do is I can express

00:26:55.240 --> 00:26:56.800 align:middle line:90%
all my variables that way.

00:26:56.800 --> 00:27:02.680 align:middle line:84%
I can say, OK, u is equal to
some DC value plus any variation

00:27:02.680 --> 00:27:04.960 align:middle line:90%
I put on the input voltage.

00:27:04.960 --> 00:27:10.270 align:middle line:84%
v is equal to some DC voltage
plus some small variation, where

00:27:10.270 --> 00:27:12.670 align:middle line:84%
this is the
deviation away from--

00:27:12.670 --> 00:27:17.650 align:middle line:84%
this is the AC-coupled
version, essentially.

00:27:17.650 --> 00:27:22.540 align:middle line:84%
iL is equal to some
DC iL plus some iL

00:27:22.540 --> 00:27:25.030 align:middle line:84%
tilde, some small
variation, et cetera.

00:27:25.030 --> 00:27:29.920 align:middle line:84%
And what can we
say mathematically?

00:27:29.920 --> 00:27:37.390 align:middle line:84%
Suppose I had some nonlinear
differential equation, dx/dt,

00:27:37.390 --> 00:27:41.680 align:middle line:84%
where x is some variable or
some vector of variables--

00:27:41.680 --> 00:27:43.480 align:middle line:84%
and this is a vector
of equations--

00:27:43.480 --> 00:27:52.000 align:middle line:84%
is equal to some function of
the state variables, the inputs,

00:27:52.000 --> 00:27:55.510 align:middle line:84%
and could be a
function of time, too.

00:27:55.510 --> 00:27:59.948 align:middle line:84%
So this is some arbitrarily
nonlinear differential equation.

00:27:59.948 --> 00:28:01.740 align:middle line:84%
It could be a vector
differential equation,

00:28:01.740 --> 00:28:03.970 align:middle line:84%
like this has two
state variables.

00:28:03.970 --> 00:28:06.540 align:middle line:84%
So x could be a vector of
state variables, in general.

00:28:06.540 --> 00:28:09.540 align:middle line:84%
And I could have a
vector of inputs, r.

00:28:09.540 --> 00:28:13.310 align:middle line:84%
And suppose I had this and I
had some steady state operating

00:28:13.310 --> 00:28:13.810 align:middle line:90%
point.

00:28:13.810 --> 00:28:22.560 align:middle line:84%
I have f of x and capital
R and t is equal to 0.

00:28:22.560 --> 00:28:26.070 align:middle line:90%
This is an operating point.

00:28:26.070 --> 00:28:33.960 align:middle line:84%
This is a nonlinear
diffy q, or system

00:28:33.960 --> 00:28:35.500 align:middle line:90%
of differential equations.

00:28:35.500 --> 00:28:38.610 align:middle line:90%


00:28:38.610 --> 00:28:40.560 align:middle line:90%
Why is this an operating point?

00:28:40.560 --> 00:28:45.090 align:middle line:84%
Because what I'm saying
is, if I put f of capital

00:28:45.090 --> 00:28:47.400 align:middle line:84%
x and capital r
in here, I get 0,

00:28:47.400 --> 00:28:50.380 align:middle line:84%
which means dx/dt is 0, which
means it's not going anywhere.

00:28:50.380 --> 00:28:51.400 align:middle line:90%
It sits there.

00:28:51.400 --> 00:28:56.820 align:middle line:84%
So this equation is precisely
defining some operating point

00:28:56.820 --> 00:28:59.565 align:middle line:84%
where it's just going to sit,
some periodic steady state

00:28:59.565 --> 00:29:00.815 align:middle line:90%
value where it's going to sit.

00:29:00.815 --> 00:29:04.375 align:middle line:90%


00:29:04.375 --> 00:29:08.770 align:middle line:84%
And what we can do is we
can linearize this guy.

00:29:08.770 --> 00:29:10.750 align:middle line:90%
What do I mean by that?

00:29:10.750 --> 00:29:15.580 align:middle line:84%
Let me just do the simplest
1D version of this idea.

00:29:15.580 --> 00:29:23.740 align:middle line:84%
Suppose I have one dimension,
x, and I have f of x.

00:29:23.740 --> 00:29:29.910 align:middle line:84%
And this has some
function, some nonlinear--

00:29:29.910 --> 00:29:31.520 align:middle line:90%
this is not a straight line--

00:29:31.520 --> 00:29:33.150 align:middle line:90%
function.

00:29:33.150 --> 00:29:40.080 align:middle line:90%
Well, this is f of x.

00:29:40.080 --> 00:29:43.350 align:middle line:84%
Notice that there's some place
where f of x goes through 0.

00:29:43.350 --> 00:29:45.515 align:middle line:90%
And I could call that x.

00:29:45.515 --> 00:29:48.426 align:middle line:90%


00:29:48.426 --> 00:29:54.630 align:middle line:84%
And so the variation,
dx/dt, is exactly

00:29:54.630 --> 00:29:56.550 align:middle line:84%
defined by this
function near here.

00:29:56.550 --> 00:29:59.850 align:middle line:84%
But maybe near this operating
point, I could come and say,

00:29:59.850 --> 00:30:00.690 align:middle line:90%
you know what?

00:30:00.690 --> 00:30:03.500 align:middle line:84%
Let me just approximate
him with a tangent line.

00:30:03.500 --> 00:30:07.330 align:middle line:90%


00:30:07.330 --> 00:30:11.170 align:middle line:84%
And I will approximate f of
x right near this operating

00:30:11.170 --> 00:30:14.480 align:middle line:90%
point with a straight line.

00:30:14.480 --> 00:30:22.100 align:middle line:84%
And then I can look at,
if I have some variable x,

00:30:22.100 --> 00:30:28.820 align:middle line:84%
the distance here
to some other point.

00:30:28.820 --> 00:30:31.640 align:middle line:84%
This distance I
might call x-tilde.

00:30:31.640 --> 00:30:36.050 align:middle line:84%
The deviation between x
and its operating point

00:30:36.050 --> 00:30:37.260 align:middle line:90%
is just the variation.

00:30:37.260 --> 00:30:40.100 align:middle line:84%
So I can worry about this
differential equation,

00:30:40.100 --> 00:30:43.400 align:middle line:90%
variations about this point.

00:30:43.400 --> 00:30:46.430 align:middle line:84%
And how am I going
to approximate that?

00:30:46.430 --> 00:30:51.740 align:middle line:84%
I could approximate
that as dx/dt,

00:30:51.740 --> 00:30:58.670 align:middle line:84%
which I could write as capital
d capital X/dt plus dx-tilde/dt

00:30:58.670 --> 00:31:00.870 align:middle line:90%
dt.

00:31:00.870 --> 00:31:03.080 align:middle line:90%
So x is capital--

00:31:03.080 --> 00:31:04.350 align:middle line:90%
this is x.

00:31:04.350 --> 00:31:08.330 align:middle line:90%
This is capital X plus x-tilde.

00:31:08.330 --> 00:31:18.770 align:middle line:84%
This is just 0 because this is
the derivative of a constant.

00:31:18.770 --> 00:31:20.750 align:middle line:90%
It's going to be equal to--

00:31:20.750 --> 00:31:23.480 align:middle line:90%
well, dx/dt was f of x R and t.

00:31:23.480 --> 00:31:27.180 align:middle line:84%
I'm just going to substitute x
plus x-tilde et cetera in here.

00:31:27.180 --> 00:31:38.840 align:middle line:84%
What I'm going to get is f of
x R and t plus df/dx evaluated

00:31:38.840 --> 00:31:41.563 align:middle line:90%
at x and R for--

00:31:41.563 --> 00:31:47.990 align:middle line:90%


00:31:47.990 --> 00:31:54.470 align:middle line:84%
evaluated times x minus
capital X, which is actually

00:31:54.470 --> 00:32:03.290 align:middle line:84%
just times x-tilde,
plus df/dR evaluated

00:32:03.290 --> 00:32:10.100 align:middle line:90%
at x and R times R-tilde.

00:32:10.100 --> 00:32:13.310 align:middle line:84%
So all I'm doing is
instead of using f of x,

00:32:13.310 --> 00:32:14.930 align:middle line:90%
I'm doing a Fourier--

00:32:14.930 --> 00:32:18.260 align:middle line:84%
I'm doing a Taylor
expansion of this thing

00:32:18.260 --> 00:32:22.105 align:middle line:84%
and looking at just the
derivatives at that point.

00:32:22.105 --> 00:32:25.440 align:middle line:90%


00:32:25.440 --> 00:32:27.490 align:middle line:90%
What's f of x R and t?

00:32:27.490 --> 00:32:32.010 align:middle line:84%
This is just 0 because I just
told you this thing was 0.

00:32:32.010 --> 00:32:40.770 align:middle line:84%
And so I just get df/dx and
df/dR times x-tilde and R-tilde.

00:32:40.770 --> 00:32:42.810 align:middle line:84%
Does that make
sense to everybody?

00:32:42.810 --> 00:32:45.630 align:middle line:84%
And all I'm really doing
is I'm linearizing--

00:32:45.630 --> 00:32:48.160 align:middle line:84%
I'm approximating
this nonlinear curve.

00:32:48.160 --> 00:32:49.980 align:middle line:84%
If I have my deviations
are small enough,

00:32:49.980 --> 00:32:51.397 align:middle line:84%
I can't really
tell the difference

00:32:51.397 --> 00:32:54.240 align:middle line:84%
between the curvy f of x
and the straight line orange

00:32:54.240 --> 00:32:56.790 align:middle line:90%
approximation.

00:32:56.790 --> 00:32:58.830 align:middle line:90%
That make sense to everybody?

00:32:58.830 --> 00:33:03.510 align:middle line:84%
To do this, I do require that
f is differentiable near here.

00:33:03.510 --> 00:33:07.320 align:middle line:84%
But our systems are,
so life is good.

00:33:07.320 --> 00:33:10.500 align:middle line:84%
Any questions about
that idea generally?

00:33:10.500 --> 00:33:13.480 align:middle line:90%


00:33:13.480 --> 00:33:16.280 align:middle line:90%
So that's messy to think about.

00:33:16.280 --> 00:33:20.290 align:middle line:84%
But actually, it's quite
simple in the real world.

00:33:20.290 --> 00:33:22.420 align:middle line:84%
In the real world,
what am I going to do?

00:33:22.420 --> 00:33:24.340 align:middle line:84%
In the real world,
all I'm going to do

00:33:24.340 --> 00:33:26.380 align:middle line:84%
is I'm going to come
up to this equation

00:33:26.380 --> 00:33:32.350 align:middle line:84%
and substitute in these
expansions and factor it.

00:33:32.350 --> 00:33:34.360 align:middle line:90%
Life is easy.

00:33:34.360 --> 00:33:35.960 align:middle line:90%
So let me do that.

00:33:35.960 --> 00:33:39.220 align:middle line:84%
So what I have is
I have diL-bar/dt.

00:33:39.220 --> 00:33:41.200 align:middle line:84%
And I said, iL--
oh, I should have

00:33:41.200 --> 00:33:43.180 align:middle line:84%
said these are the local
averages because I'm

00:33:43.180 --> 00:33:45.490 align:middle line:90%
working with a local averages.

00:33:45.490 --> 00:33:48.790 align:middle line:90%
diL-bar/dt is equal to--

00:33:48.790 --> 00:33:53.080 align:middle line:90%


00:33:53.080 --> 00:33:59.410 align:middle line:84%
is equal to d/dt of
iL plus diL-tilde/dt.

00:33:59.410 --> 00:34:02.260 align:middle line:90%


00:34:02.260 --> 00:34:07.090 align:middle line:84%
And we said this was 0
because iL is a constant.

00:34:07.090 --> 00:34:09.127 align:middle line:84%
And that's going to
be equal to what?

00:34:09.127 --> 00:34:11.710 align:middle line:84%
That's going to be equal to--
all I've got to do is substitute

00:34:11.710 --> 00:34:12.543 align:middle line:90%
the stuff in there--

00:34:12.543 --> 00:34:28.540 align:middle line:84%
1 over L u plus u-tilde minus
1 over L capital V plus v-tilde

00:34:28.540 --> 00:34:30.489 align:middle line:90%
times--

00:34:30.489 --> 00:34:32.650 align:middle line:90%
it's 1 minus d--

00:34:32.650 --> 00:34:34.900 align:middle line:84%
I'm sorry, it's d-prime,
which is 1 minus d.

00:34:34.900 --> 00:34:40.090 align:middle line:90%
That's 1 minus d minus d-tilde.

00:34:40.090 --> 00:34:43.150 align:middle line:90%
And that's the top equation.

00:34:43.150 --> 00:34:52.489 align:middle line:84%
And I get dv-bar/dt, which is
equal to d/dt of capital V,

00:34:52.489 --> 00:34:57.200 align:middle line:84%
which we said was
0, plus dV-tilde/dt,

00:34:57.200 --> 00:35:12.380 align:middle line:84%
which is equal to minus 1 over
RC v plus v-tilde plus 1 over c

00:35:12.380 --> 00:35:22.430 align:middle line:84%
times iL plus iL-tilde times
1 minus d minus d-tilde.

00:35:22.430 --> 00:35:26.750 align:middle line:90%


00:35:26.750 --> 00:35:28.730 align:middle line:90%
I apologize for all the algebra.

00:35:28.730 --> 00:35:30.030 align:middle line:90%
But guess what?

00:35:30.030 --> 00:35:31.590 align:middle line:90%
You can't do this without it.

00:35:31.590 --> 00:35:32.930 align:middle line:90%
So that's life.

00:35:32.930 --> 00:35:34.370 align:middle line:84%
All right, so what
can I do here?

00:35:34.370 --> 00:35:36.740 align:middle line:90%
Let me just refactor this.

00:35:36.740 --> 00:35:38.670 align:middle line:84%
And here's how I'm
going to factor it.

00:35:38.670 --> 00:35:43.010 align:middle line:84%
I'm going to put all of the
terms that are just operating

00:35:43.010 --> 00:35:44.923 align:middle line:90%
point capital letters together.

00:35:44.923 --> 00:35:46.340 align:middle line:84%
Then I'm going to
have mixed ones.

00:35:46.340 --> 00:35:48.048 align:middle line:84%
And then I'm going to
have all terms that

00:35:48.048 --> 00:35:50.400 align:middle line:90%
are products of tildes.

00:35:50.400 --> 00:35:52.150 align:middle line:84%
So let me just
rewrite this for you.

00:35:52.150 --> 00:36:03.370 align:middle line:84%
So what I get is diL-tilde/dt is
equal to 1 over L u minus 1 over

00:36:03.370 --> 00:36:14.560 align:middle line:84%
L times d-prime v, so 1 over
L times u minus d-prime v.

00:36:14.560 --> 00:36:16.220 align:middle line:84%
Then I'm going to
get mixed terms.

00:36:16.220 --> 00:36:21.610 align:middle line:84%
I'm going to get
plus 1 over L u-tilde

00:36:21.610 --> 00:36:27.460 align:middle line:90%
minus 1 over L v d-tilde.

00:36:27.460 --> 00:36:33.490 align:middle line:84%
Oops, it's going to be
plus 1 over L v d-tilde

00:36:33.490 --> 00:36:41.260 align:middle line:84%
minus 1 over L d-prime, which
is 1 minus capital D, v-tilde.

00:36:41.260 --> 00:36:48.250 align:middle line:84%
And then I'm going to get
plus 1 over L v-tilde d-tilde.

00:36:48.250 --> 00:36:51.170 align:middle line:84%
Last equation, and then
life will get easier.

00:36:51.170 --> 00:36:52.850 align:middle line:84%
I won't have to
write any equations.

00:36:52.850 --> 00:37:03.880 align:middle line:84%
It's dv-tilde/dt is going to be
equal to minus 1 over RC minus--

00:37:03.880 --> 00:37:06.430 align:middle line:90%
I'm sorry, it's going to be--

00:37:06.430 --> 00:37:11.470 align:middle line:84%
it's going to be 1
over C times minus v

00:37:11.470 --> 00:37:19.550 align:middle line:90%
over R plus iL times 1 minus d--

00:37:19.550 --> 00:37:24.090 align:middle line:90%


00:37:24.090 --> 00:37:33.840 align:middle line:84%
that's the all-caps-- term
minus 1 over RC v-tilde plus 1

00:37:33.840 --> 00:37:48.540 align:middle line:84%
over C d-prime over C iL-tilde
plus or minus iL over C d-tilde,

00:37:48.540 --> 00:37:56.100 align:middle line:84%
and then minus 1 over
C iL-tilde d-tilde.

00:37:56.100 --> 00:37:58.260 align:middle line:90%
I apologize for all that math.

00:37:58.260 --> 00:38:02.180 align:middle line:84%
But let me get to why
I'm telling you this.

00:38:02.180 --> 00:38:05.600 align:middle line:90%
Let's look at this factor.

00:38:05.600 --> 00:38:07.530 align:middle line:90%
And I wrote u here.

00:38:07.530 --> 00:38:09.230 align:middle line:84%
I should have been
very careful to write

00:38:09.230 --> 00:38:15.590 align:middle line:84%
capital U. These are all DC
periodic steady state values.

00:38:15.590 --> 00:38:17.950 align:middle line:90%
This is the DC input voltage.

00:38:17.950 --> 00:38:20.780 align:middle line:84%
This is the DC output voltage
at an operating point.

00:38:20.780 --> 00:38:24.800 align:middle line:84%
Or should I say, in periodic
steady state local averages?

00:38:24.800 --> 00:38:29.100 align:middle line:90%
What is 1 minus d times v?

00:38:29.100 --> 00:38:34.740 align:middle line:84%
Well, if I came back over
to my boost converter here,

00:38:34.740 --> 00:38:38.670 align:middle line:90%
1 minus d times v is just u.

00:38:38.670 --> 00:38:43.860 align:middle line:90%
So this whole thing is 0.

00:38:43.860 --> 00:38:47.070 align:middle line:84%
Likewise, this is the
output current, capital V

00:38:47.070 --> 00:38:51.630 align:middle line:90%
over R, capital IL times--

00:38:51.630 --> 00:38:55.680 align:middle line:84%
this should have been
d-prime is simply

00:38:55.680 --> 00:39:00.700 align:middle line:84%
the current going into the
output from the inductor.

00:39:00.700 --> 00:39:03.360 align:middle line:84%
This is also 0, if
you worked it out.

00:39:03.360 --> 00:39:06.193 align:middle line:84%
So basically, all capital
terms in this thing,

00:39:06.193 --> 00:39:08.610 align:middle line:84%
if you're dealing with the
periodic steady state operating

00:39:08.610 --> 00:39:12.240 align:middle line:84%
points of a converter, are
going to drop out and go away.

00:39:12.240 --> 00:39:14.000 align:middle line:84%
If they don't, you
did your math wrong.

00:39:14.000 --> 00:39:16.940 align:middle line:90%


00:39:16.940 --> 00:39:19.760 align:middle line:90%
What about these guys over here?

00:39:19.760 --> 00:39:22.070 align:middle line:84%
This is the small
variation in the output

00:39:22.070 --> 00:39:24.390 align:middle line:84%
voltage times the small
variation in the duty ratio.

00:39:24.390 --> 00:39:27.620 align:middle line:84%
I'm going to argue that
this is a small thing

00:39:27.620 --> 00:39:28.710 align:middle line:90%
and this is a small thing.

00:39:28.710 --> 00:39:30.410 align:middle line:90%
This is small squared.

00:39:30.410 --> 00:39:32.820 align:middle line:84%
I'm going to pretend
he's approximately 0.

00:39:32.820 --> 00:39:35.870 align:middle line:84%
Likewise, this is
small times small.

00:39:35.870 --> 00:39:37.920 align:middle line:84%
I'm going to say
he's approximately 0.

00:39:37.920 --> 00:39:41.570 align:middle line:84%
Basically, these
terms are precisely

00:39:41.570 --> 00:39:45.350 align:middle line:84%
the curvature away in
this nonlinear function

00:39:45.350 --> 00:39:47.150 align:middle line:90%
from the straight line.

00:39:47.150 --> 00:39:48.830 align:middle line:84%
And I'm saying, if
I get close enough,

00:39:48.830 --> 00:39:50.520 align:middle line:90%
I can ignore that curvature.

00:39:50.520 --> 00:39:54.110 align:middle line:84%
If I make my variations away
from that point small enough,

00:39:54.110 --> 00:39:59.940 align:middle line:84%
I can't tell the difference,
which leaves me with an equation

00:39:59.940 --> 00:40:05.940 align:middle line:84%
in terms of diL-tilde/dt,
which is in terms of two--

00:40:05.940 --> 00:40:07.680 align:middle line:84%
basically, it's
in terms of this.

00:40:07.680 --> 00:40:10.330 align:middle line:90%
I'm going to have constants.

00:40:10.330 --> 00:40:14.670 align:middle line:84%
This is 1 over L. This is
1 over L times capital V.

00:40:14.670 --> 00:40:17.140 align:middle line:84%
So capital V is my periodic
steady state value.

00:40:17.140 --> 00:40:20.430 align:middle line:84%
That's just a constant, as far
as the variations are concerned.

00:40:20.430 --> 00:40:24.990 align:middle line:84%
This is minus 1 over L.
This is another constant.

00:40:24.990 --> 00:40:28.590 align:middle line:84%
d-prime is my steady
state duty ratio.

00:40:28.590 --> 00:40:31.980 align:middle line:84%
And d-tilde is my
variation away from that.

00:40:31.980 --> 00:40:36.420 align:middle line:84%
Or d-prime is 1 minus my
steady state duty ratio.

00:40:36.420 --> 00:40:38.770 align:middle line:84%
And I can do the same thing
with these other terms.

00:40:38.770 --> 00:40:43.970 align:middle line:84%
These, as far as this equation
is concerned, are all constants.

00:40:43.970 --> 00:40:47.090 align:middle line:84%
Does that make
sense to everybody?

00:40:47.090 --> 00:40:53.595 align:middle line:84%
So I would argue then that
this beast, this beastie--

00:40:53.595 --> 00:40:59.020 align:middle line:90%


00:40:59.020 --> 00:41:01.330 align:middle line:90%
if I take away all the stuff--

00:41:01.330 --> 00:41:04.090 align:middle line:84%
I throw away all
the stuff, all I

00:41:04.090 --> 00:41:08.920 align:middle line:84%
have is small signal variables
times constants added up.

00:41:08.920 --> 00:41:13.420 align:middle line:84%
So this is also a system
of differential equations.

00:41:13.420 --> 00:41:16.180 align:middle line:84%
But as far as a given
periodic steady state

00:41:16.180 --> 00:41:19.810 align:middle line:84%
operating condition, it's a
linear constant coefficient

00:41:19.810 --> 00:41:22.090 align:middle line:90%
differential equations.

00:41:22.090 --> 00:41:25.600 align:middle line:84%
This is the friendly kind
of differential equations,

00:41:25.600 --> 00:41:26.840 align:middle line:90%
the ones we love.

00:41:26.840 --> 00:41:29.020 align:middle line:90%
Well, why do I like that?

00:41:29.020 --> 00:41:31.540 align:middle line:84%
Because I could take
that set of differential

00:41:31.540 --> 00:41:34.360 align:middle line:90%
equations and come back here.

00:41:34.360 --> 00:41:37.270 align:middle line:84%
And instead of
worrying about v-error,

00:41:37.270 --> 00:41:41.560 align:middle line:84%
I could worry about
v-error variation.

00:41:41.560 --> 00:41:44.140 align:middle line:84%
I could worry
about the variation

00:41:44.140 --> 00:41:49.392 align:middle line:84%
in duty cycle, the variation
in my inductor current away

00:41:49.392 --> 00:41:51.850 align:middle line:84%
from-- this variations away
from the steady state operating

00:41:51.850 --> 00:41:54.280 align:middle line:84%
point, the variation
in voltage away

00:41:54.280 --> 00:41:55.930 align:middle line:84%
from my steady state
operating point.

00:41:55.930 --> 00:41:59.140 align:middle line:84%
And this would be
feeding back v-tilde.

00:41:59.140 --> 00:42:03.190 align:middle line:84%
And suddenly, I stick these
differential equations in here.

00:42:03.190 --> 00:42:06.380 align:middle line:90%
And these are linear.

00:42:06.380 --> 00:42:08.120 align:middle line:84%
And suddenly, my
life became easy

00:42:08.120 --> 00:42:10.950 align:middle line:84%
because now I can apply all my
linear control theory to it.

00:42:10.950 --> 00:42:14.490 align:middle line:90%


00:42:14.490 --> 00:42:15.440 align:middle line:90%
Questions about that?

00:42:15.440 --> 00:42:23.010 align:middle line:90%


00:42:23.010 --> 00:42:27.150 align:middle line:84%
So how might I do
this in practice?

00:42:27.150 --> 00:42:28.870 align:middle line:90%
A lot of things I can do.

00:42:28.870 --> 00:42:30.720 align:middle line:84%
And I should say,
by the way, there's

00:42:30.720 --> 00:42:33.930 align:middle line:84%
nothing that prevents me from
doing the original nonlinear

00:42:33.930 --> 00:42:36.150 align:middle line:90%
stuff and doing a nonlinear--

00:42:36.150 --> 00:42:39.660 align:middle line:84%
having a nonlinear plan and
considering Lyapunov controllers

00:42:39.660 --> 00:42:42.240 align:middle line:90%
or anything I want to consider.

00:42:42.240 --> 00:42:46.660 align:middle line:84%
It's just complicated and
perhaps unnecessarily so.

00:42:46.660 --> 00:42:51.390 align:middle line:84%
By doing this linearization
trick around an operating point,

00:42:51.390 --> 00:42:55.170 align:middle line:84%
I get a set of linear constant
coefficient differential

00:42:55.170 --> 00:42:59.880 align:middle line:84%
equations that then
give me nice behavior.

00:42:59.880 --> 00:43:02.760 align:middle line:84%
The only constraint, the
only fly in this ointment

00:43:02.760 --> 00:43:06.420 align:middle line:84%
is the differential equations,
the coefficients in it

00:43:06.420 --> 00:43:08.320 align:middle line:90%
depend on the operating point.

00:43:08.320 --> 00:43:12.730 align:middle line:84%
So I've got to say, geez, I'm
operating at d-prime is 0.5.

00:43:12.730 --> 00:43:14.890 align:middle line:90%
My steady state is at 50%.

00:43:14.890 --> 00:43:17.630 align:middle line:84%
It's for this boost
conversion ratio.

00:43:17.630 --> 00:43:20.870 align:middle line:84%
And then I'll get the dynamics
for that boost conversion ratio,

00:43:20.870 --> 00:43:22.740 align:middle line:84%
for small deviations
away from that.

00:43:22.740 --> 00:43:26.510 align:middle line:84%
But if I suddenly change
duty ratio to 75% and d-prime

00:43:26.510 --> 00:43:30.440 align:middle line:84%
became 0.25, the
equations are different

00:43:30.440 --> 00:43:32.510 align:middle line:90%
and the dynamics are different,

00:43:32.510 --> 00:43:35.042 align:middle line:84%
So the fact that
this is nonlinear,

00:43:35.042 --> 00:43:37.500 align:middle line:84%
it means, at different operating
points, the dynamics vary.

00:43:37.500 --> 00:43:39.090 align:middle line:90%
Well, you're stuck with that.

00:43:39.090 --> 00:43:40.170 align:middle line:90%
It's a nonlinear system.

00:43:40.170 --> 00:43:42.890 align:middle line:90%
That's what it does.

00:43:42.890 --> 00:43:45.350 align:middle line:90%
But if I'm interested in--

00:43:45.350 --> 00:43:47.180 align:middle line:84%
jeez, I kicked it
a little bit, I

00:43:47.180 --> 00:43:50.180 align:middle line:84%
changed my duty ratio a
little, or I stepped my load,

00:43:50.180 --> 00:43:53.660 align:middle line:84%
when I get close to that
second operating point,

00:43:53.660 --> 00:43:56.020 align:middle line:84%
I can predict what the
dynamics are very exactly.

00:43:56.020 --> 00:43:58.655 align:middle line:90%


00:43:58.655 --> 00:44:01.850 align:middle line:84%
And by the way, even
though this is nonlinear,

00:44:01.850 --> 00:44:06.050 align:middle line:84%
it turns out that
it's pretty good.

00:44:06.050 --> 00:44:09.810 align:middle line:84%
The dynamics are
quite nicely captured.

00:44:09.810 --> 00:44:12.150 align:middle line:90%
So how might I deal with this?

00:44:12.150 --> 00:44:13.140 align:middle line:90%
Well, I could do this.

00:44:13.140 --> 00:44:14.430 align:middle line:90%
What would I do?

00:44:14.430 --> 00:44:20.750 align:middle line:84%
I could turn this whole thing
into to a transfer function,

00:44:20.750 --> 00:44:21.350 align:middle line:90%
for example.

00:44:21.350 --> 00:44:23.780 align:middle line:84%
Like over here, what
I would really like

00:44:23.780 --> 00:44:32.450 align:middle line:84%
is some transfer function,
perhaps H of s, where H of s

00:44:32.450 --> 00:44:38.900 align:middle line:84%
goes from d-tilde to
v-tilde, for example.

00:44:38.900 --> 00:44:41.480 align:middle line:84%
It's a transfer function
from variations in duty ratio

00:44:41.480 --> 00:44:46.490 align:middle line:84%
to variations in output
voltage if I kept my input

00:44:46.490 --> 00:44:49.670 align:middle line:90%
voltage constant, for example.

00:44:49.670 --> 00:44:50.970 align:middle line:90%
Well, how would I do that?

00:44:50.970 --> 00:44:54.050 align:middle line:84%
I'd just take the Laplace
transform of this stuff,

00:44:54.050 --> 00:44:57.530 align:middle line:84%
all my i sub L-tildes would
become S i sub L-tildes.

00:44:57.530 --> 00:44:59.470 align:middle line:90%
This would become S v-tilde.

00:44:59.470 --> 00:45:01.970 align:middle line:84%
And then I could look at this
thing, and I could go in here,

00:45:01.970 --> 00:45:05.900 align:middle line:84%
and I could multiply
this by S. I could then

00:45:05.900 --> 00:45:09.740 align:middle line:84%
substitute my S iL-tilde in
here and iL-tiles would go away.

00:45:09.740 --> 00:45:14.630 align:middle line:84%
And I'd get everything that
relates d-tilde and v-tilde.

00:45:14.630 --> 00:45:16.640 align:middle line:84%
I'll just write down
that solution for you

00:45:16.640 --> 00:45:18.000 align:middle line:90%
because I'm running out of time.

00:45:18.000 --> 00:45:21.605 align:middle line:84%
But if you do that,
here's what you get.

00:45:21.605 --> 00:45:23.480 align:middle line:84%
First of all, any
questions about the process

00:45:23.480 --> 00:45:26.870 align:middle line:90%
I just mentioned?

00:45:26.870 --> 00:45:29.365 align:middle line:84%
So what I would get is
something like this.

00:45:29.365 --> 00:45:33.290 align:middle line:90%


00:45:33.290 --> 00:45:42.190 align:middle line:84%
I would get H of s is equal
to v-tilde over d-tilde, which

00:45:42.190 --> 00:45:59.070 align:middle line:84%
is equal to minus s times iL
over C plus v d-prime over LC

00:45:59.070 --> 00:46:06.630 align:middle line:84%
divided by s squared plus 1
over RC s plus d-prime squared

00:46:06.630 --> 00:46:09.500 align:middle line:90%
over LC.

00:46:09.500 --> 00:46:14.510 align:middle line:84%
So this is a second
order differential--

00:46:14.510 --> 00:46:16.570 align:middle line:84%
this is a second order
transfer function.

00:46:16.570 --> 00:46:20.240 align:middle line:84%
It has two poles, S
squared in the denominator.

00:46:20.240 --> 00:46:24.850 align:middle line:84%
So this characteristic
equation is second order.

00:46:24.850 --> 00:46:26.363 align:middle line:90%
Well, we expect that.

00:46:26.363 --> 00:46:27.530 align:middle line:90%
It's got to be second order.

00:46:27.530 --> 00:46:28.060 align:middle line:90%
Why?

00:46:28.060 --> 00:46:30.010 align:middle line:84%
Because what are my
energy storage elements

00:46:30.010 --> 00:46:31.390 align:middle line:90%
in my converter?

00:46:31.390 --> 00:46:33.310 align:middle line:84%
My energy storage
elements in my converter

00:46:33.310 --> 00:46:35.390 align:middle line:84%
are one inductor
and one capacitor.

00:46:35.390 --> 00:46:36.760 align:middle line:90%
So it is second order.

00:46:36.760 --> 00:46:39.610 align:middle line:90%
Great, I expect that.

00:46:39.610 --> 00:46:41.825 align:middle line:84%
These have two left
half plane zeros.

00:46:41.825 --> 00:46:43.450 align:middle line:84%
I can tell because
all the coefficients

00:46:43.450 --> 00:46:46.630 align:middle line:84%
are positive on the
characteristic equation.

00:46:46.630 --> 00:46:49.040 align:middle line:84%
It has one right
half plane zero.

00:46:49.040 --> 00:46:52.070 align:middle line:84%
We'll come back to
talking about that.

00:46:52.070 --> 00:46:53.720 align:middle line:90%
So that's great.

00:46:53.720 --> 00:46:58.750 align:middle line:90%
I get a behavior I'm expecting.

00:46:58.750 --> 00:47:02.800 align:middle line:84%
Notice that the pole
locations move around

00:47:02.800 --> 00:47:04.100 align:middle line:90%
depending upon duty ratio.

00:47:04.100 --> 00:47:10.226 align:middle line:84%
So if I'm sitting here and I'm
coming from 5 to 10 volts DC,

00:47:10.226 --> 00:47:12.100 align:middle line:90%
d-prime would be 0.5.

00:47:12.100 --> 00:47:14.410 align:middle line:84%
And I would get one
set of pole locations.

00:47:14.410 --> 00:47:18.150 align:middle line:84%
If I was coming
from 5 to 20 volts,

00:47:18.150 --> 00:47:19.830 align:middle line:84%
I'd have a different
value of d-prime.

00:47:19.830 --> 00:47:21.970 align:middle line:84%
And I'd get a different
set of pole locations.

00:47:21.970 --> 00:47:27.130 align:middle line:84%
So the poles do move around
at different operating points.

00:47:27.130 --> 00:47:29.100 align:middle line:90%
But that's life.

00:47:29.100 --> 00:47:30.630 align:middle line:90%
I can deal with that.

00:47:30.630 --> 00:47:31.990 align:middle line:90%
How accurate is this?

00:47:31.990 --> 00:47:33.070 align:middle line:90%
Well, I plugged in--

00:47:33.070 --> 00:47:34.960 align:middle line:84%
I won't bother writing
it on the board.

00:47:34.960 --> 00:47:38.940 align:middle line:84%
I plugged in values
for an example.

00:47:38.940 --> 00:47:43.860 align:middle line:84%
And it's precisely the
example I showed you.

00:47:43.860 --> 00:47:46.085 align:middle line:84%
It's precisely the
example I showed you--

00:47:46.085 --> 00:47:51.840 align:middle line:90%


00:47:51.840 --> 00:47:55.590 align:middle line:84%
precisely the example I showed
you last class, in fact,

00:47:55.590 --> 00:47:56.826 align:middle line:90%
this transient.

00:47:56.826 --> 00:48:01.980 align:middle line:90%


00:48:01.980 --> 00:48:07.420 align:middle line:84%
This is we get a step, we step--
in this case, we step the load.

00:48:07.420 --> 00:48:10.080 align:middle line:84%
So I calculate
everything for the new,

00:48:10.080 --> 00:48:14.310 align:middle line:84%
the final value of what the
inductor current would be.

00:48:14.310 --> 00:48:16.257 align:middle line:84%
And I just plug
into that equation.

00:48:16.257 --> 00:48:17.840 align:middle line:84%
And what do you get
for that equation?

00:48:17.840 --> 00:48:23.450 align:middle line:84%
You get a 0 at 35 kiloradians
per second and poles at minus

00:48:23.450 --> 00:48:27.720 align:middle line:84%
4,000 plus or minus J 16,
279 radians per second.

00:48:27.720 --> 00:48:30.140 align:middle line:84%
That gives an oscillation
period that ought

00:48:30.140 --> 00:48:32.840 align:middle line:90%
to be about 0.4 milliseconds.

00:48:32.840 --> 00:48:37.100 align:middle line:84%
Well, if you look at
this, that's pretty good.

00:48:37.100 --> 00:48:40.840 align:middle line:84%
That's about what
we got, 1.6 to 2.

00:48:40.840 --> 00:48:43.340 align:middle line:84%
So even though this is
a pretty large step--

00:48:43.340 --> 00:48:46.570 align:middle line:90%
it's a factor of 2 in load--

00:48:46.570 --> 00:48:49.150 align:middle line:84%
I can predict the
transient response,

00:48:49.150 --> 00:48:51.880 align:middle line:84%
the average transient response,
with this nice little linearized

00:48:51.880 --> 00:48:52.380 align:middle line:90%
model.

00:48:52.380 --> 00:48:55.990 align:middle line:84%
That means, if I put this
thing in a feedback controller,

00:48:55.990 --> 00:48:59.170 align:middle line:84%
I ought to be able to
build a compensator that

00:48:59.170 --> 00:49:01.000 align:middle line:84%
will control the
closed loop dynamics

00:49:01.000 --> 00:49:04.220 align:middle line:90%
and give me the response I want.

00:49:04.220 --> 00:49:09.470 align:middle line:84%
So that is state space
averaging in its application,

00:49:09.470 --> 00:49:10.910 align:middle line:90%
and then linearization.

00:49:10.910 --> 00:49:12.830 align:middle line:84%
So I'm going to
average my circuit.

00:49:12.830 --> 00:49:15.330 align:middle line:84%
And I get a nonlinear
average model.

00:49:15.330 --> 00:49:17.690 align:middle line:84%
Then I'm going to linearize
the differential equations.

00:49:17.690 --> 00:49:20.770 align:middle line:84%
And that gives me a nice linear
constant coefficient model

00:49:20.770 --> 00:49:22.520 align:middle line:84%
that I can model with
a transfer function,

00:49:22.520 --> 00:49:24.930 align:middle line:84%
at least for a given
operating point.

00:49:24.930 --> 00:49:26.500 align:middle line:90%
Any questions before we wrap up?

00:49:26.500 --> 00:49:27.000 align:middle line:90%
Yeah?

00:49:27.000 --> 00:49:28.920 align:middle line:84%
STUDENT: When you
said [INAUDIBLE],

00:49:28.920 --> 00:49:31.470 align:middle line:84%
were you showing us
some simulation or--

00:49:31.470 --> 00:49:34.200 align:middle line:84%
DAVID PERREAULT:
Oh, what's this?

00:49:34.200 --> 00:49:36.250 align:middle line:90%
Where did I get that number?

00:49:36.250 --> 00:49:37.420 align:middle line:90%
STUDENT: Yeah.

00:49:37.420 --> 00:49:40.060 align:middle line:84%
DAVID PERREAULT:
What I did was--

00:49:40.060 --> 00:49:41.540 align:middle line:90%
well, it's not on the graph.

00:49:41.540 --> 00:49:44.770 align:middle line:84%
What I did was I
plugged into this.

00:49:44.770 --> 00:49:52.050 align:middle line:84%
And I got the values of S.
And the imaginary component

00:49:52.050 --> 00:49:57.520 align:middle line:84%
of the pole locations is the
damped natural frequency.

00:49:57.520 --> 00:50:00.240 align:middle line:84%
And that should correspond
to the oscillation

00:50:00.240 --> 00:50:04.410 align:middle line:90%
period of a transient response.

00:50:04.410 --> 00:50:07.920 align:middle line:84%
So if I took an RLC circuit
and I put a step on it,

00:50:07.920 --> 00:50:11.927 align:middle line:84%
I would see a transient with
the pole locations indicated.

00:50:11.927 --> 00:50:14.010 align:middle line:84%
And all I did was said,
what's the pole locations?

00:50:14.010 --> 00:50:16.470 align:middle line:84%
And how does that
match that transient?

00:50:16.470 --> 00:50:17.192 align:middle line:90%
Yeah?

00:50:17.192 --> 00:50:18.900 align:middle line:84%
STUDENT: When did you
choose to linearize

00:50:18.900 --> 00:50:21.570 align:middle line:84%
throughout the starting or
ending operating points?

00:50:21.570 --> 00:50:23.627 align:middle line:84%
DAVID PERREAULT:
Well, OK, so I've

00:50:23.627 --> 00:50:25.710 align:middle line:84%
got to linearize around
the ending operating point

00:50:25.710 --> 00:50:28.530 align:middle line:84%
because I'm asking how does
it vary about where I'm going.

00:50:28.530 --> 00:50:32.100 align:middle line:84%
And it's going to settle
down to that place.

00:50:32.100 --> 00:50:34.922 align:middle line:84%
Asking what the dynamics are
about where I'm leaving from

00:50:34.922 --> 00:50:36.630 align:middle line:84%
doesn't tell me very
much because I'm not

00:50:36.630 --> 00:50:37.180 align:middle line:90%
going to be there.

00:50:37.180 --> 00:50:38.263 align:middle line:90%
I'm going away from there.

00:50:38.263 --> 00:50:42.220 align:middle line:90%


00:50:42.220 --> 00:50:44.420 align:middle line:90%
Any last questions?

00:50:44.420 --> 00:50:47.150 align:middle line:84%
So we'll take up control
of power converters

00:50:47.150 --> 00:50:49.600 align:middle line:90%
again next class.

00:50:49.600 --> 00:50:52.000 align:middle line:90%