Page 2 - Support; Worldwide Technical Support and Product Information; USA; Worldwide Offices; For further support information, refer to the
Support Worldwide Technical Support and Product Information ni.com National Instruments Corporate Headquarters 11500 North Mopac Expressway Austin, Texas 78759-3504 USA Tel: 512 683 0100 Worldwide Offices Australia 1800 300 800, Austria 43 0 662 45 79 90 0, Belgium 32 0 2 757 00 20, Brazil 55 11 326...
Page 3 - Important Information; Warranty; Patents; WARNING REGARDING USE OF NATIONAL INSTRUMENTS PRODUCTS
Important Information Warranty The media on which you receive National Instruments software are warranted not to fail to execute programming instructions, due to defects in materials and workmanship, for a period of 90 days from date of shipment, as evidenced by receipts or other documentation. Nati...
Page 4 - Contents; Introduction; Modeling Uncertain Systems
Contents 1 Introduction 1 1.1 Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Manual Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 How to avoid really reading this Manual . . . . . . . . . . . . . . . . . . . 3 2 Overview of ...
Page 5 - CONTENTS
iv CONTENTS 2.2.5 Obtaining Robust Control Models for Physical Systems . . . . . . 28 2.3 H ∞ and H 2 Design Methodologies . . . . . . . . . . . . . . . . . . . . . . 29 2.3.1 H ∞ Design Overview . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.3.2 Assumptions for the H ∞ Design Problem . . . ...
Page 6 - Functional Description of X; Dynamic System
CONTENTS v 2.6 Model Reduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 2.6.1 Truncation and Residualization . . . . . . . . . . . . . . . . . . . . 65 2.6.2 Balanced Truncation . . . . . . . . . . . . . . . . . . . . . . . . . . 65 2.6.3 Hankel Norm Approximation . . . . ....
Page 7 - Demonstration Examples
vi CONTENTS 3.5 System Interconnection . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 3.6 H 2 and H ∞ Analysis and Synthesis . . . . . . . . . . . . . . . . . . . . . . 95 3.6.1 Controller Synthesis . . . . . . . . . . . . . . . . . . . . . . . . . . 95 3.6.2 System Norm Calculations . ....
Page 8 - Bibliography; Matlab
CONTENTS vii 4.1.5 µ Analysis of the H ∞ Controller . . . . . . . . . . . . . . . . . . . 138 4.1.6 Fitting D -scales for the D - K Iteration . . . . . . . . . . . . . . . . 140 4.1.7 Design Iteration #2 . . . . . . . . . . . . . . . . . . . . . . . . . . 143 4.1.8 Simulation Comparison with a Loops...
Page 10 - Chapter 1; This manual describes the X; Notation
Chapter 1 Introduction X µ is a suite of Xmath functions for the modeling, analysis and synthesis of linear robust control systems. Robust control theory has developed rapidly during the lastdecade to the point where a useful set of computational tools can be used to solve a widerange of control pro...
Page 11 - Manual Outline
2 CHAPTER 1. INTRODUCTION Notation Meaning pdm Xmath parameter dependent matrix data ob ject Dynamic System Xmath dynamic system data ob ject Code examples and function names are set in typewriter font to distinguish them fromnarrative text. 1.2 Manual Outline Chapter 2 outlines the applicable robus...
Page 12 - HOW TO AVOID REALLY READING THIS MANUAL; How to avoid really reading this Manual; then go directly to
1.3. HOW TO AVOID REALLY READING THIS MANUAL 3 1.3 How to avoid really reading this Manual The layout of the manual proceeds from introduction to background to syntax detail toapplication descriptions. This may be tediously theoretical for some. If you are one ofthose that considers reading the manu...
Page 13 - Chapter 2; Application of
Chapter 2 Overview of the UnderlyingTheory 2.1 Introduction The material covered here is taken from a variety of sources. The basic approach isdescribed by Doyle [1, 2], and further elaborated upon by Packard [3]. Summaries havealso appeared in work by Smith [4] and others. Motivating background can...
Page 14 - CHAPTER 2. OVERVIEW OF THE UNDERLYING THEORY
6 CHAPTER 2. OVERVIEW OF THE UNDERLYING THEORY several studies involving process control applications, particularly high purity distillationcolumns. These are detailed by Skogestad and Morari in [15, 16, 17, 18] Section 2.2 introduces robust control perturbation models and linear fractionaltransform...
Page 16 - An Introduction to Norms
8 CHAPTER 2. OVERVIEW OF THE UNDERLYING THEORY is interpreted to mean that the signal y is the sum of the response of system P 21 to input signal v and system P 22 to input signal u . In general, we will not be specific about the representation of the system P . If we do need to be more specific abo...
Page 21 - dω; Perturbation Models for Robust Control
2.2. MODELING UNCERTAIN SYSTEMS 13 The set of all systems with bounded ∞ -norm is denoted by L ∞ . We can again split this into stable and unstable parts. H ∞ denotes the stable part; those systems with | P ( s ) | finite for all Re( s ) > 0. This is where the name “ H ∞ control theory” originate...
Page 22 - nom
14 CHAPTER 2. OVERVIEW OF THE UNDERLYING THEORY robust control model is therefore a set description and we hope that some members ofthis set capture some of the uncertain or unmodeled aspects of our physical system. For example, consider the “uncertain” model illustrated in Figure 2.2. This picture ...
Page 25 - Linear Fractional Transformations
2.2. MODELING UNCERTAIN SYSTEMS 17 W a P 0 j + u u j + , 6 ? y u r Figure 2.4: Unity gain negative feedback for the example system, P 0 + ∆ W a 2.2.2 Linear Fractional Transformations A model is considered to be an interconnection of lumped components and perturbationblocks. In this discussion we wi...
Page 27 - where; I P; where; to make ∆
2.2. MODELING UNCERTAIN SYSTEMS 19 in an LFT format. The open-loop system is described by, y = F u ( P olp , ∆) u, where P olp = 0 W a I P 0 . The unity gain, negative feedback configuration, illustrated in Figure 2.4 (and given inEquation 2.5) can be described by, y = F u ( G clp , ∆) r, where G cl...
Page 28 - The software actually deals with the non-square; k ≤ k
20 CHAPTER 2. OVERVIEW OF THE UNDERLYING THEORY The issue of the invertibility of ( I − P 11 ∆) is fundamental to the study of the stability of a system under perturbations. We will return to this question in much more detail inSection 2.4. It forms the basis of the µ analysis approach. Note that Eq...
Page 30 - Assumptions on; It will be assumed that the elements of
22 CHAPTER 2. OVERVIEW OF THE UNDERLYING THEORY Robust control models are therefore set descriptions. In the analysis of such models it isalso assumed that the unknown inputs belong to some bounded set. Several choices ofset for the unknown signals can be made, leading to different mathematical prob...
Page 31 - Additional Perturbation Structures; Equation 2.7 introduced a perturbation structure,
2.2. MODELING UNCERTAIN SYSTEMS 23 Packard [19] discuss the implications of this assumption on robust control theory and webriefly touch upon this in Section 2.4.6. The most common assumption is that ∆ is anunknown, norm-bounded, linear time-invariant system. Systems often do not fall neatly into on...
Page 33 - C z; δI
2.2. MODELING UNCERTAIN SYSTEMS 25 = C z − 1 ( I − z − 1 A ) − 1 B + D = F u ( P ss , z − 1 I ) , where P ss is the real valued matrix, P ss = A BC D , and the scalar × identity, z − 1 I , has dimension equal to the state dimension of P ( z ). This is now in the form of an LFT model with a single sc...
Page 35 - and ∆
2.2. MODELING UNCERTAIN SYSTEMS 27 Putting all the pieces together gives an engine model in the following fractional form. P ( s ) = F u ( P mod , ∆) , where P mod = − 15 . 87 s 7 . 14( s − 19 . 8) s 2 141 . 5(1 + 1 . 006 s ) s ( s + 1) 0 − 9 . 9 s 9 . 9 − 27 . 75 s − 0 . 9( s − 15 . 8)...
Page 36 - Obtaining Robust Control Models for Physical Systems
28 CHAPTER 2. OVERVIEW OF THE UNDERLYING THEORY and ∆ ∈ B∆ , with the structure defined as, ∆ = diag( δ v I 2 , ∆ 1 ) δ v ∈ R , ∆ 1 ∈ C . Note that this is an LFT with a repeated real-valued parameter, δ v ( | δ v | ≤ 1), and a complex perturbation, ∆ 1 ( | ∆ 1 | ≤ 1). Note that as R ⊂ C , assuming ...
Page 37 - and
2.3. H ∞ AND H 2 DESIGN METHODOLOGIES 29 An area of work, known as identification in H ∞ , looks at experimental identification techniques which minimize the worst case H ∞ error between the physical system and the model. The following works address this issue: [27, 28, 29, 30, 31, 32, 33, 34, 35]. ...
Page 39 - Design Overview; a priori
2.3. H ∞ AND H 2 DESIGN METHODOLOGIES 31 extend these approaches to the case where P ( s ) is replaced by F u ( P ( s ) , ∆), ∆ ∈ B∆ . 2.3.1 H ∞ Design Overview Again, recall from Section 2.1.2, the H ∞ is norm of G ( s ) is, k G ( s ) k ∞ = sup ω σ max [ G ( ω )] . The H ∞ norm is the induced L 2 ...
Page 40 - Assumptions for the; ωI B
32 CHAPTER 2. OVERVIEW OF THE UNDERLYING THEORY 2.3.2 Assumptions for the H ∞ Design Problem There are several assumptions required in order to achieve a well-posed design problem.The DGKF paper gives a state-space solution to the H ∞ design problem and we will use a similar notation here. Consider ...
Page 41 - A Brief Review of the Algebraic Riccati Equation; X A
2.3. H ∞ AND H 2 DESIGN METHODOLOGIES 33 that the effect of all disturbances, w , at every frequency, can be measured by the controller. If either of these conditions are not met then the problem could be ill-posed. It is possible to violate these conditions by using pure integrators as design weigh...
Page 42 - Lemma 1; Suppose
34 CHAPTER 2. OVERVIEW OF THE UNDERLYING THEORY We have partitioned the matrix into two n × n blocks, X 1 and X 2 . If X 1 is invertible, then X = X 2 X − 1 1 , is the unique, stabilizing solution to the ARE. The ability to form X doesn’t depend on the particular choice of X 1 and X 2 . Given a Hami...
Page 43 - Lemma 2
2.3. H ∞ AND H 2 DESIGN METHODOLOGIES 35 Choose γ > 0 and form the following Hamiltonian matrix, H = A γ − 2 B B T − C T C − A T . The following lemma gives a means of checking whether or not k P ( s ) k ∞ < γ . A proof of this lemma is given in DGKF although it is based on the work of Anderso...
Page 44 - Solving the
36 CHAPTER 2. OVERVIEW OF THE UNDERLYING THEORY any with a zero real part. In practice we must use a tolerance to determine what isconsidered as a zero real part. Finding a basis for the stable subspace of H involves either an eigenvalue or Schur decomposition. Numerical errors will be introduced at...
Page 45 - Theorem 3
2.3. H ∞ AND H 2 DESIGN METHODOLOGIES 37 and the components, C 1 x and D 12 u are orthogonal. D 12 is also assumed to be normalized. This essentially means that there is no cross-weighting between the stateand input penalties. Assumption ( iv ) is the dual of this; the input and unknown input (distu...
Page 46 - Further Notes on the
38 CHAPTER 2. OVERVIEW OF THE UNDERLYING THEORY L ∞ = − Y ∞ C T 2 Z ∞ = ( I − γ − 2 Y ∞ X ∞ ) − 1 ˆ A ∞ = A + γ − 2 B 1 B T 1 X ∞ + B 2 F ∞ + Z ∞ L ∞ C 2 . Actually, the above formulation can be used to parametrize all stabilizing controllerswhich satisfy, k G ( s ) k ∞ < γ . This can be expresse...
Page 48 - Details of the
40 CHAPTER 2. OVERVIEW OF THE UNDERLYING THEORY eigenvalue of X ∞ (and Y ∞ ) is displayed. The ultimate test of the software is to form the closed loop system and check both its stability and norm. We strongly suggest that theuser always perform this step. The numerical issues discussed above are ve...
Page 49 - Theorem 4; The unique
2.3. H ∞ AND H 2 DESIGN METHODOLOGIES 41 framework. We again assume the simplifying assumptions used in Section 2.3.4 The H 2 design solution is obtained (at least conceptually) from the H ∞ design procedure by setting γ = ∞ and using the resulting central controller. It is interesting to compare th...
Page 50 - Analysis; Measures of Performance; For al l
42 CHAPTER 2. OVERVIEW OF THE UNDERLYING THEORY P (s) K (s) - G(s) e w Figure 2.8: Closed loop system, G ( s ), for performance analysis initial choice of γ for the H ∞ design procedure. We will see later (Section 2.5) that it can also be used to initialize the D - K iteration procedure when an open...
Page 51 - ANALYSIS; dt; BP
2.4. µ ANALYSIS 43 descriptions are considered, where B again denotes the unit ball. Power : BP = ( w lim T →∞ 1 2 T Z T − T | w ( t ) | 2 dt ≤ 1 ) (2.12) Energy : B L 2 = ( w k w k 22 = Z ∞ −∞ | w ( t ) | 2 dt ≤ 1 ) (2.13) Magnitude : B L ∞ = ( w k w k ∞ = ess sup t | w ( t ) | ≤ 1 ) (2.14) These n...
Page 52 - Robust Stability and
44 CHAPTER 2. OVERVIEW OF THE UNDERLYING THEORY G 21 G 11 G 22 G 12 1 m . . . - e w z v Figure 2.9: Perturbed closed loop system for stability analysis the induced norms, the reader is referred to Doyle [2]. The ma jor advantage of choosing BP or B L 2 is that the test for the performance can be con...
Page 54 - Robust Performance; is stable and
46 CHAPTER 2. OVERVIEW OF THE UNDERLYING THEORY F u ( G ( s ) , ∆) stable for al l ∆ ∈ B∆ if and only if k µ ( G 11 ( s )) k ∞ < 1 . where k µ ( G 11 ( s )) k ∞ = sup ω µ [ G 11 ( ω )] . The use of this notation masks the fact that µ is also a function of the perturbation structure, ∆ . The abov...
Page 55 - Properties of; λI
2.4. µ ANALYSIS 47 if and only if k µ ( G ( s )) k ∞ < 1 , where µ is taken with respect to an augmented structure b ∆ , b ∆ = n diag(∆ , ˆ ∆) ∆ ∈ ∆ , ˆ ∆ = C dim( w ) × dim( e ) o . The additional perturbation block, ˆ ∆ can be thought of as a “performance block” appended to the ∆ blocks used to...
Page 56 - QM; DM D
48 CHAPTER 2. OVERVIEW OF THE UNDERLYING THEORY For the other extreme consider a single full block ( ∆ = { ∆ | ∆ ∈ C n × n } ); the definition of µ is now the same as that for the maximum singular value, ∆ = { ∆ | ∆ ∈ C n × n } ⇒ µ ( M ) = σ max ( M ) . Observe that every possible block structure, ∆...
Page 57 - The Main Loop Theorem
2.4. µ ANALYSIS 49 Actually, the lower bound is always equal to µ but the implied optimization has local maxima which are not global. For the upper bound Safonov and Doyle [72], have shownthat finding the infimum is a convex problem and hence more easily solved. However thebound is equal to µ only i...
Page 59 - State-space Robustness Analysis Tests
2.4. µ ANALYSIS 51 2.4.6 State-space Robustness Analysis Tests We will look at some more advanced state-space approaches to the analysis of robustperformance. Most users of the software will concentrate on the more common frequencydomain analysis methods covered in Section 2.4.3. The analysis tests ...
Page 61 - Figure 2.10: Perturbed system for state-space robustness tests
2.4. µ ANALYSIS 53 G ss z ,1 I - e w x(k + 1) x(k ) - z v Figure 2.10: Perturbed system for state-space robustness tests
Page 65 - then there exists constants,; test could be
2.4. µ ANALYSIS 57 The gap between the state-space (or constant D ) upper bound and the frequency domain upper bound is more significant. In the state-space upper bound, a single D scale is selected. This gives robust performance for all ∆ satisfying, k v k ≤ k z k for all e ∈ L 2 . This can be sati...
Page 66 - Analysis with both Real and Complex Perturbations; Synthesis and
58 CHAPTER 2. OVERVIEW OF THE UNDERLYING THEORY 2.4.7 Analysis with both Real and Complex Perturbations The above results only apply to the case where ∆ is considered as a constant complexvalued matrix at each frequency. In many engineering applications restricting certain ofthe ∆ blocks to be real ...
Page 68 - DF; DF
60 CHAPTER 2. OVERVIEW OF THE UNDERLYING THEORY Recall that this is an upper bound for the µ problem of interest, implying that, µ [ F l ( P ( s ) , K ( s )] ≤ 1 , as required. However the upper bound may be conservative, meaning that in order toguarantee that µ [ F l ( P ( s ) , K ( s )] ≤ 1, we ha...
Page 69 - iv
2.5. µ SYNTHESIS AND D - K ITERATION 61 dynamic system. This requires fitting an approximation to the upper bound D -scale in the iteration. We will now look at this issue more closely. The D - K iteration procedure is illustrated schematically in Figure 2.12. It can be summarized as follows: i ) In...
Page 72 - Model Reduction
64 CHAPTER 2. OVERVIEW OF THE UNDERLYING THEORY Several aspects of this procedure are worth noting. For the µ analysis and D scale calculation, a frequency grid must be chosen. The range and resolution of this grid is amatter of engineering judgement. The µ analysis can require a fine grid in the vi...
Page 73 - Truncation and Residualization; Balanced Truncation
2.6. MODEL REDUCTION 65 2.6.1 Truncation and Residualization The simplest form of model reduction is state truncation. Consider a system, P ( s ), with a partitioned state matrix, P ( s ) = A 11 A 12 B 1 A 21 A 22 B 2 C 1 C 2 D . Truncating the states associated with A 22 results in, P trun ( ...
Page 76 - , the balanced truncation of order; Hankel Norm Approximation; We can also consider the problem of finding the
68 CHAPTER 2. OVERVIEW OF THE UNDERLYING THEORY and Glover [79] independently obtained the following bound on the error induced bybalanced truncation. Theorem 13 Given a stable, rational, P ( s ) , and P bal ( s ) , the balanced truncation of order k < n . Then, k P ( s ) − P bal ( s ) k ∞ ≤ 2 n ...
Page 78 - Chapter 3; Data Ob jects; pdm
Chapter 3 Functional Description of X µ 3.1 Introduction This chapter describes the X µ functions in the context of their intended usage. Chapter 2 provides the reader with an idea of the theoretical basis behind the variousanalysis and design calculations. Here we outline the software functions ava...
Page 79 - CHAPTER 3. FUNCTIONAL DESCRIPTION OF X; system
72 CHAPTER 3. FUNCTIONAL DESCRIPTION OF X µ 3.2.1 Dynamic System s Xmath has a dynamic system data ob ject which specifies a dynamic system in terms of A , B , C and D matrices. The dynamic equations of the system are, ˙ x ( t ) = Ax ( t ) + B u ( t ) , y ( t ) = C x ( t ) + Du ( t ) , in the contin...
Page 80 - The final system is; Labeling and Comments; Keywords for the
3.2. DATA OBJECTS 73 As above, these polynomials can be specified by their roots or their coefficients. Notethat we can specify the variable, and for continuous systems we use “s”. To create adiscrete system “z” is used. # Generate the system from the numerator and denominator# coefficients.numerato...
Page 83 - Indexing and Finding Data
76 CHAPTER 3. FUNCTIONAL DESCRIPTION OF X µ Data can also be extracted by independent variable index number, by providing a scalarargument to the pdm . In the following example the fifth through tenth and the twentieth independent variables are specified for the smaller pdm , pdm2 . size(pdm1)ans (a...
Page 84 - Operations on the Independent Variables/Domain
3.2. DATA OBJECTS 77 # index of the pdm the value 100.idxlst = indexlist([4,1,2])pdm1(idxlst) = 100 Operations on the Independent Variables/Domain The domain of a pdm is readily changed via the pdm command. The following example illustrates a common application; changing a frequency domain in Hertz ...
Page 85 - Basic Functions; daug; Augmentation
78 CHAPTER 3. FUNCTIONAL DESCRIPTION OF X µ # Select columns 1, 3, 4 & 5 and rows 2 & 7 from the# pdm: bigpdm. subpdm = bigpdm([1,3:5],[2,7]) This referencing format can also be used to assign data to parts of a larger pdm . This is shown in the following example. # Replace the 3,2 block of ...
Page 86 - Algebraic Operations; randpdm; Functions; poles
3.2. DATA OBJECTS 79 and B . Augmentation for pdm s simply performs the augmentation at each domain variable. The domains must be the same. Diagonal augmentation can be performed with the X µ function daug . This is the equivalent of the matrix augmentation: [A, 0; 0, B] , except that up to 20 argum...
Page 88 - Continuous to Discrete Transformations; Matrix Information, Display and Plotting; Information Functions for Data Ob jects
3.3. MATRIX INFORMATION, DISPLAY AND PLOTTING 81 # N is the decimation ratio.smallpdm = bigpdm([1:N:length(bigpdm)]) 3.2.5 Continuous to Discrete Transformations Xmath has a single function, discretize , for calculating continuous to discrete transformations. Several options are offered including fo...
Page 89 - Formatted Display Functions; Plotting Functions
82 CHAPTER 3. FUNCTIONAL DESCRIPTION OF X µ 3.3.2 Formatted Display Functions It is often useful to consider complex numbers in terms of frequency and damping. Thisis particularly applicable when studying the poles or zeros of a system. The command rifd provides a real-imaginary-frequency-damping fo...
Page 92 - System Response Functions; Creating Time Domain Signals; gcos; Time Responses
3.4. SYSTEM RESPONSE FUNCTIONS 85 3.4 System Response Functions 3.4.1 Creating Time Domain Signals The Signal Analysis Module contains several functions which are useful for building timedomain signals: gcos and gsin . X µ provides gstep for the creation of stair-step signals. The example below illu...
Page 95 - Frequency Responses; freq
88 CHAPTER 3. FUNCTIONAL DESCRIPTION OF X µ and intstep are the interpolation order and integration step size. The system must be continuous. The integration order and sample time are prespecified for discrete timesystems making the * operator is suitable for such simulations. X µ provides a sampled...
Page 98 - bigsys; System Interconnection; starp
3.5. SYSTEM INTERCONNECTION 91 sys2 sys1 ` ` ` ` ` ` ` ` ` dim1 dim2 bigsys Figure 3.2: Generic Redheffer interconnection structure 3.5 System Interconnection Interconnections of systems are used extensively in the design, analysis and simulationcalculations. The most general form of interconnection...
Page 102 - Controller Synthesis; hinfsyn
3.6. H 2 AND H ∞ ANALYSIS AND SYNTHESIS 95 (rad/sec) ratio -1.0000e+00 0.0000e+00 1.0000e+00 1.0000 -5.0000e-01 6.3048e+00 6.3246e+00 0.0791 -5.0000e-01 -6.3048e+00 6.3246e+00 0.0791 -1.0000e+01 0.0000e+00 1.0000e+01 1.0000 The order of the names in the systemname variable, must match the order of t...
Page 106 - ref
3.6. H 2 AND H ∞ ANALYSIS AND SYNTHESIS 99 Wperf Wact plant l + , t t ? e(1) e(2) y ref u p Figure 3.7: Weighted design interconnection structure: p In order to set up the design problem, we consider ref as an unknown input and the tracking error (input to k ), and the actuator signal, u , as output...
Page 110 - # Examine sensitivity functions
3.6. H 2 AND H ∞ ANALYSIS AND SYNTHESIS 103 Frequency 0.01 0.1 1 10 0.001 100 Magnitude 0.001 0.01 0.1 1 0.0001 10 Controllers Kinf K2 # Examine sensitivity functions sensinf = inv(1 + plant*Kinf)sensinfg = freq(sensinf,omega)sens2 = inv(1 + plant*K2)sens2g = freq(sens2,omega) g2 = ctrlplot(sensinfg...
Page 112 - System Norm Calculations
3.6. H 2 AND H ∞ ANALYSIS AND SYNTHESIS 105 g3 = ctrlplot(step,g3, { line style=2 } ); g3 = plot(g3, { title="Step responses",... legend=["Kinf";"K2";"input"] } )? 2 4 6 8 0 10 0.2 0.4 0.6 0.8 1 0 1.2 Step responses Kinf K2 input 3.6.2 System Norm Calculations Functio...
Page 114 - ) ANALYSIS AND SYNTHESIS; Structured Singular Value (; Calculation of; mu
3.7. STRUCTURED SINGULAR VALUE ( µ ) ANALYSIS AND SYNTHESIS 107 3.7 Structured Singular Value ( µ ) Analysis and Synthesis This section covers the functions used in the D - K iteration procedure. The primary functions are the calculation of the controller (already discussed), the calculation of µ an...
Page 119 - Fitting; μ D
112 CHAPTER 3. FUNCTIONAL DESCRIPTION OF X µ Dsys i P Dinvsys i K j, (j=i+1) - P D Figure 3.9: H ∞ controller design. Step 9 in the enumerated procedure There is actually another possibility at step 5; numerical problems cause the iteration todiverge. As γ approaches its optimal value, the numerical...
Page 120 - Transfer Function Fitting Functions
3.7. STRUCTURED SINGULAR VALUE ( µ ) ANALYSIS AND SYNTHESIS 113 Both the D and D − 1 systems ( Dsys and Dinvsys ) are returned. The D scale ( Dmagdata ) comes from a µ calculation on a closed loop system. However, Dsys and Dinvsys are required to multiply the open loop system. They must therefore co...
Page 122 - Figure 3.10: Open loop perturbation model
3.7. STRUCTURED SINGULAR VALUE ( µ ) ANALYSIS AND SYNTHESIS 115 plant = 1/makepoly([1,0,-0.01],"s")Wm = makepoly([1,20],"s")/makepoly([1,200],"s")omega = logspace(0.01,100,25)plantg = freq(plant,omega)Wmg = freq(Wm,omega)g1 = ctrlplot(plantg, { logmagplot } ); g1 = ctrlplot(W...
Page 125 - The following illustrates the
118 CHAPTER 3. FUNCTIONAL DESCRIPTION OF X µ blk = [1,1; 2,2][rpbnds1,D1,Dinv1,Delta1,sens1] = mu(Gg,blk) g3 = ctrlplot(np, { log } ); # plot on a log-linear scale g3 = ctrlplot(rs,g3, { log,line style=3 } ); g3 = ctrlplot(rpbnds1,g3, { log,line style=[4,5] } ); g3 = plot(g3, { !grid,title="mu a...
Page 126 - # Apply the D scales to another H infinity design
3.7. STRUCTURED SINGULAR VALUE ( µ ) ANALYSIS AND SYNTHESIS 119 Frequency (Hz) 0.1 1 10 0.01 100 Magnitude 0.1 1 10 0.01 100 D scale fit, block: 1 Magnitude data Previous fit, order: 2 New fit, order: 4 # Apply the D scales to another H infinity design Kmu = hinfsyn(Ds*p*Dinvs,nmeas,ncntrls,[0;10]) ...
Page 127 - Constructing Rational Perturbations
120 CHAPTER 3. FUNCTIONAL DESCRIPTION OF X µ 0.1 1 10 0.01 100 Magnitude 0.5 1 1.5 2 2.5 3 3.5 0 4 mu analysis of robust performance Kmu Kinf 3.7.4 Constructing Rational Perturbations For simulation purposes it is useful to be able to construct a rational approximation tothe ∆ returned by the µ calc...
Page 128 - Block Structured Norm Calculations
3.8. MODEL REDUCTION 121 pert = randpert(blk, { sys,sfreq,complex,pnorm } ) The user can specify whether the perturbation is a dynamic system or matrix, andwhether it is real or complex valued, in addition to specifying the norm. 3.7.5 Block Structured Norm Calculations It is possible to get an idea...
Page 129 - Truncation is provided by the
122 CHAPTER 3. FUNCTIONAL DESCRIPTION OF X µ A greater range of model reduction functions is available in the Model ReductionModule. Some of the functions described here are cross-licensed with that module.Section 2.6 describes the theory behind these functions. 3.8.1 Truncation and Residualization ...
Page 130 - Balanced Realizations; The function
3.8. MODEL REDUCTION 123 g1 = ctrlplot(sysout2g,g1, { logmagplot,line style=4 } ); g1 = ctrlplot(residerror,g1, { logmagplot,line style=5 } ); g1 = ctrlplot(truncerror,g1, { logmagplot,line style=6 } ); g1 = plot(g1, { !grid,legend=["original system";... "residualized system";"tr...
Page 132 - Hankel Singular Value Approximation
3.8. MODEL REDUCTION 125 3.8.3 Hankel Singular Value Approximation The function ophank (also cross-licensed from the Model Reduction Module) is used to perform optimal Hankel norm approximation. Recall from Section 2.6.3 that there is anastable system achieving the lower bound. The unstable part of ...
Page 134 - Chapter 4; The Himat Example; Problem Description; the work by Hartman
Chapter 4 Demonstration Examples 4.1 The Himat Example The following demo can be run by executing the following Xmath command: execute file = "$XMATH/demos/xMu/himatdemo" 4.1.1 Problem Description The Himat is a small scale remotely piloted aircraft built to investigate highmaneuverability f...
Page 135 - Himat; dist; State-space Model of Himat
128 CHAPTER 4. DEMONSTRATION EXAMPLES δv Perturbations along the velocity vector. α Angle of attack. I.e. angle between the velocity vector and the aircraft’s longitudinal axis. q Rate-of-change of aircraft attitude angle. θ Aircraft attitude angle. Control can be exerted via the elevon and canard, ...
Page 138 - System is continuous; Creating a Weighted Interconnection Structure for Design; The multiplicative input perturbation weight,; The output error weight,
4.1. THE HIMAT EXAMPLE 131 angle-of-attackpitch angle System is continuous 4.1.3 Creating a Weighted Interconnection Structure for Design The multiplicative input perturbation weight, W del , is constructed as a transfer function. The weight is, W del = 50( s + 100) ( s + 10000) . The output error w...
Page 139 - CHAPTER 4. DEMONSTRATION EXAMPLES
132 CHAPTER 4. DEMONSTRATION EXAMPLES Frequency 0.01 0.1 1 10 100 1000 0.001 10000 Magnitude 1 10 0.1 100 Weights for HIMAT Perturbation weight Performance weight The perturbation weight, W del , should actually be two-input, two-output. This is also true of the performance weight, W p . In this exa...
Page 140 - Design; j ω
4.1. THE HIMAT EXAMPLE 133 sysn = ["himat";"wdel";"wp"]in = ["pert(2)";"dist(2)";"control(2)"]out = ["wdel";"wp";"himat + dist"]inter = ["control + pert"; "control"; "himat + dist"] himat ic = sysic(sysn,...
Page 143 - real
136 CHAPTER 4. DEMONSTRATION EXAMPLES Frequency 1 10 100 1000 0.1 10000 Magnitude 0.01 0.1 0.001 1 Controller: k1 Frequency 1 10 100 1000 0.1 10000 Phase (degrees) -200 -100 0 100 -300 200 Onto the closed loop, first checking that it is stable by looking at the pole positions. rifd(g1) Poles: real i...
Page 145 - Analysis of the
138 CHAPTER 4. DEMONSTRATION EXAMPLES 1 10 100 1000 0.1 10000 0.5 1 1.5 0 2 Singular value plot of the closed loop 4.1.5 µ Analysis of the H ∞ Controller The H ∞ control law can be analyzed using µ -analysis. The closed-loop system, g1 , has 4 inputs and 4 outputs. The first two inputs and outputs c...
Page 152 - Here we have only done a single
4.1. THE HIMAT EXAMPLE 145 1 10 100 1000 0.1 10000 0.6 0.8 1 1.2 1.4 1.6 0.4 1.8 Robustness analysis for the g2 system g2: mu upper bound g2: mu lower bound g1: mu upper bound g1: mu lower bound comment bnds2 "mu bounds: iteration 2" comment D2 "D scale: iteration 2" comment D2inv ...
Page 153 - Simulation Comparison with a Loopshaping Controller; A loopshaping design is performed and compared to the
146 CHAPTER 4. DEMONSTRATION EXAMPLES g3 = starp(himat ic,k3)g3g = freq(g3,omega)[bnds3,D3,D3inv,Delta3,sens3] = mu(g3g,blk) At this point we could do another iteration (to get k4 ) or perhaps run some simulations to check out k3 more thoroughly. 4.1.8 Simulation Comparison with a Loopshaping Contro...
Page 160 - A Simple Flexible Structure Example; The demonstration script,; The Control Design Problem
4.2. A SIMPLE FLEXIBLE STRUCTURE EXAMPLE 153 4.2 A Simple Flexible Structure Example The demonstration script, jplphBdemo.ms , runs through a D - K iteration design for a simple flexible structure problem. The following demo can be run by executing the following Xmath command: execute file = "$X...
Page 162 - Creating the Weighted Design Interconnection Structure
4.2. A SIMPLE FLEXIBLE STRUCTURE EXAMPLE 155 static gain. We will include some dynamic uncertainty in the actual design. piezo = 1 4.2.2 Creating the Weighted Design Interconnection Structure The weighted, open-loop design interconnection structure is illustrated in Figure 4.5.For clarity, the two p...
Page 163 - is selected based on what is necessary to achieve a final; is used to specify system performance up to 80 Hz. We
156 CHAPTER 4. DEMONSTRATION EXAMPLES The additive weight clearly provides for significant high frequency uncertainty. Amultiplicative weight models the low frequency uncertainty. The value selected issomewhat arbitrary and can be considered as a tunable design weight. Wmvoice = 0.1 A multiplicative...
Page 164 - weight
4.2. A SIMPLE FLEXIBLE STRUCTURE EXAMPLE 157 F = 100Wactp = makepoly([1/(2*pi*F),1],"s")/... makepoly([1/(200*pi*F),1],"s") Wactp = Wactp*4 The lower frequency response of the voice-coil system means that the W actv weight should begin rolling up at around 10 Hz. F = 10Wactv = makepo...
Page 169 - Design of an; An
162 CHAPTER 4. DEMONSTRATION EXAMPLES 4.2.3 Design of an H ∞ Controller An H ∞ design is now performed. Recall that we have one interferometer measurement and two controller outputs. nmeas = 1ncon = 2glimits = [0;20][Khinf,gamma] = hinfsyn(P,nmeas,ncon,glimits, { tol=0.25 } ) Test bounds: 0.0000 <...
Page 172 - Robustness Analysis
4.2. A SIMPLE FLEXIBLE STRUCTURE EXAMPLE 165 4.2.4 Robustness Analysis The block structure has two perturbation ∆ blocks and a “performance” block. The twovoice-coil perturbations are put into a single 1 × 2 block as they enter the system at the same point. Note that this is not identical to two sep...
Page 175 - Iteration
168 CHAPTER 4. DEMONSTRATION EXAMPLES 4.2.5 D - K Iteration We will now perform one D - K iteration to generate the controller Kmu . Significant robustness and performance improvement is achieved with only one iteration. Transfer functions are fit to the D -scales from the previous robust performanc...
Page 176 - bode
4.2. A SIMPLE FLEXIBLE STRUCTURE EXAMPLE 169 Kmug = freq(Kmu,omega)gph5 = ctrlplot(Kmug, { bode } ); gph5 = plot(gph5, { title="Controller: Kmu" } )?
Page 178 - value from the
4.2. A SIMPLE FLEXIBLE STRUCTURE EXAMPLE 171 We now examine the robustness properties of the new closed loop system. We alreadyknow that the robust performance test will be less than the γ value from the H ∞ synthesis above (in this case 0.2930). The results are again displayed graphically. Gmug = f...
Page 180 - A Simulation Study
4.2. A SIMPLE FLEXIBLE STRUCTURE EXAMPLE 173 4.2.6 A Simulation Study Now the two controllers ( Khinf and Kmu ) are studied by simulation. An unweighted interconnection is set up with sysic and starp is used to close the loop for each controller. ssnames = ["vcmodel"; "Wavoice"; "...
Page 199 - Bibliography; shuttle lateral axis FCS during reentry,” in
Bibliography [1] J. C. Doyle, “Lecture notes on advances in multivariable control.” ONR/Honeywell Workshop, Minneapolis, MN., 1984. [2] J. Doyle, “Structured uncertainty in control system design,” in Proc. IEEE Control Decision Conf. , pp. 260–265, 1985. [3] A. K. Packard, What’s new with µ : Struct...
Page 201 - BIBLIOGRAPHY
BIBLIOGRAPHY 195 [24] D. L. Laughlin, K. G. Jordan, and M. Morari, “Internal model control and process uncertainty: mapping uncertainty regions for SISO controller design,” Int. J. of Control , vol. 44, no. 6, pp. 1675–1698, 1986. [25] R. S. Smith and M. Dahleh, eds., The Modeling of Uncertainty in ...
Page 206 - Chapter 6; Function Reference; The following pages contain descriptions of the X; System building and interconnection; Variable display and graphics
Chapter 6 Function Reference 6.1 X µ Functions The following pages contain descriptions of the X µ functions. These are also available on-line via the help utility. Each description also gives an illustrative example of thefunction’s use. The functions are included in alphabetical order. For conveni...
Page 207 - CHAPTER 6. FUNCTION REFERENCE; Time response calculations and
202 CHAPTER 6. FUNCTION REFERENCE rifd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 ctrlplot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...
Page 208 - FUNCTIONS; Model reduction and state-space functions
6.1. X µ FUNCTIONS 203 Model reduction and state-space functions balmoore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 modalstate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....
Page 209 - Miscel laneous functions; conpdm
204 CHAPTER 6. FUNCTION REFERENCE Miscel laneous functions conpdm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 consys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....
Page 210 - balmoore; Syntax; bound; Description
balmoore 205 balmoore Syntax [SysR,HSV,T] = balmoore(Sys, { nsr,bound } ) Parameter List Inputs: Sys Linear, stable, minimal state-space system nsr (optional) If bound is used then a reduction will be per- formed which meets an error bound specified by the valuein nsr , otherwise nsr is the order of...
Page 211 - Chapter 6. Function Reference; Reference; Observability and Model Reduction,”; Example; # Create a five state system for reduction.
206 Chapter 6. Function Reference Reference B.C. Moore, “Principal Component Analysis in Linear Systems: Control lability, Observability and Model Reduction,” IEEE Trans. Auto. Ctrl., Vol. 26, No. 1, pp. 17–32, Feb. 1981. Example # Create a five state system for reduction. a = daug(-0.891334,[-1.208...
Page 213 - blknorm
blknorm 209 blknorm Syntax normM = blknorm(M,blk,p,Frobenius) Parameter List Inputs: M Matrix (or pdm ). blk Block structure. See mu section of the manual for a de-scription of the syntax. p Scalar valued. Specifies the Holder “p” norm to be used,where 1 ≤ p ≤ inf. Optional. The default is p = 2. Ke...
Page 214 - Examples
210 Chapter 6. Function Reference Examples A = random(3,3)-0.5*ones(3,3)? A (a square matrix) = 0.0618661 0.0896177 0.185398 0.390622 0.00422128 -0.150638 -0.112622 0.42229 0.448818 blknorm(A,[1,1; 1,1; 1,1]) ans (a square matrix) = 0.0618661 0.0896177 0.185398 0.390622 0.00422128 0.150638 0.112622 ...
Page 215 - See Also; norm
blknorm 211 2.23607 3 4 7.81025 7 8 13.4536 11 12 # and compare tonorm(B(1,1:2)) ans (a scalar) = 2.23607 See Also norm
Page 216 - skipChks; Parameter List
conpdm 213 conpdm Syntax outpdm = conpdm(mat,domain, { skipChks } ) Parameter List Inputs: mat constant matrix domain domain over which outsys will be defined. Keywords: skipChks Boolean specifying that syntax checking is to be skipped. Outputs: outpdm pdm Description Creates a pdm data ob ject from...
Page 217 - consys
consys 215 consys Syntax outsys = consys(mat, { skipChks } ) Parameter List Inputs: mat constant matrix Keywords: skipChks Boolean specifying that syntax checking is to be skipped. Outputs: outsys Dynamic System Description Creates a Dynamic System ob ject from a constant matrix. Outsys represents a...
Page 218 - csum; channels
csum 217 csum Syntax [outpdm] = csum(inpdm, { channels } ) Parameter List Inputs: inpdm real or complex valued pdm or constant matrix Keywords: channels Sum over channels. outpdm has the same dimensions asinpdm. Outputs: outpdm output pdm Description Perform a cumulative sum over the rows of a matri...
Page 221 - ctrlplot; keywords; plot
ctrlplot 221 ctrlplot Syntax graph = ctrlplot(pdm,old graph, { keywords } ) Parameter List Inputs: pdm Pdm (or matrix) containing the data to be plotted. old graph (optional) Graphical ob ject to which data is added. Con-ceptually the same as plot(pdm, { keep=old graph } ) . Keywords: The following ...
Page 223 - to add things like text, labels, gridding etc. The second argument
ctrlplot 223 Description This function performs some common control system related plotting. The user can usectrlplot to set up a basic plot and perform some preprocessing of the data. Thisgenerates a graphical ob ject containing the data and the user can perform subsequentcalls to plot to add thing...
Page 231 - out; Limitations
daug 231 daug Syntax out = daug (sys1,sys2,...) Parameter List Inputs: sys1 Input systems. These can be dynamical systems and con-stants, or pdms and constants. .. . “ Outputs: out output system. Description Diagonal augmentation of dynamical system/pdm/constant, matrices. out = sys1 0 . . ...
Page 236 - delsubstr; charstr
delsubstr 237 delsubstr Syntax [outstr] = delsubstr(str,charstr) Parameter List Inputs: str String or vector of strings. charstr String Outputs: outstr String or vector of strings. Description All occurences of the substring, charstr , within str are deleted. If, by deleting charstr , another occure...
Page 238 - fitsys
fitsys 239 fitsys Syntax [sys] = fitsys(data,npoles,nzeros,weight, { skipchks,Hertz } ) Parameter List Inputs: data Complex valued data ( pdm ). npoles Order of requested fit. (optional, default = 0). nzeros Number of zeros in transfer function. (optional, default =npoles) weight Weighting function....
Page 239 - For further information see:
240 Chapter 6. Function Reference The primary use of this routine is the fitting of D scale weights for mu synthesis iterations. Chebyshev polynomials are used as basis functions for both the numerator anddenominator polynomials. WARNING: This routine uses iterative polynomial calculations which are...
Page 244 - Limited to SISO systems.; tfid
fitsys 245 Limitations Limited to SISO systems. See Also tfid
Page 245 - gstep
gstep 247 gstep Syntax gPdm = gstep (ytime,timespec,valspec, { skipChks } ) Parameter List Inputs: ytime output time vector (seconds). timespec times for specified step data (optional) valspec value for specified step data (optional) Keywords: skipChks Boolean specifying that syntax checking is to b...
Page 248 - hinfnorm
hinfnorm 251 hinfnorm Syntax [out,omega] = hinfnorm(sys,tol, { imag eps,max it } ) Parameter List Inputs: sys Dynamic System , frequency response ( pdm ), or constant gain (matrix). sys Specifies the relative tolerance of the answer when the in-put is a Dynamic System Default = 0.001. Keywords: imag...
Page 253 - Dynamic
hinfsyn 257 hinfsyn Syntax [k,gfin,stat] = hinfsyn(p,nmeas,ncon,gamma, { keywords } ) Parameter List Inputs: p Generalized interconnection structure ( Dynamic Sys- tem ) nmeas measurement vector dimension. ncon control vector dimension. gamma H ∞ norm bound of controller. For a bisection search spec...
Page 254 - ncon
258 Chapter 6. Function Reference Description The H ∞ (sub)optimal controller for the interconnection, p , is calculated. The resulting closed loop system is illustrated below. p k - z w y u The variables ncon and nmeas are used to specify the dimensions of u and y in the above diagram ( ncon = dim(...
Page 255 - norm bound and; Weights are used to
hinfsyn 259 1. ( a, b 2 , c 2 ) is stabilizable and detectable 2. d 12 and d 21 have full rank 3. The matrix [ a − j ωI , b 2 ; c 1 , d 12 ] has full column rank for all ω 4. The matrix [ a − j ωI , b 1 ; c 2 , d 21 ] has full row rank for all ω Reference This function uses the state-space formulae ...
Page 264 - See also
268 Chapter 6. Function Reference See also hinfsyn , hinfnorm , h2norm
Page 267 - This function uses the state-space formulae given in:; These are definitely not the best
h2syn 271 Reference This function uses the state-space formulae given in: “State-space formulae for al l stabilizing control lers that satisfy an H ∞ norm bound and relations to risk sensitivity,” Keith Glover and John Doyle, Systems & Control Letters 11 , pp. 167–172., Oct, 1988. Example # Set ...
Page 273 - # Examine step response
h2syn 277 # Examine step response step = gstep([0:0.1:10],0,1)y = clp2*stepgph3 = ctrlplot([y,step]);gph3 = plot(gph3, { title="K2 controller: step response" } )?
Page 276 - interp
interp 281 interp Syntax outpdm = interp(inpdm,stepsize,final { keywords } ) outpdm = interp(inpdm,domspec, { keywords } ) Parameter List Inputs: inpdm Input pdm. stepsize Increment in outpdm domain. final Last value in outpdm domain. Optional: default = max(domain(inpdm)). domspec Regular vector or...
Page 279 - interpolate
284 Chapter 6. Function Reference See Also interpolate
Page 280 - mergeseg
mergeseg 285 mergeseg Syntax outpdm = mergeseg(pdm1,pdm2, { keywords } ) Parameter List Inputs: pdm1 input pdm pdm2 input pdm Keywords: domsort Sort the result of merging the pdm s. If !domsort then pdm2 is simply concatenated onto pdm1. Boolean. De-fault = 1. increasing Sort in increasing order. Bo...
Page 283 - mkpert
mkpert 289 mkpert Syntax [pertsys] = mkpert(Delta,blk,mubnds, { fselect,pnorm,Hertz } ) Parameter List Inputs: Delta Lower bound perturbation data from mu calculation.( pdm ) blk block structure (refer to mu function documentation).(matrix) mubnds Calculated mu bounds ( pdm ). Keywords: fselect Scal...
Page 284 - The use of
290 Chapter 6. Function Reference The bounds, mubnds, are used to determine the ”worst-case” frequency for theinterpolation. The norm of pertsys is 1/(norm(Delta( j ω ))) where ω is the chosen frequency. This is the smallest destabilizing perturbation at that frequency. Both the interpolation freque...
Page 285 - mkphase; “Digital Signal Processing,”
mkphase 291 mkphase Syntax [cdata] = mkphase(magdata, { skipchks,Hertz } ) Parameter List Inputs: magdata Magnitude data ( pdm ) Keywords: skipchks Boolean. Skip the error checking. (Default = 0) Hertz The domain of the pdm is in Hertz. This is the default. !Hertz specifies a domain in rad/sec. Outp...
Page 287 - modalstate
modalstate 293 modalstate Syntax outsys = modalstate(sys, { keywords } ) Parameter List Inputs: sys Input Dynamic System Keywords: increasing Boolean. Order in terms of increasing magnitude (contin-uous) or angle (discrete). Default = 1 decreasing Boolean. Order in terms of decreasing magnitude (con...
Page 289 - # The following is the classic example showing
mu 295 mu Syntax [mubnds,D,Dinv,Delta,sens] = mu(M,blk) Parameter List Inputs: M Matrix or pdm. blk Block structure defined by a matrix of dimension: numberof blocks × 2. If the ith block has c outputs and r inputs, then blk(i,:) = [r,c]. The default is equivalent to 1x1 blocks(M must be square). Ou...
Page 292 - musynfit
musynfit 299 musynfit Syntax [Dsys,Dinvsys] = musynfit(Dmag,blk,nmeas,nctrls,.. weight,M,order, { keywords } ) Parameter List Inputs: Dmag New D matrix from mu calculation (magnitude data only).The domain is assumed to be in Hertz. blk block structure (refer to mu function documentation). nmeas scal...
Page 307 - ophank; one; makecontinuous
ophank 315 ophank Syntax [SysR,SysU,HSV] = ophank(Sys, { nsr,onepass } ) Parameter List Inputs: Sys Linear, stable, state-space system (continuous) nsr (optional) Order of the reduced system. If not specified,the user will be prompted for its value after the Hankelsingular values are displayed. Keyw...
Page 310 - minimal
318 Chapter 6. Function Reference See Also minimal , balmoore .
Page 311 - orderstate; stable
orderstate 319 orderstate Syntax outsys = orderstate(sys,indx) Parameter List Inputs: sys Input Dynamic System indx Lists the desired order of the states in outsys. Outputs: outsys output dynamic system. Description Reorder the states according to the index argument. The state names and initialcondi...
Page 315 - zeromean
324 Chapter 6. Function Reference Examples pdm0 = randpdm(3,1,2, { zeromean } )? pdm0 (a pdm) = domain | Col 1 Col 2 -------+------------------------- 0 | -0.043917 -0.0789571 -------+------------------------- 1 | 0.37878 -0.457265 -------+------------------------- 2 | 0.0466939 -0.34413 -------+---...
Page 317 - randpert; blk
randpert 327 randpert Syntax [pert] = randpert(blk, { sys,sfreq,complex,pnorm } ) Parameter List Inputs: blk block structure (refer to mu function documentation).(matrix) Keywords: sys Boolean. Specifies that pert is a dynamic system. Default= !sys, i.e. pert is a matrix. sfreq Scalar valued. If a d...
Page 319 - randsys
randsys 329 randsys Syntax sys = randsys (nstates,noutputs,ninputs, { keywords } ) Parameter List Inputs: nstates number of states in sys noutputs number of outputs in sys ninputs number of inputs in sys Keywords: stable Boolean. sys is forced to be stable (default = 1) oscillatory Boolean. Oscillat...
Page 324 - rifd; vec
rifd 335 rifd Syntax [stat] = rifd(vec, { discrete,Hertz,degrees } ) Parameter List Inputs: vec complex valued vector (or Dynamic System - see below). Keywords: discrete Boolean. Vector is to be interpreted in the z domain, rather than the s domain. Default = 0. Hertz Boolean. Display frequency unit...
Page 327 - sdtrsp
sdtrsp 339 sdtrsp Syntax [v,y,u] = sdtrsp(Sys,dSys,w,tfinal,... { ord,intstep,cdelay } ) Parameter List Inputs: Sys Continuous dynamic system. This is the upper system inthe LFT. The initial states are used in the simulation. dSys Digital dynamic system. Lower system in the LFT. Theinitial states ar...
Page 328 - Sys; This is conceptually the equivalent of:
340 Chapter 6. Function Reference Description Time domain simulation of a sampled data interconnection. The applicable closed loopsystem is illustrated below. Sys dSys - v w y u This is conceptually the equivalent of: v = starp ( Sys , dSys ) ∗ w . This function will handle interconnections in which...
Page 332 - trsp
Page 333 - simtransform
simtransform 345 simtransform Syntax out = simtransform(sys,X) Parameter List Inputs: sys Input system. This may be a state-space system, pdm or constant matrix. X Similarity transform. X must be invertible Outputs: out output system - in the same class as the input. Description Apply a similarity t...
Page 336 - spectrad; mat
spectrad 349 spectrad Syntax out = spectrad(mat) Parameter List Inputs: mat Square matrix or pdm . Outputs: out spectral radius of the input. Description Calculates the spectral radius (magnitude of the maximum eigenvalue) of the inputmatrix. Example pdm1 = randpdm(3,2,2, { zeromean } )? pdm1 (a pdm...
Page 338 - sresidualize
sresidualize 351 sresidualize Syntax sysout = sresidualize(sysin,ord) Parameter List Inputs: sysin Input Dynamic System ord Order of sysout Outputs: sysout output Dynamic System Description Residualize the states of sysin to the number specified by ord . The last n x − ord states ( n x is the number...
Page 347 - substr
substr 361 substr Syntax littlestring = substr(bigstring,charindex, { skipChks } ) Parameter List Inputs: bigstring Input string (a 1 × 1 string matrix) charindex vector indexing the characters to be returned in the output. Keywords: skipChks Boolean specifying that syntax checking is to be skipped....
Page 348 - sysic; sysic
sysic 363 sysic Syntax [sys] = sysic(sysNames,sysInputs,sysOutputs,sysConnects,... subsys1,subsys2,...) Parameter List Inputs: sysNames A vector of strings (of the same length as the number ofsubsystems) naming the subsystems. sysInputs A vector of strings naming the exogenous inputs to thefinal sys...
Page 349 - Only 20 subsystems can be interconnected with a single
364 Chapter 6. Function Reference Matrices can also be included in the interconnection and are considered to be constantgains when connected with Dynamic System s and considered to be constant for all domain values when connected with pdm s. sysic is able to connect linear systems together. For more...
Page 351 - # Examine the standard Xmath simulation
366 Chapter 6. Function Reference necessary. If intstep is not specified the integration stepsize is determined from thesystem eigenvalues and the minimum spacing in the input signal, u . A zero or first order discrete equivalent of the systems can be specified. The standardXmath * operator uses onl...
Page 357 - truncate
sresidualize 373 truncate Syntax sysout = truncate(sysin,ord) Parameter List Inputs: sysin Input Dynamic System ord Order of the truncated system: sysout Outputs: sysout Truncated output Dynamic System Description The function truncate is cross-licensed from the model reduction toolbox and has sligh...
Page 358 - This example is identical to that described for
374 Chapter 6. Function Reference Example This example is identical to that described for sresidualize and compares the two methods of model reduction. # Create a five state system for reduction. a = daug(-0.891334,[-1.20857,0.799042;-0.799042,-1.20857],... -4.74685,-21.3013) b = [0.0262569;-0.18960...
Page 361 - SUBROUTINES AND UTILITIES; Subroutines and Utilities; hinfcalc; blkbal
6.2. X µ SUBROUTINES AND UTILITIES 377 6.2 X µ Subroutines and Utilities Several subroutines may also be of interest to the user. These subroutines typicallyperform self contained parts of a calculation. They may be of interest to thosedeveloping new robust control algorithms or wishing to study the...
Page 362 - ) is used for large systems and the Perron method (growth rate:
blkbal 379 blkbal Syntax d = blkbal(M) Description Balances a square matrix assuming only scalar blocks. The Osborne method (growthrate: n 2 ) is used for large systems and the Perron method (growth rate: n 3 ) for smaller systems. The Perron method will exactly calculate mu for positive matrices.
Page 365 - Form and solve the Riccati equations for the
hinfcalc 383 Description Form and solve the Riccati equations for the H ∞ control problem. X and Y are the resulting Riccati solutions. THIS FUNCTION IS INTENDED ONLY AS A SUBROUTINE CALLED BY THEHINFSYN FUNCTION. *** NO ERROR CHECKING ***
Page 366 - powermu
powermu 385 powermu Syntax [lbnd,delta,errstat] = powermu(M,blk,rp,cp) Description Lower bound power algorithm based on the work of Andy Packard. The vector namingroughly corresponds to that in his thesis. *** NO ERROR CHECKING ***
Page 367 - riccati eig
riccati eig 387 riccati eig Syntax [x1,x2,stat,Heig min] = riccati eig(H,epp) Parameter List Inputs: H Hamiltonian matrix. epp Tolerance for detecting proximity of eigenvalues to the j ω axis. Outputs: x1,x2 Basis vectors for stable subspace. See description below. stat Status flag. 0 Stable subspac...
Page 369 - riccati schur
riccati schur 389 riccati schur Syntax [x1,x2,stat,Heig min] = riccati schur(H,epp) Parameter List Inputs: H Hamiltonian matrix. epp Tolerance for detecting proximity of eigenvalues to the j ω axis. Outputs: x1,x2 Basis vectors for stable subspace. See description below. stat Status flag. 0 Stable s...
Page 371 - Appendices; Translation Between
Appendices A Translation Between Matlab µ -Tools and X µ This appendix outlines the functional equivalences between the Matlab µ -Tools and Xmath X µ . The ob jective is to provide a smooth transition for users moving from µ -Tools to X µ . We will assume that the reader is familiar with Matlab µ -T...
Page 373 - A. TRANSLATION BETWEEN
A. TRANSLATION BETWEEN MATLAB µ -TOOLS AND X µ 393 Description µ -Tools Function Xmath/X µ equivalent form system pck system decompose system unpck abcd form system nd2sys transfer function data ob jects form system zp2sys transfer function data ob jects decompose system sys2pss dynamic system data ...
Page 374 - APPENDICES
394 APPENDICES Subblocks: selecting input & outputs In µ -Tools the function sel selects rows and columns from a varying matrix or inputs and outputs from a system matrix. In Xmath these can be obtained by specifying row and column indexes. More flexibility of selecting parts of a pdm can be obt...
Page 377 - Miscellaneous Utilities
A. TRANSLATION BETWEEN MATLAB µ -TOOLS AND X µ 397 Miscellaneous Utilities Several utilities are provided in µ -Tools. These are subroutines used by other µ -Tools functions which may be of more general use. Description µ -Tools function Xmath/X µ equivalent complex random number crand randpdm fit s...
Page 384 - Technical Support and Professional Services
Technical Support and Professional Services Visit the following sections of the National Instruments Web site at ni.com for technical support and professional services: • Support —Online technical support resources at ni.com/support include the following: – Self-Help Resources —For immediate answers...