EE451/551: Digital Control Chapter 3: Modeling of Digital Control Systems
Common Digital Control Configurations AsnotedinCh1 commondigitalcontrolconfigurations As noted in Ch 1, common digital control configurations contain both an ADC and a DAC, as shown below:
ADC Model Assume an ideal ADC model where: outputs are equal in magnitude to inputs, i.e., no quantization error outputs occur without delay i.e., zero conversion time sampling is perfectly uniform at a fixed rate T i.e., no time skew between samples f () t f( k) = f( t ) t = kt
DAC Model Assume an ideal DAC model where: outputs are equal in magnitude to inputs, i.e., no quantization error outputs occur without delay i.e., zero conversion time outputs are constant over each sampling period i.e., no time skew between samples
ZOH Model The input output relationship of the ideal DAC is assumed to be a zero order hold (ZOH), defined as: ZOH { } ( ) u ( k ) ut ( ) = uk ( ), for kt t k + 1 T, k = 0,1, 2,
Transfer Function of The ZOH Given the impulse response of the ZOH, we can determine the Transfer Function (TF) of the ZOH to be: G ZOH ( s) 1 e = s The frequency response of the ZOH can now be written: st jωt 1 e jωt ωt GZOH ( jω ) = = Te sinc jωω 2 This can be expressed in polar form as: ωt T GZOH ( jω ) GZOH ( jω) T sinc = ω 2 2
Magnitude Response of The ZOH A plot of the ZOH Magnitude response with given below for T = 1 s:
Effect of Sampling on the TF of a Cascade Control systems often contain cascades of analog subsystems, e.g., an actuator followed by a plant and then a sensor, as shown below for the missile control system of Ch 1:
Effect of Sampling on the TF of a Cascade The sampled output of an analog system with a sampled input can computed as shown (see pp. 60 61 of text): Y () s Y s = H s U s Y z = H z U z ( ) ( ) ( ) or ( ) ( ) ( ) By extension, the sampled output of an analog cascade separated by samplers at the input of each subsystem in the cascade can be computed as shown: Y () s = H () s H () s H () s U (), s or 1 2 n Y( z) = H ( z) H ( z) H ( z) U( z) 1 2 n
Effect of Sampling on the TF of a Cascade The sampled output of an analog cascade not separated by samplers at the input of each subsystem, as illustrated in example below: Y () s must be computed as shown (see pp. 60 61) 61) : Y () s = H () s X() s and X() s = H () s U () s Y() s = H () s H () s U () s 2 1 2 1 ( ) 2 1 ( 2 1 ) Y () s = H () s H () s U () s = H () s H () s U () s { } Z { } Y ( z ) = H ( z ) U ( z ), where H () z = Z H () s = H () s H () s eq eq eq 1 n
Questions?
In class Exercise Find the z domain TF for a cascade of the analog subsystems given below assuming the input and output are sampled at period T and: 1. The systems are directly connected 2. The systems are separated by a sampler 1 2 () =, () = + 2 s + 4 H s H s 1 2 s See pp.61 62 of text for solns.
Computing the z TF of the DAC, Analog Subsystem and ADC Cascade The cascade of a DAC, an analog subsystem and an ADC occurs commonly in digital control systems, as illustrated below: G () s Gs () ZOH ()
Computing the z TF of the DAC, Analog Subsystem and ADC Cascade The continuous TF and impulse response of the DAC and analog subsystem cascade is given by: st 1 e GZA() s = GZOH () s G() s = G() s s ( st ) Gs () 1 ( = e 1 e st ) = Gs ( s) s g () t = g () t g( t) = g ( t) g ( t T) ZA ZOH s s
Computing the z TF of the DAC, Analog Subsystem and ADC Cascade Sampling the cont. impulse response yields the discrete impulse response and TF of the DAC (ZOH), analog subsystem and ADC (ideal sampler) cascade, as shown: g ( kt ) = g ( kt ) g ( kt T ) ZAS s s 1 ZAS ( ) = s ( ) s ( ) G z G z z G z ( 1) ( 1 ) Gs () = 1 z Gs ( z) = 1 z Z s Note, the numerator of the ZOH TF is equivalent to its ( st ) ( st ) ( 1 e e z ) sampled version, i.e., 1 1 1, since z = e st
Ex. 3.2: G ZAS for a Mass Damper System Assume a vehicle system can be modeled d as: Mv () t + Bvt () = ut () Gs () V() s 1 ( 1 M ) = = = U () s Ms + B s + B M ( )
Ex. 3.2: G ZAS for a Mass Damper System Gs () 1 M A A = = + s s s s s + B M ( ) 1 2 ( + ( B M ) ) + ( ) ( 1 M) 1 ( 1 M) 1 where A 1 = s =, A 2 = = + BM B s B B ( ) s= 0 ( 1) 1 B 1 B GZAS ( z) = 1 z Z s s+ ( B M), s= ( ) ( ) 1 B z 1 B z ( ) BMT z 1 1 1 e = 1 ( BMT ) = ( BMT z z B ) z e z e Does this result agree with the text (why or why not)? M
Some Helpful Observations It can be seen that if the analog system Gs ( ) has a pole at α αt then GZAS ( z) will have a pole at e. Also, the division by s in the formulation of Gs ( s) results in a pole at z = 1 that cancels with the numerator of the ZOH, leaving the same poles as those obtained when sampling and z-transforming the impulse response of the analog subsystem Gs ( ) alone; the zeros of the transfer function are different, however, in the presence of the DAC, i.e., due to the effect of the ZOH.
The Closed Loop Transfer Function Applying the concepts discussed to date, the block diagram of a single loop digital control system has the form: Analyzing the block diagram yields: Y ( z ) = C ( z ) G ( z ) E ( z ), where ZAS E( z) = R( z) Y( z) = R( z) C( z) G ( z) E( z) R ( z ) C ( z ) G ( ) ZAS z Ez ( ) = Yz ( ) = Rz ( ) 1 + CzG ( ) ZAS ( z) 1 + CzG ( ) ZAS ( z) Y( z) CzG ( ) ( ) ZAS z Gcl ( z) = = Rz ( ) 1 + CzG ( ) ZAS ( z) ZAS
The Characteristic Equation The poles of the closed loop system are determined by the roots of the characteristic equation: 1 + CzG ( ) ( z ) = 0 ZAS The closed loop poles are typically designed to yield desired time domain specifications such as rise time, settling time, time to peak, percent overshoot or steadystate error which are associated with desired frequency domain time constants and damped d frequencies
Some Considerations Not all control systems will have the standard form: The block diagram above has a continuous (unsampled) reference input R(s) and no ZOH which results in a more complex analysis (see p. 74 of text), where: ( ) Y () s = GDR () s ( ) Y ( z) = GDR ( z) ( GD ) ( HGDR ) 1 + ( HGD) ( s) ( ) ( ) 1 + ( HGD) ( z) GD () s HGDR () s GD ( z) HGDR ( z)
Some Considerations Note, in this case a discrete system TF can not be formed since the reference input is not sampled prior to entering an analog cascade, although the system output will still have a characteristic equation given by: 1 + HGD ( z) = 0 ( ) that t can be used for system design purposes
Procedure of Computing z TFs: 1. Assign an unstarred variable to each sampler input and a starred version to each sampler output, e.g., E() s E () s 2. Express the sampler inputs and system output in terms of each sampler output and system input 3. Take the starred transfrom of the resulting expressions and solve for the TF, i.e., starred output over starred input, where possible, then convert to a z TF expression In general, we use the star notation to represent sampling in the frequency enc domain when it is convenient to avoid mixing continuous and discrete TF incorrectly
Questions?
In class Exercises If possible, derive the discrete system TF when C(s) is modeled as a ZOH, H(s)=K, and g(t)=ae at, then determine the system poles from the CE
Analog Disturbance Rejection Disturbances are typically analog variables not included in the system model that affect its response: Since system is LTI, the reference input can be analyzed separately and is assumed to be zero (as shown); this results in the following impulse sampled output (p.75): ( ) ( ) GGdD () s GGdD () z Y () s = Y() z = 1 + G ( s) C ( s) 1 + G ( z) C( z) ZAS ZAS
Ex 3.9: Analog Disturbances If we define the TFs associated with the block diagram as K p 1 Gs ( ) =, Gd( s) = and Cz ( ) = Kc s + 1 s find the steady-state response of the system to an impulsive disturbance of strength A: () ( GsG d Kp A 1 1 sds ) ( ) = = K p A s( s + 1) s s 1 + z z ( GG ) dd)( ( z ) = K pa and T z 1 z e T 1 e G ZAS ( z ) = Kp T z e
Ex 3.9: Analog Disturbances Plugging the TFs into the expression for the disturbance output yields: z z Kp A z T 1 z e Y( z) = T 1 e 1+ KK c p z e T Applying the FVT to Y( z) yields: y ( ) = ( z 1 ) Y ( z ) z 1 = K A p 1+ KK which implies that increasing the controller gain K c reduces the steady-state disturbance c p
Using Matlab For the system below, obtain the z-tf of when G ZAS s + 10 Gs ( ) =, s + 2 the step response of the open analog sysem and closed loop sampled system when Cz ( ) = 1, and obtain the frequency response of the closed loop system when T = 0.0505 GZAS ( z )
Using Matlab to Find G(s) >> nums=[1 10];dens=[1 2];G_s=tf(nums,dens) Transfer function: s + 10 s + 2 >> step(g_s)
Using Matlab to Find G ZAS (z) and H cl (z) How does the speed of the closed loop response compare to the open loop response? >> Ts=0.05;G_ZAS=c2d(G_s,Ts,'zoh') Transfer function: z 0.5242 z 0.9048 Sampling time: 0.05 >> Hcl_z=G_ZAS/(1+G_ZAS) Transfer function: z^2 1.429 z + 0.4743 2 z^2 3.239 z + 1.293 Sampling time: 0.05? >> step(hcl_z)
Using Matlab to Plot Frequency Response >> bode(hcl_z) (Hl
Steady State Error Analysis Here we consider the steady state tracking error to three standard inputs for the unity feedback block diagram From the prior analysis, we obtained: Rz ( ) Rz ( ) Ez ( ) = =, 1 + CzG ( ) ZAS ( z) 1 + Lz ( ) where Lz ( ) = CzG ( ) ZAS ( z) is the loop gain of the system. Applying the FVT yields the steady-state error (SSE): = ( 1 ( 1 ) ( ) ) = 1 z ( 1 + Lz ( ) ) z 1 ( z 1 ) in the denominator z R z e( ) 1 z E( z) z The limit will exist if all cancel, which depends on the input Rz ( ) and the loop gain Lz ( )
Steady State Error Analysis To examine the effect of the loop gain on the SSE, we rewrite it in the form: N( z) Lz ( ) =, for n 0 n z 1 D( z) ( ) where N( z) and D( z) are polynomials without unity roots and the value n is called the Type Number of the system. Substituting the loop gain expression into the SSE formula yields: n+ ( ) ( ) 1 n+ ( + ) + ( ) 1 z 1 R ( z ) z 1 D (1) R ( z ) e( ) = = z 1 L( z) N(1) z 1 D(1) z 1 z 1 The effect of the reference input R( z) on the SSE can now be examined in more detail
For Sampled Step Inputs The z-transform of a sampled step input is: z Rz ( ) = rt ( ) = 1( t) z 1 Substituting this into the SSE expression yields: ( z ) Rz ( ) ( ) z 1 1 ( ) 1 1 e ( ) = =, z 1 + L( z) 1 + L( z) 1+ K z 1 where K p is the position error constant given by Kp = L ( z ) z K 1 p
For Sampled Step Inputs By examination of the Lz ( ) definition from prior slide, can be shown that K = L( z) is finite for Type 0 systems, ie i.e., systemswithnopolesat p z 1 z = 1initsopen its loop TF and that Kp = L( z) for Type 1 or higher systems; therefore, z 1 the SSE for a discrete unit step input can be expressed in terms of the position error constant, as shown: 1, n = 0 e( ) = 1 + K p 0, n 1
For Sampled Ramp Inputs The z-transform of a sampled ramp input is: Tz Rz ( ) = rt ( ) = t ( z 1 ) 2 Substituting this into the SSE expression yields: T 1 e( ) =, z 1 1 + L( z) K ( )( ) z 1 where K is the velocity error constant t given by: K v 1 Kv = z L z T ( 1 ) ( ) z 1 v
For Sampled Ramp Inputs By examination of the loop gain definition L ( z ), it can be shown that is zero for Type 0 systems, i.e., systems with no poles at K v z = 1 in its open loop TF, finite for Type 1 systems, and infinite for Type 2 or higher systems; therefore, the SSE for a discrete unit ramp input can be expressedintermsofthe the velocity error constant K v, as shown:, n = 0 1 e( ) =, n= 1 K v 0, n 2
For Sampled Parabolic Inputs The z-transform of a sampled ramp input is: ( + ) 3 ( z ) 2 T z z 1 1 Rz ( ) = rt ( ) = t 2 1 2 Substituting this into the SSE expression yields: 2 T ( z + ) 2 ( z ) ( + L z ) 1 1 e( ) =, 2 1 1 ( ) Ka z 1 where K a is the acceleration error constant given by: 1 K 2 a = ( z 1 ) L ( z ) 2 T z 1 2
For Sampled Parabolic Inputs By examination of the loop gain definition Lz ( ), it can be shown that Ka is zero for Type 0 and Type 1 systems, i.e., systems with fewer than two poles at z = 1 in its open loop TF, finite for Type 2 systems, and infinite for Type 3 or higher systems; therefore, the SSE for a discrete unit ramp input can be expressed in terms of the acceleration error constant, as shown: e( ) = K a, n 1 1, n = 2 K a 0, n 3
Questions?
In class Exercises Find the steady state position error to a discrete unit step input for the unity feedback digital control system with the following TFs: K( z+ a) K ( ) c z b GZAS ( z ) =, Cz ( ) =, 0 < abc,, < 1 z 1 z b z c Recall, ( )( ) Rz ( ) Rz ( ) Ez ( ) = =, 1 + CzG ( ) ( z ) 1 + Lz ( ) ZAS where Lz ( ) is the loop gain of the system. Hint : Compute L( z ) and determine the system's Type No.