This action might not be possible to undo. Are you sure you want to continue?
For Use with MATLAB
Craig Borghesani Yossi Chait Oded Yaniv
User’s Guide
The software described in this document is furnished under a license agreement. The software may be used or copied only under the terms of the license agreement. No part of this manual may be photocopied or reproduced in any form without prior written consent from Terasoft, Inc. Quantitative Feedback Theory Toolbox User’s Guide
©
COPYRIGHT 19932003 by Terasoft, Inc.
No part of this manual may be printed, photocopied or reproduced in any form without prior written consent from the authors and Terasoft, Inc. FEDERAL ACQUISITION: This provision applies to all acquisitions of the Program and Documentation by or for the federal government of the United States. By accepting delivery of the Program, the government hereby agrees that this software qualifies as "commercial" computer software within the meaning of FAR Part 12.212, DFARS Part 227.72021, DFARS Part 227.72023, DFARS Part 252.2277013, and DFARS Part 252.2277014. The terms and conditions of Terasoft, Inc. Software License Agreement shall pertain to the government’s use and disclosure of the Program and Documentation, and shall supersede any conflicting contractual terms or conditions. If this license fails to meet the government’s minimum needs or is inconsistent in any respect with federal procurement law, the government agrees to return the Program and Documentation, unused, to Terasoft, Inc.
Printing History
December 1994 March 2001 July 2003 First printing (The MathWorks, Inc.) Second printing (Terasoft, Inc.) Third printing (Terasoft, Inc.)
How to Contact Us
www.terasoft.com support@terasoft.com sales@terasoft.com Home page Technical support and product enhancement suggestions Sales, pricing, and general information
While every precaution has been taken in the preparation of this manual and software, the publisher and authors assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein.
QFT Frequency Domain Control Design Toolbox User’s Guide
ii
Table of Contents
Preface
What’s New........................................................................................................................................... vi Organization ......................................................................................................................................... vii About the Authors ...............................................................................................................................viii Craig Borghesani ..........................................................................................................................viii Yossi Chait....................................................................................................................................viii Oded Yaniv ..................................................................................................................................... ix Acknowledgements ............................................................................................................................... ix
1 Introduction
About Quantitative Feedback Theory .................................................................................................11
2 The Feedback Problem
Motivating Examples ..........................................................................................................................21 Compact Disc................................................................................................................................21 Engine Active Vibration Isolation ................................................................................................24 Formulation of the QFT Design Problem............................................................................................25 Formulating FrequencyDomain Specifications..................................................................................26 Formulating OpenLoop Dynamics Description .................................................................................27 ContinuousTime ..........................................................................................................................28 DiscreteTime ...............................................................................................................................29 Data Format ................................................................................................................................210
3 Feedback Design with QFT
Getting Started.....................................................................................................................................31 ContinuousTime.................................................................................................................................33 Templates......................................................................................................................................34 Choosing Frequencies...................................................................................................................37 Choosing the Nominal Plant .........................................................................................................38 Bounds.................................................................................................................................................38 Robust Stability (Margins) Bounds ..............................................................................................39 Robust Performance Bounds.......................................................................................................313 Working with Bounds .................................................................................................................315 Design (Loop Shaping) ...............................................................................................................316 Analysis ......................................................................................................................................324 Design (PreFilter Shaping) ........................................................................................................326 DiscreteTime....................................................................................................................................329 Templates....................................................................................................................................329 Robust Stability (Margins) Bounds ............................................................................................329 Robust Performance Bounds.......................................................................................................330 Design (Loop Shaping) ...............................................................................................................330 Design (PreFilter Shaping) ........................................................................................................330
QFT Frequency Domain Control Design Toolbox User’s Guide
iii
..................................................................42 Stability..............522 Example 14: CD Mechanism (Sampleddata) ...................................716 lpshape......................................................................73 chkgen ...........................................713 getqft.................................................................................................................................................................................................................................................................................................................................................................................53 Example 2: 2DOF Design................................................................................................................................................................................................................................................................................................................................................................55 Example 4: Classical Design for Fixed Plant............................................................................................................................................................51 Examples .......49 Robust Stability.........................65 Design Control Panel ...717 multmpl .........................................................................................................................................................................................................................................................................515 Example 10: Inverted Pendulum................................................................................................................................4 Using the Nichols Chart The Nichols chart ........................................................................68 Design Elements ...........................................................................53 Example 1: Main Example.................................................................................................................................................................520 Example 13: 2 DOF Design (DiscreteTime) ...............615 7 Reference Functions by Class..........................................42 Robust Stability.......................................................................................................................................58 Example 7: InnerOuter Cascaded Design...................................................411 5 Examples Introduction .............512 Example 9: Uncertain Flexible Mechanism.....................................72 addtmpl...57 Example 6: Missile Stabilization ......................................................................................................75 chksiso ........................................................................................................................................................................................................................................................................................................................................49 Stability......................................................517 Example 11: Active Vibration Isolation ........................................................................................................................................................................................................................................................................................................................................................................................................61 The Bound Computation Managers...................527 6 Bounds and Loop Shaping Introduction ......64 The Interactive Design Environment (IDE) ...............715 grpbnds .........................................................................41 ContinuousTime.........46 DiscreteTime........................................................................................710 genbnds...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................65 IDE Menus...............518 Example 12: Main Example (DiscreteTime)..................................................................................................................................................................................720 QFT Frequency Domain Control Design Toolbox User’s Guide iv ..................................................................................................................................................................54 Example 3: NonParametric Uncertainty..................................................77 cltmpl.........................................61 General Bound Manager ...........................................523 Example 15: MultiLoop Design ..............................................................................................56 Example 5: ACC Benchmark........................61 Single Loop Bound Manager ....................................................................................................................................................................................................................................................................................510 Example 8: Outer..........................................................................................................................Inner Cascaded Design...........................................................................................................................................
.....................................................................................................................................729 sisobnds ..........................................................................................727 qftex#..........................................................................................................................pfshape.................................................................................................................................731 A Glossary B Bibliography QFT Frequency Domain Control Design Toolbox User’s Guide v ........................................................722 plotbnds ....................................................................................................................................................................................728 sectbnds .............................................................................................................................................725 plottmpl .....................................................................................................................726 putqft ..............................
5 and are no longer supported. Inc. the following functions are no longer needed and have been removed from v2. Owing to the ease by which algebraic manipulations available with LTI/FRD models and arrays. Hence. All functions accept only these models as input arguments and compute output arguments in the same format. certain algebraic manipulations with arrays having different numbers of elements are not supported by the Control Toolbox and will not produce correct results. LTI or FRD array). However.e.. The exceptions to this rule are scalar arguments and matrix bounds. However.5: Conversions cp2mp mp2cp Complex matrix to magnitude/phase real matrices Magnitude/phase real matrices to complex matrix and General Utility freqcp dfreqcp qftdefs Compute continuoustime frequency response sets Compute discretetime frequency response sets Userdefined defaults The above operations can be easily carried in the command line. We list below all functions that have been removed from V2.Preface What’s New This major revision is the first of its kinds that is not backward compatible with any V1.0 release by The MathWorks. we strongly recommend that previous users read this section first. If you are a new user.x versions dating back to the original V1. the use of LTI and FRD models and arrays from the Control Toolbox that began in V2. To begin. then skip this part and proceed directly to the Introduction. in 1993. the following functions have been removed Arithmetic addcp addnd mulcp mulnd clcp clnd Addition of frequency response sets Addition of transfer function num/den sets Multiplication of frequency response sets Multiplication of transfer function num/den sets Compute closedloop frequency response set Compute closedloop transfer function num/den set and in their place we now have Arithmetic addtmpl cltmpl multmpl Add LTI/FRD arrays Closedloop LTI/FRD arrays from openloop arrays Multiply LTI/FRD arrays QFT Frequency Domain Control Design Toolbox User’s Guide vi . For example.. the Control Toolbox’s freqresp now computes the frequency response of a plant set (i.0 is now a Toolbox standard.
can quickly learn the basic concepts behind QFT. You will first QFT Frequency Domain Control Design Toolbox User’s Guide vii .5 the form is much simpler lpshape(w. in many functions the number of input arguments is now smaller. The following set of demo files has been removed Examples qftdemo Special demo facility for the examples in Chapter 5 Of course. a compact disc mechanism and active vibration isolation in an engine to illustrate the need for feedback in general and the flexibility of QFT for a wide range of problems. It then describes how to formulate a QFT design problem for such systems: choose a feedback structure. the following functions are no longer needed and have been removed Interactive Design Environments dlpshape dpfshape lpshape Discretetime controller design Discretetime prefilter design and pfshape now work in continuoustime and discretetime settings. A detailed design is then developed for a generic robust performance problem to illustrate QFT design in general and use of the Toolbox functions in particular. In addition. model the process dynamics (with or without uncertainty) and finally define appropriate frequencydomain specifications. Chapter 4.C0.numP0. loop shaping and analysis. The presentation in this chapter focuses first on continuoustime systems and then repeats the presentation for discretetime systems. Chapter 2. leaps right into the QFT design procedure and leaves some of the theoretical details to Chapter 4.bdb. Using the Nichols Chart.bdb. Familiarity with discretetime systems is required for discretetime QFT design.denC0.5.delay0. Organization This manual was written such that any user.denP0.P0.Since LTI/FRD model objects now include sampling time for discretetime systems. provides theoretical background on stability analysis of feedback systems using Nichols charts (Nichols charts are the domain of choice for QFT designs). The only requirements are a working knowledge of classical frequencydomain concepts commonly taught at a junior/senior undergraduate course. The Feedback Problem.m and has been updated to comply with V2. from the practicing engineer to the researcher in academia. Feedback Design with QFT. For example. It begins with an introduction of the various steps in a typical design: generation of plant templates. begins with two realworld examples. previous calls to lpshape had this form lpshape(w. The duplication of example files have been simplified.numC0.phs) while in V2. the main set of Mfiles comprising of all examples is still available from qftex*. computation of bounds. Chapter 3.phs) We recommend that you familiarize yourself with the new call formats and make use of our extensive set of updated example files to observe correct use of LTI/FRD arrays in this Toolbox.
Two appendices are included: A Glossary and B Bibliography. consists of a detailed description of the bound computation functions and the special functions that create CAD environments for controller (loopshaping) and prefilter design. His recent research focuses on congestion control of the Internet and modeling of feedback in biological systems such as the HypothalamusPituitaryThyroid axis and Circadian rhythms. an Academic Guest. Terasoft. which specializes in developing custom data visualization applications in MATLAB and Java. degree in Mechanical Engineering from Ohio State University in 1982. includes fourteen examples illustrating a wide range of QFT designs. and some industrial problems. respectively. real time particle analyzers and vibrations reduction. is the reference chapter that describes the Toolbox functions. Swiss Federal Institute of Technology.S. Chait has numerous publications in the area of robust control design. Measurement and Control Laboratory. Haifa. plants with different types of uncertainties. About the Authors Craig Borghesani Craig Borghesani received his B. in 1993. Chapter 5. Dr. Amherst. University of Massachusetts. he has started his own engineering software development company. Inc. Department of Mechanical Engineering. Details of all the Toolbox functions follow in alphabetical order. where he developed the code for this Toolbox. This criterion is illustrated with several examples.S. Switzerland and a Lady Davis Fellow.ecs. and Philips Research Laboratories.umass. Bounds and Loop Shaping. The notions of model uncertainty and plant templates are defined and are followed by the extension to a robust stability criterion. In recognition of this work. Delft University.S. Chait resides in Western Massachusetts with his wife and two daughters. singleloop.. For more details visit http://www. Chapter 6. The section ends with a similar presentation of stability.D. for example in automatic welding. He received his M. degree in Interdisciplinary Engineering (Robotics) from Purdue University in 1990. Since then. Dr. Chait has consulted for industry in a broad range of applications. Chapter 7. Yossi Chait Yossi Chait received his B. degree and Ph. Currently he is an associate professor at the Mechanical Engineering Department. The stability criterion used with Nichols charts is then introduced as related to its counterpart. He has been active in Quantitative Feedback Theory teaching and research for the past fifteen years. Dr. degree in Mechanical Engineering from Michigan State University in 1984 and 1988. cascadedloop and multiloop systems.learn how the usual Nyquist plot in the complex plane is mapped into a similar plot in a Nichols chart. he was an Air Force Institute of Technology Distinguished Lecturer and was a Dutch Network Visiting Scholar at the Laboratory for Measurement and Control. degree in Mechanical Engineering from the University of Massachusetts.S. Examples. The examples cover continuoustime and discretetime systems. Amherst.edu/mie/labs/dacs/. the Technion. uncertainty and robust stability concepts for discretetime systems. ETH. Reference. and his M. a visiting appointment at Tel Aviv University. Zürich. QFT Frequency Domain Control Design Toolbox User’s Guide viii . the Nyquist stability criterion in the complex plane. Israel.
Yaniv was a senior control engineer at the Systems Division. Rob Osborne. Israel. linear and nonlinear systems. Houpis. Yaniv was invited several times to the US Air Force WPAF Labs under the Window of Science program. and presented numerous short courses on QFT around the world.H. Julie Rodrigues. degree in Mathematics and Physics from Hebrew University.D. John Kresse. Eyal Sapir. He has been active in the Quantitative Feedback Theory area since starting his Ph.Oded Yaniv Oded Yaniv received his B.D. Roy Lurie. Israel. Stuart Sheldon. The contributions of the following people are acknowledged: Ronen Bone. in 1974. in 19831987. Dr. Horowitz. Tadiran. Maarten Steinbuch. for example. Dr. the original developer of the Quantitative Feedback Theory method. QFT Frequency Domain Control Design Toolbox User’s Guide ix . Israel.Sc. Yaniv's research interests are in the areas of robust. Andy Potvin and Jim Tung who assisted us at various stages of the project. and his M. C. degree in Applied Mathematics from the Weizmann Institute of Science. respectively. Yahali Theodor. research under the supervision of Prof. Currently he is on the faculty of the Electrical Engineering/Systems Department at Tel Aviv University. We would like to thank the following people from The MathWorks: Liz Callanan. degree in Physics and Ph. Since then he has been a consultant to major companies in the Israeli industry. at NASA Goddard. Dr. Acknowledgements The authors would like to acknowledge Professor Isaac Horowitz. Myoung Soo Park. Pepijn Wortelboer and Yuan Zheng.Sc. Israel in 1976 and 1984. Richard Sating.
resonances and unmodeled high frequency dynamics. • Plant Models from Experiments. QFT can be considered as a natural extension of classical frequencydomain design approaches. loworder controller with minimum bandwidth. plant uncertainty. • Design tradeoffs at each frequency are highly transparent between stability. disturbance level and controller complexity and bandwidth. A common approach is to run physical experiments and compute directly the frequency response of the plant. The motivation for QFT is feedback design in practice – an evolving process in which the designer must tradeoff between complexity and specifications. For example. The specific characteristics of QFT are: • The amount of feedback is tuned to the amount of plant and disturbance uncertainty and to the performance specifications. The QFT philosophy for feedback design fits a wide range of applications: • Plant Uncertainty. Isaac Horowitz introduced a frequencydomain design methodology [1] that was refined in the 1970’s to its present form.1 Introduction About Quantitative Feedback Theory In the 1960's. . performance.1 Control design necessary to accomplish performance specifications in the presence of uncertainties (plant changes and/or external disturbances) is a key consideration in any real feedback design. commonly referred to as the Quantitative Feedback Theory (QFT) [2. The QFT is an engineering method devoted to practical design of feedback systems. In most practical design situations iterations are inevitable. the dynamics of the radial loop in a compact disc or a disk drive mechanism contain a large number of mechanical resonances – even a detailed finiteelement analysis cannot generate a reasonable model for control design with tight specifications. 1 Recent books on QFT are [30][32]. Frequency response uncertainty sets are then created and QFT works with such sets without requiring rational plant identification.3]. • The method extends highly intuitive classical frequencydomain loop shaping concepts to cope with simultaneous specifications and plants with uncertainties. In QFT. one of the main objectives is to design a simple. For example. and QFT offers direct insight into the available tradeoff between controller complexity and specifications during such iterations. Many systems have complex dynamics and are very difficult to model analytically. as a continuation of the pioneering work of Bode. the first mode’s natural frequency in a compact disc drive may vary by ±5% from its nominal value due to manufacturing tolerances and a wide range of operating temperatures (if used in a car). The foundation of QFT is the fact that feedback is principally needed when the plant is uncertain and/or there are uncertain inputs (disturbances) acting on the plant. QFT works directly with such uncertainties and does not require any particular representation. The controller should meet specifications in spite of variations in the parameters of the plant model. Minimum bandwidth controllers are a natural requirement in practice in order to avoid problems with noise amplification.
g..Inner Cascaded Design and Example 15: MultiLoop Design in Examples). For example.Introduction • Linear Plants from Nonlinear Dynamics.g. The design (via standard QFT procedure) relies on Schauder fixed point theorem and Homotopic invariance to show stability of the nonlinear system (the mathematics is rather deep compared with that used in LTI systems). No prior familiarity with QFT is required with the exception of classical frequencydomain concepts.g. The QFT method. Example 8: Outer. QFT Frequency Domain Control Design Toolbox User’s Guide 12 .. In real life controllers are constrained by hardware. the actual design procedure is as straightforward as in the LTI case. from the control engineer’s viewpoint. QFT has also been successfully applied to timevarying and nonlinear systems (e. see [3]).. QFT works with such incomplete form and does not require specifications to be defined at each frequency from zero to infinity. Unlike the conventional small signal linearization about an operating point. This manual is intended to provide you with the basic understanding of QFT as necessary to use the Toolbox effectively. The above provided a brief background on QFT and presented some possible scenarios where this Toolbox can be useful in your feedback design. in a noise control system noise reduction should be at least 24 dB in the range [100. Horowitz's idea is to replace the nonlinear plant with a set of linear. • Hardware Constraints. The more you design with the Toolbox. Moreover. For a detailed teaching reference of QFT please refer to [3]. e. a few words about the suitability of QFT to different classes of problems. QFT reveals via QFT bounds the “toughness” of each specification relative to others. has been extended to cascaded loop systems and multiloop systems using a sequential loop closure approach. This Toolbox focuses on a class of feedback problems that involve uncertain. proportional) can solve the problem. timeinvariant (LTI) plants using assumed input and output responses. However. originally developed for uncertain LTI systems singleloop systems. the more you will learn about QFT. With QFT you quickly test if a particular controller (e. Finally. The Toolbox can also be used to solve multiloop problems such as cascadedloop and sequentially closed multiloop systems but familiarity with the design algorithms is required (see Examples Example 7: InnerOuter Cascaded Design. real life specifications are often incomplete. The design problem consists of several closedloop performance specifications and the objective is to synthesize a controller to meet simultaneously all specifications (a robust performance problem). • Several Performance Specifications. singleloop design (singleloop and decentralized systems).500] Hz. the DSP board limits the locations of the controller’s poles to be less than 100 Hz. We recommend that you read the entire manual before beginning work with the Toolbox. limits the number of digits that can be used to represent the controller’s coefficients or limits the controller’s bandwidth.
QFT is equally suited to solve problems from either class. Disturbances are caused. as in the two examples below. Compact Disc A compact disc (CD) player (Fig. Given the fact that control design in applications is an iterative process. 1) is an optical decoding device that reproduces highquality data from a digitally coded signal recorded as a spiral shaped track on a reflective disc. for example. since QFT does not require a “well defined” problem after each implementation. a control design/implementation/redesign iteration cycle can be performed efficiently using QFT. the ability to attack problems from the second class in a direct manner is precisely what renders QFT so powerful in applications. The second class includes plants for which available models are not sufficiently accurate for control design or may not even exist. the best models for control design are obtained from measurements.200] Hz.. in general. for feedback and to illustrate the suitability of QFT for a wide range of realworld problems.g. To execute a QFT design you are not required to identify a plant model from the data nor should you define specifications in any specific format over the whole frequency range from zero to infinity. disc ω radial motor main motor φ radial arm optical pickup Figure 1: A schematic view of a Compact Disc mechanism The difficulty in achieving good track following is due to disturbances and plant uncertainty. in an engine vibration control we may require disturbance rejection (acceleration transmissibility) of 20 dB in the working frequency band on [100. In the second class. however. by external shocks when the CD is used in a car going over a bump .2 The Feedback Problem Motivating Examples The two examples in this chapter serve two purposes: to establish the need. These examples belong to a particular class of problems from two major classes found in applications: • • The first class consists of “well defined” problems where the plant model (including uncertainty) is known with great accuracy and the performance specifications are defined from zero to infinite frequency. And the specifications may be defined only over a finite bandwidth. e.
Plant uncertainty is always a factor in mass production due to manufacturing tolerances. 3) were found by averaging over several hundreds frequency response tests. The plant frequency response set can be computed from the measured Quantitative Feedback Theory Toolbox User's Guide 22 .62 and 4. To quantify possible variations. 10 dB 0 10 5 10 2 10 0 Deg 200 5 10 3 Hz 10 4 10 5 400 2 3 5 4 Hz 10 10 10 10 Figure 3: Measured nominal radial openloop frequency response Due to manufacturing variations. the goal is to control the position of the spot on the disc. The transfer function from the current Irad to the angular displacement φ of the arm is called Gact(s) A (nonlinear) gain Garm relates the angular displacement with the spot movement in the radial direction. The nominal dynamics (Fig. are characterized by mechanical vibrations that fall within the controlled bandwidth. The erratic low frequency response is indicated by low coherence. difficult to model analytically. the next step involves modeling of the radial loop dynamics. The difference between the track position and the laser beam spot position on the disc is detected by the optical system. we are required to define uncertainty model. This in turn generates a torque resulting in an angular acceleration. it generates a radial error eR signal via a gain Gopt. With the Toolbox you can define the model either as a rational transfer function or in terms of its frequency response (possibly from measurements). At higher frequencies the measurement shows parasitic dynamics due to mechanical resonances of the radial arm and mounting plate (flexible bending and torsional modes). we allow each natural frequency to vary independently by ±2. Assuming constant radial velocity ω.The Feedback Problem or in a portable CD used by a runner. track Σ Gopt K Gact Garm spot A/D ts Figure 2: Block diagram of the radial loop Now that the feedback structure is defined. Feedback is clearly required in order to achieve good track following. Only the controlerror signal eR is available for measurement. Important uncertain parameters in the dynamics are three undamped natural frequencies with nominal values of 0.3 kHz. A controller K feeds the radial motor with the current Irad. At low frequencies the actuator transfer function from current input Irad to position error output eR is a critically stable system with a phase lag of 180° (rigid body mode). 1.8. The CD dynamics.5% around its nominal value. Figure 2 presents a block diagram of the radial control loop.
0). When using QFT. The radial loop design must take into account several conflicting factors: • • • • • Accommodation of mechanical shocks acting on the player. K. ω ≥ 0 and (c) robust sensitivity such that the closedloop sensitivity function meets the magnitude specification shown in Fig. The QFT. and Power consumption. stability margins were related to the gain and phase distances between the openloop plot and the critical point (1. the feedback problem is to design the controller. it is possible to translate “soft” timedomain criteria. Achievement of the required disturbance attenuation at the rotational frequency of the disc. An alternative. for all uncertainty. this approach was found to work in many design examples. satisfaction of the frequencydomain specifications cannot guarantee the original timedomain criteria. Audible noise generated by the actuator. The specifications are: (a) robust stability. into appropriate frequencydomain specifications. design objectives will be a combination of timedomain and frequencydomain criteria. you can consider the feedback design objectives. Although. In general. 102 101 100 Restricted Area 10 1 Mag 102 103 10 4 10 1 10 2 10 3 104 Figure 4: Robust sensitivity reduction specification Finally. such as overshoot and settling time. An excellent description of the possible translation approaches is given in [3]. requires frequencydomain specifications. you need not define the specifications in any specific format such as rational functions or weighting matrices. such that the above specifications are met. Now that the plant dynamics are defined. yet equivalent way to specify such margins is via maximal amplitudes of certain closedloop relations (see discussion in Robust Frequency (Hz) Quantitative Feedback Theory Toolbox User's Guide 23 . (b) gain and phase with margins GarmGact KGopt 1 + Garm Gact KGopt ( jω) ≤ 3. The above listed criteria can be formulated in the frequency domain. 4. In classical frequencydomain designs. Playability of discs containing faults. . necessary to cope with significant disc eccentricity.The Feedback Problem data (nominal case) and from the above parametric variations (see Example 14: CD Mechanism (Sampleddata)). In many cases. being a frequencydomain method.
ω ≥ 0 1 + PG and the second is disturbance rejection (transmissibility of disturbance acceleration to measured acceleration) of 20 dB in the working frequency band Quantitative Feedback Theory Toolbox User's Guide 24 . 40 20 0 20 101 50 dB 10 2 Hz 10 3 4 10 Deg 0 500 10 1 103 Hz Figure 6: Measured openloop frequency response 102 104 There are two primary control objectives. 5 has the openloop plant P consisting of the combined engine + structure + mount + amplifier dynamics. Cary. NC).The Feedback Problem Stability (Margins) Bounds). there should be no large peaking in the sensitivity function (track to error) and the complementary sensitivity function (track to spot) at any frequency over all possible parameter variations. This problem appears in Example 14: CD Mechanism (Sampleddata).200] Hz. A “tough” performance specification is placed on the sensitivity function in the frequency band of [0. In this problem. to ensure reasonable stability margins.2. Engine Active Vibration Isolation This example involves singleaxis active vibration isolation (courtesy of LORD Corporation. The experimental plant frequency response is from an accelerometer mounted on a structure and an active mount connecting the structure to a vibrating engine. The first is stability with reasonable margins PG ( jω) ≤ 1. 6. The feedback system shown in Fig. disturbance forces Q P plant D disturbance acceleration Σ Σ  G controller Y measured acceleration Figure 5: The active vibration isolation feedback system The frequency response of the openloop plant is shown Fig.
. Formulation of the QFT Design Problem When the response of an openloop process does not meet its desired behavior due to uncertainty in its dynamics. 7 where the controller to be designed is single inputoutput. if the controller to be designed is G (in the forward path). 7 covers many singleloop systems. This problem appears in Example 11: Active Vibration Isolation. Due to hardware constraints.200] Hz . With respect to Fig. the controller cannot have more than five poles. then H could be used to denote sensor dynamics. disturbances). Quantitative Feedback Theory Toolbox User's Guide 25 . G could be used to represent other dynamics. cascadedloop and multiloop systems designed sequentially or decentralized. 7 consists of the plant (openloop process dynamics)..1. The Toolbox focuses on feedback problems described in Fig. 7 equally represents continuoustime or discretetime systems (i. 7.e. reference disturbances input disturbances output disturbances W R reference prefilter signal V G U Σ D P plant dynamics F Σ E error signal Σ  manipulated control law signal control hardware Σ Y controlled signal H sensor hardware Σ N sensor noise Figure 7: The singleloop feedback system The feedback system shown in Fig. PID) and possibly another transfer function referred to in the manual as a second known transfer function.g.g. you should consider using feedback. 1 + PG The interaction between the controller and the plant dynamics outside this frequency range should be minimized.The Feedback Problem 1 ( jω) ≤ 0.. the controller to be designed (e. Note that Fig. and/or uncertainty in the input signals (e. ω∈[100. The structure shown in Fig. P can be P(s) or P(z)). while if the controller is H (in the feedback path).
is omitted for presentation convenience. follows very closely classical designs using Bode plots. or the frequency. Various descriptions of uncertainty models in the Toolbox are the focus of the next section. we call it a robust performance problem. s. Note that. ω. To illustrate use of Table 1. Specifications in the Toolbox are entered in terms of frequency responses. 4 looks like 26 . performed in the frequency domain. Table 1: Singleloop specification types Specification Example of application Toolbox notation (ptype) PGH ≤ Ws 1 1 + PGH 1 ≤ Ws 2 F 1 + PGH P F ≤ Ws3 1 + PGH G F ≤ Ws 4 1 + PGH GH ≤ Ws5 F 1 + PGH PG F ≤ Ws6 1 + PGH PG Ws7a ≤ F ≤ Ws7b 1 + PGH H ≤ Ws8 F 1 + PGH F gain and phase margins (with sensor dynamics) sensitivity reduction disturbance rejection at plant input control effort minimization control effort (with sensor dynamics) tracking bandwidth (with sensor dynamics) classical 2DOF QFT tracking problem rejection of disturbance at plant output (with sensor dynamics) rejection of plant input disturbances (with sensor dynamics) 1 2 3 4 5 6 7 8 9 F PH ≤ Ws9 1 + PGH In this table. That is. in a continuoustime setting. when possible. the performance specifications must be satisfied for all possible cases admitted by the specific uncertainty model. and where ptype = i is used as an input argument in many Toolbox functions to define the specification of interest. the dependency on the Laplace variable. The model for the openloop dynamics can either be fixed or include uncertainty. You can place performance specifications on any singleloop closedloop relation as shown in Tables 1 and 2 (F = 1 when controller bounds are computed). If the problem requires that the specifications be met with the uncertain dynamics. Wsi denotes the specification placed on the magnitude of the transfer function.Formulating FrequencyDomain Specifications The QFT design. the sensitivity reduction specification shown in Fig.
For example. B. the Toolbox can also be used in a sequential design of cascadedloop and multipleloop systems that involve singleloop design at each design step. The input arguments. then you can convert Quantitative Feedback Theory Toolbox User’s Guide 27 . ω∈[0. with ptype=10 and A = 0. transfer function) when it is known. 2. A frequency response when only the measured frequency response data is known. genbnds can be used to solve any of the problems in Table 1 above except ptype=7. z = e jωts . Formulating OpenLoop Dynamics Description Most functions require input arguments in terms of their frequency responses. In many cases you can easily analyze stability by counting crossings in the Nichols chart (see Using the Nichols Chart) If the openloop system description does not include uncertainty. Both forms are standard MATLAB format.g.. A. A similar situation exists in a discretetime setting. B = H. C = 1 and D = PH is the same as the problem in Table 1 above with ptype=5. There are two limitations imposed when frequency responses are used. Advanced QFT users with knowledge of relevant algorithms can use the following linear fractional transformations as general problem settings: Table 2: Multipleloop specification types Specification Example of application Toolbox notation (ptype) A + BG ≤ Ws10 C + DG A+BG ≤ Ws11 C + DG innerloop design of a cascaded system with two loops singleloop design in a multi inputoutput problem 10 11 Note that with ptype=10. A model (e. C and D are function of the various plants and controllers in cascadedloop and multiloop systems. Closedloop stability cannot be analyzed by the algorithm and analysis of the closedloop response is limited to the fixed frequency vector. 4. then a transfer function model can be defined using a numerator and denominator pair of row vectors or a complex frequency response row vector. ω∈ [ 0 . π/t s ] . 200] Hz 1 + PGH where the real valued Ws(ω) takes on the frequency dependent values as in Fig. The openloop dynamics can be defined in two ways: 1.The Feedback Problem 1 ( jω) ≤ Ws ( ω) . If you have a statespace model. As mentioned above. A sensitivity reduction problem would look like ( t s denotes sampling time) 1 1 + PGH ( z ) ≤ Ws ( ω ) .
a ∈[1. to include mixed uncertainties (both parametric and nonparametric). ∆ m ( s ) stable . s (s + a) Similarly. Whenever possible use a parametric over a nonparametric model. in the Toolbox we allow the plant set. the frequency response of two similar disk drives should be expected to be different due to manufacturing tolerances. s(s + a) The difference between the two models. a ∈[1.10] . The reason is that nonparametric representations ignore specific prior knowledge of the phase of the uncertain Quantitative Feedback Theory Toolbox User’s Guide 28 . For example. follow with the discretetime case. Hence. your uncertain dynamics will be described by P = {Pi ( jω): where n denotes the number of separate measurements. Due to numerical issues. i = 1. ∆ m ( s ) stable .The Feedback Problem it to a transfer function model or compute its frequency response. In such a case. parametric and nonparametric. ∆ m ( jω) < Rm ( ω) . you should avoid use of transfer functions for highorder systems. P . consider the set P = P ( s ) = ka : k ∈[1. One possibility for defining your uncertain dynamics is to directly measure the frequency response of the process using an experiment. Also. combining the above models suggests the following plant family P with mixed uncertainty: P = Ps = ka (1 + ∆ m s ): k ∈[1. Parametric uncertainty implies specific knowledge of variations in parameters of the transfer function. The transfer function model of an uncertain system can be defined as follows. For example. if measurements were taken at different operating points (for nonlinear processes) you will end up with a response for each operating point.… n} Another structure of a nonparametric transfer function considered here is P = {P ( s ) = P0 ( s ) (1 + ∆ m ( s ) ): ∆ m ( jω) < Rm ( ω) . You can end up with a set of responses if the measurements were made with several plants that are similar but are not exactly the same. and (3) to simplify solving the feedback design problem. ContinuousTime A continuoustime uncertain transfer function model can have parametric. A more interesting case occurs when the system description includes uncertainty.10] . nonparametric or mixed parametric and nonparametric structures. We first consider the continuoustime case. and finally discuss their specific data formats within the Toolbox. a parametric transfer function is also one whose numerator and denominator coefficients lie in intervals. A nonparametric uncertainty is used in several cases: (1) when the exact nature of uncertainty cannot be correlated to the model’s parameters. } In addition. The frequency response of an uncertain dynamics is defined in this Toolbox by a complex frequency response matrix. where each row denotes the response of single case.10] .10] . has a very important consequence in control design. (2) in conjunction with measurements and robust identification.
Also.… n .90 rad/sec are shown in Fig. Templates are often obtained directly from frequency response measurements.5. For example.5. consider the above parametric plant. jω/1. the circle becomes an ellipse. degree DiscreteTime One possibility for defining your uncertain dynamics is to directly measure the frequency response of the process using an experiment. however. One such radius function is Rm (ω) = 0. s } Quantitative Feedback Theory Toolbox User’s Guide 29 . if measurements were taken at different operating points (for nonlinear processes) you will end up with a response for each operating point. 8 with a dashed line superimposed over the parametric sets. o . ω ≤ π t . Let the nominal plant be at the values a = k = 10.The Feedback Problem plant.5. To see this point.91 + 1 . You can end up with a set of responses if the measurements were made with several plants that are similar but are not exactly the same. your uncertain dynamics will be described by P = {Pi ( jω): i = 1.parametric o ω=. Only the boundaries of each response set are shown (solid lines). each point within the solid lines is also part of the set.nominal dash . A nonparametric representation for this plant is obtained by selecting the radius function Rm(ω) such that at each frequency the nonparametric frequency response set forms a circle (in the complexplane) that encloses the parametric response set.25.nonparametric solid . Hence. the choice of the nominal plant affects the level of overbounding. the frequency response of two similar disk drives should be expected to be different due to manufacturing tolerances.9 jω/.25.5. At a fixed frequency.001 + 1 On a Nichols chart. the plant’s frequency response set (regardless of the uncertainty model) is called a template. 8 at frequencies ω = 0.5 o ω=5 o dB ω=25 o ω=90 Figure 8: Parametric and nonparametric frequency response sets Of course.90 rad/sec. and the nonparametric frequency response sets for ω = 0. The frequency response sets of the parametric uncertain plant are shown in Fig.
9] z−a } Similarly.The Feedback Problem where n denotes the number of separate measurements and t s denotes sampling time. however.9] . A discretetime uncertain transfer function can have parametric. SS or FRD objects.10] . a zero/pole/gain (ZPK). properties. 0.8. You can type ltimodels at the command line for a quick overview. Fixed models are defined as a transfer function (TF). ∆ m z = e jωts < Rm ( ω) . An LTI array is a collection of TF. P. For example P= {() P z = kz : k ∈[1. supported math and logical operations and the concept of arrays. ZPK. nonparametric or mixed parametric and nonparametric structures. In such a case. a ∈[0.a ( ) } Data Format The data format in the Toolbox is now consistent with linear timeinvariant (LTI) models in the Control Toolbox. you should read Chapters 14 in the Control Toolbox manual to become familiar with definitions. Because the Toolbox now supports only LTI models for its input and output arguments. Parametric uncertainty can be modeled using LTI arrays. a parametric transfer function is also one whose numerator and denominator coefficients lie in intervals. combining the above models suggests the following plant family P with mixed uncertainty P= {() P z = kz (1 + ∆ m ( z ) ): k ∈[1.10] . Note that for a discretetime design the sampling frequency used for measuring the responses must be chosen to match the design. ∆ m ( z ) stable ( ) } In addition. Parametric uncertainty implies specific knowledge of variations in parameters of the transfer function. to include mixed uncertainties (both parametric and nonparametric). a statespace (SS) or a frequency response data (FRD). ∆ m ( z ) stable z.8. Quantitative Feedback Theory Toolbox User’s Guide 210 . The structure of a nonparametric transfer function considered here can be a set of discretetime frequency responses or P = {P ( z ) = P0 ( z ) (1 + ∆ m ( z ) ): ∆ m z = e jωt s < Rm ( ω) . in the Toolbox we allow the plant. creation of such models. 0. a ∈[ 0. it is essential that you become familiar with these concepts.
The design procedure is developed in a constructive manner using a simple example. you do not have to pass bounds into the design function lpshape. The functions all have many defaults values. Design of the controller (and possible prefilter). and 3.e. for example. At a fixed frequency. Detailed analysis of the design. Due to engineering approximations involved. a prefilter will be designed after the loop is closed (i. QFT converts closedloop magnitude specifications into magnitude and phase constraints on a nominal openloop function. the plant's frequency response set is called a template. Given the plant templates. if robustness is not an issue. an analysis step usually follows the design step.. Note that some steps are optional. 2. You can even jump right into loop design (lpshape). For example. A QFT design typically involves three basic steps: 1. In systems with parametric uncertainty models. These constraints are called QFT bounds. 31 . In a two degreeoffreedom design. Computation of QFT bounds. you need not define the sampling time if you are performing a continuoustime design. you must first generate plant templates prior to step 1.3 Feedback Design with QFT Getting Started In this chapter we describe all relevant details of a singleloop QFT design. A nominal openloop function is then designed to simultaneously satisfy its constraints (expressed as bounds) as well as to achieve nominal closedloop stability. The various steps in a QFT design procedure are shown in the following flow chart. a controller has been designed).
Feedback Design using QFT
define problem data
Define frequencies (w) Define models (P, R, C) Define sampling time (ts ) Define specs (Ws) Define nominal response indices (nompt) Define controller type (loc) Define phase array for computing bounds (phs)
PLOTTMPL
(v iew bounds)
SISOBNDS or GENBNDS
compute and manipulate bounds (compute bounds)
GRPBNDS
(combine bounds)
SECTBNDS
(worst case bounds)
PLOTBNDS
(v iew bounds)
LPSHAPE
design
PFSHAPE
CHKSISO or CHKGEN (compare design to specific ations)
analysis End
Flow chart showing basic steps in a QFT design The QFT design procedure for continuoustime systems is now presented. An exposition for discretetime systems then follows, although the two procedures are quite similar. The discussion for each class of systems is divided into several sections based on the conventional order of QFT design execution. These sections discuss topics such as templates, choosing frequencies, choosing the nominal plant, stability bounds, performance bounds and design. Where deemed necessary, each section is further divided into two parts: concept and practice. The concept part covers conceptual issues while the practice part reveals how the particular procedure is practiced in the Toolbox.
Quantitative Feedback Theory Toolbox User’s Guide
32
Feedback Design using QFT
ContinuousTime
The basic steps in a QFT design procedure are presented in this section by first discussing each step conceptually and then showing how it is applied in practice. For this purpose we consider a generic robust design problem with simultaneous specifications and parametric plant model. Suppose the uncertain plant P(s) in the system shown in Fig. 9
reference disturbances input disturbances output disturbances
W
R
reference prefilter signal
V G U
Σ
D P
plant dynamics
F
Σ
E
error signal
Σ

manipulated control law signal control hardware
Σ
Y
controlled signal
H
hardware Figure 9: The singleloop feedback system. sensor
Σ
N
sensor noise
is described by the parametric family P = P ( s ) =
P
k
: k ∈[1,10] , a ∈[1, 5] , b ∈[ 20, 30] . ( s + a)( s + b)
We assume a sensor with unity gain H(s) = 1. The feedback problem is to design a controller G(s) such that the closedloop system is robust stable and has at least 50° phase margin for all P(s)∈ P . The specification
PG ( jω) ≤ Ws = 1.2, for all P ∈P , ω∈[0,∞) 1 + PG
implies at least 50° lower phase margin and at least 1.66 lower gain margin (not simultaneously). To compute in general these margins, use the following formulae [8] lower gain margin = 1 + Ws−1 lower phase margin = 180o − θ, θ = cos 0.5Ws−1 − 1 > 0 .
(
)
The Robust Stability (Margins) Bounds Section includes more details about margins and bounds. Note that different margins bounds can be computed using the sensitivity function problem sisobnds with ptype=2 (see [8] and [15] for details). In addition, there are two robust performance specifications: reject plant output disturbance according to
( jω) + 64 ( jω) + 748 ( jω) + 2400 Y , for all P ∈P, ω∈[ 0,10] ( jω) ≤ 0.02 D ( jω) 2 + 14.4 ( jω) + 169
(no specific reason for the transfer function on the righthand side) and reject plant input disturbance according to
3
2
Quantitative Feedback Theory Toolbox User’s Guide
33
Feedback Design using QFT
Y ( jω) ≤ 0.01, for all P ∈P , ω∈[ 0,50] . V
We first discuss conceptually the design procedure for robust stability and for robust performance: generating templates, computing bounds, loop shaping and analysis. We follow with a stepbystep description of how a QFT design is performed in this example. Note that in the discussion below, all the commands shown in a separate line such as
nompt = 21;
also appear in each example file such as the file qftex1.m.
Templates
One of the most important factors in control design is to use an accurate description for the plant dynamics. Because QFT involves frequencydomain arithmetic, its design procedure requires you to define the plant dynamics only in terms of its frequency response. The term template is used to denote the collection of an uncertain plant's frequency responses at a given frequency. The use of templates frees you from the need to have any particular plant model representation. In QFT, you can use frequency response measurements obtained from experiments to describe the dynamics. However, specific uncertainly models are often used, such as parametric and nonparametric models. The relation between such models and their templates is explained below.
Concept
The Toolbox allows mixed uncertainty model for the plant P (parametric and nonparametric), and it allows for one additional parametric uncertain transfer function in the loop (G or H). Because parametric uncertainty must be defined in the Toolbox in terms of a finite set of plants (most often obtained by forming a grid in the uncertain parameter space), you should always carefully study the resulting plant response set. A generic illustration of “good” and “bad” grid choices are illustrated in Fig. 10. In general, there are no rules for obtaining a reasonable approximation of the boundary from the structure of the parametric uncertain plant. However, for specific cases, such as transfer functions with coefficients belonging to known intervals or with coefficients related to the uncertain parameters in a linear or multilinear fashion, you can find some useful results in [e.g., 911].
original template
* * ** * * * * * ** * * * ** * * ** * * "good" approximation of *
template's boundary
* * * * * * * ** * * * * "bad" approximation of
template's boundary
Figure 10: “good” and “bad” approximations of a plant template. The algorithms for computing bounds require input data in terms of frequency responses (templates) rather than in terms of numerator/denominator transfer functions. For simply connected templates, it is necessary and sufficient to work only with the boundary of these templates [15]. (This is related to a celebrated result in complex variables, the maximum principle.) The possible difficulty with this
Quantitative Feedback Theory Toolbox User’s Guide 34
a*b]). b = 20. then include another uncertain parameter eventually building up the template boundary. a = [1.a*b]).a+b.10). 25. plant. P = P ( s ) = : k = [1. 30] . or in general (as done in this example) using a grid of the parameter space since the number of uncertain parameters is small. are defined as LTI models. end k = 1.c) = tf(k. it comes with the price of design conservatism [12]. for k = linspace(1.c) = tf(k. ( s + a)( s + b) k Practice In the first step of a QFT design procedure you define models of openloop transfer functions (i. 5] . P(1.1. The idea advocated here is to arrive at an approximation where the template's grid points are “close” to each other uniformly.5. Let us arbitrarily choose the following element (an integer index) nompt = 21. c = c + 1. P(1. end The above uses the notion of LTI arrays. actuators and sensors.10. c = c + 1. Next.1.. The boundary of the corresponding template can be established using results from [911] in special cases.[1. Margin Quantitative Feedback Theory Toolbox User’s Guide 35 . 5.10). end b = 20.5. [1. The following defines a numerator and denominator matrix pair for the plant set (40 elements) that corresponds to the template's boundary: c = 1.1.10).a+b. a = 1. This conversion makes possible mathematical solutions to complex problems..a*b]). a solution may require an unrealistic long time to derive. k = 10. c = c + 1. fixed or uncertain. however. 8. A more careful study of the template can reduce this burden by eliminating interior points.Feedback Design using QFT approach is that if the plant has a large number of independently uncertain parameters.[1. Our study showed that 40 plant elements are sufficient to describe the template's boundary. b = 30. for k = linspace(1. a = 5. A crude discretization can be obtained using a simple grid over each uncertain parameter. P(1.e. Such a procedure will most likely yield interior template points that are not necessary for a QFT design and results in an undue computational burden. the template will have to be described with hundreds or even thousands of cases. Note that the first two indices are used for input/output relations while the third is used for arrays (i.a*b]). we must define a nominal plant element that will be used throughout the design.a+b.1. Typically. P(1. 3. For example. for a = linspace(1. 2. Transfer functions models. uncertainty in our context). c = c + 1. The frequency array must be chosen based on the performance bandwidth and shape of the templates. you will investigate how each uncertain parameter affects the shape of the template (holding all others fixed). One option is to convert the parametric model (or part of it) into a nonparametric model.10] .10.a+b. for a = linspace(1.c) = tf(k.10). [1.e. The next step consists of computing the frequency response set of the uncertain plant in rad/sec. Even with powerful computers. The choice of nominal element is arbitrary and has no effect on the design (except when it is predefined as in a nonparametric model). Please refer to Chapters 14 in the Control Toolbox manual for more details. b = [ 20. end b = 30.c) = tf(k.
21]).100]. To view the templates with a highlighted nominal case invoke plottmpl(w. If too few points are used. a vertical line. Viewing templates lets you verify that the template boundary approximation is reasonable and that you have selected an appropriate frequency array. a subset of the full frequency array. If you are uncertain how to select such a frequency array. Our array includes several frequencies within the performance bandwidth of [0. the template's shape becomes fixed.1 5 50 10 60 70 80 360 315 270 100 225 180 135 OpenLoop Phase (deg) 90 45 0 Figure 11: Plant templates at several frequencies.:.5. Plant Templates 0.1. It is very important that you view the plant templates before proceeding with the design. Here. 11. 12) exhibits almost 30 dB spacing. let us use only two points to describe the template ω = 5 rad/sec. We cannot over emphasize the importance of working with “smooth” approximation of templates (those whose boundaries are described by a sufficient number of points). P1 = P(:.50] and this particular frequency of ω = 100: w = [0. Hint: You can zoom in to any region in the plot if several templates appear clustered together.[1. simply start at a low frequency and advance with 23 octaves steps within the performance bandwidth and add frequencies above it as needed for margin bounds at higher frequencies.nompt). The template (Fig. The fatal implication of such a template on the shape of the bounds is discussed in the Bounds section below. Please refer to the Reference Chapter for details. the computed bounds will not be relevant to your original plant description whose boundary is a continuous smooth curve.1 5 10 100 10 20 30 OpenLoop Gain (dB) 40 0. plottmpl(w(2).10. For example. The templates are shown based on the second input argument. A more detailed discussion of how to select frequencies can be found in the next section.P. which results in the plot shown in Fig.P1). Quantitative Feedback Theory Toolbox User’s Guide 36 . at approximately ω = 100 rad/sec. or right mouse button to toggle on/off showing of a particular template.Feedback Design using QFT bounds should be computed up to the frequency where the shape of the plant template becomes invariant to frequency.
Fortunately. start with a grid every one octave or a few octaves (it will include many more frequencies than actually needed). you should look for frequencies where the shape of the template shows significant variations compared to those at other frequencies. or in the limit k lim P ( s ) = ∞ ω→∞ sn where n denotes the excess of plant poles over zeros. Next you should select a frequency grid between ω1 and ω2. By redundant we mean that having performance bounds within a few dB values from each other is not needed for design. ω1. What about the largest frequency in the array? Parametric uncertain plants will exhibit dynamics with monotonic behavior above a certain frequency ω2. a few iterations. So you can start with ω1 as the lowest frequency in the array.… ω→0 s where m denotes the free integrators. The basic rule is that for the same specification. The specifications below ω1 are most often monotonic too. An important question. The idea is to select a grid such that you compute bounds that capture variations in shapes and in specifications across that frequency band. m = 0. the corresponding bounds for ω ≥ ω2 will all be the same. you will obtain an insight into the nature of the bounds and their relation to the plant dynamics and specifications.1. or in the limit k → m P ( s ) ∞ .Feedback Design using QFT 5 20 5 25 OpenLoop Gain (dB) 30 35 40 45 50 360 315 270 225 180 135 OpenLoop Phase (deg) 90 45 0 Figure 12: A twoelement plant template Choosing Frequencies In any QFT design. From the resulting bounds. Therefore. since a performance bound at Quantitative Feedback Theory Toolbox User’s Guide 37 . This insight will be used to eliminate most of the redundant frequencies. is how to select this array from the possible range between zero and infinity. Usually. 2. So select ω2 as your largest frequency in the array. the bounds will change only with changes in the shape of the template. Considering that at high frequencies the only specification should be a constant robust stability margin (see next section). you have to select a frequency array for computing templates and for computing bounds (as explained below). How low should you select a frequency? Well. for which there is no definite global answer. for the same problem. at the most. for engineering design we need only a small set that can be found with. As a first cut. either a constant or a linear function of the frequency. most plants will exhibit dynamics with monotonic behavior in terms of the template shape below a certain frequency.
we need only a few nicely (frequency) spaced bounds for control design. One exception is the case of plants with resonant dynamics with variations at the natural frequencies or damping ratios. QFT converts closedloop magnitude specifications into magnitude and phase constraints on a nominal openloop function. The three most common types of bounds are illustrated in Fig. Note that the nominal plant index is an integer. As long as the set satisfies the assumptions on the uncertainty model given in ContinuousTime.Feedback Design using QFT ωx lies above the bound at ωy (ωy > ωx). Quantitative Feedback Theory Toolbox User’s Guide 38 . go over the example files and observe the frequency arrays chosen there relative to the problem data. which you think is most convenient for design. Bounds Given the plant templates. analysis of a completed design may indicate that you did not meet some specification over a small frequency range. These constraints are called QFT bounds. to get a better feel for selecting the array. Choosing the Nominal Plant In order to compute bounds. Pick the one. you may choose any plant case. In certain problems. you will have to designate one plant element from the uncertain set as the nominal plant (if there is no uncertainty the fixed plant is the nominal one). 13 using both complex plane and Nichols chart representations. the plant template and the corresponding bounds are not monotonic around a natural frequency (you may need to select a few frequencies within the band of natural frequency uncertainty). select a new frequency within this range. This is required in order to perform QFT design with a single nominal loop. However. This is what we mean by the need for iteration. If you described the plant with a nonparametric uncertainty model with disk uncertainty. when the uncertain set corresponds to parametric uncertainty you have a choice. the nominal plant is already determined. In such a case. Finally. This can happen only at a range for which you do not have a frequency in the array and obviously did not compute a bound there. In such cases. recompute bounds and then augment the design as necessary.
Sensitivity reduction type problems that require increased loop gain.Feedback Design using QFT Im dB margins x Re x Phase Im sensitivity reduction dB x Re x Phase control effort Im dB x Re x Phase complexplane N ichols chart Figure 13: Common types of QFT bounds. result in bounds about the origin (middle pair) where the loop response must remain outside the bounds. Note that the terms stability bounds and margin bounds have historically the same meaning in the QFT context. Control efforttype problems which limit the amount of loop gain.0) point in the complex plane) The Quantitative Feedback Theory Toolbox User’s Guide 39 . Robust Stability (Margins) Bounds In this section we discuss the consequences of the robust stability results in Robust Stability in terms of bounds on the nominal loop. We have not presented these results yet since familiarity with the theory is not required at this point for explaining the QFT design procedure. Margintype problems result in bounds about the critical point (top pair) where the loop response must remain outside the bounds (the dark shaded region is the one to avoid). result in bounds about the origin (bottom pair) where the loop response must remain inside the bounds. Concept The two conditions for robust stability (Robust Stability Criterion 2) are: (1) stability of the nominal system (corresponding to the nominal plant) and (2) the Nichols envelope does not intersect the critical point q (which is the (180°.0 dB) point in a Nichols chart or the (1.
A similar margin like specification is given by a constraint on the sensitivity function 1 ( jω) ≤ W > 1.Feedback Design using QFT second condition is equivalent to placing a magnitude constraint on the complementary sensitivity function L ( jω) < ∞ . for all P ∈P. ω ≥ 0 1+ L where ∂ P denotes the boundary of the template. it will not escape (fit in between) a large enough constant magnitude circle. the templates are simply connected and L(s) has a fixed number of unstable poles. for all P ∈∂ P. The gain and phase margins relative to W can be easily computed as done earlier with respect to a complimentary sensitivity weight Ws . ω ≥ 0 . ω ≥ 0 . The approximation introduces the problem. For example. ω ≥ 0 . if 1+L(jω) ≠ 0. Quantitative Feedback Theory Toolbox User’s Guide 310 . for each µ there is a closed curve about the critical point q – the classical closedloop constant magnitude circle [13]. In conditionally stable systems. QFT translates the robust margin (or stability margin only if Ws = ∞ or W = ∞) constraint into required conditions on the phase and magnitude of the controller. for all P ∈∂ P. the complementary sensitivity condition enforces a larger loop gain when the plot crosses the 180° line above 0 dB. Even if the critical point q actually lies on the template's boundary in between adjacent grid points. The smaller Ws is. that you can never be sure that the critical point q does not intersect ∂ P at a point that was removed during the discretization process. Therefore. 1+ L Graphically speaking. the robust margin bound at ω = 1 is shown in Fig. the Maximum Principle implies that it is necessary and sufficient to check the above condition only over the boundary of the template. for all P ∈∂ P. Hence.e. the above condition is typically replaced by the following margin condition L ( jω) < Ws > 1. It follows that we can replace the above by L ( jω) < ∞ . 1+ L The difference between this condition and the one in terms of complementary sensitivity is that this one enforces a smaller loop gain when the plot crosses the 180° line below 0 dB. These constraints are referred to as QFT bounds.. 1+ L By assumption. however. The weight Ws is used as a safety factor in this context. a more crude approximation). Given the plant templates. the larger the spacing that can be tolerated (i. 14. Our numerical algorithms require the approximation of ∂ P by a finite number of plant cases (except if it is a disk shape as in nonparametric uncertainty model).
To apply Criterion 2. bounds can be computed only up to a finite frequency. the change in the shape of the template decreases and eventually it approaches a fixed shape. one should compute bounds over the entire jωaxis. In our example we have P ( jω ) ≈ k ( jω ) 2 . This finite frequency is selected based on the highfrequency asymptotic behavior of the plant's frequency response. the loop response cannot lie right on the bound. As ω increases. The robust margin bound is Quantitative Feedback Theory Toolbox User’s Guide 311 . In a mixed uncertainty plant. A bound for is simply equal to the bound for G(jω) shifted vertically by the magnitude of P0(jω) and horizontally by the phase of P0(jω). By plotting several templates at increasing frequencies.Feedback Design using QFT 60 50 40 30 controller bound Magnitude (dB) 20 10 0 10 20 30 40 350 300 250 200 150 100 50 0 nominal loop bound Phase (degrees) Figure 14: Controller and nominal loop robust margin bounds at ω =1. 11). In a given problem. If L0(jω) lies right on its margin bound. a0 = 5. then we achieve an optimal design in the sense that at that frequency max L ( jω) = Ws . these bounds are subsequently translated into bounds on the nominal loop. P∈P 1 + L A question arises as to what frequencies should be chosen for computing bounds. if Rmi(ω) = Rm for some ω>ωhf. For ω≥ωhf. ω ≥ ωhf . one can find the value of this frequency. where the nominal plant is (recall that we earlier selected it to be the 21st element) P0 ( s ) = ( s + a0 )( s + b0 ) k0 . we also have a fixedshape template at high frequencies. bounds. A word is in order regarding our graphical notation: a bound plotted with a solid line implies that L0(jω) must lie above or on it in order to meet the particular specification. In theory. In practice. L0(jω). If the closedloop specification was strict inequality. This implies that the robust margin bounds for ω≥ωhf are all the same. the same nominal plant must be used throughout the design. The nominal loop bound for the robust margin at ω = 1 is shown above. k0 = 1. A bound plotted with a dashed line implies that L0(jω) must lie below or on it in order to meet the particular specification. the shape of the templates of this class of plants on a Nichols chart is a vertical line (see Fig. where P0(s)∈P is an arbitrarily selected nominal plant. b0 = 30 .
One function (there may be more than one) that fits the robust margin specification is sisobnds(1. specifically.P. You may be asking yourself why we used only 7 input arguments when above we show 10 input arguments. the program will automatically use their default values.2. The controller to be designed is in the forward loop (G(s) in the Toolbox notation) with unity feedback (H(s) = 1). The Toolbox uses colors to indicate bounds at different frequencies. The nominal plant element in P is nompt = 21 was already defined earlier.. In our example. loc = 1 (G(s) is the controller to be designed). As a general rule.w.w. the argument loc is used to indicate whether the controller to be designed is in the forward path (G) or in the feedback path (H).10. Quantitative Feedback Theory Toolbox User’s Guide 312 .R.R. when we mention bounds we imply nominal loop bounds. An important feature of the Toolbox is the use of default values.1 5 10 100 20 10 0 OpenLoop Gain (dB) 10 20 30 40 50 360 315 270 225 180 135 OpenLoop Phase (deg) 90 45 0 Figure 15: Robust margin bounds including at ωhf = 100. Practical Considerations There are functions for computing bounds (sisobnds) in singleloop systems and generalpurpose bounds (genbnds) for cascadedloop and sequentially designed multipleloop systems. From this point on..loc. The second input argument defines the frequency array where margin bounds are to be computed (must be a subset of the frequency array in P if an FRD object).. This default phase array is a reasonable choice for most problems.nompt).. those not specified are assigned default values.….360]°.Feedback Design using QFT shown in Fig. margin=1 and output disturbance rejection=2. We assign integers to each bound to relate it to a problem type ptype (e. Robust Margins Bounds 0. the default is loc = 1 indicating forward path. see Table 1: Singleloop specification types and Table 2: Multipleloop specification types). Using these defaults.. so Ws1 = 1. In most designs it is not necessary to define all input arguments.phs). The frequency legend can be found at the top left corner of the plot screen.g. The specification here is fixed.. an empty matrix implies a default value. 15 at ωhf = 100.. the input arguments list can be significantly shortened. and phs = [0.P.) with the generic call bdb = sisobnds(ptype. because the last four input arguments in invoking sisobnds(1. C = 1 (H(s) is 1). For example.C.W1.) above were not defined.nom.5. The robust margin bounds can be computed by invoking bdb1 = sisobnds(1.Ws.
.Feedback Design using QFT You may recall that in the Templates section we discussed the issue of “smoothness” of templates. there is very little to be gained by specifying transfer function magnitudes up to frequency of infinity. say less than 0. Of course. For example. Therefore.P1). If you detect nonconnected bounds. in a QFT design. if the plant is originally nonconnected.5 results in the nonconnected bound shown in Fig. take a closer look at your plant templates (look for too coarse a grid. You must be extremely careful in evaluating robust stability for such nonconnected plants. At the high frequency band. For this reason it make little sense to define the nominal openloop dynamics or the uncertainty at high frequencies far above the system's bandwidth. Practical Considerations One function that fits the output disturbance rejection transfer function constraint is sisobnds(2. Bounds for a template whose boundary is defined with too few points will most likely end up nonconnected. Except for rare cases. SISOBND1 Bounds 5 35 30 25 20 15 10 5 0 5 10 360 315 270 225 180 135 X: Phase (degrees) Y: Magnitude (dB) 90 45 0 Figure 16: Nonconnected bound of the twopoint template..) with the generic call Quantitative Feedback Theory Toolbox User’s Guide OpenLoop Gain (dB) 313 . for example sensitivity reduction or tracking specifications.0001 (<80 dB). Robust Performance Bounds This section explains how different performance specifications. Concept Performance specifications are typically defined within a finite frequency bandwidth that is related to closedloop system bandwidth and spectrum of the disturbances. large gaps between adjacent template points).w(2). are converted into bounds on the nominal loop. 16.3. i. sisobnds(1..5. then you have no choice. taking the twopoint template shown in Fig.. The reason is that in physical systems openloop transmission of signals are negligible beyond a certain finite frequency (reallife transfer functions are strictly proper).e. performance is specified only up to a finite frequency whose value is always problem dependent. the magnitude of the (strictly proper) transfer function is very small. 12 and a specification of W1 = 3. and hence its contribution to the time response of the system is negligible (except at a small neighborhood of t = 0 sec).
Quantitative Feedback Theory Toolbox User’s Guide 314 .w.1 5 10 10 OpenLoop Gain (dB) 0 10 20 30 360 315 270 225 180 135 OpenLoop Phase (deg) 90 45 0 Figure 17: Robust output disturbance rejection bounds.P.w.phs).C.) with the generic call bdb = sisobnds(3.169]). Robust Output Disturbance Rejection Bounds 20 0. The specification is a constant Ws3 = 0..P.nom.Ws2. 1718 for several frequencies within the desired performance bandwidth.loc.phs). and the bounds (within the bandwidth of interest) are computed from bdb3 = sisobnds(3.nompt).Ws3. The nominal loop bounds for the robust output disturbance rejection and the robust input disturbance rejection are shown in Fig. add w = 50 to w (w = sort([w.02*[1.nompt).P.w(1:3)..C. then plot the bounds.50])).10]. and the desired bandwidth [0. recompute the template and compute the bounds with wbd3. To see why this frequency is not included.R.R. The performance weight is defined Ws2 = tf(.Ws2.0. One function that fits the input disturbance rejection transfer function constraint is sisobnds(3. the bounds are computed from bdb2 = sisobnds(2.01.loc.14..P.Ws3.[1.Feedback Design using QFT bdb = sisobnds(2.748.nom.4. Note that w = 50 is not included.64.0.2400].w(1:3).
All Bounds 0. the intersection of all bounds) than with a collection of many bounds. Let us view the bounds (Fig.e. In general. worst case bound (i. Note the legend shown at the top left corner of your figure (specific frequencies can toggled on/off using right mouse button). It is much simpler to work with a single. 19) using plotbnds(bdb). This is done solely for convenience.1 5 10 10 5 OpenLoop Gain (dB) 0 5 10 15 20 360 315 270 225 180 135 OpenLoop Phase (deg) 90 45 0 Figure 18: Robust input disturbance rejection bounds.Feedback Design using QFT Robust Input Disturbance Rejection Bounds 0. when the problem involves more than one set of bounds. Quantitative Feedback Theory Toolbox User’s Guide 315 .. The next step is to combine them into a single variable by invoking bdb = grpbnds(bdb1. Viewing the grouped bounds is often used to compare different specifications and quickly identify competing bounds that a nominal loop cannot satisfy simultaneously.bdb2. one should compute the worst case bound of all sets. as it is always simpler to work with a single variable.1 5 10 100 20 10 0 OpenLoop Gain (dB) 10 20 30 40 50 360 315 270 225 180 135 OpenLoop Phase (deg) 90 45 0 Figure 19: Superposition of all bounds.bdb3). Working with Bounds At this point we have computed bounds for all performance and margin problems.
C0.Feedback Design using QFT To compute the worst case bound invoke ubdb = sectbnds(bdb). Quantitative Feedback Theory Toolbox User’s Guide 316 . The function sectbnds includes the most general algorithms for computing the intersection of any combinations of bounds. To view the worst case of all bounds. Take another look at Fig.1 5 10 100 20 10 OpenLoop Gain (dB) 0 10 20 30 360 315 270 225 180 135 OpenLoop Phase (deg) 90 45 0 Figure 20: Worstcase (intersection) of all bounds. Nominal loop shaping is done using lpshape with the generic call lpshape(wl. The first input argument defines the frequency array for loop shaping. design of the controller G. We are now ready for loop shaping. Control design is performed using the nominal loop is L0(s) = P0(s)G(s) (H = 1 here). The Toolbox includes an interactive design environment for loop shaping.100). the next step in a QFT design involves the design (loop shaping) of a nominal loop function that meets its bounds.nompt).phs).3.1.ubdb. invoke again the same bound plotting function plotbnds(ubdb). where P0(s) must be the same nominal plant used during bound computations. You can add or subtract decades to the frequency array inside the design environment. hence L0=P(1. A detailed description of the design environment can be found in The Interactive Design Environment (IDE). Intersection of Bounds 0. Design (Loop Shaping) Having computed stability and performance bounds. 19 to visualize how Fig. The picture is much clearer now as shown below (Fig. or even let the function select one for you by entering an empty matrix []. So let us start with wl = logspace(2. 20 was arrived at. cover 35 decades in most cases. The nominal loop is the product of the nominal plant and the controller (to be designed). define the nominal plant. 20). It should be the same one you would use in Bode plotting. The nominal loop has to satisfy the worst case of all bounds. that is. that is.P0. Next.
equivalently acceptable.Feedback Design using QFT L0. % no delay If H(s) is also uncertain then L0(s) = P0(s)G(s)H0(s). Let us now learn how one typically performs loop shaping.360] degrees. 21. e. it provides the user with the power to consider different controller complexity and values and weight possible tradeoffs almost instantly. The following is one possible loop shaping sequence.g. All example Mfiles (qftex1qftex15) include predesigned controllers.10. The more experience you gain.C0). the easier it gets. it is difficult to loop shape a stabilizing controller manually. Use this controller as your initial controller. Invoking the above function results in the plot shown in Fig. You are now ready to enter the loopshaping environment lpshape(wl. that are based on the particular experience of the user.g.. Robust Control. Quantitative Feedback Theory Toolbox User’s Guide 317 . A recommended approach in such cases is to a priori design a stabilizing control for the nominal plant using one of many available methods (e. to accomplish our objective of teaching you how to loop shape.ubdb. one proper and the other strictly proper.g. This aspect of the QFT design is usually the most difficult for novice users. and µAnalysis and Synthesis Toolboxes).1).. Hint: You may find that in certain cases.ioDelay = 0.5. When you run this example (qftex1. However. we use no initial controller that is C0 = tf(1. An excellent exposition of loop shaping can be found in [3] (as well as in [30][32]). plants with unstable and nonminimum phase zeros. Often. or have designed a controller using other methods.L0. This is the purpose for the initial controller input argument C0. see Control System. There are many other sequences. you know a priori of certain poles and zeros that the controller must have. Generally speaking. This is really the beauty of QFT. where we have used the default setting phs = [0. loop shaping involves adding poles and zeros until the nominal loop lies near its bounds and results in nominal closedloop stability. an integrator..m) you will prompted to select one at the design step. You can import a linear timeinvariant controller into lpshape using the function putqft. In this example we include two predesigned controllers.…. e.
enter the new value of 379 and press <enter>. please refer to the Interactive Design Environment section in Chapter 6. Using text protocol: Select the Gain element in Select Elements to Add pulldown menu and enter numerical value(s) in the box(s) below. Within the design environment. Pressing Apply accepts this new element. For more details. Using graphics protocol: Selecting the Gain element in the Select Elements to Add pulldown menu . Press Apply to accept the new value (Fig. select a point on the nominal loop by pressing and holding down the mouse button. For the Gain. Pressing Add Using Input Fields displays both the current response and the updated response.Feedback Design using QFT Figure 21: Initial nominal openloop response and its bounds. The nominal loop to be designed is L0(s) = P0(s)G(s) where P0(s) is the nominal plant. 22). The descriptions below show commands in boldface such as Select Elements to Add that imply the use user interface controls. The gain can be modified further by reselecting the marker on the loop and dragging the loop up or down to a new location. in any design step. the zeros and the poles you are working with are your controller elements G(s).1. Quantitative Feedback Theory Toolbox User’s Guide 318 . Let us first iterate on the value of the controller's gain to bring it closer to the performance bound at ω = 0. A special marker appears when the mouse lies on top of any part of the loop and you will be able to drag the selected frequency. although you loop shape the plot of L0(s) during design you are in essence loop shaping the controller G(s). Therefore. This and other loop shaping options can be done by using either graphics protocol (via mouse) or text protocol (via keyboard). The Toolbox will compute the gain multiplication or division necessary to move the loop to its new location.
enter 42 at the zero box below.. select the point on the response plot where the frequency is ω = 61 (the program shows the corresponding nominal loop frequency in the upperright hand corner of the screen). Quantitative Feedback Theory Toolbox User’s Guide 319 . Now. Once you select that point by pressing the left mouse button a (red) marker will show up at that point. drag the selected point to the new location of (100°. 23. The result is shown in Fig. In our case.Feedback Design using QFT Figure 22: Openloop plot with a controller gain of 379. Take some time now to try this procedure. it is approximately where the loop crosses the 20 dB horizontal line. and then enter values for lower and upper limits of frequency and the number of points. select ToolsFrequency. after the zero is implemented graphically. you should end up with a zero value of z = 42 and the present loop as shown below. So let us add a real zero. If you wish to extend the frequency response plot beyond the present frequency vector. you can observe that a phase lead is necessary because the nominal loop lies inside the margin bounds at higher frequencies. If this is not your value. perform this using the above text protocol. Next. you can modify the response by reselecting and dragging the displayed (red) marker. We are adding more phase lead than may seem necessary because we anticipate adding more poles to make the controller at least proper. Using graphics protocol: Select real zero in Select Elements to Add pulldown menu. press Add Using Input Fields then press Apply. Again.. Using text protocol: select Real Zero in Select Elements to Add.20 dB) (approximately 50° to the right). Finally.
.e. press Add Using Input Fields and finally press Apply. Suppose you decided on a relative degree of 1 (i. you must first decide on the complexity of the controller based on physical constraints. 24. speed of DSP board. For this step.5 at the zeta box and a natural frequency of 250 at the wn box below. Using text protocol: Select Complex Pole in the Select Elements to Add pulldown menu. Using graphics protocol: Select Complex Pole in the Select Elements to Add pulldown menu. The result is shown in Fig. e. Note that when using a secondorder term it may not always be possible to achieve both magnitude and phase changes as desired (only stable terms can be generated in a graphics protocol). degree of denominator minus degree of numerator). A damping ratio of 0. A secondorder pole best suits this objective. after the secondorder term is implemented graphically. Quantitative Feedback Theory Toolbox User’s Guide 320 . enter a damping ratio of 0. The final step involves shaping the highfrequency response of the nominal loop (and of the controller) with the goal of dropping its magnitude as fast as possible to satisfy a rolloff constraint.5 is an optimal choice between minimal oscillations and maximal magnitude/phase slope. select a point on the nominal loop to be shifted to the left with the secondorder term. you can modify both the natural frequency and the damping ratio by reselecting the (red) marker and dragging it to a new location.g. The program will compute the required damping ratio and natural frequency. Again..Feedback Design using QFT Figure 23: Openloop plot with an added controller zero at z = 42.
5). use the sliders to finetune the value of the natural frequency so that the nominal loop passes just below the robust margin’s high frequency bound (at ω = 100). Quantitative Feedback Theory Toolbox User’s Guide 321 . The final result is shown in Fig.Feedback Design using QFT Figure 24: The plot with the new second order (wn=250 and zeta=0. This guarantees that it will not violate the margin bounds higher frequencies due to the invariant shape of the template. Now. 25 with wn = 247 (use the edit option to enter this value if necessary).
This is important because. in that region on a Nichols chart. zoom in to that region by selecting one corner and dragging the “rubberband box” to define new axis limits. relatively small openloop dB differences result in rather large closedloop dB variations. To check.Feedback Design using QFT Figure 25: Final design with a tuned second order (wn=247). The final interactively designed controller is given by G (s) = s 379 42 + 1 s 247 2 2 ( ) s + 247 + 1 . Quantitative Feedback Theory Toolbox User’s Guide 322 . 26. We recommend that you verify that the bottom part of the high frequency margin bound is not violated by the nominal loop. The result of this zoom is shown in Fig.
integrators. notch and complex lead terms (see Design Elements section in Chapter 6 for more details). { } Quantitative Feedback Theory Toolbox User’s Guide 323 . the program includes lead/lag.Feedback Design using QFT Figure 26: Zoomedin view of the final design. You will discover that by adding more terms to the controller. robust stability (see Robust Stability) is achieved since the nominal loop does not violate the robust margin bounds and does not cross the ray R 0 = ( φ. we have completed the design. If you are not satisfied with the design. r ) : φ= − 180o . Therefore. you can place the nominal loop closer and closer to its bounds. G (s) = s +1 165 This controller is only proper and is far less attractive in practice when compared to the previous controller in terms of sensor noise amplification and robustness against high frequency unmodeled dynamics. this comes at a cost of increased complexity of the controller. The measure of optimality in QFT is to design a controller that meets its bounds and has the minimal high frequency gain for the given controller's complexity. In addition to the above terms used during loop shaping. you can continue with loop shaping. They differ in their complexity and bandwidth (the example file includes two such solutions). The example file contains another controller that solves the feedback problem s 379 + 1 42 . However. there are infinitely many nominal loops that can meet the bounds (if at least one solution exists). In general. r > 0 dB . In the present design. proper 2nd order (denoted in QFT Toolbox as super 2nd or 2/2).
a+b.5. 27.P. To analyze closedloop margin (ptype = 1).e. end b = 20. invoke the above function that results in a plot of the worst (over the uncertainty) closedloop response magnitude versus the specification.25).P.a+b. a = 5..[1.H. P(1.c) = tf(k. the design can be stored in a specialized MATfile or even placed in the workspace. you can perform online model order reduction.1.Ws.1. So let us increase the number of plant cases along the boundary from 40 to 100: c = 1.F) We recommend that you use a denser plant template than the one used in computing bounds. as we have just done. In the MATLAB command line you can retrieve any design using the function getqft (see Reference Chapter for details).25).5. A detailed description of the available model reduction options can be found in The Interactive Design Environment (IDE). b = 30.10. end k = 1.10. plants with resonances. P(1.a+b.G. a = 1.1.a*b]). for k = linspace(1. k = 10.25). e.a*b]). P(1. results in the plot shown in Fig. end c = c + 1.wbd. end b = 30. The reduction algorithms were specialized to exploit our specific knowledge of the controller's poles and zeros. for a = linspace(1. Analysis When you complete a QFT design.1.G).a*b]). In certain cases.a*b]).w..R. Quantitative Feedback Theory Toolbox User’s Guide 324 .wl.25). c = c + 1. you were a bit too quick with the mouse. c = c + 1. for a = linspace(1.[1.c) = tf(k. c = c + 1. you should analyze the closedloop response at frequencies other than those used for computing bounds.g.c) = tf(k. b = 20.. In particular. Within the IDE functions. The IDE functions do not have any output arguments.R.[1. you may also want to increase the number of frequencies in wl. Typically. this is done at the same frequency array used in loop shaping by invoking the function chksiso(ptype. for k = linspace(1.). invoking chksiso(1.c) = tf(k.Feedback Design using QFT Hint: If the designed controller appears to have too high an order (i.. P(1.[1.a+b.W1.
using ptype = 3 invoke the following chksiso(3. chksiso(2. To analyze the input disturbance rejection problem.G).W3. 29. Quantitative Feedback Theory Toolbox User’s Guide 325 .G).Feedback Design using QFT Weight: 5 0 5 10 15 Magnitude (dB) 20 25 30 35 40 45 10 2 10 1 10 10 Frequency (rad/sec) 0 1 10 2 10 3 Figure 27: Analysis of robust margin problem. which results in the plot shown in Fig. which results in the plot shown in Fig.wl(ind). 28. To analyze the output disturbance rejection problem.P.R. Weight: 4 2 0 2 Magnitude (dB) 4 6 8 10 12 14 10 2 10 1 10 Frequency (rad/sec) 0 Figure 28: Analysis of robust output disturbance problem.R. invoke the following ind=find(wl<=10). Hint: You can easily zoom in to any frequency bands where the closedloop transfer function appears to be very close to its specification.P.wl(ind).W2.
F0) • • • • • • • The input arguments are the same as used in computing bounds. For engineering purpose..g. then clearly your best choice would be to use a prefilter F(s) in addition to the controller G(s) embedded within the closedloop system. you may decide to compute the corresponding bound for the specific problem at that frequency. Prefilter shaping is done using pfshape with the generic call pfshape(ptype. If the design fails at some frequency (or over a frequency band).w.Feedback Design using QFT Weight: 36 38 40 42 44 46 48 50 52 54 56 10 2 Magnitude (dB) 10 1 10 Frequency (rad/sec) 0 Figure 29: Analysis of robust input disturbance problem. The input arguments are: w is the frequency array where margin bounds are to be computed Ws is an upper and lower magnitude bound on the closedloop transfer function P is the frequency response set of the plant R is the disk radius in a multiplicative uncertain plant G and H are the frequency responses of the other functions in the loop F0 is an initial prefilter. Quantitative Feedback Theory Toolbox User’s Guide 326 . adding some gain and/or phase to the loop at that frequency may be sufficient.m). A detailed description of the interactive design environment can be found in Chapter 6. Alternatively. e. then redesign the nominal loop. The argument ptype defines the particular closedloop transfer function of interest.Ws.R.G. you can skip the computation of a new bound and directly go into loop shaping. sensitivity or complementary sensitivity.m and qftex13. Examples Example 2: 2DOF Design and Example 13: 2 DOF Design (DiscreteTime) include such a design (qftex2.H. Design (PreFilter Shaping) If the feedback system involves tracking of reference signals.P. The Toolbox includes an interactive design environment for prefilter shaping.
Quantitative Feedback Theory Toolbox User’s Guide 327 . Design of the prefilter is usually a trivial task. The prefilter design environment uses the same commands as in loop shaping. the prefilter design environment is initiated by invoking pfshape(1. and press Apply.P. 30. for all P ∈P . 1 + PG This is a twodegreeof freedom design. Once G(s) is give. so the earlier description on loop shaping holds here too. Figure 30: Closedloop tracking response with F(s)=1.1. the first step would be to close the loop by designing the controller G(s) and assuming F(s) = 1. It would be simpler to add the pole directly using the graphics protocol. For our example.Feedback Design using QFT To illustrate prefilter design. suppose that for the problem considered in the last section there is an additional tracking specification of the form F⋅ PG ≤ 1. This addition results in Fig. press Add Using Input Fields. In such cases which involve prefilters.0. enter 140.1. 31. Shown in Fig.G) Invoking the above function results in the plot shown in Fig.1. In this example. a pole at 140 will do the job: select Real Pole from the Select Elements to Add pulldown menu. 30 are the worstcase closedloop response over plant uncertainty and the specification (dashed line). we can focus on design of F(s) to meet tracking specifications.wl.
Quantitative Feedback Theory Toolbox User’s Guide 328 .Feedback Design using QFT Figure 31: Closedloop tracking response with a 1st order prefilter.
You should first read the previous section on continuoustime systems before you proceed with this section. Bounds are computed with the functions sisobnds and genbnds as done in continuoustime systems.Feedback Design using QFT DiscreteTime The discussion on the use of the Toolbox for continuoustime systems extends naturally to discretetime systems. z = e jωt s . 32 is given by π PGH ( z ) < ∞ . ω ∈ 0. The robust . bounds and analysis are only summarized here. 1 + PGH ts Because a discretetime QFT design is similar to that in continuoustime. 1 + PGH ts where ∂ P denotes the exterior boundary of the template of the discretetime family margin condition is given by π PGH ( z ) < µ > 1. t s = sampling time. for all P ∈∂ P . reference disturbances input disturbances output disturbances W R reference prefilter signal V G U Σ D P plant dynamics F Σ E error signal Σ  manipulated control law signal control hardware Σ Y controlled signal H sensor Figure 32: The singleloop feedback system. The problem of accurately defining the plant templates is even more difficult in sampleddata systems where the continuoustime plant is parametric uncertain. With the exception of the robust stability bounds and the s loop shaping procedure. z = e jωt s . (The Laplace variable s is replaced with z = e jωt s . Quantitative Feedback Theory Toolbox User’s Guide 329 P. please refer to that section for a detailed discussion on the various aspects of the procedure. and it allows for one additional parametric uncertain transfer function in the loop (G or H). π t rad/sec). for all P ∈∂ P . The general block diagram is the same one used in continuoustime system and shown again in Fig. 32 below. and the frequency band of interest is limited to ω∈ 0. Robust Stability (Margins) Bounds Bounds are computed based on the condition for robust stability in the discretetime case (see Robust Stability) that for the system shown in Fig. all other topics such as templates. ω ∈ 0. hardware Σ N sensor noise Templates The Toolbox allows mixed uncertainty model for the plant P (parametric and nonparametric). .
R.P. Design (PreFilter Shaping) If the feedback system involves tracking signals. Nominal loop shaping is done using lpshape with the generic call (LTI models must be discretetime) lpshape(wl. Bounds are computed with the functions sisobnds and genbnds as done in continuoustime systems.phs).F0) Quantitative Feedback Theory Toolbox User’s Guide 330 .Ws.Feedback Design using QFT Robust Performance Bounds The procedure for computing discretetime bounds for robust performance problems is the same as the one explained previously for continuoustime systems. That is. The nominal loop would have to satisfy the worst case of all bounds. Prefilter shaping is done using pfshape with the generic call (LTI models must be discretetime) pfshape(ptype. in applications where the system bandwidth is relatively close to half the sampling frequency. there is no substitution to direct zdomain design due to the distortion introduced in the s → z and w → z mappings. This Toolbox includes The Interactive Design Environment (IDE) for loop shaping. you can work with the equivalent of real poles and zeros.w.G. then clearly your best choice would be to use a prefilter F(z) in addition to the controller G(z) embedded within the closedloop system. However.H. This function allows control design directly in the zdomain.C0.ubdb. Example 12 in Chapter 5 includes such a design. The Toolbox includes The Interactive Design Environment (IDE) for prefilter shaping.L0. integrators and lead/lag terms in the variable z. you are ready for next design of loop shaping a nominal loop function to satisfy its bounds. It is well known that zdomain loop shaping is an unfamiliar topic for most engineers. Design (Loop Shaping) Once discretetime bounds are computed.
ranges theoretically from ∞ dB to +∞ dB. one has to extend it periodically in the phase coordinate. This curve will be called the multiplesheeted Nichols plot. The Toolbox offers one. The Control System Toolbox function ngrid draws Nichols chart closedloop grids. φ. 41 .0°] range. The Nichols chart represents complex numbers in terms of their magnitudes and phases. The phase of a Nyquist plot usually extends outside the (360°. L(s)/(1+L(s)).4 Using the Nichols Chart The Nichols chart The Nichols chart is the domain of choice for QFT design. Your insight and experience with classical loop shaping on Bode plots can be easily ported to the Nichols chart. A typical singlesheeted Nichols chart. As mentioned earlier. The decision to use one or the other is a matter of convenience only. 20log(r)). The phase (degrees) and magnitude (dB) of the closedloop transfer function. is equally applicable to continuoustime and to discretetime systems.φ). The coordinates of the Nichols chart are (φ. typically ranges between 360° and 0°. The horizontal and vertical coordinates are used for the phase (degrees) and the magnitude (dB). If you are used to designing with Bode plots. 20log(r). The horizontal coordinate. has a Cartesian representation (x. A Nyquist curve winding k times around the origin would be transformed this way into a continuous (but not closed!) curve drawn along a scroll of at least k Nichols sheets. Each complex number. of the openloop function L(s). while the vertical coordinate. in the QFT Toolbox we do not use closedloop grids by default (they can be turned on however). are the curves shown inside the chart. The reason is that the Toolbox mathematically translates closedloop specifications into openloop bounds. It should be emphasized here that in contrast to the original intent of Nichols plots. 33 (with closedloop grid). Analysis and design of feedback systems can be equally performed using a singlesheeted plot or a multiplesheeted plot (for connected templates only). The Nichols chart used in practice is naturally limited to a finite range of magnitudes. this chapter is aimed at demonstrating that Bode and Nichols plot designs are similar. If one wishes to retain continuity of the Nichols plot.y) and a polar representation (r. s. multiples and fractions of the Nichols chart. shown in Fig. in this Toolbox we only work with the openloop coordinates while the closedloop coordinates are replaced by the use of bounds.
with right jωaxis indentations as necessary to account for imaginary axis poles of L(s) is shown in Fig. We assume that no unstable pole/zero cancellations take place in L(s). The loop transmission (openloop function). A standard Nyquist contour. 1 x Figure 35: The continuoustime Nyquist contour. singleloop feedback system shown in Fig. reference disturbances input disturbances output disturbances W R reference prefilter signal V G U Σ D P plant dynamics F Σ E error signal Σ  manipulated control law signal control hardware Σ Y controlled signal H sensor hardware Σ N sensor noise Figure 34: The singleloop feedback system. 34.25 db 0.5 db 20 1 db 3 db 6 db 0 3 db 6 db 1 db 10 Mag (dB) 10 12 db 20 20 db 30 40 350 300 250 200 150 100 50 40 db 0 Phase (degrees) Figure 33: The Nichols chart. is assumed to be a product of a rational (proper or strictly proper) function and a pure time delay. 35. QFT Frequency Domain Control Design Toolbox User’s Guide 42 . timeinvariant. continuoustime. L(s) = P(s)G(s)H(s).Using the Nichols Chart 40 0 db 30 0. ContinuousTime Stability Consider the linear.
ReL(jω ) 20LogL(jω ) + + ImL(jω ) x 1 0dB 360 0 Phase(L(jω )) 0 180 0 0 Complex Plane Nichols Chart Figure 36: The notion of crossing. The number of crossings is equivalent to the number of encirclements of the critical point (1. depending on the direction of the plot at the crossing point. 37 on a multiplesheeted chart ( k = 3000 ). 36.r): φ=180°.r ): φ = 180 o .1.r ): φ = −180 o . and the net sum of its crossings of the ray R0:={(φ. and the net sum of its crossings of the rays R0 + 2kq is equal to n.K . r > 0dB } . Example 1: Consider a unity feedback system that has the following stable openloop function L(s) = k .0) by the Nyquist plot of L(s). r > 0dB } and R1: = {(φ. Two examples of Nichols plots and stability analysis are presented below [4]. 0dB). Crossings and corresponding signs in both the complex plane and the Nichols chart are illustrated in Fig. Therefore. N denotes number of crossings and n denotes total number of the poles of L(s) inside the Nyquist contour. ( s + 1)( s + 5 )( s + 10 ) The Nichols plot is shown in Fig. k = 0. The Nyquist plot of L(s) is said to have a crossing if it intersects the negative part of the real axis. Criterion 1: The feedback system in Fig.Using the Nichols Chart Definition. Let n denote the total number (counting multiplicity) of the unstable poles of L(s) inside the Nyquist contour. or • The multiplesheeted Nichols plot of L(s) does not intersect any of the points (2k+1)q. the key relation is Z = N+n. 34 is stable if: • The singlesheeted Nichols plot of L(s) does not intersect the point q:=(180°. can be observed. R 0: = {(φ. Re[L(s)]<1. QFT Frequency Domain Control Design Toolbox User’s Guide 43 .2. where Z denotes total number of closedloop poles inside the Nyquist contour. r>0dB} is equal to n. The following is the Nichols chart stability criterion used in QFT fixed plants [4]. Two positive crossings of the two rays. The sign of the crossing is either positive or negative. k >0.
no. Any segment of the plot can be shifted horizontally by ±j360°.e. the plot will be just below the rays R0 and R1. j=0. 38.. Conjugancy can also be exploited with Nichols plots.±2. The same analysis can be done using the singlesheeted Nichols chart as shown in Fig. 40 20 0 Magnitude (dB) 20 40 60 80 8 350 300 250 200 150 Phase (degrees) 100 50 0 Figure 38: Nichols plot of Example 1 on a singlesheeted chart.Using the Nichols Chart 40 20 0 Magnitude (dB) 20 40 60 80  8 300 200 100 0 100 Phase (degrees) 200 300 Figure 37: Nichols plot of Example 1 on a multiplesheeted chart. On the Nichols chart. . we conclude that the closedloop system is stable if k<1000.. From Criterion 1. Hence. 39 indicates a single positive crossing or equivalently a total of two positive crossings for the full plot. it is customary to plot only half Nyquist plots (i. of zeros) x 360°. the halfplot shown in Fig. shift the plot down vertically) to eliminate any crossings.5 dB). L(s) = 0 at the semiinfinite circle portion of the Nyquist contour. Note that for strictly proper functions. of poles ... the Bode plot)..±1. If we reduce the gain by a factor of 3 (approximately 9. In control design..e. QFT Frequency Domain Control Design Toolbox User’s Guide 44 . since the system is openloop stable we must reduce the gain (i. taking advantage of conjugancy of transfer functions with real coefficients. The width of the segment is equal to (no. In this example. this is represented by a horizontal segment at ∞ dB starting at L(j∞) and ending at L(j∞).
The Nyquist plot has a semiinfinite circle for each integrator (or other jωaxis poles) in L(s) which translates into segments at +∞ dB on a Nichols chart. Note that unlike Nyquist plots.5 dB Magnitude (dB) 20 0 20 40 60 80 100 350 300 250 200 150 Phase (degrees) 100 50 0 Figure 39: Half Nichols plot of Example 1. Special care must be taken when the loop has integrators. Nichols plots may not be closed.Using the Nichols Chart 40 9. 40 with k = 1. In this example. Specifically. Hence. + 8 0 8 350 Magnitude (dB) 50 100 150  300 250 200 150 Phase (degrees) 100 50 0 Figure 40: Nichols plot of Example 2 on a singlesheeted chart. Example 2: Consider a unity feedback system that has the following openloop function L(s) = k s ( s + 1)( s + 10 ) .r ): φ = −180 o . You can also observe a segment of the plot at +∞ dB. There is a rather simple rule for drawing (or visualizing) such segments on a Nichols chart: first draw the basic (Bode) plot from ω→0+ up to very large frequency. k >0. but must be considered in stability analysis. a Nichols plot will have a 180° horizontal segment at +∞ dB for each jωaxis pole in L(s). the plot will eventually cross the ray R 0: = {(φ. r > 0dB } twice. there are two positive crossings or two unstable closedloop poles. as in the following example. if the gain is increased. the system is closedloop stable if k<100. The singlesheeted Nichols plot is shown in Fig. For k>100. then QFT Frequency Domain Control Design Toolbox User’s Guide 45 . This happens when k = 100 (40 dB). For practical reasons such segments are rarely shown as part of the plot.
+ 8 0 350 Magnitude (dB) 50 100 150 300 250 200 150 Phase (degrees) 100 50 0 Figure 41: Half Nichols plot of Example 2. r > 0dB } in which case it is not clear how to count crossings. then jump to 0° and continue to 90°. However. and then demonstrating stability QFT Frequency Domain Control Design Toolbox User’s Guide 46 . the plot may appear to be tangential to the ray R 0: = { φ. Robust Stability In many physical situations. there is always a nonzero imaginary part as well (of course it is much smaller in magnitude compared to the real part). it is only tangential to it. the plot does not lie on the ray R0 as ω→0 and it is possible to count crossing. in both full and half plots the phase axis does not include positive phases. 41). This segment should then start at +90° and end at 90°. the actual plant dynamics are known to belong to a set (family) of plants P . k >0. Hence.r ): φ = −180 o . you need to realize that in fact L(jω) does not lie on the ray R0 at infinity. ( consider the openloop function k L(s) = 2 . we start the segment at 270° and continue toward 360°. To correctly count any crossings. where P0(s)∈ P is termed the nominal plant. This can be observed by taking the partial fraction in the limit as ω→0 k k k k k L ( jω ) = − 2 + j + − 2 + j . totaling 180° (one integrator). Note that you need not physically draw these segments. In certain cases with poles on the jωaxis. For example. → ω→0 ω jω + 1 ω ω ω Although the real part is at ∞. the phase of L(jω) approaches 180° and the magnitude approaches ∞. The idea of robust stability in QFT amounts to checking stability using one nominal loop L 0 (s) = P0 (s) G 0 (s)H 0 (s) .Using the Nichols Chart connect to it a 180owide horizontal segment (for each integrator) such that left edge of the segment ends at the point L(j0+). it suffices to attach imaginary segments to the actual plot when counting crossings for stability analysis (Fig. s ( s + 1) As ω→0. Hence. Another way to interpret the type of crossing is by figuring the phase at ω→0+. In this example we have a single integrator implying a segment 180°wide which should be connected to L(jω) at 90° with a very large magnitude (approaching +∞ dB) at ω→0+.
. The collection of all the responses of the plant P(jω) is called a template. jω. The first group is: (1) L(s) is strictly proper. Because the focus in QFT is on engineering design. nonparametric or mixed uncertainty plant models all have a similar frequency response representation. This property is commonly referred to At each point. we will not attempt here to provide a complete answer that covers all possible pathological cases. 23] used in QFT. QFT may still be applicable. if the plant you are working with represents a realistic system then it most likely fits the following mold: (1) the plant is strictly proper with the possibility of a pure time delay. nor is it claimed that QFT is applicable to all classes of systems. 42). nonconnected template connected template simply connected template convex template disk template Figure 42: Various templates. one typically enlarges the template into a simply connected region (roughly speaking. and (2) the plant model is parametric and/or nonparametric uncertainty where its numerator and denominator sets or pole and zero sets depend continuously on the uncertain parameters set. the Toolbox algorithms will automatically “fill in” and assume that no holes exist. As we traverse the Nyquist contour. nonconnected). However. The second group is: (1) at each fixed frequency. The shape of the template can range from a nonconnected region to a convex region (see Fig. (2) the uncertain parameters belong to a compact and simple connected set. QFT Frequency Domain Control Design Toolbox User’s Guide 47 . which has the uncertainty form described in Chapter 2. the criterion requires either one of the following groups of conditions. The following is the Nichols chart robust stability criterion [46. Naturally. If your template has holes. Assuming the controller to be fixed. Another possibility is to define the template as the convex hull of the region (in a convex set any two points in the set can be connected via a line that lies entirely in the set). 42. Note that templates unify the way QFT treats uncertainty since parametric. but you must proceed with care. P. on the Nyquist contour. the responses of L(jω) fill in a neighborhood of the nominal response L0(jω). If your plant is nonrational or has some other exotic structure. you may ask yourself what models of uncertain plants generate the templates shown in Fig. and (4) the coefficients of the highest degree s terms in the numerator and denominator of L(s) cannot vanish.e. In addition to the trivial assumption of no unstable (including jωaxis) pole/zero cancellation in any L(s) in the set. and (2) the number of unstable poles in L(s) is fixed. (3) the coefficients of the numerator and denominator of L(s) depend continuously on the uncertain parameters. the union of these templates is called the Nichols envelope. what we want to avoid is a template composed of disjointed parts (i. The loop transfer function L is assumed to belong to a set L. though with proper care it may be possible to design for robustness with QFT even with nonconnected templates. For design purposes. it is made of a single “piece” and has no holes). The most conservative approach would be to turn the region into a disk (nonparametric model). the responses of all L(jω) form a convex set in the complex plane. Essentially. the shape of the collection of all the responses of L(jω) is the same as that of the template P(jω).Using the Nichols Chart of the whole set P by some argument involving the nature of as robust stability.
2. 1.Using the Nichols Chart Criterion 2: Consider the feedback system shown in Fig.. QFT Frequency Domain Control Design Toolbox User’s Guide 48 . 34. or • The nominal closedloop system corresponding to L0(s) is stable and the multiplesheeted Nichols envelope does not intersect any of the points (2k+1)q.. k=0.. . Let L0(s) ∈ L denote the nominal plant. The condition that the singlesheeted Nichols envelope does not intersect the point q is the same as requiring that 1+L(jω)≠0 for all L(s) ∈ L and for all frequencies on the jωaxis. The feedback system is robust stable if: • The nominal closedloop system corresponding to L0(s) is stable and the singlesheeted Nichols envelope does not intersect the point q. Assume that the uncertain set L satisfies one of the above groups of conditions.
• The onesheeted Nichols plot of L(z) does not intersect the point q:=(180°. crossings and signs in both complex plane and Nichols chart have the same meaning as in the continuoustime case.2.7 ) The sampling time is t s = 0. Let n denote the total number (counting multiplicity) of the poles of L(z) outside the unit circle. In addition.9 ) . unit circle 1 x 1 x Figure 43: The discretetime Nyquist contour. 34. Criterion 3: The feedback system in Fig. The singlesheeted Nichols plot is shown in Fig. and 1+L(z) is assumed to be proper. The standard Nyquist contour.r): φ=180°.1. Example 3: Consider a unity feedback system that has the following openloop function L( z) = k ( z + 0. The loop transmission is denoted by L(z) = P(z)G(z)H(z). Two examples of nominal Nichols stability analysis are presented below. or • The multiplesheeted Nichols plot of L(z) does not intersect any of the points (2k+1)q. π t ( t s is the s sampling time). 43. The Nyquist plot of L(z) is said to have a crossing if it intersects the negative real axis. k >0. r>0dB} is equal to n. Let z = e jωt s . QFT Frequency Domain Control Design Toolbox User’s Guide 49 . 44 for k = 0. The sign of the crossing is either positive or negative. singleloop feedback system shown in Fig. ( z − 1)( z − 0. depending on the plot’s direction at the crossing point. For this gain there are no crossings. ReL(z)<1.1 seconds. and the net sum of its crossings of the rays R0 + 2kq is equal to n.K .7]. k = 0. we assume that no unstable pole/zero cancellations take place in L(z). Definition. and the net sum of its crossings of the ray R0:={(φ. discretetime. 34 is stable if [4. with unit circle indentations as necessary to account for poles of L(z) on the unit circle. is shown in Fig. 0dB). ω∈ 0.Using the Nichols Chart DiscreteTime Stability Consider the linear.1. timeinvariant. Here.
01. see Example 2 above. 45 for k = 0.4 dB). k >0.027 indicating two unstable closedloop poles.9 ) .1 seconds. If the gain is kept below k<0. QFT Frequency Domain Control Design Toolbox User’s Guide 410 8 40 20 0 . 40 20 Magnitude (dB) 0 20 40 60 700 600 500 400 300 Phase (degrees) 200 100 0 Figure 45: Nichols plot of Example 4 on a multiplesheeted chart. Two positive crossings will occur if 0.Using the Nichols Chart + Magnitude (dB) 20 40 350 300 250 200 150 Phase (degrees) 100 50 0 Figure 44: Nichols plot of Example 3 on a singlesheeted chart.09 indicating instability. ( z − 1)( z − 0.7 )( z − 0.3) The sampling time is t s = 0. Note that the Nyquist plot will have a semiinfinite circle for each pole of in L(z) lying on the unit circle.027 (an increase of approximately 9 dB) the closedloop system remains stable.33 (an increase of approximately 10. Example 4: Consider a unity nonminimum phase feedback system that has the following openloop function L( z) = k ( z + 2 )( z + 0.33≤k<34.6 dB). where no crossings can be observed. also indicating instability. the closedloop remains stable. The multiplesheeted Nichols plot is shown in Fig. A single positive crossing occurs for k≥34.09 (an increase of approximately 50. For a detailed discussion on such segments. If the gain is kept below k<0. Two positive crossings will occur if k≥0.
and (4) the coefficients of the highest degree z terms in the numerator and denominator of L(z) cannot vanish. The feedback system is robust stable if: • The nominal closedloop system corresponding to L0(z) is stable and the singlesheeted Nichols • The nominal closedloop system corresponding to L0(z) is stable and the multiplesheeted Nichols envelope does not intersect the point q. . k=0.. which has the form described in Chapter 2. The second set is: (1) at each fixed frequency. 2. Criterion 4: Consider the singleloop system shown in Fig. In addition to the trivial assumption of no unstable (including jωaxis) pole/zero cancellation in any L(z) in the set. the responses of all L(z) form a convex set in the complex plane. 1. ( ) QFT Frequency Domain Control Design Toolbox User’s Guide 411 .π/ t s ]. (2) the uncertain parameters belong to a compact and simple connected set. (3) the coefficients of the numerator and denominator of L(z) depend continuously on the uncertain parameters..Using the Nichols Chart Robust Stability The uncertain system for which this Toolbox is applicable includes the same class described in the previous section on continuoustime systems. The openloop transfer function L(z) is assumed to belong to a set L. the criterion requires either of the following groups of conditions. The condition that the singlesheeted Nichols envelope does not intersect the point q is the same as requiring that 1 + L z = e jωt s ≠ 0 for all L(z) ∈ L and for all frequencies ω∈[0. Let L0(z) ∈ L denote the nominal plant. or envelope does not intersect any of the points (2k+1)q. The concept of templates can be extended to L (z) = P (z)G (z)H (z) where P(z)∈ P . 34. Assume that the uncertain set L satisfies one of the above sets of conditions. The first group (if one extends [23] to the discretetime case) is: (1) L(z) is strictly proper. and (2) the number of unstable poles in L(z) is fixed. The following is the Nichols chart robust stability criterion used in QFT..
Although this version of the Toolbox does not fully support MIMO design. The fifth is the ACC benchmark design problem consisting of a highly vibratory mechanical system. The seventh presents a twooutput problem where the two loops are closed sequentially in a simplistic approach: starting with the inner loop and ending with the outer loop. The third group. is intended to expose the user to QFT in general. timeinvariant design method.m are standard batch files that users are most comfortable with. The first group. e. examples 16. The fifth group includes a single example. except in few realistic cases. We have also prepared a special QFT demo (to invoke type qftdemo). Practical feedback design involves many steps. Example 15 is a 2x2 multiloop (MIMO) robust performance problem. examples 1214.g. examples 7 and 8. The difference between the qftex#. timeinvariant design method. The fourth group. the cascaded design problem.m file names (# denotes the example number from 1 to 15).m files and the demo facility is that the qftex#. A few words are in order regarding the examples in this Toolbox. modeling and identification. which is unlike similar robust tracking problem settings in other methods. The examples can be divided into five groups. the user must be familiar with the QFT’s MIMO algorithms (see [30] and references wherein). since QFT is a linear. hardware selection.. focuses on design of discretetime controllers with uncertain plants. its bound computation algorithms are general purpose and can be applied to any QFT problems including MIMO. in order to solve a cascadedloop or a multiloop QFT problem. You can find them in the qftdemo directory with the qftex#. The plant model in example 11 is described only in terms of its experimentally measured frequency response. The first example is the one used to describe the QFT design procedure in Feedback Design with QFT. However. The sixth example is interesting in that it considers a missile with plants evaluated at several flight envelope locations with different nonparametric uncertainties and different performance specifications at each location. design and implementation.5 Examples Introduction There are 15 solved examples in this Toolbox. we did not attempt to relate examples to real physical problems. illustrates application of QFT to practical systems such as those having significant mechanical vibration. examples 911 (and in some sense 14). 51 . focuses on systems with more than one output. Therefore. In general. The eight examples present the natural approach: starting with the outer loop and ending with the inner loop. Example 14 illustrates a continuoustime control design for a sampleddata system. The second introduces a traditional QFT robust tracking problem. We see their role as solely to illustrate the application of QFT in feedback design. No attempt is made here to explain these algorithms or how they were derived. The fourth example focuses on a control design of a fixed plant and illustrates that the Toolbox is also useful for classical frequencydomain designs. existence conditions for feedback solutions are the same as for any other linear. illustrating how additional measurements can reduce control bandwidth significantly. The second group. and to the use of this Toolbox for design of robust control systems with parametric and nonparametric uncertainties and simultaneous specifications. while the files in the demo facility involve heavier use of Handle Graphics™ (for presentation purpose only and not needed for QFT design). The third describes design for a plant with nonparametric uncertainty.
Example 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Description robust performance (main example) robust performance (2 DOF QFT tracking) nonparametric uncertainty classical design (no uncertainty) ACC benchmark robust performance (mixed uncertainties types and mixed performance) robust performance (cascadedloop: inner → outer) robust performance (cascadedloop: outer → inner) robust performance (flexible mechanical system) robust performance (inverted pendulum) robust performance (active vibration isolation) discretetime robust performance (main example) discretetime robust performance (2 DOF QFT tracking) robust performance (compact disc drive) robust performance (2x2 MIMO) The following block diagram (Fig. delete it. reference disturbances input disturbances output disturbances W R reference prefilter signal V G U Σ D P plant dynamics F Σ E error signal Σ  manipulated control law signal control hardware Σ Y controlled signal H sensor hardware Σ N sensor noise Figure 46: The singleloop feedback system. divided into the five groups. In some of the examples. A summary of the examples. there is no easy recipe we can offer for loop shaping except experience. 46) is applicable to most of the examples in this chapter. then start adding each term to the controller to see its effect. is shown in Table 3. An excellent exposition of various loopshaping issues can be found in [3]. We suggest that you first try our design for a given example. Unfortunately. you may initially find it difficult to follow our thought process used during loop shaping. Table 3: The Toolbox examples.The examples already include solutions. QFT Frequency Domain Control Design Toolbox User’s Guide 52 .
Example 1: Main Example Examples Example 1: Main Example The first example is the one used to describe the details of the QFT design procedure in Feedback Design with QFT. QFT Frequency Domain Control Design Toolbox User’s Guide 53 .
F(s).)). Ch.g.) In the second design step you shape a nominal loop (L0 = P0G(s)) to meet its bounds. The third and final step focuses on shaping of the prefilter.. 46) with a parametric uncertain plant model described by P = P ( s ) = ka : k ∈[1..)) problems.. ..2.6854(jω+30) (jω) +4(jω)+19.752 2 PG ( jω) ≤ TL ( ω) .m.) computes bounds to guarantee that the variations in the tracking transfer function are less or equal to TU ( ω) − TL ( ω) in dB. The first design step involves computation of bounds for the robust margin (using sisobnds(1. e.10] and TL ( ω) = 120 (jω) +17(jω) 2 +828(jω)+120 3 . The reason is explained in the Limitations section in Chapter 6. so that the tracking transfer function lies within its bounds. You will find out that computing robust tracking bounds (sisobnds(7..)) takes significantly longer turn run compared with all other bounds.. These two transfer functions were arrived at based on upper and lower bound tolerances on the step response of the system to reference signals (for details see [13]).)) and robust tracking (using sisobnds(7. the margin bounds (sisobnds(1.Example 2: 2DOF Design Example 2: 2DOF Design This problem illustrates a traditional QFT tracking problem using a two degreesoffreedom (2DOF) design of F(s) and G(s) for an uncertain system [13.... (This does not guarantee that the tracking specification is met.. for all P ∈P . Let us review a two degreesoffreedom design in QFT. ω ≥ 0 1 + PG and a tracking specification TU ( ω) ≤ F where TU ( ω) = 0. 21]....10] . Consider a unity feedback control system (Fig. 1 + PG for all P ∈P .. s (s + a) The closedloop specifications are robust stability in terms of a margin specification PG ( jω ) ≤ 1. QFT Frequency Domain Control Design Toolbox User’s Guide 54 .10] . sisobnds(7. The problem setup and its QFT solution using the Toolbox can be found in the file qftex2.. ω∈ [ 0. In particular. a ∈[1.
for all P ∈P . The specifications are robust stability and robust sensitivity according to 1 ( jω ) ≤ 0. for all P ∈P . the associated QFT robust stability constraint is given by PG ( jω) < ∞ . for all P ∈P . ω ≤ 5 . Consider a control system (Fig. 1 + PG As discussed in Robust Stability.91 = P (s ) = (1 + ∆ m (s) ): ∆ m (s) stable. we use a more realistic robust stability problem in terms of a robust margin specification PG ( jω ) ≤ 1. ω ≥ 0 .9 +1 10 0. 1 + PG Because some stability margin is always essential to guard against unmodelled high frequency dynamics.1s + 1) +1 1. ∆ m (s) < jω s (0. ω ≥ 0 .089ω2 .2.m. QFT Frequency Domain Control Design Toolbox User’s Guide 55 .001 ( ) .Example 3: NonParametric Uncertainty Example 3: NonParametric Uncertainty This problem illustrates control design for a plant with a nonparametric uncertainty model (see [12]). 1 + PG The problem setup and its QFT solution using the Toolbox can be found in the file qftex3. 46) with a nonparametric uncertain plant model described by P jω 0.
and bandwidth limitation of PG ( jω ) ≤ 0. gain margin of at least 1. . .Example 4: Classical Design for Fixed Plant Example 4: Classical Design for Fixed Plant This problem illustrates that the Toolbox is equally effective in design of feedback systems that do not have uncertainty..83). zero steady state error for velocity reference commands. ω ≥ 10 . 1. 46) P(s) = 10 . The steady state error specification can be met by including an integrator in the controller. In such cases. since the problem does not involve any uncertainty.. it offers an efficient platform for classical frequency response. it can be solved using feedforward openloop structure.) or sisobnds(6. Consider a fixed plant described by (Fig.) with Ws = (for which GM = 1.2 QFT Frequency Domain Control Design Toolbox User’s Guide 56 .. 1 + PG The gain margin specification can be solved either sisobnds(1.707.8. s ( s + )1 The specifications are stability.m. The problem setup and its QFT solution using the Toolbox can be found in the file qftex4.. Naturally.
46) described by P k : m1 = m2 = 1.25. due to discretization over k and over ω.5. ω ≥ 0 . QFT Frequency Domain Control Design Toolbox User’s Guide 57 . each template consists of two nonconnected parts.Example 5: ACC Benchmark Example 5: ACC Benchmark Consider the American Control Conference (ACC) benchmark control design problem [16. for a frequency response design. However. One part of the template has an infinite length (when ω = ωn).2] have large magnitude ranges. In the frequency band ω ∈[1. = P ( s ) = m m1s 2 m2 s 2 + 1 + 2 k m1 The specifications in [16] were given in terms of the time response of the closedloop system. one with 0° phase and the other with 180° phase. you can click on a specific frequency legend button (top left corner) to alternate between show/hide of that bound. Note also that the templates are nonconnected in the range for ω ∈ [1.2].2]. 1 + PG Note that the plant templates are the interesting part of this example. but not quite all the way to infinity. it is unlikely that you will have a perfect match ω = ωn where the template’s length is infinite (resonance).m. In the band ω ∈[1. However. The problem setup and its QFT solution using the Toolbox can be found in the file qftex5. When performing a design.17]. The plant corresponds to a parametric uncertain flexible mechanical system (Fig. for all P ∈P .2] all templates have the same shape. This is due to that the 2nd order pole has no damping.5. For example see the one at ω = 1. To distinguish the bounds. k ∈ [ 0. the following robust margin specification was found appropriate PG ( jω) ≤ 2.2] . The templates you see in the range ω ∈ [1. you should be aware of this fact. hence their corresponding robust stability bounds should be similar.
Its transfer function is M (s) = The amplifier providing the necessary power is A( s ) = 1 .7.2 × 40s + 40 2 To reflect operation at different points in a flight envelope we consider three cases: case 1: a1=335. b4=10. b3=257. b2=39. b4=9. a 27volt dc armaturecontrolled electric motor. disturbance torques vertical reference Σ  compensating network and amp lifier servo motor M(s) Σ missile P(s) θ Vertical sensing D(s) torque due to control surface pitch angle of missile Figure 47: Missile control system. b2=37.13s + 1 . A simplified unstable open loop transfer function relating controlsurface deflection to pitch angle relative to the vertical is P( s ) = b1s +b 2s 2 +b 3s+b 4 3 a1s+a 2 . gravitational and propulsive forces. Modeling of the dynamics to the missile involves aerodynamics. a2=227. case 2: a1=315. is used to reduce the effect of disturbances. 47.0. b3=247. 0.01s + 1 1 107 0. The missile is rollstabilized and has a cruciform wing configuration. The rate gyro vertical sensor (voltage proportional to signal) measures pitch angle according to 40 s D ( s ) = 27 2 . b1=20.5. b1=19.7. A servomotor. b2=36. The general form of the block diagram of the stabilized missile is shown in Fig. QFT Frequency Domain Control Design Toolbox User’s Guide 58 . a2=247. only stabilization in the vertical plane will be considered using an autopilot that operates the control surfaces. Due to the aim of this missile.001s 2 + 0. b3=267. a2=237. b4=9. s + 1.5. b1=23. case 3: a1=345.Example 6: Missile Stabilization Example 6: Missile Stabilization The example focuses on the performance of a missile along its vertical trajectory [26].7.
The specifications are robust margin PGMAD ( jω) ≤ W 1i .040 W 2 = W 2 2 = 0. The robust input disturbance rejection is P ( jω) ≤ W 2i .2 W 13 1.25 corresponding to each plant element. for all P ∈P . ∆ i ( jω) < Ri .m.038 corresponds to each plant element. Note that each case has a different multiplicative error model.Example 6: Missile Stabilization The plant set includes three cases [P1(s).P3(s)] corresponding to the above three cases.075] .1. Note that the interlacing property (one unstable openloop pole trapped between two unstable zeros) dictates that the controller must be unstable. The problem setup and its QFT solution using the Toolbox can be found in the file qftex6. 0. QFT Frequency Domain Control Design Toolbox User’s Guide 59 .3 W 1 = W 12 = 1. the plant model has both parametric and nonparametric uncertainties. the objective here is to find a single controller that meets all specifications at the three operation points instead of using the gain scheduling approach. In essence. Additional modeling error is modeled via the multiplicative form P = {Pi ( s ) (1 + ∆i ( s ) ): ∆ i ( s ) stable.036 W 23 0.05. ω ≥ 0 1 + PGMAD where W 11 1. Ri = [ 0.8] 1 + PGMAD where W 21 0. ω∈[1.P2(s). } That is. for all P ∈P . 0.
where the two parametric uncertain plant models are P1 = P1 ( s ) = : [ a ∈1. b ∈[ 20. This example describes how to execute such designs where the most inner loop is designed first. First.01. for all P ∈P1 . V The design of the inner loop is straightforward. QFT Frequency Domain Control Design Toolbox User’s Guide 510 .Example 7: InnerOuter Cascaded Design Example 7: InnerOuter Cascaded Design Consider again the system in Example 1 but allow an additional measurement at the output of P2(s). 5] .10]} . we recommend you use a cascadedloop feedback structure if feasible. However. the design of the outer loop involves some additional computations. such as plant uncertainty. P2 ∈P 2 . For many reasons. This is a cascadedloop system. 1 + P2 ( s ) G2 ( s ) The effective openloop plant for design of the outer loop is the product P12(s) = T2(s)P1(s). • P The outer closedloop system should be robust stable with at least 50° phase margin for all P ∈P1 and 1 P2 ∈P 2 . such that: • The inner closedloop system should be robust stable with at least 50° phase margin for all P2 ∈ 2 .50] .10] ( jω ) ≤ 1 D ( jω) 2 + 14. 30] and ( s + a)( s + b) 1 P 2 = {P2 ( s ) = k: k ∈ [1. limited sensor reliability and forcing rate and/or amplitude saturation. Let us now derive the various closedloop transfer functions for the margin and performance specifications.02 ( jω) + 64 ( jω) + 748 ( jω) + 2400 Y .4 ( jω) + 169 3 2 and should reject plant input disturbance according to Y ( jω) ≤ 0. 48. The control design problem is to find two forward controllers. and should satisfy plant output disturbance rejection to 0. The new block diagram is shown in Fig. we have to compute the closedloop transfer function of the inner loop T2 T2 ( s ) = P2 ( s ) G2 ( s ) . ω∈[ 0. for all P1 ∈P1 . P2 ∈P 2 . ω∈[ 0. G1(s) and G2(s). V D P2 Σ R  Σ G1  Σ G2 Σ P 1 N2 Σ Σ Y N1 Figure 48: The cascaded feedback system. nonlinearities. sensor noise.
ω∈ [ 0 .01.).. QFT Frequency Domain Control Design Toolbox User’s Guide 511 . in effect the same loop used in the previous two specifications (margin and output disturbance rejection) is also used here since G2 is a fixed function. P2 ∈P 2 ..m..... ω ≥ 0 .). for all P ∈P1 . G2 G = G1 . P2 ∈P 2 .. There may be more than one possible match.Example 7: InnerOuter Cascaded Design The margin specification is given by P G1 12 ( jω) ≤ µ = 1. H = G2 .4 ( jω) + 169 3 2 whose constraint fits the format of the function sisobnds(2.). This is typically accomplished by matching the above transfer function into a similar one from sisobnds(19. The input disturbance rejection specification is given by P 12 G2 ≤ 0. for all P ∈P1 .2.02 ( jω) + 64 ( jω) + 748 ( jω) + 2400 1 . for all P1 ∈P1 ...10] ≤ 1 1 + P12 G1 ( jω) 2 + 14. However. 1 + P G1 12 whose constraint fits the format of the function sisobnds(1. P2 ∈P 2 . The transfer function on the righthand side in the previous equation fits exactly the format of sisobnds(3. In this problem. The output disturbance rejection specification is given by 0..... Also shown is the reduction in control bandwidth compared with the singleloop design of Example 1. More importantly.. ω∈[ 0 . with the utility functions you can transform almost any constraint into a constraint that fits one of the functions sisobnds(19. Recall that you must use the same loop and same nominal loop in computing all bounds in one problem..).).50] 1 1 + P G1 12 which does not readily fit any of the functions in the Toolbox. by replacing P12 with its equivalence we have P P 12 12 G2 G2 P = = P 1 + P G1 1 + 12 G G 1 + PGH 12 2 1 G2 where P P = 12 . for example. The problem setup and its QFT solution using the Toolbox can be found in the file qftex7.
It should include anticipated dynamics (only in the sense of same numerator and denominator orders) of nominal inner loop. L10 = G1P T20 . we first close the outer loop by assuming G2 = ∞ . The question is then how best to design this G2 to achieve this goal. L10. The outer controller should not be designed to achieve robustness against full variations in both P1 and P2.02 ( jω) + 64 ( jω) + 748 ( jω) + 2400 1 .Example 8: Outer. with the given L10. ω ≥ 0 1 + L1 where L1 = P G1T2 . for all P ∈P1 . For an excellent exposition of cascadedloop designs and discussion of tradeoff between the various loops please see [3. QFT Frequency Domain Control Design Toolbox User’s Guide 512 . T2 = 1.Inner Cascaded Design The setup here is the same as in Example 7. G2 = ∞ is used. In the first step. We then design G2 such that. ω∈[ 0. 1 + P2G2 Since G2 = ∞.10] . Closing first the inner loop (as in Example 7) is done arbitrarily. ≤ 1 1 + L1 ( jω) 2 + 14. P2 ∈P 2 . The performance problem is similar to that in the singleloop example (Example 1) 0. In this example we assume G1 to be a simple second order. since we cannot predict its effect on the outer loop. Note that the actual nominal loop. L1 = G1P1. Note that in practice. The outer controller G1 is then computed from L10 and G2. 1 T20 = G2 P20 1 + G2 P20 must be designed to meet both specifications above. and since both P10 is a simple second order and P20 is a gain. The difference will be that here we first close the outer loop. says that G2 can cope with large uncertainty in the main loop with relative low gains than would otherwise expected. Therefore. then follow with closure of the inner loop. only those in P1 with some extra margins. we close the outer loop. For this purpose. P2 ∈P 2 . The key idea here is of “free uncertainty” which. the tradeoff depends on known information on sensor spectrum at each loop.Inner Cascaded Design Example 8: Outer. since the inner loop is introduced mainly to reduce the bandwidth of the outer controller G1.4 ( jω) + 169 3 2 Again. it is sufficient to design a unique L10 with no zeros and five poles (since we can always add three pairs of similar zeros and poles). The salient details of the outerinner design are now described. easy calculation shows that L10 should have three zeros and eight poles. all specifications will be met. This approximation makes sense in that G2 should not be designed to help with performance at low frequencies. Ch.2. The inner controller G1 is then designed to reduce this burden on G2 (see [3] for details). Assuming G2 = ∞. 12]. G2 to have three zeros and four poles. It can be argued that this is the more natural approach for loop closure. the stability (margin) problem is simplified to L1 ( jω) ≤ 1. A nominal loop L10 is designed to meet these specifications. for all P1 ∈P1 . qualitatively speaking. 1 T2 = P2G2 .
w. For this purpose the Toolbox includes the function bdb = genbnds(ptype.B.D. The function genbnds computes bounds on the controller G that are then multiplied by the nominal plant of the inner loop P20. for all P ∈P1 . 1 One thing should become obvious at this point. we must translate all such specifications into bounds on the same nominal loop. c and d can be parametric uncertain transfer functions such as those shown above with G2 being the controller. we turn to design of the inner controller G2 that must be designed against all specifications and all uncertainties in inner loop and outer loop alike.10] . P2 ∈P 2 .A. The transfer function for the output disturbance rejection problem is Y 1 . for all P2 ∈P 2 .Example 8: Outer. The innerloop margin problem P2G2 ( jω) ≤ 1. this is best taken care of by staying away from the high frequency margin bound. b. Once such L10 is designed.2.. ω∈[ 0 . The loop function in the innerloop margin problem and the loop above are not the same. The transfer function for the outer loop margin specification looks like L1 PG T = 1 1 2 . This is done as follows.phs) that computes bounds for a general bilinear problem setting a ( j ω ) + b ( jω ) × G ( jω ) ≤ W ( ω) c ( jω ) + d ( jω ) × G ( jω ) where a.Inner Cascaded Design This L10 should be designed with extra margins anticipating that the true loop has some additional uncertainty from P2.. we have emphasized the fact that in order to design a single controller (G2) to achieve simultaneously different specifications. = D 1 + P G1T2 1 Using above derivations the problem can be simplified to QFT Frequency Domain Control Design Toolbox User’s Guide 513 .).. ω ≥ 0 1 + P2G2 can be computed as usual with sisobnds(1.Ws. 1 + L1 1 + P G1T2 1 Using L (1 + G2 P20 ) G1 = 10 P G2 P20 10 and the above defined T2 to plug into the transfer function and further simplifying gives the problem ( P10 P20 + L10 P1P )2 + ( P10 P20 P2 + L10 P20 P1P2 ) G2 L ( 10 P P2 ) + ( L10 P20 P P2 ) G2 1 1 ≤ 1. However.C.2.P0.
ω∈[ 0. most likely. P2 ∈P 2 . ω∈[ 0 . Two extreme cases are T2 = 1 or T2 = P2 (as used in this example).01. a few iterations to decide how to best assign the bandwidth burden to G2. ≤ 0. P2 ∈P 2 . The “optimal” design should place the low frequency gain of L10 somewhere in between the bound with T2 = 1 and the more difficult ones for T2 = P2. It will require. P G2 P20 10 This G1 will most likely have higher numerator and denominator orders than those assumed when the outer loop was first closed (only the relative degree is the same). The transfer function for the output disturbance rejection problem is T P 2 1 Y G2 ... P10 and G2.) is again used here. Also included is a plot showing the reduction in control bandwidth compared with the singleloop design of Example 1: Main Example and the innerouter cascaded design in Example 7: InnerOuter Cascaded Design.10] 1 The function sisobnds(10.. Having designed G2. This is not a problem since there are acceptable cancellations when forming L10 between T20. Outerinner design should be attempted only if there is a significant uncertainty in both P1 and P2. It is conceivable that you use T2 = 1. QFT Frequency Domain Control Design Toolbox User’s Guide 514 . the outer controller can be extracted from L (1 + G2 P20 ) G1 = 10 .50] .) is again used here.4 ( jω) + 169 . A typical outerinner cascaded design may require several iterations. = V 1 + P G1T2 1 Using above derivations the problem can be simplified to ( P10 P20 P1P2 ) + ( 0 ) G2 ( P10 P20 + L10 P1P2 ) + ( P10 P10 P1 + L10 P20 P1P2 ) G2 The function sisobnds(10.Example 8: Outer.m. 1 Once the above bounds are grouped and their intersection is found.02 ( jω) + 64 ( jω) + 748 ( jω) + 2400 3 2 ( jω) 2 + 14. for all P ∈P1 ... The problem setup and its QFT solution using the Toolbox can be found the file qftex8.Inner Cascaded Design ( P10 P20 ) + ( P10 P20 P2 ) G2 ( P10 P20 + L10 P1P2 ) + ( P10 P20 P2 + L10 P20 P1P2 ) G2 ≤ 0.. for all P ∈P1 . we can loop shape the inner controller G2 as usual. and the innerloop design cannot supply enough gain to meet the lowfrequency gain requirement. This is because the first outerloop is not designed against the actual inner loop T2.
where the parametric uncertain plant model involves significant mechanical flexibility and is described by K gen K t K a K m ( d s s + cs ) = P ( s ) = : a1s 3 + a2 s 2 + a3 s + a4 a1 = j1 j2 a2 = j1 ( d s + d m1 ) + j2 ( d s + d m 2 ) a3 = cs ( j1 + j2 ) + d s + d m 2 a4 = cs ( d m1 + d m 2 ) P and where Kgen = 0.46e6 kgm2 Km = 34. for all P ∈P .5e2 Nm/A ds=5e6 Nms/rad dm1 = dm2 = 0.0.0195] N/m. ω ≥ 0 . N QFT Frequency Domain Control Design Toolbox User’s Guide 515 .0133 Ka = 20 Volt/Volt j1 = j2 = 1.0111.45e6 Nms/rad The uncertain stiffness is Cs ∈ [0.Example 9: Uncertain Flexible Mechanism Example 9: Uncertain Flexible Mechanism This problem was taken from an experimental project at Philips Research Laboratories [18]. Tracking: W R − V0 ( jω) ≤ 1. for all P ∈P . R Noise Rejection: U ( jω) ≤ 1.05 Amp/Volt Kt = 0. In addition to robust stability. 49 U UW VW Σ V R F  Σ G Ka K gen P Kt V0 N Σ NW Figure 49: The servomechanism system. Reference [18] contains an excellent presentation of the various stages involved in a practical robust control design from the initial theoretical study to its experimental implementation. Its objective was to study the possibilities of advanced control design methods leading to a high performance servomechanism design for products such as compact disc players. ω ≥ 0 . there are numerous performance specifications as follows. The control system is shown in Fig.
ω ≥ 0 . QFT Frequency Domain Control Design Toolbox User’s Guide 516 . In this problem. ω ≥ 0 .e. the controller and prefilter poles were limited to approximately 100 Hz. For our QFT design. Uw = 0. the plant templates are “fat” (i. The strength of QFT is clearly highlighted in this problem: it is straightforward to compare between the relative “toughness” of different specifications simply by observing their bounds. Certain bounds for the specifications were not considered here since they were found to lie below the ones that are shown. 1 + PG The weights are: nw = 0.. Such changes typically result in a template with large phase variations (e. In this frequency band.01. After G(s) has been designed. for all P ∈P . view the templates at ω = 155 and ω = 180 rad/sec). we have designed the prefilter F(s) to improve the tracking response relevant to the specifications.1. due to a DSP board limitation. stretched over a large phase range) over a frequency range due to the lightly damped mode. for all P ∈P .m. the mode’s natural frequency will significantly change with changes in the uncertain parameter cs. for all P ∈P . Some specifications involve transfer functions in terms of both G(s) and F(s).1. ω ≥ 0 . for all P ∈P . R U V where W (s) = 2πωb . in essence to reduce closedloop sensitivity. s +1 ( jω) ≤ 1.Example 9: Uncertain Flexible Mechanism Disturbance Rejection: W R − V0 ( jω) ≤ 1. In our design.g. you will find that the file qftex9 includes only the toughest specifications from the set defined above. A few words are in order regarding our approach here for the twodegreesoffreedom feedback design. Since we have already done so. ω ≥ 0 .. the following robust stability margin constraint is added. we first solved for G(s) with F(s) = 1. V Control Effort: U ( jω) ≤ 1. Robust Margin: PG ( jω) ≤ 1.33 and Vw = 0. The problem setup and its QFT solution using the Toolbox can be found in the file qftex9. ωb = 10 Hz (bandwidth) . The corresponding robust margin (stability) bounds will also be “fat”. In addition.
The specification is PG ( jω) ≤ 2.1.5.17] 1/sec ωn ∈ [50.7] m/volt/sec α ∈ [15. ω ≥ 0 1 + PG which is often used as a rule of thumb for such systems. 50). The linearized model from the pendulum angle θ to the cart’s motor current I is P(s) = where L ∈ [0.Example 10: Inverted Pendulum Example 10: Inverted Pendulum Control of an inverted pendulum is a classical problem found in many books. Inverted Pendulum Tip M ass Cart Flexible Arm Figure 50: The inverted pendulum experiment. Note that in the frequency range template is nonconnected including the bounds. g / L the 2 1 s2 θ( s) ωn Kα = × 2 × 2 L × e − sτ 2 I ( s ) s ( s + α ) − k gf K α s + 2ζωn s + ωn s − g / L The problem setup and its QFT solution using the Toolbox can be found in the file qftex10.81 m/s2 kgf = 0. for all P ∈P . a part of an experimental study [27].3.1.01.02] τ = 0. The example. An interesting aspect of the design can be seen by a zoomin around the (180°.45] m K ∈ [1.014 sec g = 9.0. The inverted pendulum with a vertically movable tip mass (to generate uncertainty) is connected via a flexible arm to a cart which can move horizontally (Fig.0dB)) point in the lpshape screen (the nominal loop wraps around).m.70] rad/sec ζ ∈ [0.1 volt/m The time delay is an engineering approximation for the zeroorder hold and computational delay in the digitally implemented system. illustrates the interaction between mechanical resonances and closedloop performance. Though the template is nonconnected due to the uncertainty in QFT Frequency Domain Control Design Toolbox User’s Guide 517 .0.
2. The feedback system shown in Fig. 40 20 0 20 101 50 dB 10 2 Hz 10 3 4 10 Deg 0 500 103 104 Hz Figure 52: Measured openloop frequency response.200] Hz .1. The first is stability with reasonable margins PG ( jω) ≤ 1. Example 11: Active Vibration Isolation This example involves singleaxis active vibration isolation (courtesy of LORD Corporation. ω ≥ 0 . 10 1 102 There are two primary control objectives.Example 10: Inverted Pendulum the length L. 51 has the openloop plant P consisting of the combined engine/structure/mount/amplifier. 52. 1 + PG The second is disturbance rejection (transmissibility of disturbance acceleration to measured acceleration) of 20 dB in the working frequency band 1 ( jω) ≤ 0. Cary NC). disturbance forces Q P plant D disturbance acceleration Σ Σ  G controller Y measured acceleration Figure 51: The active vibration isolation feedback system. 1 + PG QFT Frequency Domain Control Design Toolbox User’s Guide 518 . with proper care we can execute a QFT design that guarantees robust stability (note the nonconnected bounds at ω = 50). The experimental plant frequency response is between an accelerometer mounted on a structure and an active mount that connects the structure to a vibrating engine. ω∈[100. The frequency response of the openloop plant is shown Fig.
if you try to use frequency weights. The HSV plot with weights will be different from that without weights. output or both. When you attempt to reduce the order from five to four. Thus. QFT Frequency Domain Control Design Toolbox User’s Guide 519 . the controller cannot have more than five poles.m. For example. Delete the 2nd order terms and you will see why we need it. however. the usual identifydesignimplementredesign cycle can be completed much more efficiently. view the designed elements. The low frequency real zero and 2nd order pole affect the loop response so that it does not cause encirclements. The most important loop response is in the range of 100020000 rad/sec. you may do better. add a few weights with low magnitudes at ω<1000 and ω>20000 and large magnitude in the range 1000<ω<20000. this step is not required in QFT design. the new loop response is unacceptable. However. The problem setup and its QFT solution using the Toolbox can be found in the file qftex11. In fact. It may be possible to identify a nominal rational transfer function whose frequency response is “close” to the experimental one. While inside the lpshape window. since stability cannot be guaranteed with weighted order reduction. The high frequency 2nd order zero/pole pair around 2000 rad/sec is basically a notch element. you can try it as follows. since it is closest to its stability bounds there. You can even experiment with specifying the type of reduction: input.Example 11: Active Vibration Isolation Due to hardware constraints. Note that the reduced order controller can be unstable. A few words are in order on our loop shaping here. The other terms are not as important and in fact can be eliminated by proper model order reduction.
where t s denotes sampling time. G(z) (H(z) = 1. a ∈ [1. z = e jωts . 5] .Example 12: Main Example (DiscreteTime) Example 12: Main Example (DiscreteTime) Consider a unity feedback sampleddata system shown in Fig. ( s + a)( s + b) k If the sampling time is sufficiently small relative to the system’s bandwidth and there is no pole/zero cancellation of oscillatory modes in the openloop functions. b ∈ [ 20. ω∈ 0. 30] . we can consider only the discretetime system shown in Fig. The discretetime parametric uncertain plant model is given by P = { P ( z ) = Z zoh ( s ) P ( s ): P ( s ) ∈P s} where Z[•] denotes the ztransform. zoh(s) denotes a zeroorder hold zoh ( s ) = 1.2. R( z) Σ  G( z) ZOH ( s ) P( s) Σ Y (s) D/A A/D ts Figure 53: The sampleddata feedback system. F(z) = 1).e.st s s and where the continuoustime parametric plant model is P s= : k ∈[1. 53. The control problem is to design the controller.10] . for all P ∈P . such that the closedloop system is robust stable and satisfies a margin constraint PG ( z ) ≤ 1. 54. tπ s 1 + PG QFT Frequency Domain Control Design Toolbox User’s Guide 520 . R( z) F ( z) Σ E (z)  G( z) P( z) Y (z) Figure 54: The discretetime feedback system.
and t s = 0. z = e jωt s .96 . for all P ∈P .63) G ( z ) = 1998 . ω∈[0. t = 0. QFT Frequency Domain Control Design Toolbox User’s Guide 521 . z = e jωts . t s = 0.50] . When you edit the file you will see that as t s is increased.02 1 + PG z 2 + 14.003 z − 0.001. 1 + PG The problem setup and its QFT solution using this Toolbox can be found in the Mfile qftex12.4 z + 169 and rejects plant input disturbance according to P ( z ) ≤ 0.745 ) s As t s increases.212 ( z − 0.3)( z − 0.01 ( z − 0. it may be impossible to meet all specifications and robustly stabilize the system.Example 12: Main Example (DiscreteTime) rejects plant output disturbance according to 1 z 3 + 64 z 2 + 748 z + 2400 . This example file includes three different solutions: for t s = 0. t s = 0. the controller becomes more “complex”: G ( z ) = 1950 z − 0.01.9 G ( z ) = 4721 . we may be forced to increase controller order and/or use poles with negative real parts in order to satisfy the demand for increasing phase lead.m. Note that in the limit t s → 0. this example reduces to Example 1: Main Example.001 z − 0. If t s is increased further. The zeroorder hold effect is similar to that of a nonminimum phase zero in limiting the achievable benefits of feedback. t s = 0. ω∈[ 0.2 )( z + 0.8 z − 0.01 seconds.10] ( z ) ≤ 0.003. for all P ∈P .
752 2 and TL ( ω) = 120 ( jω) + 17 ( jω) 2 + 828 ( jω) + 120 3 . ω∈[ 0.st s s and where the continuoustime parametric uncertain plant model is given by P s= ka : k ∈ [1. z = e jωt s .10] 1 + PG TU ( ω) = 0. Consider a unity feedback sampleddata system shown above with t s = 0. 54). for all P ∈P . for all P ∈P .6854 ( jω + 30 ) ( jω) + 4 jω + 19. QFT Frequency Domain Control Design Toolbox User’s Guide 522 . z = e jωts .Example 13: 2 DOF Design (DiscreteTime) Example 13: 2 DOF Design (DiscreteTime) This example illustrates is the discretetime QFT tracking problem with a twodegreeof freedom (2 DOF) structure (Fig. The discretetime parametric uncertain plant model is given by P = { P ( z ) = Z zoh ( s ) P ( s ): P ( s ) ∈P s} where zoh(s) denotes a zeroorder hold zoh ( s ) = 1.2.e.001 seconds. The problem setup and its QFT solution using the Toolbox can be found in the file qftex13. s(s + a) The specifications are: a margin constraint PG ( z ) ≤ 1. tπ s 1 + PG and a tracking constraint TL ( ω) ≤ F where PG ( z ) ≤ TU ( ω) . a ∈ [1.m. ω∈ 0.10] .10] .
Assuming constant radial velocity ω. In current systems K is a continuoustime PID controller. Neither the true spot position. which can be interpreted as the system output.25]. the goal is to control the position of the spot on the disk. owing to fast sampling. nor the track position is available as signals. by external shocks when the CD is used in a car going over a bump or in a portable CD used by a runner. The design problem is to achieve good track following in the presence of disturbances and parametric plant uncertainty. while using mainly measured frequency response data with limited identification (to define nominal natural frequencies). Feedback is clearly required in order to achieve good track following. A compact disc player (Fig. for example. A (nonlinear) gain Garm relates the angular displacement with the spot movement in the radial direction. Although the feedback structure is sampleddata. Only the controlerror signal eR is available for measurement. track Σ Gopt K Gact Garm spot A/D ts Figure 56: Block diagram of the radial loop. The transfer function from the current Irad to the angular displacement φ of the arm is called Gact(s). For a complete discussion of both SISO and MIMO QFT designs of this problem see [24. The difficulty in achieving good track following is due to disturbances and plant uncertainty. Plant uncertainty is always a factor in mass production due to manufacturing tolerances. Disturbances are caused. we perform the design in continuoustime. This in turn generates a torque resulting in an angular acceleration. The difference between the track position and the laser beam spot position on the disc is detected by the optical system. A controller K feeds the radial motor with the current Irad. 55) is an optical decoding device that reproduces highquality data from a digitally coded signal recorded as a spiral shaped track on a reflective disc.Example 14: CD Mechanism (Sampleddata) Example 14: CD Mechanism (Sampleddata) This example considers robust control design for a singleloop compact disc mechanism. disc ω radial motor main motor φ radial arm optical pickup Figure 55: A schematic view of a Compact Disc mechanism. Figure 56 presents a blockdiagram of the radial control loop. it generates a radial error eR signal via a gain Gopt. The radial servo system QFT Frequency Domain Control Design Toolbox User’s Guide 523 .
for all P ∈P . These are the three undamped natural frequencies with nominal values of 0. 58. At higher frequencies the measurement shows parasitic dynamics due to mechanical resonances of the radial arm and mounting plate (flexible bending and torsional modes). and power consumption.5% around its nominal value. playability of discs containing faults audible noise generated by the actuator.Example 14: CD Mechanism (Sampleddata) has a design bandwidth of 500 Hz. The CD dynamics are characterized by mechanical vibrations that fall within the controlled bandwidth. it is possible to define key CD quantities. 10 dB 0 10 5 10 2 10 0 Deg 200 5 10 3 Hz 10 4 10 5 400 2 3 4 5 Hz 10 10 10 10 Figure 57: Measured nominal openloop frequency response. 57) were measured by averaging over several hundreds frequency response tests. To quantify possible variations.3 kHz. The specifications are: robust stability with margins PG ( jω) ≤ 3. a compromise value in which several conflicting factors are taken into account: • • • • • accommodation of mechanical shocks acting on the player. QFT Frequency Domain Control Design Toolbox User’s Guide 524 .8. Even with a reasonable identification of nominal transfer functions from frequency response measurements. experience has shown that relatively small identification errors may lead to significant reduction in closedloop performance. achievement of the required disturbance attenuation at the rotational frequency of the disc. ω ≥ 0 1 + PG and robust sensitivity such that the closedloop sensitivity function meets the magnitude specification shown in Fig.62 and 4. those that vary from one player to another and from one track to another.mat). At low frequencies the actuator transfer function from current input Irad to position error output eR is a critically stable system with a phase lag of 180° (rigid body mode). we allow each natural frequency to vary independently by ±2. The Mfile qftex14 loads in the precomputed uncertain plant information (125 elements are stored in sisocd. which will have a significant effect on the dynamics. 1. Based on practical experience. The nominal dynamics (Fig. necessary to cope with significant disc eccentricity. The erratic low frequency response is due to low coherence. Details of how it was done can be found in [24]. The frequency response set is then computed from the measured data (nominal case) and from the above parametric variations.
Example 14: CD Mechanism (Sampleddata)
.
10 2
101
10 0
Restricted Area
10 1
Mag
10 2
10 3 10 4 10 1 10 2 10 3 10 4
Frequency (Hz)
Figure 58: Robust sensitivity reduction specification. The controller is to be implemented in a discretetime form. That is, K is discretetime and a zerohold separates it from the dynamics Gact(s). However, due to the fast sampling (relative to plant dynamics and closedloop bandwidth), it is reasonable to measure the frequency response of a closedloop sensitivity function S, then extract from it that of the plant P (the controller response G is known) using P = (s11)/G. The plant response is lumped together with a zeroorder hold and digital control law computation delay (at a sampling rate of 17.5 kHz). Therefore, the effective block diagram for the design in the continuoustime structure is shown in Fig. 46. The controller can be designed in continuoustime and then be discretized. It is not a true sampleddata design but the approach is reasonable for engineering purposes. The key assumption is that, within the performance bandwidth and with fast sampling, the frequency response of the continuoustime dynamics is similar to that of the discretized dynamics. The implemented design uses a discretized version of G(s) [24]. A few words are in order regarding templates and bounds here. For an obvious reason, the plant templates show negligible variations in frequencies other than those near the three uncertain natural frequencies. The template at the third natural frequency of 4.3 kHz exhibits the most phase and magnitude variations. In fact, the spacing between the template points is rather crude, which results in the nonsmooth stability bound at this frequency (a combination of arcs). A closer spacing will smoothen the boundary, however, for design purposes if the loop is expected to lie away from the bound at that frequency, the present spacing suffices. This example clearly illustrates the effects of the nonminimumphase plant zero and of Bode sensitivity integral. To achieve the desired small sensitivity up to 200 Hz, we must sacrifice sensitivity at another frequency range nearby; specifically, we accept values larger than unity in the next immediate decade. In addition, it shows that sacrificing lowfrequency phase margin can help in improving feedback properties at higher frequencies (without conditional stability one cannot get such a high lowfrequency gain and minimize control bandwidth). A few words are in order on our loop shaping here. While inside the lpshape screen, view the designed elements. There are two notches at around 5300 and 9500 rad/sec (shown by separate 2nd order zeros and poles due to model order reduction). Delete those elements and you will see why we need them. The high gain at low frequencies can be achieved only with a proper sacrifice of loop phase at that range (the 2nd order pole and subsequent zero). This example clearly illustrates the concept of “phase lag maximization” [3]. For more details on loop shaping for this problem see [29].
QFT Frequency Domain Control Design Toolbox User’s Guide
525
Example 14: CD Mechanism (Sampleddata)
The problem setup and its QFT solution using the Toolbox can be found in the file qftex14.m.
QFT Frequency Domain Control Design Toolbox User’s Guide
526
Example 15: MultiLoop Design
Example 15: MultiLoop Design
This problem illustrates a 2input 2output robust performance problem. The problem is rather simplistic and is not meant to reflect reallife problems, nor does it explore advantages and disadvantages of MIMO QFT design. It is meant to demonstrate use of the Toolbox in MIMO problems. Consider a unity feedback control system (Fig. 46) with a parametric uncertain plant model described by p p P = P( s ) = p11 p12 = 21
22
a 3 + 0.5a : a ∈ [ 6, 8] . 8 s + 0.03as + 10 1 1
2
The closedloop specifications are robust stability and robust margin in each channel
e 1 + Pii g i ( jω) ≥
1 , i = 1.2, for all P ∈P, ω ≥ 0 1.8
where Piie denotes the openloop function at the i’th channel when all other channels (loops) are closed. Finally, the performance specification is given in terms of the sensitivity function 0.01ω i = j sij ( jω) ≤ ηij ( ω) , ω∈ [ 0 ,10] , ηij ( ω) = 0.005ω i ≠ j where
{
s s S ( s ) = s11 s12 = ( I + PG ) −1 . 21 22
(I is a 2x2 identity matrix). The MIMO QFT sequential design procedure considers diagonal controllers, hence g1 0 G (s) = 0 g . 2 The sequential procedure involves a sequential singleloop design of each (channel) in the system. In this example there are two channels (loops). Under mild assumptions (related to unstable pole/zero cancellations and fixed decentralized modes), robust stability of the MIMO system is related to the stability of MIMO characteristic equation det(I+PG). It can be expanded as follows
e det ( I + PG ) = (1 + p11 g1 ) 1 + p22 g 2 .
(
)
That is, the MIMO system is robust stable if each of the two functions on the righthand side of the above equality is robust stable. The relations p p g e e p11 = p11 = p11 − 12 21 2 1 + p22 g 2 p p g e p22 = p 22 − 12 21 1 1 + p11g1
QFT Frequency Domain Control Design Toolbox User’s Guide
527
the nominal plant in the 1st channel is some plant p11. it is the only remaining unknown controller to be designed. for all P ∈P .8 . ω∈[ 0. ω ≥ 0 1. ω∈[0. The inequalities corresponding to the robust margin problem in the first channel are 1 + p11 g1 ( jω) ≥ 1+ 1 . for all P ∈P .8 detP 1 . 1 e 1 + p22 g 2 ( jω) ≥ . ω ≥ 0 g1 ( jω) ≥ 1 .nom(s)g1(s).nom(s) from the family P. They can be used to establish stability margins as done in the singleloop case.nom(s) = p11.8 p22 while the inequalities corresponding to robust sensitivity problems in the first channel are s11 ( jω) ≤ s12 ( jω) ≤ p22 + p21 η21 ( jω) ≤ η11.nom(s) is stable and the above four constraint are satisfied.10] Note that all closedloop transfer functions depend on both g1(s) and g2(s). ( jω) ≤ η12 . ω∈[ 0. design of g2(s) is also the last step in the sequential design. The above inequality reflects some conservatism due to this fact. Based on the characteristic equation. for all P ∈P .Example 15: MultiLoop Design describe the equivalent openloop transfer function of each channel assuming the other has been closed. for all P ∈P . and the nominal loop function is L11. After the controller g1(s) is designed such that 1+L11.8 e 1 + p11 g1 ( jω) ≥ The inequalities corresponding to robust sensitivity problems in the 2nd channel are − s21 ( jω) = s 22 ( jω) = e 1 + p22 g 2 p21 g1 1 + p21g1 1 ( jω) ≤ η21. for all P ∈P . ω ≥ 0 1. for all P ∈P . The bounds for each of the above four constraints can be solved using the function genbnds. hence.10] QFT Frequency Domain Control Design Toolbox User’s Guide 528 . ω ≥ 0 1 . for all P ∈P . ω∈[ 0. In this example. yet g2(s) is unknown.10] detP g1 + p22 p12 + p22 η22 detP g1 + p22 . The inequalities corresponding to the robust margin problem in the 1st and 2nd channels are 1 . for all P ∈P .10] 1+p e g 2 22 ( jω) ≤ η22 . we can turn our attention to the next channel.
The e nominal plant in the 2nd channel is some plant p22.nom ( s ) = p22. the bounds for each of the above four constraints can be solved using the function genbnds.Example 15: MultiLoop Design Again.nom) from the family e the nominal loop function is L22 .nom ( s ) g 2 ( s ) . P .m.nom ( s ) (with same p11. QFT Frequency Domain Control Design Toolbox User’s Guide 529 . and The problem setup and its QFT solution using the Toolbox can be found in the file qftex15.
2)!xm) real matrices (thus.P. The first section introduces the basic usage of the two bound computation managers sisobnds and genbnds.w.” consider reducing the number of cases and/or frequencies and/or phases. the last section focuses on the notation and format used for continuoustime and discretetime elements during loop shaping. The Bound Computation Managers This section introduces the basic usage of the two bound computation managers sisobnds and genbnds. The following table describes default values. In general. Arguments P. Single Loop Bound Manager A generic call to the function sisobnds is as follows bdb = sisobnds(ptype. The second section covers the general loopshaping functions available within the Interactive Design Environments lpshape. QFT Frequency Domain Control Design Toolbox User’s Guide 61 ... if the number of plant cases is n and the length of the phase array is m.C. sisobnds is applicable to single loop systems and genbnds is applicable to cascadedloop and (sequentiallyclosed) multiloop systems. and pfshape. yet not all need be specified..loc.nom.G.Ws.R. problem ptype = 7 takes the longest time to compute bounds). If MATLAB returns the message: “out of memory. frequencies and phases (except problem ptype = 7). The algorithms used to compute the singleloop bounds (sisobnds) require computer memory space linearly related to the number of plant cases.H R nom loc phs Defaults 1 0 1 1 [0°:5°:360°] Below you will find explanations for the input and output variables with respect to the block diagram below.phs) The function requires a myriad of inputs. Finally. the bound solving manager sisobnds (excluding problem ptype = 7) utilizes approximately three (nxm) real matrices. while problem ptype = 7 utilizes approximately three (n! / (n . Those that are not specified or entered as an empty matrix [ ] will automatically revert to their default values.6 Bounds and Loop Shaping Introduction This chapter describes the available functions for performing the two most important aspects in a QFT design: bound computation and loop shaping.
A bound. you should not encounter such cases). The following is the general structure of a bound vector: [upper bound. take a look at the input disturbance bounds in Example 9: Uncertain Flexible Mechanism. in which case the above bound is set to 20*log10(myeps) dB and the below bound is set to 20*log10(1/myeps) dB (myeps=1e16). The isolated points representing bounds should have not been there and are due to numerical inaccuracy.. in which case you should loop shape with an unintersected set of bounds.0dB) in the input disturbance bound plot.Bounds and Loop Shaping reference disturbances input disturbances output disturbances W R reference prefilter signal V G U Σ D P plant dynamics F Σ E error signal Σ  manipulated control law signal control hardware Σ Y controlled signal H Σ N sensor noise bdb sensor hardware Contains the bounds (in dB) on the nominal loop L0 = L0G0 H 0 . in which case the above bound is set to 248 dB and the below bound is set to 248 dB. There is no real positive controller gain that can solve the problem (referred to as “no LTI solution. This situation typically occurs with poor template boundary grid and in genbnds(. For instance. In such cases. That is. If you zoom in around the critical point (180°. the loop response must lie above the above bound or below the below bound. • • Note: The bound computation algorithms can produce unrealistic outputs (for the most part. for example.. frequency. however. should always prohibit the nominal loop from the critical point (with the exception of genbnds(. ptype I/O Problem 1 PGH ≤ Ws 1 1 + PGH QFT Frequency Domain Control Design Toolbox User’s Guide 62 .. For convenience. ptype The integer argument ptype defines the particular closedloop problem of interest as shown below.”). The above or below bounds (or both) can be any positive number. Another possibility is due to intersection. respectively.. A bound can take on four different types at a fixed frequency and a fixed phase: • • The above bound is a real number and the below bound is a real number. the function plotbnds does not show such portions of a bound.). lower bound. there is no minimum gain necessary for the loop magnitude. problem type] where upper bound and lower bound are vectors denoting where the nominal loop should lie above and below. if the above bound is 20*log10(myeps).) with c(jω) ≠ 1).. The above bound is set to 302 dB and the below bound is set to 302 dB. The bound is nonconnected. or only one of the two exists.. you will see that there is a bound prohibiting the nominal loop from that region.
. R A disk radius in a multiplicative uncertain plant model. the specification must consist of upper and lower values (see Example 2). Can be a single number.)..Bounds and Loop Shaping 2 3 4 5 6 7 8 9 1 ≤ Ws 2 1 + PGH P ≤ Ws3 1 + PGH G ≤ Ws 4 1 + PGH GH ≤ Ws5 1 + PGH PG ≤ Ws6 1 + PGH PG Ws7a ≤ F £ Ws7b 1 + PGH H ≤ Ws8 1 + PGH PH ≤ Ws9 1 + PGH w A frequency vector (rad/sec. In sisobnds(7. It is represented by an LTI/FRD object.. If there is another parametric uncertain transfer function in the loop (i. C) then nom should be a twonumber vector specifying both nominal cases for P and for C. Ws A performance weight. loc An integer (1 or 2) indicating location of the controller to be designed.. QFT Frequency Domain Control Design Toolbox User’s Guide 63 . Specific values can be assigned to each case in a mixed parametric/nonparametric uncertain plant. vector or an LTI model AN LTI model can be used to specify different specifications for each plant case at each frequency. nom An integer corresponding to the nominal plant index in the LTI/FRD model. must be a subset of the frequencies in an FRD model). loc = 2 implies H(s) is the controller and c is the known G(s).e. loc = 1 (default) implies G(s) is the controller and hence the input variable c is the known H(s).
A. General Bound Manager The special function genbnds was written with the advanced user in mind. Pnom The input argument Pnom denotes the nominal plant such that the bounds are defined for the open loop function L = G*Pnom. C.C. and P0 can be constants or LTI/FRD models. C. ptype The argument ptype defines the particular closedloop transfer function of interest as shown in the table below ptype I/O Problem A + BG ≤ Ws 10 C + DG A+ B G ≤ Ws 11 C + DG 10 11 A. it must also be used in all other functions. It can be used in cascadedloop designs (Example 8) and sequentially closed multiloop designs (Example 15).Pnom.D. Note that if C≠1 the resulting bounds may not include the critical point (1. B. and D A.0) or (180°. genbnds can be used to solve all the problems in sisobnds except for ptype = 7. The phase 180° should always be part of the phase vector phs. They are functions of the various plants and controllers in cascadedloop and multiloop systems. 0dB). Note that Pnom is not an index (as in sisobnds). The general call to the function genbnds is as follows bdb = genbnds(ptype. rather it is an LTI/FRD object of the nominal plant model. Note: If the phase used for computing bounds is not the default one.B.Ws. The default is [0°:5°:360°].phs).Bounds and Loop Shaping phs A vector defining the resolution of the computed bounds along the phase axis. D. QFT Frequency Domain Control Design Toolbox User’s Guide 64 . B.w. With ptype=10.
displays a file selection dialog box that asks you for the name of a MATtype file in which to store the present elements. displays a file selection dialog box that asks you for the name of the MATfile created from within IDE using the Save option or created from the command line using the getqft function.. The screen captures shown here are of an lpshape session running on a PC. Open. Note that no matter what platform is being used the menus will only differ in a cosmetic sense. A typical screen is shown below. Save. The commands are now shown for the continuoustime loopshaping function lpshape.Bounds and Loop Shaping The Interactive Design Environment (IDE) This section covers the general options available within the Interactive Design Environments lpshape and pfshape. QFT Frequency Domain Control Design Toolbox User’s Guide 65 .. IDE Menus The Interactive Design Environment (IDE) functions provide access to the specific commands used in a QFT design [19].. File The File menu contains items related to opening and saving IDE created files and sending information to the workspace..
Print to Figure sends the graphical contents to a new figure for custom editing and exporting.. The FULL setting is defined initially by the environment and can be changed using the Axis. opens a dialog box that allows you to enter a variable name for an LTI model to be transferred from the workspace...dfs (continuous time) (discrete time) (continuous time) (discrete time) Import. Export.. opens a dialog box that allows you to manually specify axis limits. Axis.. exit without saving the current design. or cancel the exit. altering the working frequency array.Bounds and Loop Shaping Each IDE function will save into a user specified file with a default extension specified in the following table. and storing and recalling elements while within the design environment. controller discretization. Full sets the axis limits to the FULL setting. opens a dialog box that allows you to enter a variable name for the LTI model to be transferred to the workspace. external bode plots... Exit prompts you to exit and save the current design. Nichols Grid toggles the display of the Nichols grid over the openloop grid lines.. Tools The Tools menu contains general commands such as viewing the plant elements. stability analysis. See MATLAB’s Reference Guide for more details.fsh *.dsh *. View Zoom toggles the zoom mode between on or off. IDE Function lpshape pfshape File Name Extension *.shp *. any other extension can be used). option described later. (these choices are not unique. QFT Frequency Domain Control Design Toolbox User’s Guide 66 .
Frequency. last.Bounds and Loop Shaping Plant displays the plant elements (unless entered as frequency response). be careful when you see a straight line plotted with a near 180° span. closedloop sensitivity and closedloop complimentary functions are shown. try to periodically turn off then on again the Pad option. opens a dialog box that allows you to change the first.0 < ε << 1 2 s 2 + εs + ω n instead of a pure oscillator 2 ωn 2 s2 + ωn The significance of such a change is negligible from a design view point. Whenever possible first use 2 ωn . This will clean up the frequency vector. In general. Warning: It is possible that between two consecutive frequency points the phase of the response plot is discontinuous with jumps of more than 180° but less than 360°. Bode Plots… plots the current design in a bode plot format. The Pad option may add a large number of frequencies and hence slow down the interactive design process. QFT Frequency Domain Control Design Toolbox User’s Guide 67 . and number of points in the working frequency array. Stability analyzes the nominal closedloop stability (this is done by computing the eigenvalues of the closedloop statespace matrix). This may occur when the resolution of frequency array is too crude at that band and the program will have a hard time figuring out how to connect a line between these two response points. As values of damping and natural frequencies tend to be modified during a design process. The open loop.. Discretize… provides a dialog to compare the continuoustime controller with a discretized controller using various userselected discretization methods and sampling time.. The Pad Frequency Vector option in this mode adds additional points to improve smoothness of the frequency response plot when underdamped secondorder elements are present.
If the mouse is over the loop response. and pressing Add Using Input Fields. The sliders to the right of each input field can be used to fine tune individual parameters of the element. For mode details. Recall retrieves the last saved set of elements from within the IDE. please see the Design Elements section later in this chapter. Pressing Apply or selecting a new element to add or edit permanently accepts the element. Design Control Panel Pointer Info The Pointer Info section provides mouse movement feedback whether the mouse is over the loop response or not. If none have been saved. Controller Elements The Controller Elements section provides both numerical and graphical addition of elements. The new loop response is displayed with the original for immediate comparison. the nearest frequency is displayed in the units specified by the radio buttons. The element can be deleted by pressing the Delete button. QFT Frequency Domain Control Design Toolbox User’s Guide 68 . Adding Elements Numerically is accomplished by selecting a desired element from the Element Popup. then this option returns the initial elements.Bounds and Loop Shaping Store saves the present set of elements within the IDE (useful only within IDE for quick recall of a previous design). entering the required values in the enabled input fields.
Super 2nd adds a stable 2nd order zero over a stable 2nd order pole based on the phase difference and magnitude difference at the selected frequency (red dot) between the initial location and the current pointer location. the new loop frequency response will have a magnitude reduction at the frequency. QFT Frequency Domain Control Design Toolbox User’s Guide 69 . the pole’s damping ration is set to 0.5 and the other is computed to achieve the magnitude change at the selected frequency. Limitation: phase difference < 176 degrees. A lead will result in a magnitude increase at that frequency. Limitation: phase difference < 88 degrees. A zero will result in a magnitude increase at that frequency. stable pole (zero) based on a negative (positive) phase difference at the selected frequency (red dot) between the initial location and the current pointer location. This term can actually provide either lead or lag dynamics. the new loop frequency response will have a magnitude reduction at the frequency. The necessary zero and pole pair are computed such that the element achieves its maximal phase at the selected frequency. If the desired term is a lag. Exception: In pfshape. Limitation: phase difference < 176 degrees. The necessary pole (zero) value is computed to result in the desired phase change. Notch adds a notch based on the magnitude difference at the selected frequency (red dot) between the initial location and the current pointer location. First Order adds a real. the implementation is based on magnitude difference. Due to the nonlinear relation between natural frequency and damping ration and the associated phase and magnitudes. If a magnitude reduction is desired. Complex Lead/Lag adds a stable complex zero and a stable complex pole based on the phase difference and magnitude difference at the selected frequency (red dot) between the initial location and the current pointer location.Bounds and Loop Shaping Adding Elements Graphically is accomplished by selecting a desired element from the Element Popup and floating the mouse over the loop response. the implementation is based on magnitude difference. Exception: In pfshape. The necessary natural frequency and damping ratio are computed to matched desired phase and magnitude change. Limitation: phase difference < 176 degrees. Both terms have damping ratios of 0. Limitation: phase difference < 88 degrees. the feasible domain is limited (this limitations is removed in the Super 2nd element below). Second Order adds a stable complex pole (zero) based on a negative (positive) phase difference and magnitude difference at the selected frequency (red dot) between the initial location and the current pointer location.45. Gain takes the difference between the initial frequency location and the current pointer location to modify the DC gain. If the desired term is a pole. The four free parameters allow for any match of desired magnitude and phase change. Lead/Lag adds a stable lead (lag) based on a negative (positive) phase difference at the selected frequency (red dot) between the initial location and the current pointer location.
In general. deleted or iterated on as a super 2nd). Note: Only stable and minimumphase elements can be added via mouse operations.. To continue moving the plot you can edit the value of the new element by regrabbing the marker. unstable. Editing is accomplished by selecting the desired element and either editing the parameters in the input fields or using the sliders to tune the parameters. Upon selection of a point. Only after this point has been found. Deleting is accomplished by selecting the desired elements (the gain cannot be deleted) and pressing the Delete button. can the response plot be grabbed and moved to a new location using the selected element. If the mouse operation on a certain element calls for complex coefficients. the super element is stored as separate zero and pole elements (i. and can be added only via a mouse operation. a (red) marker appears on the plot at that frequency. you will be prompted for such a situation and the element will not be implemented (see Table 4: Standard continuoustime elements in this Toolbox and Table 5: Standard discretetime elements in this Toolbox for specific formats).Bounds and Loop Shaping Note that the mouse pointer changes to a directional pointer representing the type of movement that will be registered when it is located on any point on the response plot (but not on the straight line connecting any two points). in order to relocate the frequency response at the chosen frequency to a new location on the plot (with different magnitude and phase). or nonminimum phase. upon completion. You can continue to edit the particular element as long as the red dot is visible. Multiple elements can be selected by holding down the <ctrl> or <shift> keys while selecting.e. The process of dragging may appear slow on lowend computers (especially if the frequency vector is large). it cannot be edited. QFT Frequency Domain Control Design Toolbox User’s Guide 610 . for an element type select the following: Element Type Match Magnitude Change Match Phase Change real pole/zero complex pole/zero lead/lag notch super 2nd complex lead/lag no yes no yes yes no yes yes yes no yes yes Note: The super 2nd element offers the best chance of successfully matching both magnitude and phase (with realizable elements).
28] or us).Bounds and Loop Shaping Reduction is accomplished by selecting more than one element and pressing the Reduction button. QFT Frequency Domain Control Design Toolbox User’s Guide 611 .replaces the HSV plot with the magnitude plot of the frequency response that allows you to place affine frequency weights for reduction. At this stage you can do the following: Reduce . In this mode. The result will be the reducedorder response plot (dashed line) superimposed over that of the fullorder plot and a list of the reducedorder elements. These weights can be used to allow “tradeoff” of errors between fullorder and reduced order frequency responses. Only a proper or strictly proper controller with stable poles (those with negative real part) can be selected for reduction. The reduction is not applicable to discretetime systems.ignore the present reduction and close HSV dialog box. Pressing the Reduction button results in a new dialog box showing a plot of the Hankel Singular Values. Cancel . Define Weights .performs reduction to the user specified order. A typical screen is shown below. you first select terms from the displayed elements.28] (for an openloop and closedloop Model Reduction Toolbox please contact the author of [20. A typical screen is shown below. The algorithms were adapted from [20.
Connect. Each option is enabled or disabled depending upon the selection of line segments. Move. Move can only be used with a single segment or segments that are connected. Line Add Line allows addition of new line segments. Line segments are selected by either placing the mouse pointer over the desired segment or using the Select option. Delete. Break. QFT Frequency Domain Control Design Toolbox User’s Guide 612 . All new lines are the default type of Both (Red). In the process of adding a new line. and Type are only enabled when line segments are selected. Move changes the pointer into a fleur (fourheaded arrow) and upon holding down the mouse button over the specific segment(s) allows the user to move the selected segments to the desired location. Add Point allows addition of new points.Bounds and Loop Shaping The Line menu contains all the operations that can be performed on line segments. if any line segments are either above or below they are eliminated.
You may need to experiment with different combinations of these methods to achieve best reduction. Done . Save. QFT Frequency Domain Control Design Toolbox User’s Guide 613 . The possible designations are: Input..cancels the present reduction and return to the element selection mode.. Open. Zoom allows the user to change the present axis limits by defining new axis limits with a bounding box. The Options menu includes a number of miscellaneous operations. Output and InputOutput (Both). Break separates segments on two ends of a selected line.accepts the present reduction and close the HSV dialog box. Connect links any two selected segments.. Select Select allows the user to select either All or None of the present line segments. Select . followed by the reduction and then transformed back to the discretetime setting using the method selected from the C2D Conversion pull down menu. Clear removes all present line segments.. each signifying the type of frequency weighted model order reduction in effect over that frequency range. In a discretetime setting. opens a file dialog box that allows for the retrieval of saved line segments. the reduction algorithms transform the controller into a continuoustime version using any of the methods in the D2C Conversion pull down menu. Type Type allows for the changing of a line segment designation. opens a file dialog box that allows for the saving of present line segments. Options Full returns the axis to its original limits.Bounds and Loop Shaping Delete removes selected line segments.
Such a zero. i. • The selected order of the reducedorder model should be based on the relative values of Hankel Singular Values (HSV) shown in the plot. In some cases.. • If you are working with a largeorder controller (say 20). is often much faster than the rest of the poles and zeros. • Stability of the reduced order model that was obtained using with frequency weights is not guaranteed. When repeated poles are present. you will have almost nonminimal modes removed even before reduction is done. the relative degree of the controller may not be the same as before reduction (usually the returned relative degree is one). To avoid this situation. • After reduction. • Reduction may result in a new zero very far from the origin (in either left or right half planes). the reduction algorithms must use logm. or there is a large magnitude difference between the largest pole and smallest pole. the bounds. Look for a sharp drop in HSV value from one order to the next. for example. you should perform reduction in several steps. and can be deleted without affecting the response. • Try to experiment with weight line types to improve quality of model fit. The first value is the frequency at which the bound was computed. Doubleclicking a selected bound toggles its display state. This is because the reduction effects are shown together with closedloop specifications. in a repeated pair we suggest that you first modify the value of one pole by a small number (which will not affect loop response). Bounds The Bounds section provides the ability to selectively turn bounds on and off. QFT Frequency Domain Control Design Toolbox User’s Guide 614 .Bounds and Loop Shaping Hints: • Though you are reducing the controller’s order with an openloop measure. At each step you will select a subset from all possible elements.e. • The reduction is done by first deriving a minimalorder balanced model. a slow and numerically suspect function. in effect you will be considering its effect on the closedloop response. the second is its color. • Try to avoid repeated poles in model reduction function. preferably those with “close” break frequencies. and the third is its display state of on or off.
45 ) s 2 + 2ads + a 2 b 2 s 2 + 2bds + b 2 a 2 Within the continuoustime IDE.Bounds and Loop Shaping Design Elements The following notation and format is used for continuous continuoustime transfer function elements: Table 4: Standard continuoustime elements in this Toolbox Element Mathematical Form Real pole Real zero Complex pole Complex zero Super 2nd (2/2) Integrator/Differentiator Lead or Lag Notch 1 s / p +1 s / z +1 1 s 2 / ω 2 + 2ζ s / ω n + 1 n s 2 / ω2 + 2ζs / ωn + 1 n a1s 2 + a2 s + 1 b1s 2 + b2 s + 1 1 or s n n s s / z +1 s / p +1 s 2 / ω 2 + 2ζ 2 s / ω n + 1 n Complex lead s 2 / ω2 + 2ζ1s / ωn + 1 n ( ζ1 = 0. for example. as shown below.5 ) ( d = 0.5 or ζ 2 = 0. the elements are always visible within the Element Listbox. QFT Frequency Domain Control Design Toolbox User’s Guide 615 .
wn] values. Notch elements are shown with their [zeta1.5 2 123. The transfer function corresponding to the above elements (Table 4) is 2 ⋅ 0.1 s s s +1 s +1 + + +1 +1 1 1 1 1 77 10 × 123. Although we offer similar elements as used in continuoustime types.. Table 5: Standard discretetime elements in this Toolbox Element Real pole Mathematical Form 1− a ⋅ z z−a − pt s (p = equivalent splane pole location) a=e z −b 1− b ⋅ z b = e − zt s (z = equivalent splane zero location) 1 − 2cos ( bt s ) e − at s + e −2at s cos ( bt s ) e − at s cos ( bt s ) e − at s z 2 ⋅ 2 z − 2cos ( bt s ) e − at s z + e − Real zero Complex Pole a = ζωn . discretetime elements are manipulated in terms of their continuoustime equivalence (using zdomain transform) as shown in table below ( t s = sampling time in seconds).zeta2. With IDE functions. frequency] values followed by the values of the zero and pole.973 × 77 2 1× × × × × × 2 s s 1 1 s s +1 s 2 2 ⋅ 0.n QFT Frequency Domain Control Design Toolbox User’s Guide 616 .Bounds and Loop Shaping Complex poles and zeros are shown with their [zeta. That is. e. and the program will convert it to its discretetime value as shown below. you have two choices to define a discretetime controller (or prefilter). to add a firstorder pole. p = 20.5 5. b = ωn 1 − ζ 2 (splane equivalence) Super 2nd (2/2) Predict/Delay b1 + b2 + 1 a1z 2 + a2 z + 1 ⋅ a1 + a2 + 1 b1 z 2 + b2 z + 1 z n or z . wn] values followed by the root location (one from the complexconjugate pair). such as 1st or 2nd orders.1 s2 s 2 2 ⋅ 0. Lead/Lag elements are shown with their [phase.5 s + 1 + s +1 1111 20. b = ωn 1 − ζ 2 (splane equivalence) Complex Zero ⋅ 1 − 2cos ( bt s ) e − at s + e −2at s cos ( bt s ) e − at s z 2 − 2cos ( bt s ) e − at s z + e − cos ( bt s ) e − at s z 2 a = ζωn . you will enter the continuoustime value.26 44 77 44 2 77 2 Treatment of elements in discretetime is quite different in the way in how you define them.g.5 +1 + 1 s + 2 ⋅ 0.
all elements have unity DC gain. while a discretetime integrator from ztransform tables requires an additional ts gain to have unity gain at that frequency. t s = 0. Note that as done in the continuoustime IDE. Within the discretetime IDE. as shown below. b = ωn 1 − ζ 2 . In that mode you enter values in continuoustime and the program uses the ztransform to convert them into discretetime (as shown above). It is easier to predict the resulting frequency response of continuoustime over discretetime elements within IDE. QFT Frequency Domain Control Design Toolbox User’s Guide 617 . the elements are always visible within the Element Listbox.): Standard discretetime elements in this Toolbox Element Integrator or Differentiator # 1 2 3 Lead or Lag Notch Mathematical Form Integ Diff ts z z −1 z −1 ts z ( z − 1) 2 3 t s z ( z + 1) 2 ts z ( z − 1) 2 2 ts z ( z − 1)3 ( z − 1)3 3 t s z ( z + 1) 1− p z − r 1− r z − p z 2 − 2 cos ( bt s ) e − ats z + e −2 at s ⋅ 2 1 − 2 cos ( bt s ) e − at s z + e −2 at s z − 2cos ( dt s ) e −cT z + e −2ct s 2 a = ζ 1ω n .01sec. b = ω n 1 − ζ 1 . d = ω n 1 − ζ 2 2 1 − 2 cos ( dt s ) e − ct s z + e −2ct s Complex Lead z 2 − 2cos ( b1t s ) e − a1t s z + e −2a1t s ⋅ 2 1 − 2cos ( b2t s ) e − a2t s + e −2a2t s z − 2cos ( b2t s ) e − a2t s z + e −2a2t s a = ζωn . A good discussion on discretetime frequency response of various elements can be found in [21]. ζ = 0.45 (s domain equivalence) 1 − 2cos ( b1t s ) e − a1t s + e −2 a1t s One choice to define elements is to do so within any IDE function. A continuoustime integrator has a unity gain at ω = 1. The only difference is in integrator/differentiator elements. for example. c = ζ 2 ω n .Bounds and Loop Shaping Table 5 (Cont.
Bounds and Loop Shaping Real poles and zeros are shown with their continuoustime location (used only for ease of manipulation within IDE) followed by the ztransformed discretetime root location. suppose you do the following P = tf(conv([1. P.1148e .1 2.wn] values. For example.3712e ..Ts = 0. Complex poles and zeros are shown with their continuoustime [zeta.9. In that mode you are passing true discretetime LTI model. wn] values followed by the ztransformed discretetime root location. the plant elements are displayed in the QFT Toolbox standard format QFT Frequency Domain Control Design Toolbox User’s Guide 618 .6. Lead/Lag elements are shown with their continuoustime [phase.9854 z + 0. Notch elements are shown only with their continuoustime [zeta1.9575 z z .9.1 z z 9.3698( z ..[1.3].2 z z .0].6984( z 2 .3679 The second choice to define elements is to pass them as input arguments into an IDE function.2].6393 ) 0..1 z + 4.1 z .0) is a single complexvalued continuoustime pole (zero).99e .1 z 2 + 0.P) Within the discretetime IDE.zeta2.0.conv([1. lpshape([].7436e .5082 z + 0. This may lead to some interesting results.9554e .1 × × × 2 z . if you select ToolsPlant.7]))).8187 ) × × 1.0. The inverse ztransform of a discretetime pole (or zero) located between [1.conv([1. The transfer function corresponding to the above elements in Table 5 is therefore (using format short e) 1× × 7.0.7859 z + 0.[].1453 z 2 .4 z z .4493 2.01.7045e .. frequency] values followed by the values of the ztransformed discretetime zero and pole.[1.0.5]).995e .
These are the delay element and the real zero with a complexvalued continuoustime zero.5 0.5 0.2)(z .8 z = × × × × × 0.8 × 0.0.7 0.0. QFT Frequency Domain Control Design Toolbox User’s Guide 619 .0.0.3z 15 .7) 0.5z z .0.0. let us rewrite the passed numerator and denominator in a form that uses only standard QFT Toolbox elements (Table 5: Standard discretetime elements in this Toolbox) z(z + 0.3z 1 z + 0.2 z .929 × × × × × z 0.0.7 × 0. 1 z z + 0.7 The nonunity gain element is required to compensate for forcing each standard element to have unity steadystate gain at z = 1.7 z 0. The z and z1 elements are often used for padding purposes. To understand why we have such elements.5) (z .5z z .8 z = 8.Bounds and Loop Shaping Two elements above may appear unusual.3 z .7 z 0. The real discretetime zero at z = 0.5 corresponds (via ztransform pair) to a single continuoustime complex pole p = 69314i.0.3)(z .0.3 z 2 1 0.3 z .2 z .
..........................................................................................................75 chksiso .........................................................................................................................728 sectbnds ..........................................................................................77 cltmpl...............................................................................7 Reference Functions by Class....................716 lpshape................................................................713 getqft..................................................................................717 multmpl ........................72 addtmpl....................................................................................................................................................................................................................................................................................................................................................................................................726 putqft ................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................720 pfshape............................................................................................................................................................................................................................................................................722 plotbnds ..............................................................................................................................................................................................................725 plottmpl ...............................................715 grpbnds .......73 chkgen ......................................................................................................................................................................727 qftex#............................................................................................................710 genbnds.................................................................................................731 QFT Frequency Domain Control Design Toolbox User’s Guide 71 .........................................729 sisobnds ........
Interactive Design Environments (IDE) lpshape pfshape Controller design Prefilter design Specialized XY Graphs plotbnds plottmpl Nichols plot of bounds Nichols plot of templates Arithmetic addtmpl cltmpl multmpl Add LTI/FRD arrays Closedloop LTI/FRD arrays from openloop arrays Multiply LTI/FRD arrays Bound Computation sisobnds genbnds SingleInput/SingleOutput setting bounds General setting bounds Bound Utility grpbnds sectbnds Group several bounds into a single variable Intersection of bounds Analysis chksiso chkgen Analysis of a SISO closedloop configuration given openloop LTI/FRD models Analysis of a general closedloop configuration given openloop LTI/FRD models File Operation putqft getqft Import a design into an IDE file Export a design from an IDE file Examples qftex# Solutions to the examples in Chapter 5 QFT Frequency Domain Control Design Toolbox User’s Guide 72 . Information is also available through the online help facility.Reference Functions by Class This section contains detailed descriptions of all QFT Toolbox functions. It begins with a list of the functions grouped by subject area and continues with the reference entries in alphabetical order.
0.c) = tf(1. the result is an FRD model. c = c + 1.1) ― an object of array dimension n.P2. for b = linspace(0.2). each element in one array is matched with all the elements in the other array. In an uncorrelated case. end c = 1.10). addtmpl(P1. Synopsis P = addtmpl(P1. Due to uncorrelated uncertainties. the array dimension of the sum is >> size(P1) 10x1 array of transfer functions Each model has 1 output and 1 input. When the dimensions of the arrays are the same.[1.P2. b ∈[ 0. end The addition is computed from P = addtmpl(P1.10).1. P1+P2 produces the same result as addtmpl(P1. If the array dimensions are different.a]).P2. P1(1.c) = tf(1.2) produces an object of array dimension n2. P2(1. an uncorrelated case is assumed.5] s+2 We first form LTI arrays to represent the above models using linear parameter space grids c = 1. addtmpl time). If one is an FRD.1.1. QFT Frequency Domain Control Design Toolbox User’s Guide 73 . c = c + 1.10] s+a P2 ( s ) = b .5. for a = linspace(1. works with both continuous and discrete systems (both systems must have the same sampling Examples Consider addition of two transfer function sets given by P1 ( s ) = 1 .utype) Description addtmpl produces an addition of two SISO objects or arrays (LTI and/or FRD models).2]).P2. say n (note: array dimensions are not I/O dimensions). utype = 1 indicates correlated uncertainties (default) and utype = 2 indicates uncorrelated uncertainties.addtmpl addtmpl Purpose Add LTI and/or FRD arrays.0.1. a ∈[1.[1.10.
P2). or P = addtmpl(P1. multmpl QFT Frequency Domain Control Design Toolbox User’s Guide 74 . See Also cltmpl.addtmpl >> size(P2) 10x1 array of transfer functions Each model has 1 output and 1 input. results in an erroneous addition since both assume correlated uncertainties (thought the results are different in that different elements are paired in the summation). Note that using either P = P1+P2. >> size(P) 100x1 array of transfer functions Each model has 1 output and 1 input.
chkgen works with both continuous and discrete systems. This function is used in multivariable control design settings. The reason is that the bound between any two adjacent phases is interpolated using a straight line. w is a frequency vector (rad/sec. defined by ptype. B.P. must be a subset of the frequencies in an FRD model).w. and the worst case (maximum) closedloop configuration designated by ptype. Limitations 1.w. It is possible that during nominal loop shaping you located the loop right on the bound at a certain frequency. yet chkgen shows that you did not satisfy the specification at that frequency.Ws.A.w.F) I/O Problem A + BG ≤ Ws C + DG A+B G ≤ Ws C + DG returns the difference between the closedloop specification Ws.D.G) err = chkgen(ptype. The function does not analyze (robust) stability. That is. If the resolution of the phase vector used to compute the bound was too “crude.B.C. a weight. Upon invoking chkgen without an output argument. The argument ptype defines the particular closedloop I/O problem of interest as shown in the table below ptype 10 11 err = chkgen(ptype. D.G) Description chkgen plots at each frequency the maximal magnitude of a specified closedloop design with respect to uncertainties. In particular.C. A. 2. only an algebraic test is performed.A. the result is displayed in a standard MATLAB figure window.D.” you cannot achieve a QFT Frequency Domain Control Design Toolbox User’s Guide 75 . It simply computes closedloop magnitudes at the boundary of the template (hence.Ws. can be a single number. and G are LTI/FRD objects or arrays.R.chkgen chkgen Purpose Analysis of a general closedloop configuration given openloop LTI and/or FRD models Synopsis chkgen(ptype. Ws. the error is given by err = Ws − maxT all T where T denoted the I/O system.Ws. it is possible that 1+L = 0 for some interior point of the template at some frequency).G. vector or an LTI or FRD model.B. C.H.
chkgen reasonable approximation of the actual continuous bound curve. To resolve this problem you must increase the resolution of the phase vector. See Also chksiso QFT Frequency Domain Control Design Toolbox User’s Guide 76 .
R. G. a weight. P. can be a single number.chksiso chksiso Purpose Analysis of a singleinput/singleoutput closedloop design given openloop LTI and/or FRD models Synopsis chksiso(ptype.G.F) err = chksiso(ptype.Ws.w.P. R.F) Description plots at each frequency the maximal magnitude of a specified closedloop design with respect to uncertainties.P) err = chksiso(ptype. Ws.H. denotes multiplicative uncertainty disk radius with respect to the plant P.Ws.H. H and F are LTI/FRD objects.R.F R Defaults 1 0 QFT Frequency Domain Control Design Toolbox User’s Guide 77 .G.P.Ws. a magnitude vector or an LTI/FRD model. vector or an LTI/FRD model.H. w is a frequency vector (rad/sec.w. chksiso The argument ptype defines the particular closedloop I/O problem of interest as shown in the table below ptype I/O Problem 1 2 3 4 5 6 7 8 9 PGH ≤ Ws 1 1 + PGH 1 ≤ Ws 2 F 1 + PGH P F ≤ Ws3 1 + PGH G F ≤ Ws 4 1 + PGH GH ≤ Ws5 F 1 + PGH PG ≤ Ws6 F 1 + PGH PG ≤ Ws7b Ws7a ≤ F 1 + PGH H ≤ Ws8 F 1 + PGH PH F ≤ Ws9 1 + PGH F Arguments P.w.G. must be a subset of the frequencies in an FRD model).
yet the output of chksiso shows that you did not satisfy the specification at that frequency.10] (s + 5)(s + 30) G (s ) = and the performance specification is s 379 42 +1 s ( 165 +1) ( ) PG ( jω) ≤ 1. the above err is computed for each such plantspec pair. Limitations 1. and the worst case (maximum) closedloop configuration designated by ptype and uses the necessary default values.Ws. and the plot shows the minimum (at each frequency) over all such err values. In particular. 2. That is. The function does not check whether the family of closedloop systems is (robustly) stable. If the resolution of the phase vector used to compute the bound was too “crude. To resolve this problem you must increase the resolution of the phase vector. ω ≥ 0. It is possible that during nominal loop shaping you located the loop right on the bound at a certain frequency. it is possible that 1+L = 0 (L is the openloop function) for some interior point of the template at some frequency). It simply computes closedloop magnitudes at the boundary of the template (hence.R. the error is computed at each frequency from err ( ω) = min( Ws ( ω) −T ( ω)) all T where T is the (uncertain) closedloop transfer function (defined by ptype) and Ws is the specification.H.2. the result is displayed in a standard MATLAB figure window. only an algebraic test is performed. Upon invoking chksiso without an output argument.F) returns the difference between the closedloop specification.chksiso err = chksiso(ptype.G.” you cannot achieve a reasonable approximation of the actual continuous bound curve. If the problem involves different performance specification for each plant in the uncertain set. chksiso works with both continuous and discrete systems.w. See Example 6: Missile Stabilization for an instance of such performance problem. Ws.P. The reason is that the bound between any two adjacent phases is interpolated using a straight line. for all P ∈P 1 + PG Define the openloop data QFT Frequency Domain Control Design Toolbox User’s Guide 78 . Examples Suppose you wish to analyze a feedback design where the uncertain plant is P = P(s) = the controller is k : k = [1.
chksiso
c = 1; for k = linspace(1,10,10), P(1,1,c) = tf(k,conv([1,5],[1,30])); end G = tf(379*[1/42,1],[1/165,1]);
c = c + 1;
and a frequency vector
w = logspace(1,3,100);
The desired analysis is obtained by invoking
chksiso(1,w,1.2,P,0,G);
Alternatively, we can compute the maximal magnitude response at each frequency using the following
Trw = abs(freqresp(Tr,w)); Trmag = abs(squeeze(freqresp(Tr,w))); maxT = max(Trmag,[],2);
A similar procedure applies in a discretetime setting. Suppose we want to check the performance of the above system in a discretetime implementation with a 0.01 second sampling time. The discretized openloop data can be computed from
Ts = 0.01; Pz = c2d(P,Ts,'foh'); Gz = c2d(G,Ts,'foh');
The frequency vector is defined up to the Nyquist frequency
wz = logspace(1,log10(pi/Ts),100);
Analysis is obtained from
chksiso(1,wz,1.2,Pz,0,Gz);
See Also
chkgen
QFT Frequency Domain Control Design Toolbox User’s Guide
79
cltmpl
cltmpl
Purpose
Closedloop arrays from openloop arrays
Synopsis
cl = cltmpl(ptype,P,G,H,F,sgn,utype)
Description
clcp
forms the correlated or uncorrelated closedloop system designated by ptype that defines the particular closedloop relation of interest as shown in the table below
ptype I/O relation ptype I/O relation ptype I/O relation
1 2 3
PGH F⋅ 1+ PGH 1 F⋅ 1+ PGH P F⋅ 1+ PGH
4 5 6
G F⋅ 1+ PGH GH F⋅ 1+ PGH PG F⋅ 1+ PGH
7 8 9
PG 1+ PGH H F⋅ 1+ PGH PH F⋅ 1+ PGH F⋅
sgn = 1
specifies positive feedback and sgn = 1 specifies negative feedback (default).
utype = 1 indicates correlated uncertainties (default) and utype = 1 indicates uncorrelated uncertainties. In an uncorrelated case, each element in one array is matched with all the elements in the other array. If array dimensions are different, an uncorrelated case is assumed.
Arguments
P,G,H,F sgn utype P, G, H cltmpl
Default Values
1+0i 1 1
and F are LTI and/or FRD models. If mixed models are used, the result is an FRD model.
works with both continuous and discrete systems (all systems must have the same sampling time). computes the closedloop LTI/FRD model designated by
cl = cltmpl(ptype,P,G,[],[],[],utype) ptype from P and G data.
Examples
Compute the closedloop tracking frequency response set P (s )G (s ) 1+P (s )G (s ) corresponding to:
QFT Frequency Domain Control Design Toolbox User’s Guide
710
cltmpl
P (s ) =
1 a , G (s ) = , a ∈[1,10] s+a s+2
We first form LTI arrays to represent the above models using linear parameter space grids
c = 1; for a = linspace(1,10,10), P(1,1,c) = tf(1,[1,a]); G(1,1,c) = tf(a,[1,2]); c = c + 1; end
The result is computed from
T = cltmpl(1,P,G);
Due to uncorrelated uncertainties, the array dimension of the sum is
>> size(P) 10x1 array of transfer functions Each model has 1 output and 1 input. >> size(P) 10x1 array of transfer functions Each model has 1 output and 1 input. >> size(T) 10x1 array of transfer functions Each model has 1 output and 1 input.
Note that if we let the uncertainties be uncorrelated (clearly not the case here)
T = cltmpl(1,P,G,[],[],[],2);
resulting in a 10x10 array dimension
>> size(T) 100x1 array of transfer functions Each model has 1 output and 1 input.
The frequency response of this array is computed using a Control Toolbox command
w = logspace(1,1); Tfr = freqresp(T,w);
Note that the result is NOT an LTI model, rather a multidimensional matrix
>> size(Tfr) ans = 1 1
50
100.
In SISO cases (the first two indices correspond to input and output dimensions), it is convenient to eliminate the singleton dimensions
QFT Frequency Domain Control Design Toolbox User’s Guide
711
>> size(Tfr) ans = 50 100. The result can be made a FRD model using Tfr = frd(Tfr.w)).w). >> get(Tfr) Frequency: [50x1 double] ResponseData: [1x1x50x100 double] Units: 'rad/s' Ts: 0 ioDelay: 0 InputDelay: 0 OutputDelay: 0 InputName: {''} OutputName: {''} InputGroup: {0x2 cell} OutputGroup: {0x2 cell} Notes: {} UserData: [] See Also addtmpl. multmpl QFT Frequency Domain Control Design Toolbox User’s Guide 712 .cltmpl Tfr = squeeze(freqresp(T.
L 0 = P0G . A + BG ≤ Ws10 C + DG A+B G ≤ Ws11 C + DG and P0 can be constants or LTI/FRD models. a weight.c) = tf(1.25). refer to the Using the Bound Computation Manager section in Chapter 6. define problem data c = 1.10. C. The only default here is phs = [0°:5°:360°]. ω ≥ 0. genbnds When invoked without a lefthand argument. w is a frequency vector (rad/sec. QFT Frequency Domain Control Design Toolbox User’s Guide 713 . D. c = c + 1. vector or an LTI model.D.phs) Description genbnds ptype computes QFT bounds on the nominal loop.w. genbnds displays the computed bounds. Examples Consider a unity feedback system with the uncertain plant described by P= { P (s ) = 1 .2. for the generic problem specified by (G is the controller. For further details. B.A. ptype I/O relation 10 11 A. can be a single number.[1. Ws. for a = linspace(1.a]).B. a ∈[1. P(1.Ws.10] s+a } The desired closedloop stability margin is given by PG ( jω) ≤ 1. works for both continuous and discrete systems. must be a subset of the frequencies in an FRD model).C.1. for all P ∈P 1 + PG First. P0 is the nominal plant) as shown in the table below.genbnds genbnds Purpose Compute QFT bounds Synopsis bdb = genbnds(ptype.P0.
inom = 1 % nominal case finally.A.100]. C = 1.1. See Also grpbnds.w. bdb = genbnds(10.10.inom).genbnds end A = 0. B = P.2. sectbnds.C. D= = P. all in Chapter 5.1.P0) Use of this function is illustrated in Examples 7 and 8 (cascadedloop) and Example 15 (multiloop).D.1. invoke w = [0. sisobnds QFT Frequency Domain Control Design Toolbox User’s Guide 714 . plotbnds. % bounds will be computed at these freqs P0 = P(1.1.B.
. Repeated poles may cause numerical difficulties. option within any of the interactive design environment (IDE) functions. any other extension can be used). putqft QFT Frequency Domain Control Design Toolbox User’s Guide 715 .shp *. pfshape. C = getqft('filename') The default IDE extensions are shown in the following table. Limitations The balanced statespace form is not available in discretetime systems or if there are imaginary axis or unstable poles.getqft getqft Purpose Export a QFT design as an LTI model. Synopsis C = getqft C = getqft('filename') Description getqft opens a file selection dialog box that allows selection of a binary file created using the FileSave. Design Environment lpshape lpshape pfshape pfshape getqft File Extension *. opens a file selection dialog box and returns the contents of the selected file with C being an directly opens the file specified by filename.dfs (continuoustime) (discretetime) (continuoustime) (discretetime) works for both continuous and discrete systems. C = getqft LTI model..fsh *. Algorithm The returned model is in a balanced statespace form implementation of the algorithm described in [20].dsh *. (these choices are not unique. See Also lpshape.
grpbnds grpbnds Purpose Group several bounds into a single variable Synopsis bdb = grpbnds(var1.P). invoke bdb = grpbnds(bdb1. See Also plotbnds.Ws5..bdb5).Ws1..P).w. bdb5 = sisobnds(5. sectbnds QFT Frequency Domain Control Design Toolbox User’s Guide 716 .var2. Examples Suppose you have computed the following bounds bdb1 = sisobnds(1. Its purpose is to reduce the number of input variables in functions requiring bounds. then to group them.w..) Description grpbnds assigns the passed bounds to a single matrix.
bdb denoted a QFT bound matrix. Depending on the input arguments. Upon entry.P0) initiates an IDE with userspecified nominal loop transfer function and frequency vector. for all P ∈P 1 + PG QFT Frequency Domain Control Design Toolbox User’s Guide 717 . the IDE is initiated in a continuoustime or a discretetime setting..1.phs) Description lpshape creates within MATLAB an interactive design environment (IDE) that allows use of either the mouse or keyboard to add specific controller elements in order to manipulate the frequency response. No bounds are passed and the remaining inputs are set to their respective defaults as outlined in the above table.100) in discretetime setting 1 [0:5:360] lpshape(w.C0. L 0 . Examples Suppose you wish to loopshape a controller for a continuoustime feedback system with the uncertain plant P= {() P s = s . P0 (the nominal loop) and G0 (initial controller) are LTI/FRD models. the nominal loop.100) in continuoustime setting logspace(2.and phs is the phase used to compute bdb.8] s+a } and a desired closedloop stability margin is given by PG ( jω) ≤ 1.C0 phs* Default Values logspace(2.[].lpshape lpshape Purpose Interactive environment continuoustime controller design in a Nichols chart format Synopsis lpshape() lpshape(C0) lpshape(w. must be a subset of the frequencies in an FRD model).2. refer to The Interactive Design Environment section in Chapter 6.log10(π/Ts). is the product of the nominal plant and initial controller L0 = P0G0 Arguments w* P0. a ∈[.bdb. ω ≥ 0. w is a frequency vector (rad/sec.3. w is a frequency vector (rad/sec). For details on the interactive design environment.P0.
then compute bounds wbd = [0. s 1+ P ( z )G ( z ) First. and finally.1. c = 1.m.a]).01.m and qftex13.25).1.2. P(1..Ws.w. Ws = 1. lpshape(wl.1. QFT Frequency Domain Control Design Toolbox User’s Guide 718 .c) = tf(1. P(1. and finally. c = c + 1. define problem data Ts = 0.P).lpshape First.P). T .c) = tf(1. initiate loopshaping environment nom = 1. ω∈ 0.01 sec) with the uncertain plant P= {() P z = z . a ∈[.log10(pi/Ts)).a]).0.10.1.1.0. end P. then compute bounds w = [0.bdb1.1. for a = linspace(0. for all P ∈P .Ts = Ts.log10(pi/Ts)). see Examples 110 in Chapter 5. initiate loopshaping environment nom = 1.P0(1. define problem data Ts = 0.nom)) See example files qftex12. z = e jωTs .100]. w = logspace(1. Suppose you wish to loopshape a controller for a discretetime feedback system (sampling time Ts=0.8. bdb1 = sisobnds(1. for a = linspace(0.100]. lpshape(wl.nom)) In addition.1.[1. bdb1 = sisobnds(1.25).bdb1. end P.1.Ws.wbd.10.[1.8.P0(1.2.2 . w = logspace(1.1.Ts = Ts. c = c + 1.01. Ws = 1. c = 1.1.1.8] z−a } and a desired closedloop stability margin is given by P ( z )G ( z ) π ≤ 1.
lpshape See Also pfshape QFT Frequency Domain Control Design Toolbox User’s Guide 719 .
P2. % use a 10point grid P2(1.2).multmpl multmpl Purpose Multiply LTI and/or FRD arrays. works with both continuous and discrete systems (both systems must have the same sampling Examples Consider product of two transfer function sets given by P1 ( s ) = 1 .10).P2.1) ― an object of array dimension n.2]). c = c + 1.10). each element in one array is matched with all the elements in the other array.a]). for b = linspace(0. P1*P2 produces the same result as multmpl(P1. a ∈[1. the array dimension of the sum is >> size(P1) 10x1 array of transfer functions Each model has 1 output and 1 input. utype = 1 indicates correlated uncertainties (default) and utype = 2 indicates uncorrelated uncertainties. multmpl(P1.0. multmpl time).P2. for a = linspace(1.5] s+2 We first form LTI arrays to represent the above models using linear parameter space grids c = 1. b ∈[ 0. If one is an FRD. Synopsis P = multmpl(P1.5.c) = tf(1. In an uncorrelated case. When the dimensions of the arrays are the same.1.10.1. an uncorrelated case is assumed. end c = 1. the result is an FRD model.[1. end The addition is computed from P = multmpl(P1. % use a 10point grid P1(1.P2. If the array dimensions are different.0. say n (note: array dimensions are not I/O dimensions).2) produces an object of array dimension n2.1.10] s+a P2 ( s ) = b . c = c + 1.[1.1.c) = tf(1. Due to uncorrelated uncertainties. QFT Frequency Domain Control Design Toolbox User’s Guide 720 .utype) Description multmpl produces the product of two SISO objects or arrays (LTI and/or FRD).
P2). or P = multmpl(P1. See Also addtmpl. results in an erroneous addition since both assume correlated uncertainties (thought the results are different in that different elements are paired in the summation).multmpl >> size(P2) 10x1 array of transfer functions Each model has 1 output and 1 input. >> size(P) 100x1 array of transfer functions Each model has 1 output and 1 input. cltmpl QFT Frequency Domain Control Design Toolbox User’s Guide 721 . Note that using either P = P1*P2.
For more details on this interactive design environment.F0 R pfshape Default Values 1 0 opens graph window showing the Bode magnitude (dB) vs. refer to The Interactive Design Environment section in Chapter 6. G. must be a subset of the frequencies in an FRD model). For ptype = 7.H. a weight. vector or an LTI/FRD model. Arguments P. the IDE is initiated in a continuoustime or a discretetime setting.P.H. both minimum and maximum magnitudes of the I/O relation are shown as well as both upper and lower weights of Ws as in sisobnds(7. R denotes multiplicative uncertainty disk radius with respect to the plant P. The maximum magnitude of the closedloop I/O relation is drawn with a solid line and Ws is drawn with a dashed line..w..Ws. Ws. can be a single number. H and R are LTI/FRD models or constants.pfshape pfshape Purpose Interactive design environment (IDE) for design of a prefilter for a specified closedloop I/O configuration.G. Depending on the input arguments.10] (s + 5)(s + 30) QFT Frequency Domain Control Design Toolbox User’s Guide 722 . Examples Suppose you wish to design prefilter for a tracking problem with an uncertain plant P = P (s ) = k : k = [1.F0) Description pfshape creates within MATLAB a prefilter interactive design environment that allows use of either the mouse or keyboard to add specific elements. frequency plot.G. Synopsis pfshape(ptype..) (Ws is a 2row magnitude matrix or a 2model LTI/FRD object). w is a frequency vector (rad/sec.R. w is a frequency vector to be used for displaying the responses. The argument ptype defines the particular closedloop I/O relation of interest as shown in the table below ptype I/O relation ptype I/O relation ptype I/O relation 1 2 3 PGH F⋅ 1 + PGH 1 F⋅ 1 + PGH P F⋅ 1 + PGH 4 5 6 G F⋅ 1 + PGH GH F⋅ 1 + PGH PG F⋅ 1 + PGH 7 8 9 PG 1 + PGH H F⋅ 1 + PGH PH F⋅ 1 + PGH F⋅ The systems P.
end G = tf(379*[1/42. G = tf(12. for all P ∈P 1 + PG Then initiate the prefilter design environment by invoking pfshape(1.pfshape and the controller G (s) = such that F⋅ Define input data c = 1.0.1.[1/152.0.[1.01.5 k (z + 0.w.[1.10.9672].15).1.5]. P(1.G) In addition.1]. for k = linspace(0.883].conv([1.0.1]. for k = linspace(1.0.8*[1.01.5]). QFT Frequency Domain Control Design Toolbox User’s Guide 723 .2.c) = tf(k*[1. c = c + 1.15).0.2. z = e jωTs .05.2.c) = tf(k.0.883) z + 0.1.1]).9048])).0. ω∈ 0.05] (z − 1)(z − 0.Ts = Ts.9048) such that F⋅ Define input data PG π ≤ 1.30])). for all P ∈P s 1 + PG Ts = 1. c = c + 1. P(1. s 379 42 + 1 s ( 152 + 1) ( ) PG ≤ 1.conv([1. c = 1. see Example 2 and 9 in Chapter 5. T . end P.P.8(z .0.[1. Suppose you wish to design s prefilter for a tracking problem with sampling time of 1 second and an uncertain plant P = P(z ) = and the controller G(z ) = 12.9672) : k ∈[0.
w. Then initiate the prefilter design environment by invoking pfshape(1.2. See Also lpshape.P.pfshape G.G) Another example can be found in Example 13 in Chapter 5.0.Ts = Ts.1. getqft QFT Frequency Domain Control Design Toolbox User’s Guide 724 .
problem) plotbnds(bdb.phs) Description plotbnds plots the bound vector returned by sisobnds and genbnds with a legend in the upper lefthand corner of the figure window designating which bound was computed at which frequency. sectbnds QFT Frequency Domain Control Design Toolbox User’s Guide 725 . phs. plotbnds(bdb. This phase vector is the same that was used to compute the bounds using sisobnds or genbnds. See Also grpbnds.phs) all the bounds in bdb with their corresponding phase vector. plots only the bounds associated with the passed types in problem. plotbnds(bdb) plots the bounds in bdb using the defaults as shown in the above table.plotbnds plotbnds Purpose Plot QFT bounds Synopsis plotbnds(bdb) plotbnds(bdb.[].problem. Default value is phs = [0:5:360] You can on/off toggle showing bounds by rightclicking the mouse and selecting options on the displayed window.
10) plots the frequencyresponse templates at all the frequencies with the 10th plant labeled as the nominal plant. plottmpl(w. plottmpl(w.P. QFT Frequency Domain Control Design Toolbox User’s Guide 726 .[]. plottmpl works for both continuous and discrete systems.plottmpl plottmpl Purpose Plot plant templates Synopsis plottmpl(w. nom. P is an LTI/FRD array. w is a frequency vector (rad/sec.P. must be a subset of the frequencies in an FRD model).nom) Description plottmpl plots the frequencyresponse templates and labels the nominal plant with an (*). defaults to 1.P) plots the frequency response templates of P at the frequencies designated by w.wbd. The displayed bounds can be toggled on/off rightclicking the mouse and selecting options on the displayed window. The nominal plant index.
fsh *. Ts denotes sampling time (seconds) and C denotes the controller. lpshape. The interactive design environments are configured to search for files with the following extensions (though you can specify any file name): Design Environment lpshape lpshape pfshape pfshape File Extension *. For large order numerator/denominator or statespace forms.shp *.putqft putqft Purpose Import controllers into the interactive design environment binary file format Synopsis putqft(C) putqft('filename'C) Description putqft(C) opens a file selection dialog box and places the contents of the LTI model into the chosen binary file that can then opened by an interactive design environment (IDE).dsh *. the conversion to zero/pole/gain format is suspect to numerical inaccuracies. putqft('filename'.dfs (continuoustime) (discretetime) (continuoustime) (discretetime) See Also getqft. An IDE file is essentially a zero/pole/gain description.C) directly places the contents of the specific format into the filename which can then be opened by an interactive design environment. pfshape Quantitative Feedback Theory Toolbox User's Guide 727 .
QFT Frequency Domain Control Design Toolbox User’s Guide 728 . each corresponds to an example # from chapter 5.qftex# qftex# Purpose Batch files for the Toolbox demo examples Synopsis qftex# Description # can be any number from 1 to 15. These files are standard batch Mfiles.
bdb2 = sisobnds(2. for all P ∈P . Examples Suppose you wish to design a controller for an uncertain plant P = P(s) = with peaking constraints 1 : k = [1. for all P ∈P 1 + PG and 1 ≤ 1.100]. c = c + 1.conv([1.2. It also determines when the result is empty or a non connected set.w.2.c) = tf(1.a].2.1.P). bdb1 = sisobnds(1.1.10.2.P). end To compute the corresponding bounds at low and high frequencies run w = [1.w. 1 + PG We first form an LTI array to represent the above model using a linear parameter space grid c = 1. Quantitative Feedback Theory Toolbox User’s Guide 729 .15). for a = linspace(1.sectbnds sectbnds Purpose Intersect QFT bounds Synopsis ubdb = sectbnds(bdb) Description sectbnds performs set intersection on the bounds computed from sisobnds and genbnds. For a complete discussion on bounds please refer to The Bound Computation Managers.10] (s + a )(s + 30) PG ≤ 1. P(1.30])).1.[1. ubdb = sectbnds(bdb) returns the intersection of the bounds contained in bdb.
plotbnds.bdb2). grpbnds.sectbnds and grouped them bdb = grpbnds(bdb1. sisobnds Quantitative Feedback Theory Toolbox User’s Guide 730 . To evaluate the result we plot the bounds before and after the intersection plotbnds(bdb) plotbnds(ubdb) See Also genbnds. then the intersection is computed by invoking ubdb = sectbnds(bdb).
w.sisobnds sisobnds Purpose Compute singleinput/singleoutput bounds Synopsis bdb = sisobnds(ptype. The performance problem is specified in ptype (see below).Ws. L0 = L0G0 H 0 .R.P) bdb = sisobnds(ptype.P.phs) Description sisobnds computes singleinput/singleoutput QFT bounds for the feedback system shown below reference disturbances input disturbances output disturbances W R reference prefilter signal V G U Σ D P plant dynamics F Σ E error signal Σ  manipulated control law signal control hardware Σ Y controlled signal H sensor hardware Σ N sensor noise In terms of the nominal loop. ptype I/O Problem 1 2 3 4 5 6 7 8 9 PGH ≤ Ws 1 1 + PGH 1 ≤ Ws 2 1 + PGH P ≤ Ws3 1 + PGH G ≤ Ws 4 1 + PGH GH ≤ Ws5 1 + PGH PG ≤ Ws6 1 + PGH PG Ws7a ≤ F ≤ Ws7b 1 + PGH H ≤ Ws8 1 + PGH PH ≤ Ws9 1 + PGH Quantitative Feedback Theory Toolbox User’s Guide 731 .C.loc.Ws.w.nom.
G. w is a frequency vector (rad/sec. the integer loc defines the controller location in the loop and w is a vector defining the resolution of the computed bounds along the phase axis.sisobnds Arguments P. the integer nom contains nominal plant index in an LTI/FRD array. a weight. must be a subset of the frequencies in an FRD model). please see Single Loop Bound Manager. Quantitative Feedback Theory Toolbox User’s Guide 732 . Ws.H R nom loc phs Defaults 1 0 1 1 [0°:5°:360°] P and C and R can also be represented by LTI/FRD models. vector or an LTI/FRD model. can be a single number. For more details.
For further details. w = [0. We first form an LTI array to represent the above model using a linear parameter space grid c = 1. In a discretetime system. c = c + 1. feedback path).100]. bdb1 = sisobnds(1. z = e jωTs .2. P(1. suppose the plant is described by (sampling time Ts=0. forward path) while loc = 2 implies it is at H(s) (i.15).1. end The desired QFT bounds corresponding to the above constraint are computed from Ws = 1.e.1..01.8] z−a } and a desired closedloop stability margin is given by P ( z )G ( z ) π ≤ 1.c) = tf(1. a ∈[. T . sisobnds works for both continuous and discrete systems.Ws. 1 + PG The above peaking constraint corresponds a phase margin of 50o and a gain margin of 1.83. sisobnds displays the computed bounds. and are displayed using plotbnds(bdb1). ω ≥ 0.sisobnds loc defines the controller location: loc = 1 implies it is at G(s) (i. When invoked without a lefthand argument. refer to The Bound Computation Managers.01 sec) P= {() P z = z ..P). for all P ∈P ..a]). Examples Consider a unity feedback system with the uncertain plant described by P= {() P s = 1 : a ∈[1.w.e. s 1+ P ( z )G ( z ) We first form an LTI array to represent the above model using a linear parameter space grid Quantitative Feedback Theory Toolbox User’s Guide 733 . for all P ∈P .2.10] s+a } The desired closedloop stability margin is given by PG ( jω) ≤ 1.1.[1. for a = linspace(1. ω∈ 0.10.2 .
end Define the weight Ws1 = tf(0.w. Ws = [Ws1.10].Ws.0. bdb1 = sisobnds(1.6584(s + 30) Ws1 ( s ) = 2 s + 4s + 19.a]). In the first step we compute bounds for the controller G(s). then compute tracking bounds w = [0. We first form an LTI array to represent the above model using a linear parameter space grid c = 1.Ws2].a.P).10.c) = tf(1.1.1.2. a ∈[1. ω ≤ 10. Quantitative Feedback Theory Toolbox User’s Guide 734 .15.e. compute bounds using w = [0.15]. P(1. then loopshape it.8.10).[1.1. F(s).1.30]. for a = linspace(0.01.4.c) = tf(k*a.100].[1. c = c + 1. Ws 2 ( s ) = 3 2 s + 17s + 82s + 120 Solving this problem involves two steps. An interesting problem is the traditional QFT tracking setting: a unity feedback system with the uncertain plant described by P = P ( s ) = ka : k ∈[1. which can be displayed using plotbnds(bdb1).15).Ts = Ts. P(1. In the second step we shape a prefilter. for a = linspace(1.10.752 and 120 .. for k = linspace(1.sisobnds Ts = 0.17. Let us first design the controller. c = 1.82.1.5. complimentary sensitivity function ) from R(s) to Y(s) given by Ws1 ( jω) ≤ F where PG ( jω) ≤ Ws2 ( jω) .15] s (s + a) with desired tracking (i. end P.1.120]).6584*[1.[1.25).752]).1. c = c + 1.0. Ws = 1.0]).19.[1. for all P ∈P 1 + PG 0. Ws2 = tf(120.
15. Algorithm An implementation of the algorithms described in [8.22].G). say it is given by G. Once a controller G(s) is designed using the loop shaping environment lpshape. sectbnds Quantitative Feedback Theory Toolbox User’s Guide 735 . plotbnds.sisobnds bdb7 = sisobnds(7.Ws. See Also genbnds.Ws. the feedback design is completed with the design of the prefilter pfshape(7.14. A similar discretetime design problem is described in Example 12.w.P. grpbnds.w..P).
bound the allowable range of the gain of the nominal openloop transfer function. at some fixed phase. robust performance indicates that a closedloop system satisfies its performance specification(s) for any plant within the specified uncertainty model. QFT Frequency Domain Control Design Toolbox User’s Guide 1 . stability margins the amount of gain and phase variations in the openloop transfer function that can be tolerated (not simultaneously) before a stable closedloop system becomes unstable. Nominal plant the designated plant for bound computation and openloop shaping. It is either: (1) the fixed plant when there are no uncertainties. loop shaping the process of designing a nominal openloop transfer function. such that a specific magnitude constraint on a closedloop transfer function is algebraically satisfied. at a fixed frequency. such that a specific magnitude constraint on a closedloop transfer function is algebraically satisfied. templates the collection. QFT the Quantitative Feedback Theory method. at some fixed phase. below bound the maximum value of the gain of the nominal openloop transfer function. Nichols chart a frequency response plot with phase (degrees) and magnitude (dB) of the openloop transfer function as its coordinates. robust stability indicates that a closedloop system is stable for any plant within the specified uncertainty model. or (3) the central plant of a family of nonparametric uncertain plant model. (2) an arbitrarily selected plant from a family of parametric uncertain plant model. at some fixed phase. of all frequency responses of an uncertain plant model.A Glossary above bound the minimum value of the gain of the nominal openloop transfer function. such that a specific magnitude constraint on a closedloop transfer function is algebraically satisfied.
C. [16] Wie. 15. M. CDC. pp. 1990. and Chait. C. “Computing the frequency response of linear systems with parametric perturbation. QFT Frequency Domain Control Design Toolbox User’s Guide 71 . and Hollot. [3] Horowitz.. Chait. Vol. New York. O. [7] Philips.. “Benchmark problems for robust control design. H. “Frequency domain design for robust performance under parametric.. [4] Cohen.” Int. I.” ASME Pub. unstructured.. or mixed uncertainties. and Nagle. Quantitative Feedback Theory (QFT). Nr.G. pp. Y... Robust and Nonlinear Control.. Guidance and Control. 1991. “Stability analysis using Nichols charts. M.. Philips Research. Ed. 320. Linear Control Design Analysis & Design. Y. O. N. “Direct control design in sampleddata uncertain systems. The Netherlands.R. [18] Smit.C. [5] Jayasuriya. AC26. 1990. and Zheng. ” Int. I. Lab. pp. Nwokah. Measurement. S. 12931309. pp.M. “A comparison between Hinfinity methods and QFT for a siso plant with both parametric uncertainty and performance specifications. S. 12241229. pp. [13] D'Azzo. Vol. N. Robust and Nonlinear Control.. “Singleloop QFT Design for Robust Performance in the Presence of NonParametric Uncertainties. O. Sandell.M.H. 1993.” Systems & Control Letters. B.T.. Boulder.. and Chait. Vol. and Sidi. and Control. 4. pp.. 57. J. C. [14] Yaniv.” ASME J.. and Athans. and Control.D. L. 1993.” Procs. C.. Digital Control Systems Analysis and Design.” Automatica.. D. [9] Gutman.L.. Recent Development in Quantitative Feedback Theory. Dynamic Systems. 287309. Y. 1993.. and Neumann.. pp. 15. and Borghesani.” IEEE Trans Automatic Control. to appear. ” AIAA J. 439451. S.V. 1981. 3. C. J. [12] Chait. Vol. 241.. Yaniv. 4552. 057/90.D. 1988. Vol.J.” Prentice Hall. [11] Bartlett... 4470 Grinnell Ave.B Bibliography [1] Horowitz. 1972. “Computation of the frequency response of systems with uncertain parameters: a simplification. 1963. and Yaniv. and Bernstein. O. and Houpis.” Procs. 80303. Y. 1992. [15] Chait.. Y. A. 16(2). “Synthesis of feedback systems with large plant ignorance for prescribed timedomain tolerances. 1990. Y. [10] Fu. [6] Lehtomaki. of Dynamic Systems. 29.. J.. pp. “H∞ robust servo control theory and application to a flexible mechanism. American Control Conference. 10871093. 115. Vol. [8] Chait. Academic Press. J. Synthesis of Feedback Systems. J. Vol. 19291930. 1993.A..M. 1990. Eindhoven. N. McGrawHill.S.I. pp. O. Nwokah. QFT Publications. Colorado. “The benchmark problem solution by the Quantitative Feedback Theory... Y.. 3340. Vol. New York. Borghesani.... “Multiinput/singleoutput computer aided control design using the Quantitative Feedback Theory.. O. 4754. M.” Nat. Technical Report. I. pp.I. Control. PO. pp. Baril. C. Yaniv. “Robustness results in linearquadratic gaussian based multivariable control designs. pp. 365372. [2] Horowitz. 1990. 1992.. 1994.. “An image processing approach for computing value sets of uncertain transfer functions.” Int. 7593.” Int.” J. Control. Measurements. [17] Jayasuriya....
G.Sc... DESIGN OF ROBUST CONTROL SYSTEMS: From Classical to Modern Practical Approaches. O. [25] Park. Massachusetts. [22] Wang.H. [20] Wortelboer. [28] Wortelboer.. 125(12). Vol 4.” Advances in Robust and Nonlinear Control Systems. TelAviv. and Decaulne. “Robust stabilization of linear time invariant systems with parametric uncertainties. ASME WAM. IEE. 1999. M... 1992. and Jayasuriya.Bibliography [19] Borghesani. 1993.J. Kluwer Academic Publishers. on Advances in Information Storage Systems. M.. pp. yet computationally simple. and Steinbuch. Thesis. 7986. [27] Kidron.” Procs. Israel.H. 1994. USA. FrequencyWeighted Balanced Reduction of ClosedLoop Mechanical ServoSystems: Theory and Tool.” Proc. C. Ph. QFT Frequency Domain Control Design Toolbox User’s Guide B2 . [21] Knowles. [26] Gille. USA.R. 1993. and Rasmussen. Thesis.. in press. New York.. Computer AidedDesign of Robust Control Systems Using the Quantitative Feedback Theory. 1999. M. and Steinbuch. ” 1994 ACC Conference. C.. 107117. pp. M... Y.” J. Inc. direct digital controlsystem design technique. Feedback Control Systmes..B. Inc. “Generalized frequency weighted balanced reduction. Amherst. Robust Control Of Uncertain Resonant Systems. “Design and implementation of a QFT controller for a compact disc player..M.S. 28482849.. 1991.. 1994. Massachusetts.. 340344. 1999. [23] Zhao. 710717. 1993.. Vol.. M. Chen. [31] Houpis. [24] Chait. New York. Marcel Dekker. Quantitative Feedback Theory Fundumentals and Applications. and Bosgra O. “Design tradeoff issues in robust control of a compact disk player.G. DSCVol. S. O. “A comprehensive. M. pp. Electrical Engineering Department.S. S. Mechanical Engineering Department. Systems Engineering. Delft University..H. Thesis.W. M. Pelegrin.. [30] Yaniv.” Procs.. S. Y. J. pp. University of Massachusetts. [29] Chait Y.S. “A new approach to multivariable QFT: theoretical and experimental results. 13831395. 1994 ASME Winter Annual Meeting. Kluwer Academic Publishers. JC. 1959. M. McCgrawHill.D. P. 31st IEEE CDC Conf. P. 53... Chait. pp. Park. [32] Sidi. “Equation for loop bound in Quantitative Feedback Theory.M. and Wang.J. The Netherlands. C.” Symp. Y. 1978.R. Krieger Publishing. 29682969.. CDC. M. and Steinbuch.. MA. pp. Quantitative Feedback Design of Linear and Nonlinear Control Systems. TelAviv University.. pp.. New Orleans.