ECE 421Steady-State Error Example |
Introduction
The single-loop, unity-feedback block diagram at the top of this web page will be used throughout this example to represent the problem under consideration. With unity feedback, the reference input R(s) can be interpreted as the desired value of the output, and the output of the summing junction, E(s), is the error between the desired and actual output values. The behavior of this error signal as time t goes to infinity (the steady-state error) is the topic of this example.
The Final Value Theorem of Laplace Transforms will be used to determine the steady-state error. The one very important requirement for using the Final Value Theorem correctly in this type of application is that the closed-loop system must be BIBO stable, that is, all poles of the closed-loop transfer function C(s)/R(s) must be strictly in the left-half of the s-plane.
Steady-state error in terms of System Type and Input Type
Input Signals -- The steady-state error will be determined for a particular class of reference input signals, namely those signals that can be expressed in the time domain as simple powers of t, such as step, ramp, parabola, etc. The Laplace Transforms for signals in this class all have the form
System Type -- With this type of input signal, the steady-state error e_{ss} will depend on the open-loop transfer function G_{p}(s) in a very simple way. We will define the System Type to be the number of poles of G_{p}(s) at the origin of the s-plane (s=0), and denote the System Type by N. The relation between the System Type N and the Type of the reference input signal q determines the form of the steady-state error. We will see that the steady-state error can only have 3 possible forms:
- zero
- a non-zero, finite number
- infinity
As seen in the equations below, the form of the steady-state error only depends on the value of N+1-q. If that value is positive, the numerator of e_{ss} evaluates to 0 when the limit is taken, and thus the steady-state error is zero. If N+1-q is negative, the numerator of e_{ss} evaluates to 1/0 in the limit, and the steady-state error is infinity. If N+1-q is 0, the numerator of e_{ss} is a non-zero, finite constant, and so is the steady-state error. In this case, the steady-state error is inversely related to the open-loop transfer function G_{p}(s) evaluated at s=0. Under the assumption of closed-loop stability, the steady-state error for a particular system with a particular reference input can be quickly computed by determining N+1-q and evaluating G_{p}(s) at s=0 if necessary.
Transfer function in Bode form
A simplification for the expression for the steady-state error occurs when G_{p}(s) is in "Bode" or "time-constant" form. The conversion from the normal "pole-zero" format for the transfer function also leads to the definition of the error constants that are most often used when discussing steady-state errors. The conversion to the time-constant form is accomplished by factoring out the constant term in each of the factors in the numerator and denominator of G_{p}(s). The resulting collection of constant terms is used to modify the gain K to a new gain K_{x}. This conversion is illustrated below for a particular transfer function; the same procedure would be used for transfer functions with more terms.
The main point to note in this conversion from "pole-zero" to "Bode" (or "time-constant") form is that now the limit as s goes to 0 evaluates to 1 for each of the terms involving poles and zeros (other than the poles at the origin). Thus, those terms do not affect the steady-state error, and the only terms in G_{p}(s) that affect e_{ss} are K_{x} and s^{N}. The gain K_{x} in this form will be called the Bode gain. It is related to the error constant that will be explained more fully in following paragraphs; the subscript x will be replaced by different letters that depend on the type of reference input signal. The equations below show the steady-state error in terms of this converted form for G_{p}(s). It is easily seen that the reference input amplitude A is just a scale factor in computing the steady-state error. The form of the error is still determined completely by N+1-q, and when N+1-q = 0, the steady-state error is just inversely proportional to K_{x} (or 1+K_{x} if N=0).
Static error constants
It is customary to define a set of (static) steady-state error constants in terms of the reference input signal. Each of the reference input signals used in the previous equations has an error constant associated with it that can be used to determine the steady-state error. For a particular type of input signal, the value of the error constant depends on the System Type N. For historical reasons, these error constants are referred to as position, velocity, acceleration, etc. error constants. The rationale for these names will be explained in the following paragraphs. The general form for the error constants is
Notation Convention -- The notations used for the steady-state error constants are based on the assumption that the output signal C(s) represents position. This is a reasonable assumption in many, but certainly not all, control systems; however, the notations shown in the table below are fairly standard. Under the assumption that the output signal and the reference input signal represent positions, the notations for the error constants (position, velocity, etc.) refer to the signal that is a constant signal in steady-state. Thus, when the reference input signal is a constant (step input), the output signal (position) is a constant in steady-state. The error constant associated with this condition is then referred to as the position error constant, and is given the symbol K_{p}. When the reference input is a ramp, then the output position signal is a ramp signal (constant slope) in steady-state. Therefore, the signal that is constant in this situation is the velocity, which is the derivative of the output position. The error constant is referred to as the velocity error constant and is given the symbol K_{v}. When the reference input is a parabola, then the output position signal is also a parabola (constant curvature) in steady-state. Therefore, the signal that is constant in this situation is the acceleration, which is the second derivative of the output position. The error constant is referred to as the acceleration error constant and is given the symbol K_{a}. This same concept can be applied to inputs of any order; however, error constants beyond the acceleration error constant are generally not needed.
Reference Input Signal |
Error Constant Notation |
N=0 | N=1 | N=2 | N=3 |
---|---|---|---|---|---|
Step | K_{p} (position) | K_{x} |
Infinity |
Infinity |
Infinity |
Ramp | K_{v} (velocity) | 0 |
K_{x} |
Infinity |
Infinity |
Parabola | K_{a} (acceleration) | 0 |
0 |
K_{x} |
Infinity |
Cubic | K_{j} ("jerk") | 0 |
0 |
0 |
K_{x} |
Step Input -- The error constant is called the position error constant K_{p} when the input under consideration is a step. With this input q = 1, so K_{p} is just the open-loop system G_{p}(s) evaluated at s = 0. Note that this definition of K_{p} is independent of the System Type N, and the open-loop poles at the origin are not removed from G_{p}(s) prior to taking the limit. Thus, K_{p} is defined for any system and can be used to calculate the steady-state error when the reference input is a step signal. The table above shows the value of K_{p} for different System Types. Comparing those values with the equations for the steady-state error given above, you see that for the step input e_{ss} = A/(1+K_{p}). For a Type 0 system, the error is a non-zero, finite number, and K_{p} is equal to the Bode gain K_{x}. For systems with one or more open-loop poles at the origin (N > 0), K_{p} is infinitely large, and the resulting steady-state error is zero.
Ramp Input -- The error constant is called the velocity error constant K_{v} when the input under consideration is a ramp. With this input q = 2, so K_{v} is the open-loop system G_{p}(s) multiplied by s and then evaluated at s = 0. The multiplication by s corresponds to taking the first derivative of the output signal. The table above shows the value of K_{v} for different System Types. Comparing those values with the equations for the steady-state error given in the equations above, you see that for the ramp input e_{ss} = A/K_{v}. For a Type 0 system, the error is infintely large, since K_{v} is zero. For a Type 1 system, K_{v} is a non-zero, finite number equal to the Bode gain K_{x}. For systems with two or more open-loop poles at the origin (N > 1), K_{v} is infinitely large, and the resulting steady-state error is zero.
Parabolic Input -- The error constant is called the acceleration error constant K_{a} when the input under consideration is a parabola. With this input q = 3, so K_{a} is the open-loop system G_{p}(s) multiplied by s^{2} and then evaluated at s = 0. The multiplication by s^{2} corresponds to taking the second derivative of the output signal, thus producing the acceleration from the position signal. The table above shows the value of K_{a} for different System Types. Comparing those values with the equations for the steady-state error given in the equations above, you see that for the parabolic input e_{ss} = A/K_{a}. For Type 0 and Type 1 systems, the steady-state error is infinitely large, since K_{a} is zero. For a Type 2 system, K_{a} is a non-zero, finite number equal to the Bode gain K_{x}. For systems with three or more open-loop poles at the origin (N > 2), K_{a} is infinitely large, and the resulting steady-state error is zero. Systems of Type 3 and higher are not usually encountered in practice, so K_{a} is generally the highest-order error constant that is defined.
Cubic Input -- The error constant is called the jerk error constant K_{j} when the input under consideration is a cubic polynomial. With this input q = 4, so K_{j} is the open-loop system G_{p}(s) multiplied by s^{3} and then evaluated at s = 0. The multiplication by s^{3} corresponds to taking the third derivative of the output signal, thus producing the derivative of acceleration ("jerk") from the position signal. The table above shows the value of K_{j} for different System Types. Comparing those values with the equations for the steady-state error given in the equations above, you see that for the cubic input e_{ss} = A/K_{j}. For Type 0, Type 1, and Type 2 systems, the steady-state error is infintely large, since K_{j} is zero. For a Type 3 system, K_{j} is a non-zero, finite number equal to the Bode gain K_{x}. For systems with four or more open-loop poles at the origin (N > 3), K_{j} is infinitely large, and the resulting steady-state error is zero. As mentioned above, systems of Type 3 and higher are not usually encountered in practice, so K_{j} is generally not defined.
Tables of Errors -- These tables of steady-state errors summarize the expressions for the steady-state errors in terms of the Bode gain K_{x} and the error constants K_{p}, K_{v}, K_{a}, etc.
Example
The forms of the steady-state errors described above will be illustrated for Types 0, 1, and 2 systems in this example. Unit step and ramp signals will be used for the reference input since they are the ones most commonly specified in practice. The transfer functions for the Type 0 and Type 1 systems are identical except for the added pole at the origin in the Type 1 system. The transfer function for the Type 2 system (in addition to another added pole at the origin) is slightly modified by the introduction of a zero in the open-loop transfer function. This is necessary in order for the closed-loop system to be stable, a requirement when investigating the steady-state error. The gain in the open-loop transfer function will take on 5 different values to illustrate the effects of gain on steady-state error. The transfer functions in Bode form are:
Type 0 System -- The steady-state error for a Type 0 system is infinitely large for any type of reference input signal in the class of signals described above except for the step input. When the reference input is a step, the Type 0 system produces a constant output in steady-state, with an error that is inversely related to the position error constant. The reason for the non-zero steady-state error can be understood from the following argument. The step input is a constant signal for all time after its initial discontinuity. Therefore, in steady-state the output and error signals will also be constants. The effective gain for the open-loop system in this steady-state situation is K_{x}, the "DC" value of the open-loop transfer function. Since c_{ss} = K_{x}e_{ss}, if the value of the error signal is zero, then the output signal will also be zero. However, if the output is zero, then the error signal could not be zero (assuming that the reference input signal has a non-zero amplitude) since e_{ss} = r_{ss} - c_{ss}. Thus, an equilibrium is reached between a non-zero error signal and the output signal that will produce that same error signal for a constant input signal, with the equilibrium value being determined by K_{x}.
When the reference input signal is a ramp function, the form of steady-state error can be determined by applying the same logic described above to the derivative of the input signal. Remembering that the input and output signals represent position, then the derivative of the ramp position input is a constant velocity signal. As shown above, the Type 0 signal produces a non-zero steady-state error for a constant input; therefore, the system will have a non-zero velocity error in this case. The system position output will be a ramp function, but it will have a different slope than the input signal. This difference in slopes is the velocity error. Since there is a velocity error, the position error will grow with time, and the steady-state position error will be infinitely large.
The plots for the step and ramp responses for the Type 0 system illustrate these error characteristics. The steady-state errors are the vertical distances between the reference input and the outputs as t goes to infinity. Notice that the steady-state error decreases with increasing gain for the step input, but that the transient response has started showing some overshoot. Therefore, the increased gain has reduced the relative stability of the system (which is bad) at the same time it reduced the steady-state error (which is good). The dashed line in the ramp response plot is the reference input signal. As the gain is increased, the slopes of the ramp responses get closer to that of the input signal, but there will always be an error in slopes for finite gain, so the steady-state error for the Type 0 system will always be infinitely large with a ramp input.
Type 1 System -- The steady-state error for a Type 1 system takes on all three possible forms when the various types of reference input signals are considered. When the input signal is a step, the error is zero in steady-state This is due to the 1/s integrator term in G_{p}(s). This integrator can be visualized as appearing between the output of the summing junction and the input to a Type 0 transfer function with a DC gain of K_{x}. Any non-zero value for the error signal will cause the output of the integrator to change, which in turn causes the output signal to change in value also. This causes a corresponding change in the error signal. As long as the error signal is non-zero, the output will keep changing value. When the error becomes zero, the integrator output will remain constant at a non-zero value, and the output will be K_{x} times that value. But that output value c_{ss} was precisely the value that made e_{ss} equal to zero. Therefore, no further change will occur, and an equilibrium condition will have been reached, for which the steady-state error is zero.
When the input signal is a ramp function, the desired output position is linearly changing with time, which corresponds to a constant velocity. The Type 1 system will respond to a constant velocity command just as it does to a step input, namely, with zero steady-state error. Thus, the steady-state output will be a ramp function with the same slope as the input signal. There will be zero steady-state velocity error. However, there will be a non-zero position error due to the transient response of G_{p}(s).
For parabolic, cubic, and higher-order input signals, the steady-state error is infinitely large. For example, with a parabolic input, the desired acceleration is constant, and this can be achieved with zero steady-state error by the Type 1 system. However, there will be a velocity error due to the transient response of the system, and this non-zero velocity error produces an infinitely large error in position as t goes to infinity.
The plots for the step and ramp responses for the Type 1 system illustrate these characteristics of steady-state error. For the step input, the steady-state errors are zero, regardless of the value of K. Although the steady-state error is not affected by the value of K, it is apparent that the transient response gets worse (in terms of overshoot and settling time) as the gain is increased. Since G_{p1}(s) has 3 more poles than zeros, the closed-loop system will become unstable at some value of K; at that point the concept of steady-state error no longer has any meaning. In the ramp responses, it is clear that all the output signals have the same slope as the input signal, so the position error will be non-zero but bounded. As the gain increases, the value of the steady-state error decreases. By considering both the step and ramp responses, one can see that as the gain is made larger and larger, the system becomes more and more accurate in following a ramp input, until the gain is made so large that the system becomes unstable and accuracy becomes non-existent.
Type 2 System -- The logic used to explain the operation of the Type 1 system can be applied to the Type 2 system, taking into account the second integrator in G_{p}(s). The two integrators force both the error signal and the integral of the error signal to be zero in order to have a steady-state condition. This produces zero steady-state error for both step and ramp inputs. With a parabolic input signal, a non-zero, finite steady-state error in position is achieved since both acceleration and velocity errors are forced to zero. For higher-order input signals, the steady-state position error will be infinitely large.
The plots for the step and ramp responses for the Type 2 system show the zero steady-state errors achieved. Also noticeable in the step response plots is the increases in overshoot and settling times. The relative stability of the Type 2 system is much less than with the Type 0 and Type 1 systems. As mentioned previously, without the introduction of a zero into the transfer function, closed-loop stability would have been lost for any gain value.
MATLAB Code -- The MATLAB code that generated the plots for the example.
Click the icon to return to the Dr. Beale's home page
Lastest revision on
Friday, May 26, 2006 9:28 PM