# ECE 421

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 ess will depend on the open-loop transfer function Gp(s) in a very simple way. We will define the System Type to be the number of poles of Gp(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:

1. zero
2. a non-zero, finite number
3. 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 ess 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 ess evaluates to 1/0 in the limit, and the steady-state error is infinity. If N+1-q is 0, the numerator of ess 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 Gp(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 Gp(s) at s=0 if necessary.

Transfer function in Bode form

A simplification for the expression for the steady-state error occurs when Gp(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 Gp(s). The resulting collection of constant terms is used to modify the gain K to a new gain Kx. 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 Gp(s) that affect ess are Kx and sN. The gain Kx 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 Gp(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 Kx (or 1+Kx 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 Kp. 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 Kv. 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 Ka. This same concept can be applied to inputs of any order; however, error constants beyond the acceleration error constant are generally not needed.

 Reference InputSignal Error ConstantNotation N=0 N=1 N=2 N=3 Step Kp (position) Kx Infinity Infinity Infinity Ramp Kv (velocity) 0 Kx Infinity Infinity Parabola Ka (acceleration) 0 0 Kx Infinity Cubic Kj ("jerk") 0 0 0 Kx

Step Input -- The error constant is called the position error constant Kp when the input under consideration is a step. With this input q = 1, so Kp is just the open-loop system Gp(s) evaluated at s = 0. Note that this definition of Kp is independent of the System Type N, and the open-loop poles at the origin are not removed from Gp(s) prior to taking the limit. Thus, Kp 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 Kp for different System Types. Comparing those values with the equations for the steady-state error given above, you see that for the step input ess = A/(1+Kp). For a Type 0 system, the error is a non-zero, finite number, and Kp is equal to the Bode gain Kx. For systems with one or more open-loop poles at the origin (N > 0), Kp is infinitely large, and the resulting steady-state error is zero.

Ramp Input -- The error constant is called the velocity error constant Kv when the input under consideration is a ramp. With this input q = 2, so Kv is the open-loop system Gp(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 Kv 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 ess = A/Kv. For a Type 0 system, the error is infintely large, since Kv is zero. For a Type 1 system, Kv is a non-zero, finite number equal to the Bode gain Kx. For systems with two or more open-loop poles at the origin (N > 1), Kv is infinitely large, and the resulting steady-state error is zero.

Parabolic Input -- The error constant is called the acceleration error constant Ka when the input under consideration is a parabola. With this input q = 3, so Ka is the open-loop system Gp(s) multiplied by s2 and then evaluated at s = 0. The multiplication by s2 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 Ka 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 ess = A/Ka. For Type 0 and Type 1 systems, the steady-state error is infinitely large, since Ka is zero. For a Type 2 system, Ka is a non-zero, finite number equal to the Bode gain Kx. For systems with three or more open-loop poles at the origin (N > 2), Ka is infinitely large, and the resulting steady-state error is zero. Systems of Type 3 and higher are not usually encountered in practice, so Ka is generally the highest-order error constant that is defined.

Cubic Input -- The error constant is called the jerk error constant Kj when the input under consideration is a cubic polynomial. With this input q = 4, so Kj is the open-loop system Gp(s) multiplied by s3 and then evaluated at s = 0. The multiplication by s3 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 Kj 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 ess = A/Kj. For Type 0, Type 1, and Type 2 systems, the steady-state error is infintely large, since Kj is zero. For a Type 3 system, Kj is a non-zero, finite number equal to the Bode gain Kx. For systems with four or more open-loop poles at the origin (N > 3), Kj 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 Kj 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 Kx and the error constants Kp, Kv, Ka, 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 Kx, the "DC" value of the open-loop transfer function. Since css = Kxess, 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 ess = rss - css. 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 Kx.

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 Gp(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 Kx. 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 Kx times that value. But that output value css was precisely the value that made ess 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 Gp(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 Gp1(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 Gp(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.