An
Introduction To System Identification
Whenever you design a control system you will need to be able to predict
the behavior of the system you design. There are a number of ways
of predicting behavior, including using a simulation (in Simulink, for
example, but any other simulator as well), using root locus or Bode' plot
calculations, etc. However you do the prediction, you will need
to have a model of the system. In many cases, the only way you
can get a model is to take data on the system and try to fit a model to
your data.
When you take data on a system, there are three choices.
-
You can input an impulse,
a step or a ramp and analyze the time response to get the transfer function.
-
You can input a sequence
of sinusoids and use gain and phase shift information to determine the
transfer function from the frequency response.
-
You can input random noise
(or many other signals) and use FFT techniques to get a frequency response,
and then determine a transfer function from the frequency response.
Let's start by looking at a simulated system. If you click
here you will get access to a simulator.
It simulates
a system and shows the unit step response of the system. Your goal
is to determine the transfer function of the system. Your first task
is to do the following.
-
Start the simulator.
-
Input a step. Repeat
that experiment, and try changing the input step size.
-
Print a copy of the graph
that results. You will need to pick off some numbers from that graph.
As you get started, here are some ideas for using the lessons, and this
introductory lesson in particular.
-
Print this web page.
If you print it you will have all of the questions ready for when you run
the simulations.
-
Print the instructions
for the simulator.
-
If you take that approach,
you should be able to keep the simulator in view the entire time, and use
the printed questions and instructions to work from.
Question(s)
Q1.
With the step response graph in front of you consider this question.
Is the system first order, second order or some higher order system?
Now, let us assume - for the moment - that the system is second order.
The reason for making that assumption is simple.
-
The system exhibits oscillations
that die out. Because of that, the simplest system that exhibits
that behavior is a second order system.
-
In addition, there are
no peculiar behaviors that would indicate that this was a higher order
system.
Then, if we have a second order system, we need somehow to determine the
three
parameters of the simplest second order system.
-
z =
Damping
Ratio,
-
wn=
Undamped Natural Frequency,
-
Gdc
= The DC Gain of the System.
In order to calculate
those three parameters you need to understand what each parameter influences
in the step response. In the link above, you can find the following.
-
z,
the damping ratio,
will
determine how much the system oscillates as the response decays toward
steady state.
-
wn,the
undamped natural frequency,
will
determine how fast the system oscillates during any transient response.
-
Gdc,
the DC gain of the system,
will
determine the size of steady state response when the input settles out
to a constant value.
However, you need to know
precisely how each of those parameters influences those properties of the
response.
We will work first to determine the damping ratio. We know:
-
z,
the damping ratio,
will
determine how much the system oscillates as the response decays toward
steady state.
In particular, one measure
of how the response decays is to look at the overshoot
in the step response. As a system has more overshoot, that system
has less decay per cycle (and that applies to the first cycle where the
overshoot occurs) and is indicative of a smaller damping ratio. The
link above will take you to an extended discussion of overshoot and damping
ratio in second order systems, but the primary result is encapsulated in
a plot of overshoot versus damping ratio. That plot is shown below.

Now, let's go back to the problem at hand. You still need to get
the system to behave. Can you think of a way to control this system?
Try to answer this question before going on, even if your ideas do not
correspond with the options below.
Actually, we were trying
to get you to the concept of ON-OFF Control. It's a common way of
controlling things like temperature in your house. The essence of
ON-OFF Control is to apply maximum control effort when the system is below
where you want it to be, and minimum control effort when the system is
above where you want it to be. In the home thermostat that means
your thermostat turns the heat ON when the house is tool cold and it turns
the heat OFF when the house is too warm.
In the simulator, we assume that the motor is driven by an amplifier that
saturates in both directions. So, when the motor is going too slow,
the simulator is max positive output - to increase the motor speed.
When the motor is going too fast, the simulator is max negative output
to make the motor start to slow down. Try that in the simulator.
Do the following.
-
Click for Closed
Loop to show the control loop.
-
The control loop has a
comparator that checks whether the motor speed is above or below the desired
speed and applies the correct voltage to the simulated motor.
-
You can set the desired
speed using the input text box.
-
The control effort is
shown in a separate plot. Note that the scale for the control effort
is shown on the right hand side of the plot, and that scale is not the
same as the scale for the output.
A Side
Note
In the ON-OFF control system the system is represented pictorially with
a block diagram that shows how signals flow within the system and how they
are processed.

