Professional Documents
Culture Documents
and the output of a system in the limit as time goes to infinity (i.e. when the
response has reached steady state). The steady-state error will depend on
the type of input (step, ramp, etc.) as well as the system type (0, I, or II).
Note: Steady-state error analysis is only useful for stable systems.
You should always check the system for stability before performing
a steady-state error analysis. Many of the techniques that we
present will give an answer even if the error does not reach a finite
steady-state value.
Calculating steady-state errors
Before talking about the relationships between steady-state error and system
type, we will show how to calculate error regardless of system type or input.
Then, we will start deriving formulas we can apply when the system has a
specific structure and the input is one of our standard functions. Steady-state
error can be calculated from the open- or closed-loop transfer function for
unity feedback systems. For example, let's say that we have the system
given below.
(1)
(2)
Now, let's plug in the Laplace transforms for some standard inputs and
determine equations to calculate steady-state error from the open-loop
transfer function in each case.
Step Input (R(s) = 1 / s):
(3)
Ramp Input (R(s) = 1 / s^2):
(4)
Parabolic Input (R(s) = 1 / s^3):
(5)
When we design a controller, we usually also want to compensate for
disturbances to a system. Let's say that we have a system with a disturbance
that enters in the manner shown below.
We can find the steady-state error due to a step disturbance input again
employing the Final Value Theorem (treat R(s) = 0).
(6)
When we have a non-unity feedback system we need to be careful since the
signal entering G(s) is no longer the actual error E(s). Error is the difference
between the commanded reference and the actual output, E(s) = R(s) - Y(s).
When there is a transfer function H(s) in the feedback path, the signal being
substracted from R(s) is no longer the true output Y(s), it has been distorted
by H(s). This situation is depicted below.
Manipulating the blocks, we can transform the system into an equivalent
unity-feedback structure as shown below.
(7)
Since this system is type 1, there will be no steady-state error for a step
input and there will be infinite error for a parabolic input. The only input that
will yield a finite steady-state error in this system is a ramp input. We wish to
choose K such that the closed-loop system has a steady-state error of 0.1 in
response to a ramp reference. Let's first examine the ramp input response
for a gain of K = 1.
s = tf('s');
G = ((s+3)*(s+5))/(s*(s+7)*(s+8));
T = feedback(G,1);
t = 0:0.1:25;
u = t;
[y,t,x] = lsim(T,u,t);
plot(t,y,'y',t,u,'m')
xlabel('Time (sec)')
ylabel('Amplitude')
title('Input-purple, Output-yellow')
The steady-state error for this system is quite large, since we can see that at
time 20 seconds the output is approximately 16 as compared to an input of
20 (steady-state error is approximately equal to 4). Let's examine this in
further detail.
We know from our problem statement that the steady-state error must be
0.1. Therefore, we can solve the problem following these steps:
(8)
(9)
(10)
Let's see the ramp input response for K = 37.33 by entering the following
code in the MATLAB command window.
K = 37.33 ;
s = tf('s');
G = (K*(s+3)*(s+5))/(s*(s+7)*(s+8));
sysCL = feedback(G,1);
t = 0:0.1:50;
u = t;
[y,t,x] = lsim(sysCL,u,t);
plot(t,y,'y',t,u,'m')
xlabel('Time (sec)')
ylabel('Amplitude')
title('Input-purple, Output-yellow')
axis([39.9,40.1,39.9,40.1])
Examination of the above shows that the steady-state error is indeed 0.1 as
desired.
Now let's modify the problem a little bit and say that our system has the
form shown below.
As you can see, there is initially some oscillation (you may need to zoom in).
However, at steady state we do have zero steady-state error as desired. Let's
zoom in around 240 seconds (trust me, it doesn't reach steady state until
then).
axis([239.9,240.1,239.9,240.1])
As you can see, the steady-state error is zero. Feel free to zoom in on
different areas of the graph to observe how the response approaches steady
state.