| Preface |
|
xiii | |
| Author |
|
xvii | |
| 1 Digital Control Introduction and Overview |
|
1 | (36) |
|
1.1 Overview of Process Control: Historical Perspective |
|
|
1 | (2) |
|
1.2 Feedback Control Structures for Continuous Systems: Mathematical Representation of (Sub) System Dynamics |
|
|
3 | (1) |
|
1.3 Basic Feedback Control Loop: Single Input Single Output (SISO) System |
|
|
4 | (1) |
|
|
|
4 | (1) |
|
1.4 Continuous Control Structures: Output Feedback |
|
|
5 | (1) |
|
1.5 Continuous Control Structures: State Variable Feedback |
|
|
6 | (1) |
|
1.6 Digital Control Basic Structure |
|
|
7 | (1) |
|
1.7 Relationship of Time Signals and Samples |
|
|
8 | (1) |
|
1.8 A Typical Algorithm for H |
|
|
9 | (1) |
|
1.9 Differences in Digital versus Analog Control Methods |
|
|
10 | (1) |
|
1.10 Computing the Time Response of a Linear, Time Invariant, Discrete Model to an Arbitrary Input |
|
|
10 | (2) |
|
1.11 Review of z-Transforms for Discrete Systems |
|
|
12 | (1) |
|
1.12 Some Useful Results for One-Sided z-Transforms |
|
|
12 | (1) |
|
1.13 How to Find y(k) Using z-Transforms |
|
|
13 | (1) |
|
1.14 Use of z-Transforms to Solve nth Order Difference Equations |
|
|
14 | (3) |
|
1.15 Stability of the Time Response |
|
|
17 | (1) |
|
1.16 Continuous versus Discrete Relationships |
|
|
17 | (2) |
|
1.17 s-to-z Plane Mappings |
|
|
19 | (1) |
|
1.18 LOCI of Constant Damping Ratio (ζ) and Natural Frequency (&omgea;n) in s-Plane to z-Plane Mapping |
|
|
19 | (1) |
|
1.19 Signal Sampling and Data Reconstruction |
|
|
20 | (1) |
|
|
|
21 | (1) |
|
1.21 Laplace Transform of a Sampled Signal |
|
|
22 | (1) |
|
|
|
23 | (2) |
|
|
|
24 | (1) |
|
1.23 Recovering f(t) from f*(t) |
|
|
25 | (1) |
|
|
|
26 | (1) |
|
1.25 How to Avoid Aliasing |
|
|
27 | (1) |
|
1.26 Interpretation of Aliasing in s-Plane |
|
|
28 | (1) |
|
1.27 Example of Aliasing in a Control Setting |
|
|
28 | (1) |
|
|
|
29 | (8) |
| 2 Mathematical Models of Discrete Systems |
|
37 | (34) |
|
2.1 Discrete Time System Representations |
|
|
37 | (1) |
|
2.1.1 Difference Equation Form |
|
|
37 | (1) |
|
2.1.2 Signal Flow Diagram and Analysis |
|
|
38 | (1) |
|
2.2 State Equations from Node Equations |
|
|
38 | (1) |
|
2.3 State Variable Forms: I |
|
|
39 | (1) |
|
|
|
40 | (1) |
|
2.5 Transfer Function of a State-Space Model |
|
|
41 | (1) |
|
2.6 State Variable Transformation |
|
|
42 | (1) |
|
|
|
43 | (1) |
|
2.8 Obtaining the Time Response X(k) |
|
|
44 | (2) |
|
2.9 Computing G(z) from A, B, C, d |
|
|
46 | (1) |
|
2.10 Leverier Algorithm Implementation |
|
|
47 | (1) |
|
2.11 Analysis of the Basic Digital Control Loop |
|
|
48 | (1) |
|
2.12 Discrete System Time Signals |
|
|
49 | (1) |
|
2.13 Models for Equivalent Discrete System, G(Z) |
|
|
50 | (1) |
|
2.14 Computing Φ and Γ (or Ψ) |
|
|
51 | (1) |
|
2.15 Algorithm for Obtaining Ψ(h) and Φ,Γ |
|
|
52 | (1) |
|
2.16 Some Discussion on the Selection of h |
|
|
53 | (1) |
|
|
|
54 | (3) |
|
2.18 Discrete System Equivalents: Transfer Function Approach |
|
|
57 | (2) |
|
2.19 Relationship between G(s) and G(z) |
|
|
59 | (1) |
|
2.20 Comparison of a Continuous and Discrete Equivalent Bode Plot |
|
|
60 | (1) |
|
2.21 Effects of Time Step h on G(z = jwh) |
|
|
60 | (1) |
|
2.22 Anatomy of a Discrete Transfer Function |
|
|
60 | (2) |
|
2.23 Modeling a Process with Delay in Control, τ = Mh + element of |
|
|
62 | (2) |
|
2.24 State Model for a Process with Fractional Delay element of < h |
|
|
64 | (1) |
|
2.25 State Model for a Process with Large Delay |
|
|
65 | (1) |
|
2.26 Transfer Function Approach to Modeling a Process with Delay |
|
|
66 | (1) |
|
|
|
67 | (4) |
| 3 Performance Criteria and the Design Process |
|
71 | (34) |
|
3.1 Design Approaches and the Design Process |
|
|
71 | (4) |
|
3.1.1 Elements of Feedback System Design |
|
|
71 | (1) |
|
3.1.1.1 Introduction: Series Compensation Design Structure ("Classical") |
|
|
71 | (1) |
|
3.1.2 Elements of FB System Design II |
|
|
72 | (1) |
|
3.1.3 Closed-Loop System Zeros |
|
|
73 | (1) |
|
3.1.4 Design Approaches to Be Considered |
|
|
74 | (1) |
|
3.2 Performance Measure for a Design Process |
|
|
75 | (10) |
|
3.2.1 Stability of the Closed-Loop System |
|
|
76 | (5) |
|
3.2.1.1 Steady-State Accuracy to a Step Input |
|
|
78 | (1) |
|
3.2.1.2 Steady-State Accuracy to a Ramp Input |
|
|
79 | (1) |
|
3.2.1.3 Steady-State Error to Sinusoidal Inputs |
|
|
80 | (1) |
|
3.2.2 Speed of Transient Response |
|
|
81 | (1) |
|
3.2.3 Sensitivity and Return Difference |
|
|
82 | (2) |
|
3.2.4 Example: Evaluation and Simulation |
|
|
84 | (1) |
|
3.3 Simulation of Closed-Loop Time Response |
|
|
85 | (6) |
|
3.3.1 Simulation Structure |
|
|
86 | (1) |
|
3.3.2 Flow Diagram for Simulation Program for a Control Algorithm |
|
|
87 | (1) |
|
3.3.3 Modifications to Time Delay |
|
|
87 | (1) |
|
3.3.4 Control (Cntrl) Algorithm Simulation |
|
|
88 | (1) |
|
3.3.5 Simulation of Time Delay, τ |
|
|
89 | (2) |
|
3.3.6 Required Modifications to Simulation Flow Diagram |
|
|
91 | (1) |
|
3.4 Tools for Control Design and Analysis |
|
|
91 | (1) |
|
3.5 Overview of Classical Design Techniques (Continuous Time) |
|
|
92 | (8) |
|
3.5.1 Lag Compensator Design, H(s) |
|
|
93 | (1) |
|
3.5.2 Lead Compensator Design |
|
|
94 | (1) |
|
3.5.3 Example of Lag Compensator Design |
|
|
95 | (1) |
|
3.5.4 Lag Compensation Design |
|
|
96 | (1) |
|
3.5.5 Example of Lead Compensator Design |
|
|
96 | (1) |
|
3.5.6 Lead Compensation Design |
|
|
97 | (1) |
|
3.5.7 Critique of Continuous Time H(s) Design |
|
|
98 | (2) |
|
|
|
100 | (5) |
| 4 Compensator Design via Discrete Equivalent |
|
105 | (30) |
|
4.1 Stability of Discrete Systems |
|
|
105 | (6) |
|
|
|
106 | (2) |
|
4.1.1.1 Applications of Jury Test |
|
|
106 | (1) |
|
4.1.1.2 Application to State Variable Feedback (SVFB) Example |
|
|
107 | (1) |
|
4.1.2 Stability with Respect to a Parameter β |
|
|
108 | (1) |
|
4.1.3 Stability with Respect to Multiple Parameters: αβ |
|
|
109 | (1) |
|
4.1.4 A More Complicated, State-Space Example |
|
|
110 | (1) |
|
4.1.5 Example State-Space Example Plots |
|
|
111 | (1) |
|
4.2 Fundamentals of Digital Compensator Design |
|
|
111 | (12) |
|
4.2.1 H(z) Design via Discrete Equivalent: H(s) - H(z) |
|
|
113 | (1) |
|
4.2.2 Forms of Discrete Integration |
|
|
114 | (4) |
|
4.2.2.1 Relationship to True s --> z Map |
|
|
115 | (2) |
|
4.2.2.2 Computing H(z) via Tustin Equivalent |
|
|
117 | (1) |
|
4.2.3 General Algorithm for Tustin Transformation |
|
|
118 | (2) |
|
4.2.3.1 Bode Plot Comparisons |
|
|
119 | (1) |
|
4.2.4 Tustin Equivalence with Frequency Prewarping |
|
|
120 | (3) |
|
4.3 Discrete Equivalent Designs |
|
|
123 | (7) |
|
4.3.1 Summary of Discrete Equivalence Methods |
|
|
124 | (1) |
|
4.3.2 Example of a Discrete Equivalent Design |
|
|
125 | (3) |
|
4.3.2.1 End-User Specifications |
|
|
125 | (1) |
|
4.3.3 Discrete Equivalent Computations |
|
|
126 | (2) |
|
4.3.4 Evaluation of Digital Control Performance |
|
|
128 | (1) |
|
4.3.5 Continuous versus Discrete System Loop Gain |
|
|
128 | (1) |
|
4.3.6 Methods to Improve Discrete CL Performance |
|
|
128 | (2) |
|
|
|
130 | (5) |
| 5 Compensator Design via Direct Methods |
|
135 | (32) |
|
5.1 Direct Design Compensation Methods |
|
|
135 | (6) |
|
|
|
135 | (2) |
|
5.1.1.1 Some Helpful Hints for RL Design |
|
|
136 | (1) |
|
5.1.2 Example of Design Approach: Antenna Positioning Control |
|
|
137 | (3) |
|
5.1.3 RL Redesign (After Much Trial and Error) |
|
|
140 | (1) |
|
5.1.4 An Example of a Poor Design Choice |
|
|
141 | (1) |
|
5.2 w-Plane Design of H(z) |
|
|
141 | (8) |
|
|
|
143 | (1) |
|
5.2.2 General z --> w Plane Mapping |
|
|
144 | (1) |
|
5.2.3 Example of Design Approach |
|
|
145 | (2) |
|
5.2.3.1 Example of w-to-z (Backward) Transformation |
|
|
146 | (1) |
|
5.2.4 Frequency Domain Evaluation |
|
|
147 | (2) |
|
5.2.4.1 RL versus w-Plane Design Comparison |
|
|
148 | (1) |
|
|
|
149 | (6) |
|
5.3.1 Digital PID Controller |
|
|
150 | (1) |
|
5.3.1.1 PID Algorithm Implementation |
|
|
150 | (1) |
|
5.3.2 Integral Windup Modifications |
|
|
151 | (1) |
|
|
|
152 | (1) |
|
5.3.4 Other PID Considerations |
|
|
152 | (1) |
|
5.3.5 PID Initial Tuning Rules |
|
|
153 | (1) |
|
5.3.5.1 Transient Response Method |
|
|
153 | (1) |
|
5.3.5.2 Ultimate Sensitivity Method |
|
|
153 | (1) |
|
5.3.6 Real-Time PID Control of an Inverted Pendulum Using FEEDBACK<<®: Page 26 of 33-936 S of FEEDBACK<<® Document |
|
|
154 | (1) |
|
5.4 A Technique for System Control with Time Delay |
|
|
155 | (5) |
|
5.4.1 Smith Predictor/Compensator |
|
|
156 | (1) |
|
5.4.1.1 Smith Compensator Application |
|
|
157 | (1) |
|
5.4.2 Example of Smith Predictor Motor-Positioning Example with τ 1 S,h=1 S(i.e.,M=1) |
|
|
157 | (11) |
|
5.4.2.1 Results with Delay Compensation |
|
|
158 | (2) |
|
5.5 Implementation of High-Order Digital Compensators |
|
|
160 | (2) |
|
5.6 Summary of Compensator Design Methods |
|
|
162 | (1) |
|
|
|
162 | (5) |
| 6 State-Variable Feedback Design Methods |
|
167 | (40) |
|
6.1 Linear State-Variable Feedback |
|
|
167 | (1) |
|
6.2 Control in State-Space |
|
|
168 | (4) |
|
|
|
169 | (1) |
|
6.2.2 Open-Loop versus CL Control |
|
|
170 | (2) |
|
6.3 Discrete SVFB Design Methods |
|
|
172 | (8) |
|
6.3.1 Continuous -> Discrete Gain Transformation Methods |
|
|
173 | (1) |
|
6.3.2 Average Gain Method |
|
|
174 | (2) |
|
6.3.2.1 Computing Average Gain |
|
|
175 | (1) |
|
6.3.3 Example: Satellite Motor Control |
|
|
176 | (4) |
|
6.3.3.1 Satellite Motor Control CL simulation |
|
|
177 | (1) |
|
6.3.3.2 Summary of Equivalent Gain Method |
|
|
177 | (3) |
|
6.4 State Variable Feedback Control: Direct Pole Placement |
|
|
180 | (1) |
|
6.4.1 Discrete System Design |
|
|
180 | (1) |
|
6.5 Pole Placement Methods |
|
|
181 | (7) |
|
6.5.1 Transformation Approach for Pole Placement |
|
|
183 | (2) |
|
6.5.1.1 Algorithm for Obtaining Transformation Matrix T |
|
|
184 | (1) |
|
|
|
185 | (1) |
|
6.5.3 Algorithm to Obtain Pd(Φ) |
|
|
186 | (1) |
|
|
|
187 | (1) |
|
6.6 Inverted Pendulum on a Cart |
|
|
188 | (7) |
|
6.6.1 Equivalent Discrete Design u(k) = -KX(k) |
|
|
190 | (1) |
|
6.6.2 Direct Digital Design: Inverted Pendulum |
|
|
191 | (1) |
|
6.6.3 CL Simulation Inverted Pendulum X(0) = [ 0.2, 0, 1, 0]' |
|
|
192 | (1) |
|
6.6.4 Deadbeat Controller Inverted Pendulum X(0) = [ 0.2, 0, 1, 0]" |
|
|
193 | (1) |
|
6.6.5 Summary of Pole Placement Design by SVFB |
|
|
193 | (2) |
|
6.7 SVFB with Time Delay in Control: τ = Mh + epsilon |
|
|
195 | (3) |
|
|
|
195 | (1) |
|
6.7.2 Implementation of the Delay Compensator: General Case |
|
|
196 | (1) |
|
6.7.3 Example-Inverted Pendulum |
|
|
196 | (2) |
|
6.7.4 Comparison with Smith Predictor Structure (epsilon = 0) |
|
|
198 | (1) |
|
6.8 Command Inputs to SVFB Systems |
|
|
198 | (4) |
|
6.8.1 Integral Control in SVFB |
|
|
199 | (3) |
|
|
|
202 | (5) |
| 7 Advanced Design Methods |
|
207 | (36) |
|
7.1 Lyapunov Stability Theory Preliminaries |
|
|
207 | (4) |
|
7.1.1 Application to Stability Analysis |
|
|
208 | (1) |
|
7.1.2 Main Theorem for Linear Systems |
|
|
209 | (1) |
|
7.1.3 Practical Use of Lyapunov Theorem |
|
|
210 | (1) |
|
7.2 Numerical Solution of the Lyapunov Equation |
|
|
211 | (2) |
|
7.2.1 Algorithm to Solve Lyapunov Equation (DLINEQ) |
|
|
211 | (2) |
|
7.3 Constructive Application of Lyapunov Theorem to SVFB |
|
|
213 | (6) |
|
7.3.1 Discussion of Stabilization Result |
|
|
214 | (2) |
|
7.3.1.1 Examples of System Stabilization, with SCALAR a, and R = 1 |
|
|
215 | (1) |
|
7.3.2 Lyapunov ("Bang-Bang") Controllers |
|
|
216 | (3) |
|
7.4 Introduction to Least-Squares Optimization |
|
|
219 | (6) |
|
7.4.1 Problem Definition General Comments |
|
|
220 | (1) |
|
7.4.2 Optimization Approach and Algorithm |
|
|
221 | (1) |
|
7.4.3 Continued Method for Obtaining K1 from P0 |
|
|
222 | (1) |
|
7.4.4 The Discrete Riccati Equation |
|
|
222 | (1) |
|
7.4.5 Comments and Extensions |
|
|
223 | (2) |
|
7.5 Application of the Optimal Control |
|
|
225 | (3) |
|
7.5.1 Properties of the Optimal CL System-1 |
|
|
226 | (1) |
|
7.5.2 Properties of the Optimal CL System-2 |
|
|
227 | (1) |
|
7.6 Examples and Applications |
|
|
228 | (6) |
|
7.6.1 Examples with FEEDBACK<<® Hardware and Software Package |
|
|
230 | (2) |
|
7.6.2 Summary of Optimal Control Design Method |
|
|
232 | (2) |
|
|
|
234 | (5) |
|
7.7.1 Weighting of Control Rate |
|
|
234 | (1) |
|
7.7.2 Properties of a Rate-Weighted Controller |
|
|
235 | (2) |
|
7.7.3 Compensation for Fractional Time Delay |
|
|
237 | (2) |
|
|
|
239 | (4) |
| 8 Estimation of System State |
|
243 | (44) |
|
|
|
243 | (10) |
|
8.1.1 "Observation" of System State |
|
|
243 | (2) |
|
8.1.2 System Observability Requirement |
|
|
245 | (3) |
|
8.1.2.1 A Question of Notation |
|
|
245 | (1) |
|
8.1.2.2 Structure of the Estimator |
|
|
246 | (1) |
|
8.1.2.3 The Estimation Error |
|
|
247 | (1) |
|
8.1.3 Observer Pole Placement Problem |
|
|
248 | (1) |
|
8.1.4 Selection of Observer CL Poles |
|
|
249 | (1) |
|
8.1.5 Example of State Estimation |
|
|
250 | (1) |
|
8.1.6 Mechanics of Observer Dynamics |
|
|
251 | (1) |
|
8.1.7 Implementation of the Observer-Controller Pair |
|
|
252 | (1) |
|
8.2 Implementation: Some Practical Considerations |
|
|
253 | (8) |
|
8.2.1 Composite CL Observer and Controller |
|
|
254 | (6) |
|
8.2.1.1 Command Inputs to Observer-Controller System |
|
|
255 | (2) |
|
8.2.1.2 Simulation Results |
|
|
257 | (2) |
|
8.2.1.3 Possible Modifications to Improve Response |
|
|
259 | (1) |
|
8.2.2 Example Satellite Control with Command Input |
|
|
260 | (1) |
|
8.3 Transfer Function of Composite CL Observer and Controller |
|
|
261 | (1) |
|
8.4 Poles and Zeros of Composite T(z) |
|
|
262 | (1) |
|
8.5 Reduced-Order Observers |
|
|
263 | (8) |
|
8.5.1 Reduced-Order Observer Design for Xb |
|
|
264 | (2) |
|
8.5.2 Implementation of Reduced-Order Observer/Controller |
|
|
266 | (1) |
|
8.5.3 Loop Gain Analysis of Reduced Order (RO) Observer/Controller |
|
|
266 | (6) |
|
8.5.3.1 Continued Summary of Observer Design |
|
|
271 | (1) |
|
8.6 Modifications for Time Delay τ = Mh + epsilon |
|
|
271 | (1) |
|
8.7 Further/Advanced Topics in State Estimation |
|
|
272 | (10) |
|
8.7.1 Case Study: State Estimation in Passive Target Tracking |
|
|
274 | (13) |
|
8.7.1.1 Performance Validation |
|
|
276 | (6) |
|
|
|
282 | (5) |
| 9 Implementation Issues in Digital Control |
|
287 | (28) |
|
9.1 Mechanization of the Control Algorithm on Microcontrollers Motivation |
|
|
287 | (11) |
|
9.1.1 Microprocessor Implementation Structure |
|
|
287 | (1) |
|
9.1.2 Binary Representation of Quantized Numbers |
|
|
288 | (2) |
|
9.1.2.1 Representation of Negative Numbers |
|
|
289 | (1) |
|
9.1.3 Digital Quantization of a Continuous Value |
|
|
290 | (1) |
|
9.1.4 Sources of Numerical Errors in Digital Control |
|
|
291 | (3) |
|
9.1.4.1 Visualization of the Numerical Errors |
|
|
293 | (1) |
|
9.1.5 Algorithm Realization Structures |
|
|
294 | (4) |
|
9.2 Analysis of Control Algorithm Implementation |
|
|
298 | (11) |
|
9.2.1 Response of Discrete Systems to White Noise |
|
|
298 | (2) |
|
9.2.2 Propagation of Multiplication Errors through the Controller |
|
|
300 | (3) |
|
9.2.3 Parameter Errors and Sensitivity Analysis |
|
|
303 | (4) |
|
|
|
303 | (4) |
|
|
|
307 | (2) |
|
|
|
309 | (2) |
|
|
|
311 | (1) |
|
|
|
311 | (4) |
| References |
|
315 | (6) |
| Appendix I: MATLAB® Primer |
|
321 | (12) |
| Appendix II: FEEDBACK<<® Guide for Applications in the Text |
|
333 | (8) |
| Appendix III: Suggested MATLAB® Code for Algorithms and Additional Examples from FEEDBACK<<® |
|
341 | (16) |
| Index |
|
357 | |