For an ON-OFF controller,
the controller reacts to the error in the system. The error is the
difference between what you want and what you have. The simplest
ON-OFF controller is the home thermostat, which looks at the temperature
you want, and the temperature it senses and turns the heating system ON
or OFF, depending upon the error in the system. When the error is
positive (i.e. the desired response is larger than the measured response)
the controller turns the control effort to full ON. Otherwise, when
the error is negative, the control effort is OFF. Some ON-OFF systems
don't turn the control OFF when the error is negative. If the system
is a motor, and you are trying to get to some predetermined speed, if you
go past the desired speed, rather than turning the control effort to OFF,
the control effort becomes that maximum possible negative control effort
- which will tend to slow the motor down.
Now, it's time to examine what happens when you implement ON-OFF control.
Our simulator will let us examine what happens.
-
Be sure the simulator
is in Closed Loop mode.
Click on the Closed Loop button to ensure that is the case. In Closed
Loop mode, the closed loop - including the comparator - shows. If
the controller and the comparator are not showing in a closed loop, then
the simulator is not in the Closed Loop mode.
-
Select the control you
want.
-
ON-OFF
for ON-OFF Control
-
Input the set
point/desired response/system input.
-
Click the Start
button to run the simulation.
Once you have the simulator
set, you should run the simulator for several different set points.
Try these values, and then we will have some questions.
-
Set Point = 0.5
-
Set Point = 1.0
-
Set Point = 1.5
-
Set Point = 2.0
-
Set Point = 2.5
Q4. When
you simulated the system, was the response accurate for a set point of
0.5?
Q5. When
you simulated the system, was the response accurate for a set point of
1.5?
Q6. When
you simulated the system, was the response accurate for a set point of
2.5?
What you should have noticed is that there are certain set points that
require such a large control effort that you can't reach the desired output
level. When the control effort is limited - as it always is in reality
- there is a limit to how large you can make the output level.
You also should have seen that ON-OFF control gives oscillations in the
output. Moreover, the oscillations do not die out. They persist
forever.
What are some of the virtues of ON-OFF control?
-
It's simple! And
remember the KISS algorithm.
-
In systems like the one
in our example it is capable of providing good results. Oh, and it
also seems to work well in home temperature control.
-
It can give quick response.
After all, when the system output is below the setpoint, maximum control
effort is exerted.
What is the downside to ON-OFF control?
What resources will let me learn more about ON-OFF control?
That's
ON-OFF control in a nutshell
Proportional
Control
There are other kinds of control algorithms that you can use. The
next kind of control is Proportional Control. It has many similarities
to ON-OFF control.
-
Both ON-OFF and Proportional
Control:
-
Have a feedback loop in
which the actual response is fed back and compared to the input, i.e. the
desired response.
-
Compare the input to the
actual response and form an error signal.
-
Determine a value of the
control effort based on the error.
-
The difference between
ON-OFF control and proportional control is in how the control effort is
computed:
-
In ON-OFF
Control the control
effort is always at an extreme value.
The control effort is either at the maximum of minimum possible value.
-
In Proportional
Control the control
effort is proportional to the error.
Here is a block diagram for a proportional control system. It's very
much like the block diagram for the ON-OFF control system. However,
here the control effort is shown as:
Control Effort = CE
= Kp x Error
Here's the block diagram.
In proportional control, you can get very different behavior. Let's
explore some of that behavior using the simulator. Here are the instructions
for putting the simulator into the correct mode to examine proportional
control.
-
Be sure the simulator
is in Closed Loop mode.
Click on the Closed Loop button to ensure that is the case. In Closed
Loop mode, the closed loop - including the comparator - shows. If
the controller and the comparator are not showing in a closed loop, then
the simulator is not in the Closed Loop mode.
-
Select the control you
want.
-
Proportional
to use Proportional Control
-
Input the set
point/desired response/system input.
-
Input the proportional
gain (Kp) that you wish
to use for the simulation.
-
Click the Start
button to run the simulation.
Now you are ready to look at some simulations with proportional control.
Once you have the simulator set, you should run the simulator for several
different set points and values of proportional gain (Kp).
P1
First, you will need some data, so try this set of values.
-
Set Point = 1.0, Kp
= 1.0
-
Set Point = 1.0, Kp
= 2.0
-
Set Point = 1.0, Kp
= 5.0
As you run those simulations,
note the following and record the data you get. Note the following
-
Note the Steady State
value.
-
Note how quickly the response
gets to the steady state value.
You should get a strong
sense of the following trends.
-
As the proportional gain
becomes higher the steady state response gets closer to the desired output.
-
It's time for you to learn
just why that is so. Read
this note and work the simulations you can access from there.
-
As the proportional gain
becomes higher, the system seems to be less and less stable as evidenced
by more overshoot, especially.
Continuing
On
Actually, there are numerous questions buried in this example, including
questions about what happens if you try to control another system.
Are the conclusions reached above valid for other systems? Let's
review the conclusions, and then look at another system. What we
have noted in the example system above includes the following.
-
The example system seemed
to have higher than first order dynamics.
-
The example system had
some random variation in the dynamics of the basic (open-loop) system.
It does not always respond in exactly the same way to a step or sinusoidal
input.
-
The system has some minor
oscillations when you use ON-OFF control.
-
Proportional control exhibits
oscillations when you get the gain high enough to get the system to have
an accurate closed loop step response.
Now, let's examine another system. If you click
here you will get access to another simulator
for a system that is similar to the first system. We want you to
examine how this system behaves, and we will go through the same steps
we went through for the first system.
-
First, examine the open-loop
behavior.
-
This system - like the
first system - exhibits some variation in the output level when the input
is a step.
-
This system has a response
that looks much like the first system. It might be a little bit slower
responding than the first system.
Q7. Based
on what you know already, can you predict how ON-OFF control will work?
Next, look at using ON-OFF control with this system. Do what you
did before. The instructions are repeated below.
-
Be sure the simulator
is in Closed Loop mode.
Click on the Closed Loop button to ensure that is the case. In Closed
Loop mode, the closed loop - including the comparator - shows. If
the controller and the comparator are not showing in a closed loop, then
the simulator is not in the Closed Loop mode.
-
Select the control you
want.
-
ON-OFF
for ON-OFF Control
-
Input the set
point/desired response/system input.
-
Click the Start
button to run the simulation.
Once you have the simulator
set, you should run the simulator for several different set points.
Try these values, and then we will have some questions.
-
Set Point = 0.5
-
Set Point = 1.0
-
Set Point = 1.5
-
Set Point = 2.0
-
Set Point = 2.5
When you examined ON-OFF control for the first system, you acquired some
expectations. The first system exhibited some oscillations, but they
were small.
-
Using ON-OFF control
-
This system exhibits oscillations
in the response. However, unlike the first system, the oscillations
in this system are quite large and the excursions around the setpoint
are probably unacceptable.
Next, look at using proportional control with this system.
-
Using proportional control
-
Maybe you think there
is a flaw in the simulator, but the system doesn't behave well at all.
-
It is impossible to get
a decent response (steady state) using proportional control. As you
increase the proportional gain, the system becomes unstable. (First
time you've seen that? Did they never talk about that in linear systems?
Interesting!)
An Agenda
There are some serious issues we have raised in this note, and there are
clearly some things that we need to understand if we are going to be able
to design control systems that behave well. Here is a partial list
of the issues that we need to address.
-
What exactly is the difference
between the first system and the second system? Stating the problem
as succinctly as possible, we can say that the open loop step responses
of the two systems do not look much different, but the closed loop behavior
certainly changes - and not for the better - when we move from the first
system to the second system. You need to learn why that happens,
and how to design for good behavior.
-
How can we predict behavior
when we want to control a system.?
-
We could just blindly
try all different kinds of control systems, but clearly there needs to
be a better way. You want to do things knowledgeably so that you
don't get into a blind alley with no way to get where you want to get.
And, if the problem you are trying to solve is impossible, you need to
be able to see why.
-
How would you control
the second system? It looks to be a difficult control problem since
ON-OFF and proportional control both perform very badly. We need
to understand what it is about that system that is different, and whether
there are there any modifications we might make to the control schemes
to get better performance.
These are not really simple
questions, and there is a lot to be learned if we want to be able to design
systems to meet definitive performance specifications.
Here is an approach to take. First, we examine the first system in
more detail. If we can figure out what makes that system tick, then
perhaps we will be in a position to understand what it is that makes the
second system so difficult to control. In this
link you can learn about the fundamental problems that exist in these
systems.
Readings