Chapter 6 Steady-State Analysis of Continuous-Time Systems 6.1 INTRODUCTION One of the objectives of a control systems engineer is to minimize the steady-state error of the closed-loop system response to a certain input function, especially if it is configured as a position control system. In fact, it is sometimes of interest in determining the error as a function of time, denoted by e(t), which is the typically the difference between the reference input, r(t), to the actual output, y(t). This chapter presents the analysis and design of a control system, which focuses on the steady-state response of the system, but still putting the transient response into consideration. 6. DC-GAIN The steady-state of the system, or simply the dc-gain of the system, can is determined by evaluating the transfer function of the closed-loop system at zero frequency, i.e. the value of s in the transfer function must be zero. For example, if a closed loop system is characterized by the transfer function ( ) G s = s then, the steady-state value of the system is ( ) G s Thus, K is the dc-gain of the system. Kω n + ζωns+ ωn Kω Kω = = = K. s n n + ζωns+ ωn ω s= 0 n In MATLAB, the dc-gain of the system can be obtained by using the function dcgain(sys), where sys is the closed loop model of the system. Listing 6.1 is a script that determines the dc-gain of the system 67
( ) = G s s + 3 s + 3s+ 6. (6.1) Listing 6.1 >> num=[ 3] num = 3 >> den=[1 3 6] den = 1 3 6 >> sys=tf(num,den) Transfer function: s + 3 ------------- s^ + 3 s + 6 >> dcgain(sys) ans = 0.5 Fig. 6.1 Unit-step response of the (6.1) 68
It is seen in Listing 6.1 that the steady-state value of the system is 0.5 units. The unit step-response of the system is shown in Fig. 6.1, which also shows that the dc-gain of the system is indeed 0.5. If the steady-state values of an array of LTI models are to be determined, then the steadystate values can be evaluated by using the dcgain function of the form K = dcgain([sys1 sys sysn]) wherein, the values of the dc-gains of each system are return as a vector in K. Listing 6. is an example of a script that determines the steady-state values of the systems System 1: G ( s) s + 3 =, and (6.) s + 3s+ 5 s + s = s + 4s+ 8. (6.3) 1 System : G ( ) The unit-step responses of the two systems are shown in Fig. 6.. Listing 6. >> num1=[1 3] num1 = 1 3 >> den1=[1 3 5] den1 = 1 3 5 >> sys1=tf(num1,den1) Transfer function: s + 3 ------------- s^ + 3 s + 5 >> num=[ ] num = >> den=[1 4 8] 69
den = 1 4 8 >> sys=tf(num,den) Transfer function: s + ------------- s^ + 4 s + 8 >> K=dcgain([sys1 sys]) K = 0.6 0.5 Fig. 6. Step responses of the two systems (6.) and (6.3). 6.3 DETERMINING SYSTEM ERROR For a unity-feedback control system shown in Fig. 6.3, the error function is determined by the equation 70
et ( ) = rt ( ) yt ( ). R ( s) + E( s) G( s) Y( s) Fig. 6.3 A unity-feedback system. To be able to determine the error function in MATLAB, we need first to determine the vector containing the input signal r(t), and the vector containing the actual output signal y(t). The next step is subtract y(t) from r(t) to obtain the error function. Listing 6.3 is an example of a script that determines and plots the error of the system as a function of time, from an input unit-step function. The plant is defined by the model ( ) = G s s + 3 s + 3s+ 6. Listing 6.3 >> % Generate plant model >> numg=[ 3] numg = 3 >> deng=[1 3 6] deng = 1 3 6 >> sysg=tf(numg,deng) Transfer function: s + 3 ------------- s^ + 3 s + 6 >> % Generate unity-feedback system >> syst=feedback(sysg,1) 71
Transfer function: s + ------------- s^ + 5 s + 9 >> % Determine output and time vectors >> [out,t]=step(syst); >> % Determine error function >> ref = ones(1,length(t)); >> err = ref - out'; >> plot(t,err) >> grid on The actual error plot is shown in Fig. 6.4 Fig. 6.4 Plot of error as a function of time. A comparison of the error function and the actual output is shown in Fig. 6.5. It is seen in Fig. 6.5 that as the actual output signal at initial time is zero, thus, the error between the reference input and the actual output at time zero is 1.0. At steady-state, the value of the actual output is approximately 0.33, thus, the steady-state error has a value of 0.67. 7
Fig. 6.5 Comparison between the error function and the actual output signal. 6.4 SYSTEM TYPE AND ERROR COMPENSATION Any physical control system inherently suffers from steady-state errors in response to certain types of input signals. Control systems may be classified according to their ability to follow certain types of inputs such as step, ramp, and parabolic. The classification of systems is done by determine its type, which is a positive semi-definite integral value. For a unity-feedback control system, if N is the number of pure integrators in the plant, i.e. there are N number of poles at the origin of the s-plane, then the system is Type N. For example, if a certain plant in a unity-feedback control system contains 3 poles at the origin, i.e. N = 3, then the system is Type 3. The importance of the system type is evident in the design of compensators for a feedback control system. Table 6.1 summarizes the steady-state error for Type 0, Type 1, and Type systems when they are subjected to various inputs. It is seen that the non-zero, finite values for steady-state errors appear on the diagonal line. Above the diagonal, the steady-state error are infinity; below the diagonal, they are zero. 73
For Table 6.1, the value of K is defined by the open-loop transfer function depicted in Eq. (6.4). Table 6. summarizes the static error constants to be used in Table 6.1. ( ) G s = ( + 1)( + ) ( + m ) ( + )( + ) ( + ) K s z s z s z N s s p1 s p s pk (6.4) Type 0 system Type 1 system Type system Table 6.1 Steady-state error in terms of gain K. Step Input r() t = 1 1 1+ K p 0 Ramp Input r t = t ( ) 1 K v 0 0 Parabolic Input 1 r() t = t 1 K a Table 6. Static error constants. Kp = limg s = G 0 (6.5) Position constant ( ) ( ) s 0 Velocity constant Kv lim sg( s) = (6.6) s 0 Acceleration constant Ka lim s G( s) = (6.7) s 0 For the design of a compensator for a feedback control system, it is seen in Table 6.1 that a Type 0 plant will have a non-zero, finite steady-state error, for a unity-feedback configuration, due to a step input. If the compensator is designed to be a pure integrator, 1 i.e. C( s) =, then combination of the controller and plant will be Type 1, thus having a s zero steady-state error. To verify this result, consider a Type 1 plant of the model ( ) = G s s s + + 4s 5 which, has a step response and error function shown in Fig. 6.5. By cascading a pure integrator into the plant as the controller, the combination C( s) G( s ) becomes ( ) ( ) C s G s = s s s + ( + 4s 5). 74
Listing 6.4 is a script that generates the plots for the actual output signal and error function of the feedback control system due to a step input. The actual output signal and error function plots are shown in Fig. 6.6 Listing 6.4 >> % Generate plant model >> numg=[ 3] numg = 3 >> deng=[1 3 6] deng = 1 3 6 >> % Generate compensator model >> numc=1 numc = 1 >> denc=[1 0] denc = 1 0 >> % Generate forward block C(s)G(s) >> numcg=conv(numc,numg) numcg = 3 >> dencg=conv(denc,deng) dencg = 1 3 6 0 >> syscg=tf(numcg,dencg) Transfer function: s + 3 ----------------- s^3 + 3 s^ + 6 s 75
>> % Generate unity-feedback system >> syst=feedback(syscg,1) Transfer function: s + 3 --------------------- s^3 + 3 s^ + 8 s + 3 >> % Determine output and time vectors >> [out,t]=step(syst); >> % Determine error function >> ref = ones(1,length(t)); >> err = ref - out'; >> plot(t,err) >> grid on >> hold on >> plot(t,out,'r') Fig. 6.6 Comparison between the error function and the actual output with a pure integrator as the compensator. 76
By examining Fig. 6.6, it is evident that the error function converges to zero as time approaches infinity. This is possible through the use of a pure integrator as a compensator for the Type 0 plant in a unity-feedback control system. 6.5 EXERCISES 1. Given the system below (Fig. 6.7), plot the actual output of the open loop system due to a step input. s + 5 s + 4s + 5s U( s ) G( s) = Y( s) 3 Fig. 6.7 Block representation of an open loop system with plant G(s).. What is the steady-state error and dc-gain of the system described in Fig. 6.7? 3. Construct a unity-gain feedback system with Fig. 6.7 as the plant. (See Fig. 6.8) Plot the actual output and error function of the closed-loop system due to a step input. 4. What can you say about the output response? What is the dc-gain of the system described in Fig. 6.8? R ( s) + E ( s) G( s) Y( s) Fig. 6.8 Block diagram of a unity-feedback system. 5. Attached a pure integrator in series with the plant as shown in Fig. 6.9. Plot the actual output and error function of the closed-loop system due to a step input. 6. What can you say about the output response? What is the dc-gain of the system described in Fig. 6.9? 7. Use a double integrator instead of a single integrator as the controller. Plot the actual output and error function of the closed-loop system due to a step input. 8. What can you say about the output response? What is the dc-gain of the system? 77
R ( s) + E( s) C( s) U( s) G( s) Y( s) Fig. 6.9 Block diagram of a feedback control system with controller C(s). 78