Outline • • • • • Stability of Digital Control Systems M. Sami Fadali Professor of Electrical Engineering UNR Asymptotic stability. Input-output stability. Stability conditions. Routh-Hurwitz criterion. Jury test. 1 2 Bounded-Input-Bounded-Output (BIBO) Stability Asymptotic Stability Response due to any initial conditions decays to zero asymptotically in the steady state Lim The response due to any bounded input Marginal Stability: response due to any initial conditions remains bounded but does not decay to zero. remains bounded. → 3 4 Stable Z-Domain Pole Locations Time Sequence Z Sampled exponential and its z-transform with real or complex Z Bounded sequence for poles in the closed unit disc (i.e. on or inside the unit circle). Sequence decays exponentially for poles in the open unit disc (i.e. inside the unit circle). Unbounded sequence for repeated poles on the unit circle. For real time sequences poles and partial fraction coefficients are either real or complex conjugate pairs. _|Å → 5 Proof Theorem: Asymptotic Stability • Response of the system due to ICs In the absence of pole-zero cancellation, a LTI digital system is asymptotically stable if its transfer function poles are in the open unit disc and marginally stable if the poles are in the closed unit disc with no repeated poles on the unit circle. LTI Model: 1 ⋯ 1 1 ⋯ 6 1 0,1,2, … 7 0 , 1 ,…, 1. Assume no pole-zero cancellation. denominator=denominator of z-transfer function. = poles of transfer function. 3. Poles of due to ICs: bounded for system poles in the 4. closed unit disc unit (no repeated poles on the unit circle) & decays exponentially for system poles in the open unit disc (inside the unit circle). 8 Example Solution ( ) Determine the asymptotic stability of the following systems: • Pole outside the unit circle unstable • • Use Theorem 1 (a) and (b) without pole-zero cancellation. Ignore zeros, (do not affect response due to ICs) • All poles inside the unit circle asymptotically stable. 9 10 BIBO Stability Solution • All poles inside the unit circle asymptotically stable. Is system BIBO stable if its impulse response is bounded? NO Counterexample: bounded & strictly positive impulse response Bounded input: Unbounded output: • One pole on the unit circle marginally stable: not asymptotically stable. 11 12 Theorem 4.2:BIBO Stability Proof of Necessity (Only if) A discrete-time linear system is BIBO stable if and only if its impulse response sequence is absolutely summable i.e. • Assume the system is BIBO stable but the impulse response is not absolutely summable. • Input • Contradiction: unbounded output with a bounded input. 13 14 Proof of Sufficiency (If) Theorem 4.3: BIBO Stability • Assume an absolutely summable impulse response and show that the system is BIBO stable. in the convolution • Use the input bound summation A discrete-time linear system is BIBO stable if and only if the poles of its transfer function lie inside the unit circle. 15 16 Proof of Sufficiency Proof of Necessity Z • Impulse response is bounded if the poles of the transfer function are in the closed unit disc and decays exponentially if the poles are in the open unit disc. • Assume exponentially decaying impulse response (i.e. poles inside the unit circle). is the coefficient of largest magnitude is the largest pole magnitude. • The impulse response is bounded by • Systems with a bounded impulse response that does not decay exponentially are not BIBO stable. 17 ∞ Example 4.2 Solution Investigate the BIBO stability of systems with the impulse response BIBO stable since the impulse response satisfies where is a finite constant. 18 • Let = upper bound for any impulse response of finite duration. • Any FIR system is BIBO stable. 19 20 Example 4.3 Solution Investigate BIBO stability for Example 4.1 After pole-zero cancellation a) BIBO stable, all poles inside unit circle. b) BIBO stable, all poles inside unit circle. c) BIBO stable, all poles inside unit circle. • Use Theorem 4.3 with pole-zero cancellation. 21 Solution 22 Z-plane Stable Pole Locations Im[z] Unit Circle • Not BIBO stable, a pole on unit circle. STABLE 23 Re[z] 24 MATLAB: ddamp MATLAB Stability Determination Obtain roots of polynomial: » roots(den) % denominator coeffts. den » zpk(g) %g = transfer function Gives the pole locations, and Stable for roots inside the unit circle. • Closed-loop transfer function >> H = feedback(gforward, gfeedback, 1) • Default: negative feedback Eigenvalue Magnitude Equiv. Damping 0.2306 + 0.7428I 0.7778 0.1941 0.2306 - 0.7428I 0.7778 0.1941 -0.6612 0.6612 0.1306 Equiv. Freq. (rad/sec) 12.9441 12.9441 31.6871 25 26 Internal Stability Theorem 4-4 If all the transfer functions that relate the system inputs ( and ) to the possible system outputs ( and ) are BIBO stable, then the system is internally stable. 1 1 1 R(z) R(z) 1 U(z) C(z) D(z E(z) + U(z) C(z) Y(z) GZAS(z) D(z E(z) + The system of Figure 4-3 is internally stable if and only if all the closed-loop poles are in the open unit disc. Y(z) GZAS(z) 27 28 Transfer Functions Proof (Necessity: only if) • Substitute • Coprime polynomials (no common factors) • Internally stable (all transfer functions are asymptotically stable) + coprime R(z) D(z E(z) + U(z) C(z) characteristic polynomial no zeros on or outside the unit circle. Y(z) GZAS(z) has 29 30 Theorem 4-5 Proof (Sufficiency: if) The system is internally stable if and only if: • Substitute 1. The characteristic polynomial has no zeros on or outside the unit circle. has no pole-zero 2. The loop gain cancellation on or outside the unit circle . • Characteristic polynomial • No zeros on or outside the unit circle R(z) all the transfer functions are asymptotically stable system is internally stable. 31 D(z E(z) + U(z) C(z) Y(z) GZAS(z) 32 Proof: Necessity Proof: Sufficiency : no zeros on or outside the unit circle for internal stability (Theorem 4.4) cancels unstable (ii) is both an open-loop and a closed-loop pole i. No zeros on or outside the unit circle ii. No unstable pole-zero cancellation for the closed-loop system if there is no unstable pole-zero cancellation for Sufficient for internal stability (Theorem 4.4) 33 34 Solution Example 4-4 • Discretized process transfer function Transfer function of isothermal chemical reactor Z o Determine with o Verify that the resulting feedback system is not internally stable with the feedback controller • Transfer function from reference input to output • All its poles are inside the unit circle (some cancel) 35 36 Solution: Control Variable Solution: Theorem 4-5 • Violates condition (ii) of Theorem 4-5: Unstable pole at 1.334 cancels in the loop gain. • Pole at 1.334 outside the unit circle. • The control variable is unbounded even when the reference input is bounded. 37 Routh-Hurwitz Criterion 38 Geometric Interpretation Im(s) 1. Transform the inside of the unit circle to the LHP (bilinear transformation). 2. Use the Routh-Hurwitz criterion for the investigation of discrete-time system stability. z3 Im(z) z3 1 z2 1 X s3 z3 1 z2 s2 X Re(s) Re(z) 1 s1 X z2 1 z1 1 1 z1 z1 1 s z 1 z 1 39 90 inside unit circle s 90 outside unit circle 90 on unit circle 40 Advantages/Disadvantages Example 4.4 • Easy stability test for low-order polynomials. • Difficult for high order z-polynomials. Find stability conditions for a) The first order polynomial • For high order polynomials, use symbolic manipulation. b) The second order polynomial 41 Solution: 1st 42 Solution: 2nd order order • Solve for the root. , • Stability conditions Stability determination by solving for roots is difficult. Monic polynomial constant term = product of poles For pole magnitudes < 1 Necessary stability condition Sufficient for complex conjugate poles 43 44 Bilinear Transformation Comments • Routh-Hurwitz criterion: poles of 2nd order wpolynomial remain in the LHP iff its coefficients are all positive. • Recall: Sufficient for complex conjugate roots and only necessary for real roots. • Real roots: substituting the three conditions in the z-domain characteristic polynomial gives roots between 1 and +1. • Adding the first and third conditions gives the condition obtained earlier 45 Stable Parameter Range for 2nd Order z-polynomial Conditions with : Jury Test The roots of the polynomial are inside the unit circle if and only if a0 (1) a0= 1 1 stable 1 a0= a11 46 1 (2) a0= a11 (3) a1 0 (4) 1 (5) (n+1) 47 48 Jury Table Table Entries z0 a0 an z1 a1 an 1 z2 a2 an 2 zn k an k ak zn 1 an 1 a1 3 4 b0 bn 1 b1 bn 2 b2 bn 3 bn k bk bn 1 b0 5 6 c0 cn 2 c1 cn 3 c2 cn 4 cn 2 c0 . . . . . . . . . . . . 2 n 5 s0 2 n 4 s3 s1 s2 s2 s1 s3 s0 2 n 3 r0 r1 r2 Row 1 2 49 Remarks 1. First row of Jury table: list the coefficients of the polynomial in order of increasing power of . 2. Number of rows of table 2 3 is always odd and the coefficients of each even row are the same as the odd row directly above it with the order of the coefficients reversed. 3. There are 1 conditions for 1coefficients of . 4. Conditions 3 through 1 are calculated using the coefficient of the first column of the Jury table, together with the last coefficient of the last row. 5. The middle coefficient of the last row is never used and need not be calculated. 6. Conditions (1) and (2) are calculated from directly. If one of the first two conditions is violated, has roots on or outside the unit circle (no need to construct the Jury table or test the remaining conditions). 51 zn an a0 50 Remarks (cont.) 7- Condition (3) with 1, requires the constant term of the polynomial to be less than unity in magnitude. The constant term is simply the product of the roots and must be smaller than unity for all the roots to be inside the unit circle. 8 For first and second order systems, the Jury stability conditions reduce to the conditions derived earlier. 9- For higher order systems, applying the Jury test by hand is laborious and it is preferable to test the stability of a polynomial using a CAD package. 10- If the coefficients of the polynomial are functions of system parameters, the Jury test can be used to obtain the stable ranges of the system parameters. 52 Solution Example (1) (2) Test the stability of the polynomial Row 1 0.35 2 1 0.0775 2.6 2.05 0.56 0.56 2.05 2.6 0.0775 0.8325 0.8775 3 4 0.8775 0.8325 2.5729 1.854 0.1575 0.1575 1.854 2.5729 5 6 0.0770 0.5151 0.7143 0.2693 0.2693 0.7143 0.5151 0.0770 7 0.2593 0.0837 0.3472 1 1 1 2.6 1 0.56 2.05 0.0775 0.35 1.4175 0 1 1 2.6 0.56 2.05 0.0775 0.35 0.3825 0 (3) 0.35 1 (4) 0.8775 0.8325 (5) | 0.0770 | < | 0.5151 | (6) | 0.2593 | < | 0.3472 | • Conditions (2), (5) & (6) violated . • Condition (2) is sufficient to conclude instability. No. of conditions violated No. of roots outside the unit circle. • Polynomial has roots on or outside the unit circle. 0.7 0.5 0.5 0.8 2.5 • Root at 2.5 outside the unit circle. 1 0.35 53 54 Solution Example 4.6 • Transfer function of analog subsystem, ADC and DAC Find the stable range of the gain for the unity feedback digital control system with analog plant Z Z • Partial fraction expansion with DAC and ADC if the sampling period is 0.02 s. • Transfer function ( 55 ) 56 Closed-loop System Example • Unity feedback, closed-loop characteristic equation Find the stable range of the gain for the digital position control system with the analog plant transfer function • Stability conditions • Hence, the stable range of and with DAC and ADC if . is 57 Solution 58 C.L. Characteristic Equation Z Z • Partial fraction expansion • Transfer function ( ) 59 60 Stability Testing 1) 2) 3) 0 Nyquist Criterion • Given the number of unstable open-loop poles. • Count the number of unstable closed-loop poles. • Follow a closed contour and substitute each (vector) point in • Plot the resulting closed curve. • Count the number of counterclockwise turns of the vector (clockwise is ) 2 3 2 3 • The stable range is 61 Mapping 62 Inside/Outside Contour 1 … … closed-loop poles, open-loop poles Net rotation: zero for outside, 1 turn for intside 1 Count the number of counterclockwise turns (clockwise is ) of the vector 63 64 Proof Outline Thm. 4-7 Nyquist Criterion =no. of counterclockwise encirclements of the when traversing point (1,0) for a loop gain clockwise) the stability contour (i.e. has open-loop poles inside the contour. • Then the system has closed-loop poles outside the unit circle with given by or ( ) Corollary: An open-loop stable system is closedloop stable iff the Nyquist plot does not encircle the point (1,0) (i.e. ) 65 • = number of c.l. (resp. o.l.) poles inside the contour. 66 Modified contour • Small semicircle: 1 • Avoid pole at unity • Pole at 1 mapped to large counterclockwise semicircle • Maps to large semicircle. Denominator angle: net effect = clockwise semicircles 1 is the frequency response for ∈ 0, / 0, /2 . complex conjugate of • Net angle change: /zero, /pole inside the contour and zero for those outside it. • One encirclement = Modified Contour Contour for Stability Determination • On the unit circle, angles ∈ 0, , or • Traverse contour clockwise and substitute in to produce a plot. (mirror image) • Points on the large circle map to zero or to a single point. • For infinitesimal, angle contributions of values on the straight line portions close to the real axis cancel. 67 68 Example Shift by ( Nyquist Diagram 0.8 Nyquist Diagram 0.6 0.6 1+ L 0.4 L 0.4 Imaginary Axis 0.2 Imaginary Axis 0.2 0 0 -0.2 -0.4 -0.2 -0.6 -0.4 -0.8 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 Real Axis -0.6 -1 -0.5 0 0.5 1 1.5 10 2 No. encirclements of origin for = No. of encirclements of ( of Real Axis 69 Phase Margin and Gain Margin 4.95 4.901 1.97 0.9704 , no open-loop poles outside the unit circle: system is closed-loop stable. 70 Nyquist Plot: PM & GM Gain Margin: gain perturbation that makes the system marginally stable. Phase Margin: negative phase perturbation that makes the system marginally stable. R(s) + G(z) C(z) G(z) 71 72 Example 4.10 MATLAB Plots and Margins Digital control system for the furnace model >> nyquist(gd) % Nyquist plot. >> bode(gd) % Bode plot. >> [gm,pm]=margin(gd) % Find PM & GM >> margin(gd) % GM & PM on Bode plot Nyquist plot: click on plot and select Characteristics All stability margins Discrete-time first order actuator 1. Determine the closed-loop stability. 2. How does an amplifier of gain closed-loop stability? affect 73 Solution 74 GM & PM Nyquist Diagram 2 stable 1.5 1 Nyquist Diagram 25 0.5 Imaginary Axis 20 System: untitled1 Real: -1.41 Imag: 0.000741 Frequency (rad/sec): -5.33 >>[gm,pm]=margin(gtd) gm = 3.4817 pm = 37.5426 15 10 5 Imaginary Axis • Using MATLAB >> gtd=c2d(gt,0.01) >> nyquist(gtd) >> hold on >> nyquist(5*gtd) • Change scale 0 -0.5 0 -5 System: gdt Real: -0.795 Imag: -0.624 Frequency (rad/sec): 2.59 -1 -10 -15 -1.5 -20 -25 -5 -2 -5 0 5 10 15 20 25 Real Axis 30 35 40 45 75 50 -4.5 -4 -3.5 -3 -2.5 Real Axis -2 -1.5 -1 -0.5 0 76