### The Process of Control System Design {#the-process-of-control-system-design}
The process of designing a control system is a step by step design procedure as follows:
1. Study the system (plant) to be controlled and obtain initial information about the **control objectives**
2.**model the system** and simplify the model, if necessary
3.**scale the variables** and analyze the resulting model; determine its properties
4. Decide which variables are to be controlled (controlled outputs)
5. Decide on the measurements and manipulated variables: what sensors and actuators will be used and where will they be placed?
6. Select the **control configuration**
7. Decide on the type of controller to be used
8. Decide on performance specifications, based on the overall control objectives
9. Design a controller
10. Analyze the resulting controlled system to see if the specifications are satisfied; and if they are not satisfied modify the specifications or the type of controller
11. Simulate the resulting controlled system
12. Repeat from step 2 if necessary
13. Choose hardware and software and implement the controller
14. Test and validate the control system, and tune the controller on-line, if necessary
The objective of a control system is to make the output \\(y\\) behave in a desired way by manipulating the plant input \\(u\\).
The **regulator problem** is to manipulate \\(u\\) to counteract the effect of a disturbance \\(d\\).
The **servo problem** is to manipulate \\(u\\) to keep the output close to a given reference input \\(r\\).<br/>
In both cases, we want the control error \\(e = y - r\\) to be small.
The algorithm for adjusting \\(u\\) based on \\(y\\) is the **controller** \\(K\\).
To arrive at a good design for \\(K\\) we need information about the expected disturbances, the reference inputs, the plant model \\(G\\) and disturbance model \\(G\_d\\).<br/>
A major source of difficulty is that models may be inaccurate or may change with time.
The inaccuracy in \\(G\\) may cause instability problems as it is part of the feedback loop.
To deal with such a problem, the concept of **model uncertainty** will be used.<br/>
: The system satisfies the performance specifications with no model uncertainty
**Robust Stability (RS)**
: The system is stable for all perturbed plants about the nominal model up to the worst case uncertainty
**Robust Performance (RP)**
: The system satisfies the performance specifications for all perturbed plants about the nominal model up to the worst-case model uncertainty
</div>
### Transfer Functions {#transfer-functions}
Properties of transfer functions:
- A system \\(G(s)\\) is **strictly proper** if \\(G(s) \rightarrow 0\\) as \\(\w \rightarrow \infty\\)
- A system \\(G(s)\\) is **semi-proper** if \\(G(s) \rightarrow D \ne 0\\) as \\(\w \rightarrow \infty\\)
- A system \\(G(s)\\) is **proper** if \\(G(s)\\) is strictly proper or semi-proper
- The order of the system noted \\(n\\) and is the order of the denominator (or pole polynomial) of its matrix transfer function
### Scaling {#scaling}
Scaling is very important in applications, both for modelanalysis (input-output controllability) and for controller design.<br/>
The scaling is done by **dividing each variable by its maximum expected or allowed change**.
That way, the scaled variable should be less than one in magnitude.<br/>
We denote variables in their unscaled units by a hat.
- \\(d = \hat{d}/D\_d\\) with \\(D\_d = \hat{d}\_{\max}\\) is the largest expected change in disturbance
- \\(u = \hat{u}/D\_u\\) with \\(D\_u = \hat{u}\_{\max}\\) is the largest allowed input change
The variables \\(\hat{y}\\), \\(\hat{r}\\) and \\(\hat{e}\\) are in the same unit, so we choose to scale them with respect to the maximum allowed control error:
- \\(e = \hat{e}/D\_e\\) with \\(D\_e = \hat{e}\_{\max}\\) is the largest allowed control error
- \\(r = \hat{r}/D\_e\\)
- \\(y = \hat{y}/D\_e\\)
For MIMO systems, each variables in the vectors \\(\hat{d}\\), \\(\hat{r}\\), \\(\hat{u}\\) and \\(\hat{e}\\) may have a different maximum value, in which case \\(D\_e\\), \\(D\_u\\), \\(D\_s\\) and \\(D\_r\\), become diagonal scaling matrices.
where \\(u\\) and \\(d\\) should be less than 1 in magnitude.<br/>
It is sometimes useful to introduce a **scaled reference** \\(\tilde{r}\\) which is less than 1 in magnitude: \\(\tilde{r} = \hat{r}/\hat{r}\_{\max} = D\_r^{-1}\hat{r}\\)
Then we have \\(r = R \tilde{r}\\) with \\(R \triangleq D\_e^{-1}D\_r = \hat{r}\_{\max}/\hat{e}\_{\max}\\) is the largest expected change in reference relative to the allowed control error.<br/>
With scaling you make initial decision regarding performance. This makes **weight selection simple later** (may often select identity weights if initial scaling is reasonable!).
### Deriving Linear Models {#deriving-linear-models}
Linear models may be obtained from physical "first-principle" models or from analyzing input-output data (**identification**).<br/>
In order to obtain a linear model from the "first-principle", the following approach is used:
1. Formulate a nonlinear state-space model based on physical knowledge
2. Determine the steady-state operating point about which to linearize
3. Introduce deviation variables and linearize the model
Notations used throughout this note are summarized in tables [1](#table--tab:notation-conventional), [2](#table--tab:notation-general) and [3](#table--tab:notation-tf).
By replacing \\(s\\) by \\(j\omega\\) in a transfer function \\(G(s)\\), we get the **frequency response** description. It can be used to describe:
- A system's response to sinusoids of varying frequency
- The frequency content of a **deterministic signal** via the **Fourier transform**
- The frequency distribution of a **stochastic** signal via the **power spectral density**
After sending a sinusoidal signal through a system \\(G(s)\\), the signal's magnitude is amplified by a factor \\(\abs{G(j\omega)}\\) and its phase is shifted by \\(\angle{G(j\omega)}\\).<br/>
The name minimum phase refers to the fact that such a system has the minimum possible phase lag for the given magnitude response \\(|G(j\omega)|\\).
**RHP-zeros** and **time delays** contribute additional phase lag to a system when compare to that of a minimum phase system with the same gain (hence the term **non-minimum phase system**).
</div>
For minimum phase systems, there is a unique relationship between the gain and phase of the frequency response: the **Bode gain-phase relationship**:
We note \\(N(\w\_0) = \left( \frac{d\ln{|G(j\w)|}}{d\ln{\w}} \right)\_{\w=\w\_0}\\) that corresponds to the **slope of the magnitude** of \\(G(s)\\) in log-variables. We then have the following approximation of the **Bode gain-phase relationship**:
Two methods are commonly used to **determine closed-loop stability**:
1. The system is stable if and only if **all the closed-loop poles** (roots of \\(1 + L(s) = 0\\)) **are in the open LHP**. The poles are also equal to the **eigenvalues of the state-space \\(A\\) matrix** (this is how the poles are computed).
2. The frequency response of \\(L(j\w)\\) is plotted in the complex plane and the number of encirclement it makes around the critical point \\(-1\\) is counted.
-**Nyquist's stability criterion**: Closed-loop stability is inferred by equating the number of encirclement to the number of open-loop RHP-poles
-**Bode's stability condition**: The closed loop system is stable if and only if \\(\vert L(j \w\_{180})\vert <1\\)where \\(\w\_{180}\\)isthephasecrossoverfrequencydefinedby \\(\angleL(j \w\_{180})=\ang{-180}\\).Thisisonlyvalidforopen-loopstablesystemswhere \\(\angleL(j\w)\\)fallswithfrequencyandsuchthat \\(\angleL(j\w)\\)crosses \\(\ang{-180}\\)onlyonce.
Method 1 is best suited for numerical calculation while method 2 has a nice graphical interpretation and may also be used for systems with time delays.
Moreover, method 2 provides useful measure of relative stability and will be used for robustness test.
with \\(\w\_c\\) the **gain crossover frequency** defined by \\(\vert L(j \w\_c)\vert = 1\\).
The PM tells how much negative phase (phase lag) we can add to \\(L(s)\\) at frequency \\(\omega\_c\\) before closed-loop instability appears.
Typically, we required the PM to be larger than \\(\SI{30}{\degree}\\). This is a **safeguard against time delay uncertainty**, the system becomes unstable is we add a delay of \\(\theta\_{max} = PM / \w\_c\\).
Note that by decreasing the value of \\(\omega\_c\\) (lowering the closed-loop bandwidth) the system can tolerate larger time delays.
#### Maximum Peak Criteria {#maximum-peak-criteria}
Typically, we require \\(M\_S <2\ (6dB)\\)and \\(M\_T<1.25\ (2dB)\\).<br/>
**Why do we want \\(M\_S\\) small?**
- Without feedback, with have \\(e = r - G\_d d\\) but with feedback \\(e = S(r - G\_d d)\\). Thus feedback improves performance in terms of reducing \\(|e|\\) where \\(|S|<1\\).However,wecannotavoidhaving \\(|S|>1\\) at some intermediate frequency where feedback control degrades performance. The value of \\(M\_S\\) is then a **measure of the worst-case performance degradation**
- \\(M\_S\\) is also a **measure of the robustness** because the smallest distance between \\(L(\w)\\) and the critical point \\(-1\\) is \\({M\_S}^{-1}\\)
There is a close **relationship between these maximum peaks and the gain and phase margins**.
- \\(M\_S <2 \RightarrowGM> 2\\) and \\(PM > \SI{29}{\degree}\\)
- \\(M\_T <2 \RightarrowGM> 1.5\\) and \\(PM > \SI{29}{\degree}\\)
#### Bandwidth and Crossover Frequency {#bandwidth-and-crossover-frequency}
In general, a large bandwidth corresponds to a faster rise time, however, this also indicates an higher sensitivity to noise and to parameter variations.
The **bandwidth**, is the frequency range \\([\w\_1, \w\_2]\\) over which control is **effective**. In most case we simple call \\(\w\_2 = \w\_B\\) the bandwidth.
As the word "effective" may be interpreted in different ways, there are **multiple definitions of bandwidth**:
- The **closed-loop bandwidth** \\(\w\_B\\) is the frequency where \\(\vert S(j\w)\vert\\) first crosses \\(1/\sqrt{2}\approx -3dB\\) from below.
- The **gain crossover frequency** \\(\w\_c\\) is defined as the frequency where \\(\vert L(j \w\_c)\vert\\) first crosses 1 from above
- The bandwidth in terms of \\(T\\), \\(\w\_{BT}\\), is the highest frequency at which \\(\vert T(j \w\_c)\vert\\) crosses \\(1/\sqrt{2}\approx -3dB\\) from above.
For systems with \\(PM < \ang{90}\\),wehave: \\(\w\_{B}<\w\_{c}< \w\_{BT}\\)
1.**Shaping of transfer functions**. The designer specifies the magnitude of some transfer functions as a function of frequency and then finds a controller which gives the desired shape(s)
1. Loop shaping of the open-loop transfer function \\(L(j\w)\\)
2. Shaping of closed-loop transfer functions such as \\(S\\), \\(T\\) and \\(KS\\)
2.**The signal based approach**. This involves time domain problem formulations resulting in the minimization of a norm of a transfer function. Linear Quadratic Gaussian (LQG) is an example of a signal based approach. A signal based \\(\hinf\\) optimal control methodology can be derived.
3.**Numerical optimization**. This often involves multi-objective optimization where one attempts to optimize directly the true objectives such as rise times, stability margins, ... This problems may be difficult to solve, especially if one does not have convexity in the control parameters. This optimization may also be performed online.
### Loop Shaping {#loop-shaping}
#### Trade-offs in Terms of \\(L\\) {#trade-offs-in-terms-of--l}
Let's consider a feedback control system with error \\(e = -S r + S G\_d d - T n\\).
If we want perfect control:
- For **disturbance rejection** and **command tracking**, we obtain \\(S \approx 0\\), this implies that the loop transfer function \\(L\\) must be large in magnitude
- For zero **noise transmission**, we want \\(T \approx 0\\) or equivalently \\(S \approx I\\) which is obtained with \\(L \approx 0\\).
This illustrate the **fundamental nature of feedback** design which always involves a **trade-off** between conflicting objectives.
The most important design objectives are:
Performance
: \\(L\\) large
Good dist. rejection
: \\(L\\) large
Limitation of meas. noise on plant output
: \\(L\\) small
Small magnitude of input signal
: \\(K\\) and \\(L\\) small
Strictly proper controller
: \\(K\rightarrow 0\\) at high frequencies
Nominal stability
: \\(L\\) small (RHP zeros and time delays)
Robust stability
: \\(L\\) small (neglected dynamics)
Fortunately, the conflicting design objectives are generally in different frequency ranges, and we can meet most of the objectives by using large loop gain at low frequencies and a small gain at high frequencies above crossover.
#### Fundamentals of Loop-Shaping Design {#fundamentals-of-loop-shaping-design}
Design procedure that involves explicitly shaping the magnitude of the loop transfer function \\(\abs{L(j\w)}\\).
</div>
To get the benefits of feedback control, we want the loop gain \\(\abs{L(j\w)}\\) to be as large as possible within the bandwidth region.
However, due to time delays, RHP-zeros, unmodelled high-frequency dynamics and limitations on the allowed manipulated inputs, the loop gain has to drop below one at and above the crossover frequency \\(\w\_c\\).
The value of \\(-N\\) at high frequencies is called the **roll-off rate**.
</div>
To get a high bandwidth (fast response) we want \\(\w\_c\\) large (thus \\(\w\_{180}\\) large), that is we want the phase lag in \\(L\\) to be small. Unfortunately, that is not consistent with the desire that \\(\abs{L(j\w)}\\) should fall sharply (because of the approximation \\(\angle{L} \approx -N \* \SI{90}{\degree}\\)).
The situation becomes even worse for cases with delays or RHP-zeros in \\(L(s)\\) which add undesirable phase lag without contributing to a desirable negative slope.<br/>
We can define the **desired loop transfer function in terms of the following specifications**:
1. The gain crossover frequency \\(\w\_c\\), where \\(\abs{L(j\w\_c)} = 1\\)
2. The shape of \\(\abs{L(j\w)}\\):
- Slope of \\(N=-1\\) around crossover
- Large roll-off at higher frequencies (\\(N>2\\))
- Slope at low frequencies depending on the nature of the disturbance or reference signal.
We required a slope of \\(-1\\) for step changes and \\(-2\\) for ramp changes
3. The system type, defined as the number of pure integrators in \\(L(s)\\)
#### Limitations Imposed by RHP-zeros and Time Delays {#limitations-imposed-by-rhp-zeros-and-time-delays}
We usually want the loop shape to have a slope of \\(-1\\) around crossover \\(\w\_c\\), then the phase lag of \\(L\\) at \\(\w\_c\\) will be at least \\(\SI{-90}{\degree}\\).
If we require a phase margin of \\(\SI{-35}{\degree}\\), then the additional phase contribution from delays and RHP zeros at \\(\w\_c\\) cannot exceed \\(\SI{-55}{\degree}\\).
First consider a **time delay** \\(\theta\\) which adds a phase of \\(-\theta \omega\\).
Thus, we want \\(\theta \omega\_c < \SI{55}{\degree} \approx \SI{1}{\radian}\\).
The attainable bandwidth is limited by the time delay:
To avoid an increase in slope cause by the zero, we add a pole at \\(s = -z\\), then \\(L\\) contains \\(\frac{-s+z}{s+z}\\) which corresponds to an all-pass filter.
The phase contribution is \\(\approx \SI{-55}{\degree}\\) at \\(\w = z/2\\).
- For disturbances entering at the plant output (\\(G\_d = 1\\)), we get \\(\abs{K} = \abs{G^{-1}}\\)
- For disturbances entering at the plant input (\\(G\_d = G\\)), we get \\(\abs{K} = 1\\)
- Note that reference change may be viewed as a disturbance directly affecting the output
The loop-shape \\(L(s)\\) may be modify as follows:
- Around crossover, make the slope of \\(|L|\\) to be about -1. This is to achieve good transient behavior with acceptable gain and phase margins
- Improve the low frequency performance by adding integral action \\(\abs{K} = \abs{\frac{s+\w\_I}{s}}\abs{G^{-1}G\_d}\\)
- Let \\(L(s)\\) roll of faster at high frequencies in order to reduce the effect of noise and the input magnitude
#### Two Degrees-of-freedom Design {#two-degrees-of-freedom-design}
For reference tracking, we typically want the controller to look like \\(\frac{1}{s} G^{-1}\\), whereas for disturbance rejection we want the controller to look like \\(\frac{1}{s} G^{-1}G\_d\\).
We cannot achieve both of these simultaneously with a single feedback controller.
The solution is to use a **two degrees of freedom controller** where the reference signal \\(r\\) and output measurement \\(y\_m\\) are independently treated by the controller (Fig. [2](#orgaf9baaf)), rather than operating on their difference \\(r - y\_m\\).
{{<figuresrc="/ox-hugo/skogestad07_classical_feedback_sep.png"caption="Figure 3: 2 degrees-of-freedom control architecture with two separate blocs">}}
It is optimal to design the combined two degrees of freedom controller \\(K\\) in one step, however, in practice \\(K\_y\\) is often designed first for disturbance rejection, and then \\(K\_r\\) is designed to improve reference tracking.
### Shaping Closed-Loop Transfer Functions {#shaping-closed-loop-transfer-functions}
Specifications on the open-loop transfer function \\(L = GK\\) does not consider directly the closed-loop transfer functions, such as \\(S\\) and \\(T\\) which determine the final response.
An alternative design strategy is to directly shape the magnitude of the closed loop transfer functions. This strategy can be formulated as an \\(\hinf\\) optimal control problem.
#### The Terms \\(\hinf\\) and \\(\htwo\\) {#the-terms--hinf--and--htwo}
The \\(\hinf\\) norm of a stable scalar transfer function \\(f(s)\\) is simply the peak value of \\(\abs{f(j\w)}\\) as a function of frequency:
The sensitivity function \\(S\\) is a very good indicator of closed-loop performance. The main advantage of considering \\(S\\) is that we want \\(S\\) small and **it is sufficient to consider just its magnitude** \\(\abs{S}\\).
- Maximum magnitude of \\(S\\): \\(\hnorm{S(j\w)} \leq M\\)
</div>
The maximum peak specification prevents amplification of noise at high frequencies, and also introduces a margin of robustness. Typically, we select \\(M = 2\\).<br/>
Mathematically, these specifications may be captured by an **upper bound** \\(1/\abs{W\_P(s)}\\) on the magnitude of \\(S\\) where \\(W\_P(s)\\) is a **weight** selected by the designer.
The subscript \\(P\\) stands for **performance** since \\(S\\) is mainly used as a performance indicator.
{{<figuresrc="/ox-hugo/skogestad07_weight_first_order.png"caption="Figure 4: Inverse of performance weight">}}
If we want a steeper slope for \\(L\\) below the bandwidth, an higher order weight may be selected. A weight which ask for a slope of \\(-2\\) for \\(L\\) below crossover is:
The specification \\(\hnorm{W\_P S} <1\\)putsalowerboundonthebandwidth,butnotanupperoneandnordoesitallowustospecifytheroll-offof \\(L(s)\\)abovethebandwidth.
To do this, we can make demands on another closed-loop transfer function \\(T\\) by specifying an upper bound \\(1/\abs{W\_T}\\) on the magnitude \\(\abs{T}\\) to **make sure that \\(L\\) rolls off sufficiently fast at high frequencies**.
Also, to achieve robustness or to restrict the magnitude of the input signal \\(u\\), one may place an upper bound \\(1/\abs{W\_U}\\) on the magnitude \\(KS\\).<br/>
To combined these **mixed sensitivity specifications**, a **stacking approach** is usually used, resulting in the following overall specification:
The main difference between a SISO system and a MIMO system is the presence of **directions** in the latter.
However, most of the ideas and techniques used for SISO systems may be extended to MIMO systems.
This is done by considering the **maximum singular value** instead of the absolute value.
The **singular value decomposition** (SVD) provides a useful way of quantifying multivariable directionality.
For MIMO systems the gain \\(\frac{\abs{Gd}}{\abs{d}}\\) (where \\(\abs{\cdot}\\) is some norm) is independent of the magnitude \\(\abs{d}\\) (like for SISO systems), but it does **depend on its direction**.
A plant is said to be **ill-conditioned** if the gain depends strongly on the input direction. It is quantified by the **condition number** \\(\Gamma\\) (which is much larger than 1 for an ill-conditioned plant).
For MIMO systems the order of the transfer functions matter, so in general:
The main rule for evaluating transfer functions is the **MIMO Rule**: Start from the output and write down the transfer functions as you meet them going to the input. If you exit a feedback loop then we get a term \\((I-L)^{-1}\\) where \\(L = GK\\) is the transfer function around the loop (gain going backwards).
</div>
#### Negative Feedback Control Systems {#negative-feedback-control-systems}
For negative feedback system (Fig. [5](#org4a80576)), we define \\(L\\) to be the loop transfer function as seen when breaking the loop at the **output** of the plant:
Again the gain depends on the frequency \\(\w\\) and again it is independent of the input magnitude \\(\normtwo{d(\w)}\\). However, the gain depends also on the **direction** of the input \\(d\\).
#### Eigenvalues as a Poor Measure of Gain {#eigenvalues-as-a-poor-measure-of-gain}
The magnitudes of the eigenvalues of a transfer function matrix \\(\abs{\lambda\_i(G(j\w))}\\) do not provide a useful means of generalizing the SISO gain.
The main problem is that the eigenvalues measure the gain for the special case when the **inputs and the outputs are in the same direction**, namely in the direction of the eigenvectors.
#### Singular Value Decomposition {#singular-value-decomposition}
We are interested by the physical interpretation of the SVD when applied to the frequency response of a MIMO system \\(G(s)\\) with \\(m\\) inputs and \\(l\\) outputs.
: is an \\(l \times m\\) matrix with \\(k = \min\\{l, m\\}\\) non-negative **singular values** \\(\sigma\_i\\), arranged in descending order along its main diagonal, the other entries are zero.
\\(U\\)
: is an \\(l \times l\\) unitary matrix. The columns of \\(U\\), denoted \\(u\_i\\), represent the **output directions** of the plant. They are orthonormal.
\\(V\\)
: is an \\(m \times m\\) unitary matrix. The columns of \\(V\\), denoted \\(v\_i\\), represent the **input directions** of the plant. They are orthonormal.
</div>
The input and output directions are related through the singular values:
So, if we consider an input in the direction \\(v\_i\\), then the output is in the direction \\(u\_i\\). Furthermore, since \\(\normtwo{v\_i}=1\\) and \\(\normtwo{u\_i}=1\\), we see that **the singular value \\(\sigma\_i\\) directly gives the gain of the matrix \\(G\\) in this direction**.<br/>
The **largest gain** for any input is equal to the **maximum singular value**:
If the plant has more output than inputs, the outputs singular vectors \\(u\_i\\) with \\(i > k\\) correspond to the outputs directions that cannot be controlled.
Similarly, for a plant with more inputs and outputs, the additional input singular vectors tells us in which directions the input will have no effect.
#### Singular Values for Performance {#singular-values-for-performance}
The gain of the MIMO system from the vector of reference inputs \\(r\\) and the vector of control error \\(e\\) is bounded by the minimum and maximum singular values of \\(S\\):
In terms of performance, we require that the gain remains small for any direction of \\(r(\w)\\) including the "worst-case" direction corresponding to the gain \\(\maxsv(S(j\w))\\). Let \\(1/\abs{W\_P(j\w)}\\) represent the maximum allowed magnitude of \\(\frac{\normtwo{e(\w)}}{\normtwo{r(\w)}}\\) at each frequency:
For MIMO systems **the bandwidth depends on direction**.
If we want to associate a single bandwidth frequency for a multivariable system, then we consider the worst-case direction, and define the bandwidth \\(\w\_B\\) as the frequency where \\(\maxsv(S)\\) crosses \\(\frac{1}{\sqrt{2}} = 0.7\\) from below.
### Control of Multivariable Plants {#control-of-multivariable-plants}
A conceptually simple approach to multivariable control is given by a two-step procedure:
1.**Design a pre-compensator** \\(W\_1\\), which counteracts the interactions in the plant and results in a new **shaped plant** \\(G\_S(s) = G(s) W\_1(s)\\) which is **more diagonal and easier to control** than the original plant \\(G(s)\\).
2.**Design a diagonal controller** \\(K\_S(s)\\) for the shaped plant using methods similar to those for SISO systems.
1.**Dynamic decoupling**: \\(G\_S(s)\\) is diagonal at all frequencies. For that we can choose \\(W\_1(s) = G^{-1}(s)\\) and this is an inverse-based controller.
2.**Steady-state decoupling**: \\(G\_S(0)\\) is diagonal. This can be obtained by selecting \\(W\_1(s) = G^{-1}(0)\\).
3.**Approximate decoupling at frequency \\(\w\_0\\)**: \\(G\_S(j\w\_0)\\) is as diagonal as possible. Decoupling the system at \\(\w\_0\\) is a good choice because the effect on performance of reducing interaction is normally greatest at this frequency.
The idea of decoupling control is appealing, but there are **several difficulties**:
1. It is very sensitive to modelling errors
2. It may not be required for disturbance rejection
3. If the plant has RHP-zero, the decoupling generally introduces extra RHP-zero in the closed-loop system
#### SVD-Controller {#svd-controller}
We can also introduce a **post compensator** \\(W\_2(s)\\).
The **SVD-controller** is a special case of a pre and post compensator design: \\(W\_1 = V\_0\\) and \\(W\_2 = U\_0^T\\).
\\(V\_0\\) and \\(U\_0\\) are obtained from a SVD of \\(G\_0 = U\_0 \Sigma\_0 V\_0^T\\) where \\(G\_0\\) is a real approximation of \\(G(j\w\_0)\\).
#### Decentralized Control {#decentralized-control}
Another approach is to use a diagonal or block-diagonal controller \\(K(s)\\). This works well if \\(G(s)\\) is close to diagonal, because then the plant to be controlled is essentially a collection of independent sub-plants, and each element in \\(K(s)\\) may be designed independently.
However, if off-diagonal elements in \\(G(s)\\) are large, the performance with decentralized diagonal control may be poor because no attempt is made to counteract the interactions.
#### What is the Shape of the "best" Feedback Controller? {#what-is-the-shape-of-the-best-feedback-controller}
Consider the problem of disturbance rejection: \\(y = S G\_d d\\) where \\(\normtwo{d}<1\\)andourperformancerequirementisthat \\(\normtwo{y}<1\\)whichisequivalenttorequiring \\(\maxsv(SG\_d)<1\\).
However there is generally a trade-off between input usage and performance. The controller that minimize the input magnitude while meeting the performance requirement is the one that yields all singular values of \\(SG\_d\\) equal to 1, i.e. \\(\sigma\_i(SG\_d) = 1, \forall \w\\). This corresponds to:
where \\(U\_2 = U\_1^{-1}\\) is some all-pass transfer function matrix.
We see that for disturbances entering at the plant inputs, \\(G\_d = G\\), we get \\(G\_{\text{min}} = U\_2\\), so a simple constant unit gain controller yields a good trade-off between output performance and input usage.
#### Summary of Mixed-Sensitivity \\(\hinf\\) Synthesis {#summary-of-mixed-sensitivity--hinf--synthesis}
In the mixed-sensitivity \\(S/KS\\) problem, the objective is to minimize the \\(\hinf\\) norm of:
Here are some guidelines for the choice of the weights \\(W\_P\\) and \\(W\_U\\):
- \\(KS\\) is the transfer function from \\(r\\) to \\(u\\), so for a system which has been scaled, a reasonable initial choice for the input weight is \\(W\_U = I\\)
- \\(S\\) is the transfer function from \\(r\\) to \\(-e = r-y\\). A common choice for the performance weight is \\(W\_P = \text{diag}\\{w\_{p\_i}\\}\\) with:
We can also considerate \\(T\\) which is the transfer function from \\(-n\\) to \\(y\\). To reduce the sensitivity to noise and uncertainty, we want \\(T\\) small at high frequencies, and so we may want **additional roll-off** in \\(L\\).
This can be achieved in several ways:
- One approach is to add \\(W\_T T\\) to the stack for \\(N\\) where \\(W\_T = \text{diag}\\{w\_{T\_i}\\}\\) and \\(\abs{w\_{T\_i}}\\) is smaller than 1 at low frequencies and large at high frequencies
- A more direct approach is to **add high-frequency dynamics** \\(W\_1(s)\\) **to the plant model** to ensure that the resulting shaped plant, \\(G\_S=GW\_1\\) rolls off with the desired slope. We then obtain an \\(\hinf\\) optimal controller \\(K\_S\\) for this shaped plant, and finally include \\(W\_1(s)\\) in the controller \\(K=W\_1 K\_S\\)
### Introduction to MIMO RHP-Zeros {#introduction-to-mimo-rhp-zeros}
Whereas the poles \\(p\\) of MIMO system \\(G\\) are essentially poles of elements of \\(G\\), the zeros are generally not the zeros of elements of \\(G\\).
However, for square MIMO plants, the poles and zeros are in most cases the poles and zeros of \\(\det G(s)\\).
\text{RGA}(G) = \Lambda(G) \triangleq G \times G^{-T}
\end{equation}
where \\(\times\\) is element-by-element multiplication
</div>
In most case, it is the value of the RGA at frequencies close to crossover which is most important.
The RGA has interesting algebraic properties:
- It is independent of input and output scaling
- Its rows and columns sum to one
- The sum-norm of the RGA \\(\\|\Lambda\\|\_\text{sum}\\) is close to the minimized condition number \\(\gamma^\*\\).
Plants with large RGA-elements are thus always ill-conditioned
- The RGA is the identity matrix if \\(G\\) is upper of lower triangular. This follows that \\(\Gamma - I\\) provides a **measure of two-way interactions**
It has also a number of useful **control properties**:
- Plants with large RGA-elements around the crossover frequency are fundamentally difficult to control because of sensitivity to input uncertainty
- If the sign of a RGA-element changes from \\(s=0\\) to \\(s=\infty\\), then there is a RHP-zero in \\(G\\)
- The definition of the RGA may be generalized to non-square matrices by using the pseudo inverse
- The **RGA-number** can be used as a measure of diagonal dominance: \\(\\|\Lambda(G)-I\\|\_{\text{sum}}\\)
- For decentralized control, we prefer pairing input and outputs for which the RGA-number at crossover frequencies is close to \\(0\\)
### Introduction to Robustness for MIMO Plants {#introduction-to-robustness-for-mimo-plants}
Multivariable plants can show a sensitivity to uncertainty which is fundamentally different from what is possible in SISO systems.
It is possible to have excellent stability margins (GM and PM) when considering one loop at a time, but small simultaneous input gain errors can give instability.
For SISO systems, we generally have that nominal performance and robust stability imply robust performance, but this is not the case for MIMO systems.
Although we have **useful indicators of robustness problems** (RGA-number, Sensitivity Peaks, etc), they provide no exact answer to whether a given source of uncertainty will yield instability or poor performance.
The **structured singular value** \\(\mu\\) is a tool for analyzing the effects of model uncertainty.
### General Control Problem Formulation {#general-control-problem-formulation}
Find a controller \\(K\\) which based on the information in \\(v\\), generates a control signal \\(u\\) which counteracts the influence of \\(w\\) on \\(z\\), thereby minimizing the closed-loop norm from \\(w\\) to \\(z\\).
</div>
#### Obtaining the Generalized Plant \\(P\\) {#obtaining-the-generalized-plant--p}
We must first find a block diagram representation of the system and identify the signals \\(w\\), \\(z\\), \\(u\\) and \\(v\\).
Then we have to break all the "loops" entering and exiting the controller \\(K\\) to obtain \\(P\\) such that:
In order to get a meaningful controller synthesis problem, for example in terms of the \\(\hinf\\) norms, we generally have to include the weights \\(W\_z\\) and \\(W\_w\\) in the generalized plant \\(P\\) (Fig. [7](#orgcf69c72)).
- The weighted or normalized exogenous inputs \\(w\\) (where \\(\tilde{w} = W\_w w\\) consists of the "physical" signals entering the system)
- The weighted or normalized controlled outputs \\(z = W\_z \tilde{z}\\) (where \\(\tilde{z}\\) often consists of the control error \\(y-r\\) and the manipulated input \\(u\\))
\\(P\_{22}\\) has dimensions compatible with the controller.
#### Analysis: Closing the Loop the get \\(N\\) {#analysis-closing-the-loop-the-get--n}
In the previous representations, the controller \\(K\\) has a separate block. This is useful when **synthesizing** the controller. However, for **analysis** of closed-loop performance the controller is given, and we may absorb \\(K\\) into the interconnection structure and obtain the system \\(N\\).
The **Singular Value Decomposition** (SVD) of the plant transfer function matrix provides insight into **multivariable directionality**.<br/>
Other useful tools for analyzing directionality and interactions are the **condition number** and the **Relative Gain Array** (RGA).<br/>
**Closed loop performance** may be analyzed in the frequency domain by evaluating the **maximum singular value of the sensitivity function** as the function of frequency.<br/>
**Multivariable RHP-zeros** impose fundamental limitations on performance, but for MIMO systems we can often direct the undesired effect of a RHP-zero to a subset of the outputs.<br/>
MIMO systems are often **more sensitive to uncertainty** than SISO systems.
</div>
## Elements of Linear System Theory {#elements-of-linear-system-theory}
For linear systems there are several alternative system representations:
-**state-space representation** often follows directly from a physical model, and is used in most **numerical calculations**.
-**transfer function representation** is a nice compact representation which yields invaluable insights; it allows for series connections to be represented by multiplication of transfer functions. It also leads directly to the frequency response by setting \\(s = j\w\\).
-**coprime factorization** is a factorization into two stable systems, and that it is useful for representing the class of all stabilizing controllers. It forms the basis for the very useful coprime uncertainty description.
The state-space representation of a system is not unique, there exist realizations with the same input-output behavior, but with additional unobservable and/or uncontrollable state.
A minimal realization is a realization with the **fewest number of states** and consequently **no unobservable or uncontrollable modes**.
</div>
The state-space representation yields an internal description of the system which may be useful if the model is derived from physical principles. It is also more suitable for numerical calculations.
The \\(ij\\)'th element of the impulse response matrix, \\(g\_{ij}(t)\\), represents the response \\(y\_i(t)\\) to an impulse \\(u\_j(t)=\delta(t)\\) for a systems with a zero initial state.
With initial state \\(x(0) = 0\\), the dynamic response to an arbitrary input \\(u(t)\\) is
We can also obtain the transfer function representation from the state-space representation by taking the Laplace transform of the state-space equations
where \\(N\_r(s)\\) and \\(M\_r(s)\\) are stable coprime transfer functions.
</div>
The stability implies that \\(N\_r(s)\\) should contains all the RHP-zeros of \\(G(s)\\), and \\(M\_r(s)\\) should contain as RHP-zeros all the RHP-poles of \\(G(s)\\).
Mathematically, coprimeness means that there exist stable \\(U\_r(s)\\) and \\(V\_r(s)\\) such that the Bezout identity is satisfied: \\(U\_r N\_r + V\_r M\_r = I\\)
### State Controllability and State Observability {#state-controllability-and-state-observability}
There are **many ways to check for state controllability and observability**, e.g. with Gramians, input/output pole vectors, controllability/observability matrix, etc.
##### Input and output pole vectors {#input-and-output-pole-vectors}
The method which yields the most insight is probably to compute the input and output directions associated with each pole (mode).
For the case when \\(A\\) has distinct eigenvalues, we have the following dyadic expansion of the transfer function matrix from inputs to outputs
- The \\(i\\)'th **input pole vector** \\(u\_{p\_i} \triangleq q\_i^H B\\) is an indication of how much the \\(i\\)'th mode is excited (and thus may be "controlled") by the inputs.
- The \\(i\\)'th **output pole vector** \\(y\_{p\_i} \triangleq C t\_i\\) indicates how much the \\(i\\)'th mode is observed in the outputs.
##### State Controllability {#state-controllability}
Let \\(\lambda\_i\\) be the \\(i^{\text{th}}\\) eigenvalue of \\(A\\), \\(q\_i\\) the corresponding left eigenvector (\\(q\_i^H A = \lambda\_i q\_i^H\\)), and \\(u\_{p\_i} = B^H q\_i\\) the \\(i^{\text{th}}\\) input pole vector. Then the system \\((A, B)\\) is state controllable if and only if
That is if and only if all its input pole vectors are nonzero.
##### State Observability {#state-observability}
Let \\(\lambda\_i\\) be the \\(i^{\text{th}}\\) eigenvalue of \\(A\\), \\(t\_i\\) the corresponding right eigenvector (\\(A t\_i = \lambda\_i t\_i\\)), and \\(y\_{p\_i} = C t\_i\\) the \\(i^{\text{th}}\\) output pole vector. Then the system \\((A, C)\\) is state observable if and only if
That is if and only if all its output pole vectors are nonzero.
##### Minimal realization {#minimal-realization}
A state space realization \\((A, B, C, D)\\) of \\(G(s)\\) is said to be a minimal realization of \\(G(s)\\) if \\(A\\) has the smallest possible dimension. The smallest dimension is called the **McMillan degree** of \\(G(s)\\). A mode is hidden if it is not state controllable or observable and thus does not appear in the minimal realization.
It follows that a state-space realization is minimal if and only if \\((A, B)\\) is state controllable and \\((A, C)\\) is state observable.
A system is (internally) stable is none of its components contain hidden unstable modes and the injection of bounded external signals at any place in the system result in bounded output signals measured anywhere in the system.
A linear dynamic system is **stable if and only if all the poles are in the LHP**, that is, \\(\text{Re}\\{\lambda\_i(A)\\} <0, \foralli\\)
#### Poles from Transfer Functions {#poles-from-transfer-functions}
The pole polynomial \\(\phi(s)\\) corresponding to a minimal realization of a system with transfer function \\(G(s)\\) is the **least common denominator** of all non-identically-zero minors of all orders of \\(G(s)\\).
The poles are essentially the sum of the poles in the elements of the transfer function, but to get the correct multiplicity a more careful analysis is needed.
#### Pole Vectors and Directions {#pole-vectors-and-directions}
In multivariable system poles have **directions** associated with them. To quantify this, we use the **input and output pole vectors**.
With \\(t\_i\\) the right eigenvector of \\(A\\) (\\(A t\_i = \lambda\_i t\_i\\)).
The output pole direction is \\(\frac{1}{\normtwo{y\_{p\_i}}} y\_{p\_i}\\)
</div>
The pole directions may be defined in terms of the transfer function matrix by evaluating \\(G(s)\\) at the pole \\(p\_i\\) and considering the directions of the resulting complex matrix \\(G(p\_i)\\). The matrix is infinite in the direction of the pole, and we may write
where \\(u\_{p\_i}\\) is the input pole direction and \\(y\_{p\_i}\\) is the output pole direction.
The pole directions may in principle be obtained from an SVD of \\(G(p\_i) = U\Sigma V^H\\).
Then \\(u\_{p\_i}\\) is the first column in \\(V\\) (corresponding to the maximum singular value) and \\(y\_{p\_i}\\) the first column in \\(U\\).
The pole direction is usually very interesting because it gives information about which output (or combination of outputs) may be difficult to control.
### Zeros {#zeros}
Zeros of a system arise when competing effects, internal to the system, are such that the output is zero even when the inputs (and the states) are not themselves identically zero.
The zeros are then the values \\(s=z\\) for which the polynomial system matrix, \\(P(s)\\), loses rank, resulting in zero output for some non-zero input.
#### Zeros from Transfer Functions {#zeros-from-transfer-functions}
The zero polynomial \\(z(s)\\), corresponding to a minimal realization of the system, is the greatest divisor of all the numerator of all order-\\(r\\) minors of \\(G(s)\\), where \\(r\\) is the normal rank of \\(G(s)\\), provided that these minors have been adjusted in such a way as to have the pole polynomial \\(\phi(s)\\) as their denominator.
The zeros are values of \\(s\\) for which \\(G(s)\\) looses rank. In general, there is no relationship between the elements of the transfer function and its (multivariable) zeros.
#### Zero Directions {#zero-directions}
Let \\(G(s)\\) have a zero at \\(s=z\\). Then \\(G(s)\\) loses rank at \\(s=z\\), and there will exist non-zero vectors \\(u\_z\\) and \\(y\_z\\) such that
Here \\(u\_z\\) is defined as the **input zero direction** and \\(y\_z\\) is defined as the **output zero direction**.
From a practical point of view, \\(y\_z\\) is usually of more interest than \\(u\_z\\) because it give information about **which combination of outputs may be difficult to control**.
Again, we may obtain input and output zero directions from an SVD of \\(G(s)\\): \\(u\_z\\) is the last column of \\(U\\) and \\(y\_z\\) is the last column of \\(V\\) (corresponding to the zero singular value of \\(G(z)\\)).
### Some Remarks on Poles and Zeros {#some-remarks-on-poles-and-zeros}
- We should always find a **minimal realization** of the system **before computing the zeros**.
- For a square system \\(G(s)\\), the poles and zeros are _essentially_ the poles and zeros of \\(\det G(s)\\).
- Poles and zeros can occurs at the same location, but their directions may be different so they do not cancel or otherwise interact with each other.
- If \\(G^{-1}(s)\\) exists, then the poles of \\(G(s)\\) are the zeros of \\(G^{-1}(s)\\) and vice versa (as for SISO systems).
- Zeros usually appear when there are fewer inputs or outputs than states or when \\(D \neq 0\\)
-**Moving poles and zeros**:
-**Feedback**: \\(G(I+GK)^{-1}\\). Poles (of \\(G\\)) are moved and zeros (of \\(G\\)) are unchanged (in addition we get as zeros the poles of \\(K\\))
-**Series**: \\(GK\\). Poles and zeros are unchanged (with the exception of possible cancellations between poles and zeros in \\(G\\) and \\(K\\))
-**Parallel**: \\(G+K\\). Poles are unchanged, zeros are moved (but note that physically a parallel interconnection requires an additional manipulated input)
-**Pinned zeros**. A zero is pinned to a subset of the outputs if \\(y\_z\\) has one or more elements equal to zero. Their effect cannot be moved freely to any output. Similarly, a zero is pinned to certain input if \\(u\_z\\) has one or more elements equal to zero.
Consider a SISO negative feedback system with plant \\(G(s)=\frac{z(s)}{\phi(s)}\\) and a constant gain controller, \\(K(s)=k\\). The closed-loop response from reference \\(r\\) to output \\(y\\) is
Assume that the components \\(G\\) and \\(K\\) contain no unstable hidden modes. Then the feedback system in Fig. [9](#orgde8788d) is **internally stable** if and only if all four closed-loop transfer matrices are stable.
Assume there are no RHP pole-zero cancellations between \\(G(s)\\) and \\(K(s)\\), the feedback system in Fig. [9](#orgde8788d) is internally stable if and only if **one** of the four closed-loop transfer function matrices is stable.
where the parameter \\(Q\\) is any stable transfer function matrix.
</div>
This may have significant advantages in controller synthesis where the objective is to a find a \\(K\\) which minimizes some norm of \\(N(K)\\).
The search over stabilizing \\(K\\) (which involves checking the stability of closed-loop transfer functions) is replaced by a search over stable \\(Q\\).
The closed-loop transfer functions turn out to be affine in \\(Q\\), e.g. \\(S\\) or \\(T\\) can be written \\(H1 + H2 Q H3\\), which may significantly simplify the optimization (e.g. compared to \\(GK(I+GK)^{-1}\\) which is fractional in \\(K\\)).
### Stability Analysis in the Frequency Domain {#stability-analysis-in-the-frequency-domain}
Let \\(P\_{ol}\\) denote the number of unstable poles in \\(L(s) = G(s)K(s)\\). The closed-loop system with loop transfer \\(L(s)\\) and negative feedback is stable if and only if the Nyquist plot of \\(\det(I+L(s))\\):
1. makes \\(P\_{ol}\\) anti-clockwise encirclements of the origin
Where \\(\norm{L}\\) denotes any matrix norm that satisfies the multiplicative property \\(\norm{AB} \leq \norm{A}\cdot\norm{B}\\)
</div>
The Small gain theorem for SISO system says that the system is stable if \\(\abs{L(j\w)} <1\\)atallfrequencies \\(\w\\).Thisisclearlya**very conservative condition**asnophaseinformationistakenintoaccount.
This may be understood as follows: the signals which "return" in the same direction after "one turn around the loop" are magnified by the eigenvalues \\(\lambda\_i\\) (and the directions are the eigenvectors \\(x\_i\\)):
So if all the eigenvalues \\(\lambda\_i\\) are less than 1 in magnitude, all signals become smaller after each round, and the closed-loop system is stable.
The \\(\htwo\\) norm can have a stochastic interpretation where we measure the **expected root mean square value of the output in response to white noise excitation**.
- is has an interpretation as an induced norm in terms of the expected values of stochastic signals
#### Difference Between the \\(\htwo\\) and \\(\hinf\\) norms {#difference-between-the--htwo--and--hinf--norms}
Minimizing the \\(\hinf\\) norm corresponds to minimizing the peak of the largest singular value, whereas minimizing the \\(\htwo\\) norm corresponds to minimizing the sum of the square of all the singular values over all frequencies.
The \\(\hinf\\) norm is **convenient for representing unstructured model uncertainty** and because if satisfies the multiplicative property \\(\hnorm{A(s)B(s)} \leq \hnorm{A(s)} \cdot \hnorm{B(s)}\\)
It follows that the \\(\hinf\\) norm is an **induced norm**.
</div>
The \\(\htwo\\) norm on the other hand is not and induced norm and does not satisfies the multiplicative property.
This implies that we cannot, by evaluating the \\(\htwo\\) norm of the individual components say anything about how their series interconnection will behave.
#### Hankel norm {#hankel-norm}
The Hankel norm of a stable system \\(G(s)\\) is obtained when one applies an input \\(w(t)\\) up to \\(t=0\\) and measures the output \\(z(t)\\) for \\(t>0\\), and selects \\(w(t)\\) to maximize the ratio of the 2-norms:
The Hankel norm is a kind of induced norm from past inputs to future outputs.
It may be shown that the Hankel norm is equal to \\(\left\\|G(s)\right\\|\_H = \sqrt{\rho(PQ)}\\) where \\(\rho\\) is the spectral radius, \\(P\\) is the controllability Gramian and \\(Q\\) the observability Gramian.
## Limitations on Performance in SISO Systems {#limitations-on-performance-in-siso-systems}
The **input-output controllability** is the **ability to achieve acceptable control performance**; that is, to keep the outputs (\\(y\\)) within specified bounds from their references (\\(r\\)), in spite of unknown but bounded variations, such as disturbances (\\(d\\)) and plant changes, using available inputs (\\(u\\)) and available measurements (\\(y\_m\\)).
A plant is controllable if there **exists** a controller that yields acceptable performance for all expected plant variation. Thus, **controllability is independent of the controller and is a property of the plant alone**.
It may be affected by changing the plant itself:
- changing the mechanical design
- relocating sensors and actuators
- adding new equipment to dampen disturbances
- adding extra sensor or actuators
- changing the configuration of the lower layers of control already in place
Input-output controllability analysis is applied to a plant to find out **what control performance can be expected**.
It is also called **performance targeting**.
</div>
If the system has been **scaled**, the requirement for acceptable performance is:
For any disturbance \\(\abs{d} \leq 1\\) and any reference \\(\abs{r} \leq R\\), the **performance requirement** is to keep the control error \\(\abs{e} \leq 1\\) using an input \\(\abs{u} \leq 1\\).
### Perfect Control and Plant Inversion {#perfect-control-and-plant-inversion}
To obtain insight into the inherent limitations on performance, let's consider the **input needed to achieve perfect control**.
Let the plant model be: \\(y = G u + G\_d d\\)
Since we want perfect control, \\(y = r\\) and we have \\(u = G^{-1} r - G^{-1} G\_d d\\) that represents a perfect feedforward controller.
For a feedback control, \\(u = K(r - y)\\), and we have \\(u = KS r - KSG\_d d\\) that we can rewrite \\(u = G^{-1}Tr - G^{-1}TG\_d d\\).
We see that at frequency where feedback is effective (\\(T \approx I\\)), the input generated by feedback is the same as the perfect control input. That is, **high gain feedback generates an inverse of \\(G\\)**.
Perfect control requires the controller to somehow generate an inverse of \\(G\\). Perfect control cannot be achieved if:
- \\(G\\) contains RHP-zeros (since then \\(G^{-1}\\) is unstable)
- \\(G\\) contains time delay (since then \\(G^{-1}\\) contains non-causal prediction)
- \\(G\\) has more pole than zero (since then \\(G^{-1}\\) is unrealizable)
The required input must not exceed maximum physically allowed value (\\(\abs{u} \leq 1\\)), therefore perfect control cannot be achieve if:
- \\(\abs{G^{-1} G\_d}\\) is large (\\(\geq 1\\))
- \\(\abs{G^{-1} R}\\) is large (\\(\geq 1\\))
### Constrain of \\(S\\) and \\(T\\) {#constrain-of--s--and--t}
#### \\(S\\) Plus \\(T\\) is One {#s--plus--t--is-one}
Ideally, we want \\(S\\) small to obtain small control error for commands and disturbances, and \\(T\\) small to avoid sensitivity to noise. There requirements are not simultaneously possible at any frequency.
#### The Waterbed Effects {#the-waterbed-effects}
In general, a trade-off between sensitivity reduction and sensitivity increase must be performed whenever:
1. \\(L(s)\\) has at least two more poles than zeros (first waterbed formula)
2. \\(L(s)\\) has a RHP-zero (second waterbed formula)
The area of sensitivity reduction (\\(\ln\abs{S}\\) negative) must equal the area of sensitivity increase (\\(\ln\abs{S}\\) positive): **the benefits and costs of feedback are balanced**.
For **unstable plant**, the presence of unstable poles usually increase the peak of \\(\abs{S}\\) as seen from the contribution \\(\pi \sum\_{i=1}^{N\_p} \text{Re}(p\_i)\\). This is the price to pay for stabilizing the system.
From the first waterbed formula, we expect that an increase in the bandwidth must come at the expense of a large peak in \\(\abs{S}\\).
Although this is true in most practical cases, however this is not strictly implied by the formula.
This is because the increase in area may happen over an infinite frequency range.
Suppose that \\(L(s)\\) has a single real **RHP-zero** \\(z\\) or a complex conjugate pair of zero \\(z=x\pm jy\\), and has \\(N\_p\\) RHP-poles \\(p\_i\\).
For closed-loop stability, the sensitivity function must satisfy
Suppose \\(f(s)\\) is stable, then the maximum value of \\(\abs{f(s)}\\) for \\(s\\) in the RHP is attained on the region's boundary (somewhere along the \\(j\w\\)-axis):
This shows that **large peaks** for \\(\abs{S}\\) and \\(\abs{T}\\) are unavoidable if we have a **RHP-zero and RHP-pole located close to each other**.
### Limitation Imposed by Time Delays {#limitation-imposed-by-time-delays}
Consider a plant \\(G(s)\\) that contains a time delay \\(e^{-\theta s}\\). Even the "ideal" controller cannot remove this delay and the "ideal" sensitivity function is \\(S = 1 - T = 1 - e^{-\theta s}\\).
### Limitation Imposed by RHP-Zeros {#limitation-imposed-by-rhp-zeros}
RHP-zeros typically appear when we have **competing effects of slow and fast dynamics**. Their presence induces many limitations.
#### Inverse Response {#inverse-response}
We can show that the output of a step change in the input of a stable plant with \\(n\_z\\) real RHP-zeros will cross zero \\(n\_z\\) times, that is, we have **inverse response**.
#### High Gain Instability {#high-gain-instability}
It is well known that the closed-loop poles migrate from the open-loop poles to the open-loop zeros as the feedback gain increases. Thus **the presence of RHP-zeros implies high-gain instability**.
#### Bandwidth Limitation {#bandwidth-limitation}
To derive bounds for the bandwidth, we select performance weight \\(w\_P(s)\\) and we then use the interpolation constraint \\(S(z) = 1\\).
We require \\(\abs{S(j\w)} <1/\abs{w\_P(j\w)} \quad \forall \w\\),sowemustatleastrequirethattheweightsatisfies \\(\abs{w\_P(z)}<1\\).
##### Performance at low frequencies {#performance-at-low-frequencies}
If we specify performance at low frequencies, we may use the following weight:
For example, with \\(M=2\\) the requirement is \\(\w\_B^\* > 2z\\), so we can only achieve tight control at frequencies beyond the frequency of the RHP-zero.
where \\(G\_s\\) is the "stable version" of \\(G\\) with its RHP-poles mirrored into the LHP.
Since \\(u = -KS(G\_d d + n)\\) and because of the previous inequality, the presence of disturbances \\(d\\) and measurement noise \\(n\\) may require the input \\(u\\) to saturate.
When the inputs saturate, the system is practically open-loop and the **stabilization is not possible**.
For a real RHP-pole \\(p\\) we must require that the closed-loop bandwidth is larger than \\(2p\\).
The presence of **RHP-poles generally imposes a lower bound on the bandwidth**.
</div>
### Combined Unstable (RHP) Poles and Zeros {#combined-unstable--rhp--poles-and-zeros}
A strictly proper plant with a single real RHP-zero \\(z\\) and a single real RHP-pole \\(p\\) can be stabilized by a stable proper controller if and only if \\(z>p\\). In words "the system may go unstable before we have time to react".
In order to achieve acceptable performance and robustness, we must approximately require \\(z>4p\\). That is, we want to RHP-pole to be much lower than the RHP-zero.
The presence of RHP-zeros (or time delays) make stabilization more difficult.
### Performance Requirements Imposed by Disturbances and Commands {#performance-requirements-imposed-by-disturbances-and-commands}
where \\(\w\_d\\) is defined by \\(\abs{G\_d(j\w\_d)} = 1\\).
</div>
The actual bandwidth requirement imposed by disturbances may be higher than \\(\w\_d\\) if \\(\abs{G\_d(j\w)}\\) drops with a slope steeper than \\(-1\\) just before the frequency \\(\w\_d\\). This is because we cannot let the slope of \\(\abs{L(j\w)}\\) around the crossover be much larger than \\(-1\\) due to stability margins. It is however possible to overcome this issue using local feedback loops in series.
##### Command tracking {#command-tracking}
Assume than \\(d=0\\) and \\(r(t) = R\sin(\w t)\\). For acceptable control (\\(\abs{e} <1\\))wemusthave
With simple controllers such as a proportional controller or a PI-controller, the phase lag does pose a fundamental limitation on the achievable bandwidth because of stability bounds:
However, if the model is exactly known and there are no RHP-zeros or time delays, one may extend \\(\w\_c\\) to infinite frequency by placing zeros in the controller at the plant poles.
### Limitation Imposed by Uncertainty {#limitation-imposed-by-uncertainty}
##### Uncertainty with feedforward control {#uncertainty-with-feedforward-control}
Perfect control is obtained using a controller which generates the control input
e' = y' - r = \underbrace{\left( \frac{G'}{G} - 1 \right)}\_{\text{rel. error in }G} r - \underbrace{\left( \frac{G'/G\_d'}{G/G\_d} - 1 \right)}\_{\text{rel. error in } G/G\_d} G\_d' d
For feedforward control, **the model error propagates directly to the control error**.
If we want acceptable control (\\(\abs{e'}<1\\)),wemustrequirethatthemodelerrorin \\(G/G\_d\\)islessthan \\(1/\abs{G\_d'}\\).Thisisverydifficulttosatisfyatfrequencieswhere \\(\abs{G\_d'}\\)ismuchlargerthan1.
The presence of uncertainty then requires us to use feedback control rather than just feedforward control.
##### Uncertainty with feedback control {#uncertainty-with-feedback-control}
With feedback control, the closed-loop response is \\(e = y - r = S G\_d d - S r\\).
With model error, we get \\(y' - r = S'(G\_d'd - r)\\) where \\(S' = (I + G'K)^{-1}\\).
\\(S'\\) can be rewritten as \\(S' = S \frac{1}{1+ET}\\) with \\(E = \frac{G'-G}{G}\\) the relative error for \\(G\\).
We see that the **control error in only weakly affected by model error at frequencies where feedback is effective** (\\(T \approx 1\\)).
1.**Speed of response to reject disturbances**. We approximately require \\(\w\_c > \w\_d\\). With feedback control we require \\(\abs{S(j\w)} \leq \abs{1/G\_d(j\w)} \quad \forall\w\\).
2.**Speed of response to track reference changes**. We require \\(\abs{S(j\w)} \leq 1/R\\) up to the frequency \\(\w\_r\\) where tracking is required.
3.**Input constraints arising from disturbances**. For acceptable control we require \\(\abs{G(j\w)} > \abs{G\_d(j\w)} - 1\\) at frequencies where \\(\abs{G\_d(j\w)} > 1\\).
4.**Input constraints arising from setpoints**. We require \\(\abs{G(j\w)} > R - 1\\) up to the frequency \\(\w\_r\\) where tracking is required.
5.**Time delay \\(\theta\\) in \\(G(s)G\_m(s)\\)**. We approximately require \\(\w\_c <1/\theta\\).
6.**Tight control at low frequencies with a RHP-zero \\(z\\) in \\(G(s)G\_m(s)\\)**. For a real RHP-zero we require \\(\w\_c <z/2\\)andforanimaginaryRHP-zeroweapproximatelyrequire \\(\w\_c< \abs{z}\\).
7.**Phase lag constraint**. We require in most practical cases \\(\w\_c < \w\_u\\).Heretheultimatefrequency \\(\w\_u\\)iswhere \\(\angleGG\_m(j\w\_u)= \SI{-180}{\degree}\\).SincetimedelaysandRHP-zerosalsocontributetothephaselag,itispossibletocombinethecorrespondingrulesinthesinglerule \\(\w\_c< \w\_u\\).
8.**Real open-loop unstable pole in \\(G(s)\\) at \\(s=p\\)**. We need high feedback gains to stabilize the system and we approximately require \\(\w\_c > 2p\\).
</div>
In summary:
- rules 1, 2 and 8 tell us that we need high feedback gain in order to reject disturbances, to track setpoints and to stabilize the plant.
- rules 5, 6 and 7 tell us we must use low feedback gains in the frequency range where there are RHP-zeros or delays or where the plant has a lot of phase lag.
Sometimes, the disturbances are so large that we hit input saturation or the required bandwidth is not achievable. To avoid the latter problem, we must at least require that the effect of the disturbance is less than \\(1\\) at frequencies beyond the bandwidth:
{{<figuresrc="/ox-hugo/skogestad07_margin_requirements.png"caption="Figure 11: Illustration of controllability requirements">}}
##### Controllability analysis with feedforward control {#controllability-analysis-with-feedforward-control}
We find that essentially the same conclusions apply to feedforward control when relevant.
A major difference is that a delay in \\(G\_d(s)\\) is an advantage for feedforward control ("it gives the feedforward controller more time to make the right action").
### Conclusion {#conclusion}
The controllability analysis is summarized in terms of **eight controllability rules**.
These rules are **necessary conditions to achieve acceptable control performance**.
They are not sufficient since among other things they only consider one effect at a time.
The rules may be used to **determine whether or not a given plant is controllable**.
## Limitations on Performance in MIMO Systems {#limitations-on-performance-in-mimo-systems}
In a MIMO system, disturbances, the plant, RHP zeros, RHP poles, delays and disturbances have each **directions** associated with them.
We quantify the directionality of the various effects in \\(G\\) and \\(G\_d\\) by their output directions:
- \\(y\_z\\): output dir. of RHP-zero, \\(G(z) u\_z = 0 \cdot y\_z\\)
- \\(y\_p\\): output dir. of RHP-pole, \\(G(p\_i) u\_p = \infty \cdot y\_p\\)
- \\(y\_d\\): output dir. of disturbance, \\(y\_d(s) = \frac{1}{\normtwo{g\_d(s)}} g\_d(s)\\)
- \\(u\_i\\): i'th output dir. (singular vector) of the plant, \\(G(s) v\_i(s) = \sigma\_i(s) u\_i(s)\\)
We may also consider input directions, however we are primarily concerned with the performance at the output of the plant.
The **angle between various output directions** is quantified using their inner products.
For example, the output angle between a pole and a zero is \\(\phi = \cos^{-1} \abs{y\_z^H y\_p}\\), and:
- if \\(\phi = \SI{90}{\degree}\\), then the pole and zero are in completely different directions and there is no interaction (they may be considered separately)
- if \\(\phi = \SI{0}{\degree}\\), then they interact as in a SISO system
### Constraints on \\(S\\) and \\(T\\) {#constraints-on--s--and--t}
#### \\(S\\) plus \\(T\\) is the Identity Matrix {#s--plus--t--is-the-identity-matrix}
If \\(G(s)\\) has a RHP-zero at \\(z\\) with output direction \\(y\_z\\), \\(T(s)\\) must have a RHP-zero at \\(z\\), i.e., \\(T(z)\\) has a zero gain in the direction of output direction \\(y\_z\\) of the zero, and we get
If \\(G(s)\\) has a RHP-pole at \\(p\\) with output direction \\(y\_p\\), \\(S(s)\\) must have a RHP-zero at \\(p\\), i.e. \\(S(p)\\) has a zero gain in the input direction of the output direction \\(y\_p\\) of the RHP-pole, and we get
where \\(G\_s\\) is the stable and \\(G\_m\\) the minimum-phase version of \\(G\\).
\\(B\_p\\) and \\(B\_z\\) are stable all-pass transfer matrices (all singular values are 1 for \\(s=j\w\\)) containing the RHP-poles and RHP-zeros respectively.<br/>
##### MIMO sensitivity peaks {#mimo-sensitivity-peaks}
Suppose that \\(G(s)\\) has \\(N\_z\\) RHP-zeros \\(z\_j\\) with output directions \\(y\_{zj}\\), and \\(N\_p\\) RHP-poles \\(p\_i\\) with output direction \\(y\_{pi}\\).
We define the all-pass transfer matrices from the Blaschke factorization and compute the real constants:
Let \\(w\_T(s)\\) be a stable weight. Then, for closed-loop stability the weighted complementary sensitivity function must satisfy for each RPH-pole \\(p\_i\\)
An m-input l-output system \\(G(s)\\) is **functionally controllable** is the normal rank of \\(G(s)\\), denoted \\(r\\), is equal to the number of outputs (\\(r = l\\)), that is, if \\(G(s)\\) has full row rank.
A system is functionally uncontrollable if \\(r<l\\).
</div>
A square MIMO system is uncontrollable if and only if \\(\det{G(s)} = 0,\ \forall s\\).
A plant is functionally uncontrollable if and only if \\(\sigma\_l(G(j\omega)) = 0,\ \forall\w\\).
\\(\sigma\_l(G(j\w))\\) is then a **measure of how close a plant is to being functionally uncontrollable**.
By analyzing the uncontrollable output directions, an engineer can decide on whether it is acceptable to keep certain output combinations uncontrolled, or if additional actuators are needed.
### Limitation Imposed by Time Delays {#limitation-imposed-by-time-delays}
Time delays pose limitation also in MIMO systems. Let \\(\theta\_{ij}\\) denote the time delay in the \\(ij\\)'th element of \\(G(s)\\). Then a **lower bound on the time delay for output** \\(i\\) is given by the smallest delay in row \\(i\\) of \\(G(s)\\), that is
For MIMO systems, we have the surprising result that an increase time delay may sometimes improve the achievable performance. The time delay may indeed increase the decoupling between the outputs.
### Limitations Imposed by RHP-Zeros {#limitations-imposed-by-rhp-zeros}
The limitations imposed by RHP-zeros on MIMO systems are similar to those for SISO system, although they only apply in particular directions.
The limitations of a RHP-zero located at \\(z\\) may be derived from the bound:
All the results derived for SISO systems generalize if we consider the "worst" direction corresponding to the maximum singular value \\(\maxsv(S)\\).
For instance, if we choose \\(w\_P(s)\\) to require tight control at low frequencies, the bandwidth must satisfy \\(w\_B^\* <z/2\\).<br/>
In MIMO systems, one can often **move the deteriorating effect of a RHP-zero to a given output** which may be less important to control well.
This is possible because, although the interpolation constraint \\(y\_z^H T(z) = 0\\) imposes a certain relationship between the elements within each column of \\(T(s)\\), the columns of \\(T(s)\\) may still be selected independently.<br/>
Requiring a decoupled response from \\(r\\) to \\(y\\) generally leads to the introduction of additional RHP-zero in \\(T(s)\\) which are not present in \\(G(s)\\).
Moving the effect of the RHP-zero to a particular output generally add some interaction. Also, moving to RHP-zero in a direction where \\(y\_z\\) is small usually introduces more interaction than in a direction where \\(y\_z\\) is large.
For example, if we have a RHP-zero with \\(y\_z = [0.03,\ -0.04,\ 0.9,\ 0.43]^T\\), then one may in theory move the bad effect of the RHP-zero to any of the outputs. However, in practice, it will be difficult to avoid the effect of the RHP-zero on output 3, because the zero direction is mainly in that output. Trying to move it somewhere else will give large interactions and poor performance.
### Limitation Imposed by Unstable (RHP) Poles {#limitation-imposed-by-unstable--rhp--poles}
For unstable plants, feedback is needed for stabilization. More precisely, the presence of an unstable pole \\(p\\) requires for internal stability \\(T(p) y\_p = y\_p\\) where \\(y\_p\\) is the output pole direction.
From the bound \\(\hnorm{w\_T(s) T(s)} \ge \abs{w\_T(p)}\\), we find that a RHP-pole \\(p\\) imposes restrictions on \\(\maxsv(T)\\) which are identical to those derived on \\(\abs{T}\\) for SISO systems.
Thus, we need to react sufficiently fast and we must require that \\(\maxsv(T(j\w))\\) is about 1 or larger up to the frequency \\(2 \abs{p}\\).
</div>
### RHP-poles Combined with RHP-Zeros {#rhp-poles-combined-with-rhp-zeros}
For a MIMO plant with single RHP-zero \\(z\\) and single RHP-pole \\(p\\), we derive
where \\(\phi = cos^{-1} \abs{y\_z^H y\_p}\\) is the angle between the RHP-zero and the RHP-pole.
Thus the angle between the RHP-zero and the RHP-pole is of great importance, we usually want \\(\abs{y\_z^H y\_p}\\) close to zero so that they don't interact with each other.
### Limitations Imposed by Disturbances {#limitations-imposed-by-disturbances}
For SISO systems, we found that large and "fast" disturbances require tight control and a large bandwidth.
The same results apply for MIMO systems, but again the issue of **directions** is important.
The disturbance condition number provides a **measure of how a disturbance is aligned with the plant**. It may vary between 1 (for \\(y\_d = \overline{u}\\)) if the disturbance is in the "good" direction, and the condition number \\(\gamma(G) = \maxsv(G) \maxsv(G^\dagger)\\) (for \\(y\_d = \underline{u}\\)) if it is in the "bad" direction.<br/>
If \\(G(s)\\) has a **RHP-zero** at \\(s = z\\), then the **performance may be poor if the disturbance is aligned with the output direction of this zero**.
where \\(y\_z\\) is the direction of the RHP-zero.
### Limitations Imposed by Input Constraints {#limitations-imposed-by-input-constraints}
#### Inputs for Perfect Control {#inputs-for-perfect-control}
We here consider the question: can the disturbances be rejected perfectly while maintaining \\(\\|u\\|<1\\)?<br/>
For a square plant, the input needed for perfect disturbance rejection is \\(u = -G^{-1} G\_d d\\).
For a single disturbance, as the worst-cast disturbance is \\(\abs{d(\w)} = 1\\), we get that input saturation is avoided (\\(\\|u\\|\_{\text{max}} \le 1\\)) if all elements in the vector \\(G^{-1} g\_d\\) are less than 1 in magnitude:
It is first recommended to **consider one disturbance at a time** by plotting as a function of frequency the individual elements of \\(G^{-1} G\_d\\). This will yields more information about which particular input is most likely to saturate and which disturbance is the most problematic.
#### Inputs for Acceptable Control {#inputs-for-acceptable-control}
We here consider the question: is it possible to achieve \\(\\|e\\|<1\\)whileusinginputswith \\(\\|u\\| \le1\\)?
For SISO systems, we have to required \\(\abs{G} > \abs{g\_d} - 1\\) at frequencies where \\(\abs{g\_d} > 1\\).
We would like to generalize this result to MIMO systems.
with \\(u\_i\\) the \\(i\\)'th output singular vector of \\(G\\).
\\(u\_i^H g\_d\\) may be interpreted as the projection of \\(g\_d\\) onto the \\(i\\)'th output singular vector of the plant.
</div>
Using the previous approximation, we can find out:
- For which disturbances and at which frequencies input constraints may cause problems. This may give ideas on **which disturbances should be reduced**.
- In which direction \\(i\\) the plant gain is too small. By looking at the corresponding input singular vector \\(v\_i\\), one can determine **which actuators should be redesigned**. By looking at the corresponding output singular vector \\(u\_i\\), one can determine on which outputs we may have to reduce our performance requirements.
For combined disturbances, one requires the \\(i\\)'th row sum of \\(U^H G\_d\\) to be less than \\(\sigma\_i(G)\\). However, we usually derive more insight by considering one disturbance at a time.
#### Unstable Plant and Input Constraints {#unstable-plant-and-input-constraints}
Active use of inputs are needed to stabilize an unstable plant.
We must require \\(\hnorm{KS} \ge \normtwo{u\_p^H G\_s(p)^{-1}}\\).
If the required inputs exceed the constraints, then stabilization is most likely not possible.
### Limitation Imposed by Uncertainty {#limitation-imposed-by-uncertainty}
The presence of **uncertainty requires the use of feedback** rather than simply feedforward control to get acceptable performance.
Sensitivity reduction with respect to uncertainty is achieved with high-gain feedback, but for any real system, we have a crossover frequency range where the loop gain has to drop below 1. The presence of uncertainty in this frequency range may result in poor performance or even instability.
The issues are the same for SISO and MIMO systems, however, with MIMO systems there is an additional problem in that there is also **uncertainty associated with the plant directionality**.
#### Input and Output Uncertainty {#input-and-output-uncertainty}
In practice, the difference between the true perturbed plant \\(G^\prime\\) and the plant model \\(G\\) is caused by a number of different sources.
{{<figuresrc="/ox-hugo/skogestad07_input_output_uncertainty.png"caption="Figure 12: Plant with multiplicative input and output uncertainty">}}
Input and output uncertainty may seem similar, but their **implications for control may be very different**.<br/>
If all the elements of \\(E\_O\\) and \\(E\_I\\) are non-zero, then we have **full block (unstructured) uncertainty**.
In many cases, the source of uncertainty is in the individual input or output channels, and we have that \\(E\_I\\) and \\(E\_O\\) are **diagonal matrices**. For example \\(E\_I = \text{diag}\\{\epsilon\_1, \epsilon\_2, \dots\\}\\) where \\(\epsilon\_i\\) is the **relative uncertainty in input channel** \\(i\\).
Diagonal input uncertainty is **always** present in real systems and the magnitude of \\(\epsilon\_i\\) is typically \\(0.1\\) or larger.
#### Effect of Uncertainty on Feedforward Control {#effect-of-uncertainty-on-feedforward-control}
Consider a feedforward controller \\(u = K\_r r\\) for the case with no disturbance (\\(d = 0\\)). We assume that \\(G\\) is inversible and we select \\(K\_r = G^{-1}\\) to achieve perfect control (\\(e = 0\\)).
However, for the actual plant \\(G^\prime\\) (with uncertainty), the actual control error \\(e^\prime = y^\prime - r = G^\prime G^{-1} r - r\\) is not null and we get:
- For output uncertainty: \\(e^\prime = E\_O r\\)
- For input uncertainty: \\(e^\prime = G E\_I G^{-1} r\\)
For output uncertainty, we have an identical result as for SISO systems: the worst case relative control error \\(\normtwo{e^\prime}/\normtwo{r}\\) is equal to the magnitude of the relative output uncertainty \\(\maxsv(E\_O)\\).
However, for input uncertainty, the sensitivity may be much larger because the elements in the matrix \\(G E\_I G^{-1}\\) can be much larger than the elements in \\(E\_I\\).
Since diagonal input uncertainty is always present, we can conclude that **if the plant has large RGA elements within in the frequency range where effect control is desired, then it is not possible to achieve good reference tracking with feedforward control** because of strong sensitivity to diagonal input uncertainty. The reverse statement is not true.
#### Uncertainty and the Benefits of Feedback {#uncertainty-and-the-benefits-of-feedback}
To illustrate the benefits of feedback control in reducing the sensitivity to uncertainty, we consider the effect of output uncertainty on reference tracking both for feedforward and feedback.<br/>
**Feedforward** Let the nominal transfer function with feedforward control be \\(y = T\_r r\\) where \\(T\_r = G K\_r\\) and \\(K\_r = G^{-1}\\).
With model error \\(T\_r^\prime = G^\prime K\_r\\) and the change in response is \\(y^\prime - y = (T\_r^\prime - T\_r) r = (G^\prime - G)G^{-1} T\_r r = E\_O T\_r r\\).
Thus, the control error caused by the uncertainty is equal to the relative output uncertainty.<br/>
**Feedback control** The output is \\(y = T r\\).
The change in response is \\(y^\prime - y = (T^\prime - T)r = S^\prime E\_O T r = S^\prime E\_O y\\).
With feedback control, **the effect of the uncertainty is reduced** by a factor \\(S^\prime\\) compared to that with feedforward control.
#### Uncertainty and the Sensitivity Peak {#uncertainty-and-the-sensitivity-peak}
Consider a controller \\(K(s) = l(s)G^{-1}(s)\\) which results in a nominally decoupled response with sensitivity \\(S = s \cdot I\\) and complementary sensitivity \\(T = t \cdot I\\) where \\(t(s) = 1 - s(s)\\).
Suppose the plant has diagonal input uncertainty of relative magnitude \\(\abs{w\_I(j\w)}\\) in each input channel.
Then there exists a combination of input uncertainties such that at each frequency:
where \\(\\| \Lambda(G) \\|\_{i\infty}\\) is the maximum row sum of the RGA and \\(\maxsv(S) = \abs{s}\\).
We can see that with an inverse based controller, the worst case sensitivity will be much larger than the nominal sensitivity at frequencies where the plant has large RGA elements.
The matrix \\(G\\) becomes singular if we make a relative change \\(-1/\lambda\_{ij}\\) in its \\(ij\\)'th elements, that is, if a single element in \\(G\\) is perturbed from \\(g\_{ij}\\) to \\(g\_{pij} = g\_{ij}(1-\frac{1}{\lambda\_{ij}})\\)
</div>
Thus, the RGA-matrix is a **direct measure of sensitivity to element-by-element uncertainty** and matrices with large RGA-values become singular for small relative errors in the elements.
The above result has important implications:
-**Identification**. Models of multivariable plants \\(G(s)\\) are often obtained by identifying one element at a time, for example using step responses. This simple analysis will most likely give meaningless results if there are large RGA-elements within the bandwidth where the model is intended to be used.
-**RHP-zeros**. Consider a plant with transfer function matrix \\(G(s)\\). If the relative uncertainty in an element at a given frequency is larger than \\(\abs{1/\lambda\_{ij}(j\w)}\\) then the plant may be singular at this frequency, implying that the uncertainty allows for a RHP-zero on the \\(j\w\text{-axis}\\).
### MIMO Input-Output Controllability {#mimo-input-output-controllability}
The following procedure assumes that we have made a decision on the plant inputs and plant outputs, and we want to analyze the model \\(G\\) to find out **what control performance can be expected**.
It can also be used to assist in control structure design.
A typical **MIMO controllability analysis** may proceed as follows:
1.**Scale all variables** (inputs \\(u\\), outputs \\(y\\), disturbances \\(d\\), references \\(r\\)) to obtain a scaled model \\(y = G(s) u + G\_d(s) d\\), \\(r = R \tilde{r}\\)
2.**Obtain a minimal realization**
3.**Check functional controllability**. To be able to control the outputs independently, we first need at least as many inputs \\(u\\) as outputs \\(y\\). Second, we need the rank of \\(G(s)\\) to be equal to the number of outputs \\(l\\), i.e. the minimum singular value \\(G(j\w)\\), \\(\minsv(G) = \sigma\_l(G)\\), should be non-zero (except at possible \\(j\w\text{-axis}\\) zeros). If the plant is not functionally controllable, then compute the output direction where the plant has no gain to have insight into the source of the problem
4.**Compute the poles**. For RHP poles, obtain their locations and associated directions. "Fast" RHP-poles far from the origin are bad
5.**Compute the zeros**. For RHP zeros, obtain their locations and associated directions. Look for zeros pinned into certain outputs. "Small" RHP-zeros (close to the origin) are bad if tight performance is needed at low frequencies
6.**Obtain the frequency response** \\(G(j\w)\\) and **compute the RGA matrix** \\(\Gamma = G \times (G^\dagger)^{-1}\\). Plants with large RGA-elements at crossover frequencies are difficult to control and should be avoided
7.**Compute the singular values** of \\(G(j\w)\\) and **plot them as a function of frequency**. Also consider the associated input and output singular vectors
8. The **minimum singular value** \\(\minsv(G(j\w))\\) is a particularly useful **controllability measure**. It should generally be as large as possible at frequencies where control is needed. If \\(\minsv(G(j\w)) <1\\)thenwecannotatfrequency \\(\w\\)makeindependentoutputchangesofunitmagnitudebyusinginputsofunitmagnitude
9. For **disturbances**, consider the elements of the matrix \\(G\_d\\). At frequencies where one or more elements is larger than 1, we need control. We get more information by considering one disturbance at a time (the columns \\(g\_d\\) of \\(G\_d\\)). We must require for each disturbance that \\(S\\) is less than \\(1/\normtwo{g\_d}\\) in the disturbance direction \\(y\_d\\), i.e. \\(\normtwo{S y\_d} \le 1/\normtwo{g\_d}\\). Thus, we must at least require \\(\minsv(S) \le 1/\normtwo{g\_d}\\) and we may have to require \\(\maxsv(S) \le 1/\normtwo{g\_d}\\)
10.**Disturbances and input saturation**:
-**First step**. Consider the input magnitudes needed for perfect control by computing the elements in the matrix \\(G^\dagger G\_d\\). If all elements are less than 1 at all frequencies, then input saturation is not expected to be a problem. If some elements of \\(G^\dagger G\_d\\) are larger than 1, then perfect control cannot be achieve at this frequency, but "acceptable" control may be possible
-**Second step**. Consider the elements of \\(U^H G\_d\\) and make sure that the elements in the \\(i\\)'th row are smaller than \\(\sigma\_i(G) + 1\\) at all frequencies
11.**Are the requirements compatible?** Look at disturbances, RHP-poles, RHP-zeros and their associated locations and directions. For example, we must required for each disturbance and each RHP-zero that \\(\abs{y\_z^H g\_d(z)} \le 1\\). Similar relations exist for combined RHP-zero and RHP-pole.
12.**Uncertainty**. If the condition number \\(\gamma(G)\\) is small then we expect no particular problems with uncertainty. If the RGA-elements are large, we expect strong sensitivity to uncertainty.
If the plant is not input-output controllable, then it must be modified.
Some possible modifications are:
-**Controlled outputs**. Identify the outputs which cannot be controlled satisfactory. Can the specifications for these be relaxed?
-**Manipulated inputs**. If input constraints are encountered, then consider replacing or moving actuators. If there are RHP-zeros which cause control problems, then the zeros may often be eliminated by adding another input. This may not be possible if the zero is pinned to a particular output
-**Extra measurements**. If the effect of disturbances or uncertainty is large, and the dynamics of the plant are such that acceptable control cannot be achieved, then consider adding "fast local loops" based on extra measurements which are located close to the inputs and disturbances
-**Disturbances**. If the effect of disturbances is too large, then see whether the disturbance itself may be reduced. This may involve adding extra equipment to dampen the disturbances. In other cases, this may involve improving or changing the control of another part of the system: we may have a disturbance which is actually the manipulated input for another part of the system
-**Plant dynamics and time delays**. In most cases, controllability is improved by making the plant dynamics faster and by reducing time delays. An exception to this is a strongly interactive plant, where an increased dynamic lag or time delay may be helpful if it somehow "delays" the effect of the interactions
### Conclusion {#conclusion}
We have found that most of the insights into the performance limitation of SISO systems carry over to MIMO systems.
For RHP-zeros, RHP-poles and disturbances, the issue of directions usually makes the limitation **less severe** for MIMO than for SISO systems.
However, the situation is usually the opposite with model uncertainty because for MIMO systems, there is also uncertainty associated with plant directionality.
## Uncertainty and Robustness for SISO Systems {#uncertainty-and-robustness-for-siso-systems}
### Introduction to Robustness {#introduction-to-robustness}
A control system is robust if it is insensitive to differences between the actual system and the model of the system which was used to design the controller.
The key idea in the \\(\hinf\\) robust control paradigm is to check whether the design specifications are satisfied even for the **"worst-case" uncertainty**.
Our approach is then as follows:
1.**Determine the uncertainty set**. Find a mathematical representation of the model uncertainty
2.**Check Robust Stability (RS)**. Determine whether the system remains stable for all plants in the uncertainty set
3.**Check Robust Performance (RP)**. If RS is satisfied, determine whether the performance specifications are met for all plants in the uncertainty set
This approach may not always achieve optimal performance. In particular, if the worst case plant rarely occurs, other approaches, such as optimizing some average performance or using adaptive control may yield better performance.<br/>
To account for model uncertainty, we will assume that the dynamic behavior of a plant is described not by a single linear time invariant model but by a **set \\(\Pi\\) of possible linear time invariant models**, sometimes denoted the "**uncertainty set**".<br/>
We adopt the following notation:
- \\(\Pi\\) - a set of possible perturbed plant models
We will use a "**norm-bounded uncertainty description**" where the set \\(\Pi\\) is generated by allowing \\(\hinf\\) norm-bounded stable perturbations to the nominal plant \\(G(s)\\).
We let \\(E\\) denote a perturbation which is not normalized, and let \\(\Delta\\) denote a normalized perturbation with its \\(\hinf\\) norm less than 1.
Uncertainty in the plant model may have **several origins**:
1. There are always parameters in the linear model which are only known approximatively
2. Parameters in the model may vary due to **non-linearities** or changes in the operating conditions
3. Measurement devices have imperfections
4. At high frequencies, even the structure and the model order is unknown, and the uncertainty will always exceed \\(\SI{100}{\percent}\\) at some frequency
5. Even when a very detailed model is available, we may choose to work with a simpler nominal model and **represent the neglected dynamics as "uncertainty"**
6. The controller implemented may differ from the one obtained by solving the synthesis problem.
One may include uncertainty to allow for controller order reduction and implementation inaccuracies
The various sources of model uncertainty may be grouped into two main classes:
1.**Parametric uncertainty**. The structure of the model is known, but some parameters are uncertain
2.**Neglected and unmodelled dynamics uncertainty**. The model is in error because of missing dynamics, usually at high frequencies
Parametric uncertainty will be quantified by assuming that **each uncertain parameters is bounded within some region** \\([\alpha\_{\min}, \alpha\_{\text{max}}]\\). That is, we have parameter sets of the form
where \\(\overline{\alpha}\\) is the mean parameter value, \\(r\_\alpha\\) is the relative uncertainty in the parameter, and \\(\Delta\\) is any real scalar satisfying \\(\abs{\Delta} \le 1\\).
Neglected and unmodelled dynamics uncertainty is somewhat less precise and thus more difficult to quantify, but it appears that frequency domain is particularly well suited for this class.
This leads to **complex perturbations** which we normalize such that \\(\hnorm{\Delta} \le 1\\).<br/>
There is also a third class of uncertainty (which is a combination of the other two) called **Lumped uncertainty**.
Here the uncertainty description represents one or several sources of parametric and/or unmodelled dynamics uncertainty combined into a single lumped perturbation of a chosen structure.
The frequency domain is also well suited for describing lumped uncertainty.
By writing \\(k\_p = \overline{k}(1 + r\_k \Delta)\\) where \\(r\_k\\) is the relative magnitude of the gain uncertainty and \\(\overline{k}\\) is the average gain, be may write
As shown in the two examples, one can represent parametric uncertainty in the \\(\hinf\\) framework.
However, **parametric uncertainty is often avoided** for the following reasons:
1. It usually requires a **large effort** to model parametric uncertainty
2. A parametric uncertainty model is somewhat deceiving in the sense that it provides a very detailed and accurate description, even though the underlying assumptions about the model and the parameters may be much less exact
3. The **exact model structure is required** and so unmodelled dynamics cannot be dealt with
4. Real perturbations are required, which are more difficult to deal with mathematically and numerically, especially when it comes to controller synthesis
Therefore, parametric uncertainty is often represented by **complex perturbations**. For example, we may simply replace the real perturbation, \\(-1 \le \Delta \le 1\\) by a complex perturbation with \\(\abs{\Delta(j\w)} \le 1\\).
This is of course conservative as it introduces possible plants that are not present in the original set. However, if there are several real perturbations, then the conservatism if often reduced by lumping these perturbations into a single complex perturbation.
### Representing Uncertainty in the Frequency Domain {#representing-uncertainty-in-the-frequency-domain}
To illustrate how parametric uncertainty translate into frequency domain uncertainty, consider in Fig. [14](#orgd590978) the Nyquist plots generated by the following set of plants
At each frequency, all possible \\(\Delta(j\w)\\) "generates" a disc-shaped region with radius 1 centered at 0, so \\(G(j\w) + w\_A(j\w)\Delta\_A(j\w)\\) generates at each frequency a disc-shapes region of radius \\(\abs{w\_A(j\w)}\\) centered at \\(G(j\w)\\) as shown in Fig. [15](#org446d9c7).
{{<figuresrc="/ox-hugo/skogestad07_uncertainty_disc_generated.png"caption="Figure 15: Disc-shaped uncertainty regions generated by complex additive uncertainty">}}
However, **multiplicative weights are often preferred because their numerical value is more informative**. At frequencies where \\(\abs{w\_I(j\w)} > 1\\) the uncertainty exceeds \\(\SI{100}{\percent}\\) and the Nyquist curve may pass through the origin.
Then, at these frequencies, we do not know the phase of the plant, and we allow for zeros crossing from the left to the right-half plane. **Tight control is then not possible** at frequencies where \\(\abs{w\_I(j\w)} \ge 1\\).
#### Obtaining the Weight for Complex Uncertainty {#obtaining-the-weight-for-complex-uncertainty}
Consider a set \\(\Pi\\) of possible plants resulting, for example, from parametric uncertainty. We now want to describe this set of plants by a single complex perturbation \\(\Delta\_A\\) or \\(\Delta\_I\\).
This complex disc-shaped uncertainty description may be generated as follows:
1. Select a nominal \\(G(s)\\)
2.**Additive uncertainty**.
At each frequency, find the smallest radius \\(l\_A(\w)\\) which includes all the possible plants \\(\Pi\\)
The corresponding relative errors \\(\abs{\frac{G\_p-G}{G}}\\) are shown as functions of frequency for the \\(3^3 = 27\\) resulting \\(G\_p\\) (Fig. [16](#orgc98eb6b)).
{{<figuresrc="/ox-hugo/skogestad07_uncertainty_weight.png"caption="Figure 16: Relative error for 27 combinations of \\(k,\ \tau\\) and \\(\theta\\). Solid and dashed lines: two weights \\(\abs{w\_I}\\)">}}
#### Choice of Nominal Model {#choice-of-nominal-model}
With parametric uncertainty represented as complex perturbations, there are three main options for the choice of nominal model:
1.**A simplified model**, for instance a low order, delay free model.
It usually yields the largest uncertainty region, but the model is simple and this facilitates controller design in later stages.
3.**The central plant obtained from a Nyquist plot**.
It yields the smallest region, but in this case a significant effort may be required to obtain the nominal model which is usually not a rational transfer function.
For SISO systems, we find that for plants with an uncertain time delay, it is simplest and sometimes best to use a delay-free nominal model, and to represent the nominal delay as additional uncertainty.
If we use a parametric uncertainty description, based on multiple real perturbations, then we should always use the mean parameter values in the nominal model.
#### Neglected Dynamics Represented as Uncertainty {#neglected-dynamics-represented-as-uncertainty}
We saw that one advantage of frequency domain uncertainty description is that one can choose to work with a simple nominal model, and **represent neglected dynamics as uncertainty**.
Let \\(f(s) = e^{-\theta\_p s}\\), where \\(0 \le \theta\_p \le \theta\_{\text{max}}\\). We want to represent \\(G\_p(s) = G\_0(s)e^{-\theta\_p s}\\) by a delay-free plant \\(G\_0(s)\\) and multiplicative uncertainty. Let first consider the maximum delay, for which the relative error \\(\abs{1 - e^{-j \w \theta\_{\text{max}}}}\\) is shown as a function of frequency (Fig. [17](#orgb7f2291)). If we consider all \\(\theta \in [0, \theta\_{\text{max}}]\\) then:
Let \\(f(s) = 1/(\tau\_p s + 1)\\), where \\(0 \le \tau\_p \le \tau\_{\text{max}}\\). In this case the resulting \\(l\_I(\w)\\) (Fig. [18](#orgbfc6539)) can be represented by a rational transfer function with \\(\abs{w\_I(j\w)} = l\_I(\w)\\) where
\begin{equation\*}
w\_I(s) = \frac{\tau\_{\text{max}} s}{\tau\_{\text{max}} s + 1}
w\_I(s) = \frac{(1+\frac{r\_k}{2})\theta\_{\text{max}} s + r\_k}{\frac{\theta\_{\text{max}}}{2} s + 1}
\end{equation\*}
However, as shown in Fig. [19](#org06b467d), the weight \\(w\_I\\) is optimistic, especially around frequencies \\(1/\theta\_{\text{max}}\\). To make sure that \\(\abs{w\_I(j\w)} \le l\_I(\w)\\), we can apply a correction factor:
The most important reason for using frequency domain (\\(\hinf\\)) uncertainty description and complex perturbations, is the **incorporation of unmodelled dynamics**.
Unmodelled dynamics, while being close to neglected dynamics, also include unknown dynamics of unknown or even infinite order.
w\_I(s) = \frac{\tau s + r\_0}{(\tau/r\_\infty) s + 1}
\end{equation}
where \\(r\_0\\) is the relative uncertainty at steady-state, \\(1/\tau\\) is the frequency at which the relative uncertainty reaches \\(\SI{100}{\percent}\\), and \\(r\_\infty\\) is the magnitude of the weight at high frequency.
We want to determine the stability of the uncertain feedback system in Fig. [20](#org8ede43d) where there is multiplicative uncertainty of magnitude \\(\abs{w\_I(j\w)}\\).
Consider the Nyquist plot of \\(L\_p\\) as shown in Fig. [21](#orgd4e7f02). \\(\abs{1+L}\\) is the distance from the point \\(-1\\) to the center of the disc representing \\(L\_p\\) and \\(\abs{w\_I L}\\) is the radius of the disc.
We see that we have to make \\(T\\) small at frequencies where the relative uncertainty \\(\abs{w\_I}\\) exceeds 1 in magnitude.
##### Algebraic derivation of RS-condition {#algebraic-derivation-of-rs-condition}
Since \\(L\_p\\) is assumed stable, and the nominal closed-loop is stable, the nominal loop transfer function \\(L(j\w)\\) does not encircle -1. Therefore, since the set of plants is norm-bounded, it then follows that if some \\(L\_{p1}\\) in the uncertainty set encircles -1, then there must be another \\(L\_{p2}\\) in the uncertainty set which goes exactly through -1 at some frequency. Thus
& \Leftrightarrow \abs{1 + L + w\_I L \Delta\_I} > 0,\ \forall \abs{\Delta\_I} \le 1,\,\forall \w\\\\\\
\end{align\*}
At each frequency, the last condition is most easily violated when the complex number \\(\Delta\_I(j\w)\\) is selected with \\(\abs{\Delta(j\w)} = 1\\) and with phase such that \\(1+L\\) and \\(w\_I L \Delta\_I\\) point in the opposite direction. Thus
{{<figuresrc="/ox-hugo/skogestad07_inverse_uncertainty_set.png"caption="Figure 22: Feedback system with inverse multiplicative uncertainty">}}
We assume that \\(L\_p\\) and the nominal closed-loop systems are stable. Robust stability is guaranteed if \\(L\_p(j\w)\\) does not encircles the point -1:
We see that we need tight control and have to make \\(S\\) small at frequencies where the uncertainty is large and \\(w\_{iI}\\) exceeds 1 in magnitude.
</div>
The reason is that the uncertainty represents pole uncertainty, and at frequencies where \\(\abs{w\_{iI}}\\) exceeds 1, we allow for poles crossing from the left to the right-half plant, and we then need feedback (\\(\abs{S} <1\\))inordertostabilizethesystem.
Now \\(\abs{1 + L}\\) represents at each frequency the distance of \\(L(j\omega)\\) from the point \\(-1\\) in the Nyquist plot, so \\(L(j\omega)\\) must be at least a distance of \\(\abs{w\_P(j\omega)}\\) from \\(-1\\).
{{<figuresrc="/ox-hugo/skogestad07_input_uncertainty_set_feedback_weight_bis.png"caption="Figure 24: Diagram for robust performance with multiplicative uncertainty">}}
##### Graphical derivation of RP-condition {#graphical-derivation-of-rp-condition}
As illustrated on Fig. [23](#orge41ae9d), we must required that all possible \\(L\_p(j\omega)\\) stay outside a disk of radius \\(\abs{w\_P(j\omega)}\\) centered on \\(-1\\).
Since \\(L\_p\\) at each frequency stays within a disk of radius \\(|w\_I(j\omega) L(j\omega)|\\) centered on \\(L(j\omega)\\), the condition for RP becomes:
This condition is within a factor at most \\(\sqrt{2}\\) of the true RP-condition.
This means that **for SISO systems, we can closely approximate the RP-condition in terms of an \\(\hinf\\) problem**, so there is no need to make use of the structured singular value.
However, we will see that the situation can be very different for MIMO systems.
1. The RP-condition can be used to derive bounds on the loop shape \\(\abs{L}\\):
If \\(a\_\text{min}\\) and \\(a\_\text{max}\\) have different signs, then this means that the plant can change from stable to unstable with the pole crossing through the origin.
A general procedure for handling parametric uncertainty which is more suited for numerical calculations, is parametric state-space uncertainty.
Consider an uncertain state-space model:
\begin{align\*}
\dot{x} &= A\_p x + B\_p u \\\\\\
y &= C\_p x + D\_p u
\end{align\*}
Assume that the underlying cause for the uncertainty is uncertainty in some real parameters \\(\delta\_1, \delta\_2, \dots\\) and assume that the state space matrices depends linearly on these parameters:
\begin{align\*}
A\_p = A + \sum \delta\_i A\_i; \quad & B\_p = B + \sum \delta\_i B\_i \\\\\\
C\_p = C + \sum \delta\_i C\_i; \quad & D\_p = D + \sum \delta\_i D\_i
\end{align\*}
where \\(A\\), \\(B\\), \\(C\\) and \\(D\\) model the nominal system.
We can collect the perturbations \\(\delta\_i\\) in a large diagonal matrix \\(\Delta\\) with the real \\(\delta\_i\\)'s along its diagonal:
{{<figuresrc="/ox-hugo/skogestad07_uncertainty_state_a_matrix.png"caption="Figure 25: Uncertainty in state space A-matrix">}}
### Conclusion {#conclusion}
Model uncertainty for SISO systems can be represented in the frequency domain using complex norm-bounded perturbations \\(\hnorm{\Delta} \le 1\\).<br/>
Requirements of robust stability for the case of multiplicative complex uncertainty imposes an upper bound on the allowed complementary sensitivity, \\(\abs{w\_I T} <1, \ \forall\w\\).<br/>
Similarly, the inverse multiplicative uncertainty imposes an upper bound on the sensitivity, \\(\abs{w\_{iI} S} <1, \ \forall\w\\).<br/>
We also derived a condition for robust performance with multiplicative uncertainty, \\(\abs{w\_P S} + \abs{w\_I T} <1, \ \forall\w\\).
## Robust Stability and Performance Analysis {#robust-stability-and-performance-analysis}
### General Control Configuration with Uncertainty {#general-control-configuration-with-uncertainty}
The starting point for our robustness analysis is a system representation in which the uncertain perturbations are "pulled out" into a **block diagonal matrix**
where each \\(\Delta\_i\\) represents a **specific source of uncertainty**, e.g. input uncertainty \\(\Delta\_I\\) or parametric uncertainty \\(\delta\_i\\).
If we also pull out the controller \\(K\\), we get the generalized plant \\(P\\) as shown in Fig. [26](#orgbe92de5). This form is useful for controller synthesis.
To analyze robust stability of \\(F\\), we can rearrange the system into the \\(M\Delta\text{-structure}\\) shown in Fig. [28](#org4b32441) where \\(M = N\_{11}\\) is the transfer function from the output to the input of the perturbations.
As the maximum singular value of a block diagonal matrix is equal to the largest of the maximum singular values of the individual blocks, it then follows for \\(\Delta = \text{diag}\\{\Delta\_i\\}\\) that
The representation of parametric uncertainty for MIMO systems is the same as for SISO systems.
However, the inclusion of parametric uncertainty may be more significant for MIMO plants because it offers a simple method of representing uncertain transfer function elements.
Unstructured perturbations are often used to get a simple uncertainty model.
We here define unstructured uncertainty as the use of a "full" complex perturbation matrix \\(\Delta\\), usually with dimensions compatible with those of the plant, where at each frequency any \\(\Delta(j\w)\\) satisfying \\(\maxsv(\Delta(j\w)) <1\\)isallowed.
Three common forms of **feedforward unstructured uncertainty** are shown Fig. [4](#table--fig:feedforward-uncertainty): additive uncertainty, multiplicative input uncertainty and multiplicative output uncertainty.
In Fig. [5](#table--fig:feedback-uncertainty), three **feedback or inverse unstructured uncertainty** forms are shown: inverse additive uncertainty, inverse multiplicative input uncertainty and inverse multiplicative output uncertainty.
##### Lumping uncertainty into a single perturbation {#lumping-uncertainty-into-a-single-perturbation}
For SISO systems, we usually lump multiple sources of uncertainty into a single complex perturbation; often in the multiplicative form.
This may be also done for MIMO systems, but then it makes a difference whether the perturbation is at the input or the output.<br/>
Since **output uncertainty is frequently less restrictive than input uncertainty in terms of control performance**, we first attempt to lump the uncertainty at the output. For example, a set of plant \\(\Pi\\) may be represented by multiplicative output uncertainty with a scalar weight \\(w\_O(s)\\) using
If the resulting uncertainty weight is reasonable and the analysis shows that robust stability and performance may be achieve, then this lumping of uncertainty at the output is fine.
If this is not the case, then one may try to lump the uncertainty at the input instead, using multiplicative input uncertainty with a scalar weight,
However, in many cases, this approach of lumping uncertainty either at the output or the input does **not** work well because **it usually introduces additional plants** that were not present in the original set.
##### Conclusion {#conclusion}
Ideally, we would like to lump several sources of uncertainty into a single perturbation to get a simple uncertainty description.
Often an unstructured multiplicative output perturbation is used.
However, we should be careful about doing this, at least for plants with a large condition number.
In such cases we may have to represent the uncertainty as it occurs physically (at the input, in the elements, etc.) thereby generating several perturbations.
#### Diagonal Uncertainty {#diagonal-uncertainty}
By "diagonal uncertainty" we mean that the perturbation is a complex diagonal matrix
Let us consider uncertainty in the input channels. With each input \\(u\_i\\), there is a physical system (amplifier, actuator, etc.) which based on the controller output signal \\(u\_i\\), generates a physical plant input \\(m\_i\\)
where \\(r\_0\\) is the relative uncertainty at steady-state, \\(1/\tau\\) is the frequency where the relative uncertainty reaches \\(\SI{100}{\percent}\\), and \\(r\_\infty\\) is the magnitude of the weight at high frequencies.<br/>
**Diagonal input uncertainty should always be considered because**:
- it is **always** present and a system which is sensitive to this uncertainty will not work in practice
- it often **restrict achievable performance** with multivariable control
### Obtaining \\(P\\), \\(N\\) and \\(M\\) {#obtaining--p----n--and--m}
{{<figuresrc="/ox-hugo/skogestad07_input_uncertainty_set_feedback_weight.png"caption="Figure 29: System with multiplicative input uncertainty and performance measured at the output">}}
We want to derive the generalized plant \\(P\\) which has inputs \\([u\_\Delta,\ w,\ u]^T\\) and outputs \\([y\_\Delta,\ z,\ v]^T\\).
By breaking the loop before and after \\(K\\) and \\(\Delta\_I\\), we get
and then we find \\(N\\) using \\(N = F\_l(P, K)\\).
### Definitions of Robust Stability and Robust Performance {#definitions-of-robust-stability-and-robust-performance}
The next step is to check whether we have stability and acceptable performance for all plant in the set:
1.**Robust stability analysis**: with a given controller \\(K\\) we determine whether the system remains stable for all plants in the uncertainty set
2.**Robust performance analysis**: is RS is satisfied, we determine how "large" the transfer function from exogenous inputs \\(w\\) to outputs \\(z\\) may be for all plants in the uncertainty set
We here use \\(\hinf\\) norm to define performance and require for RP that \\(\hnorm{F(\Delta)} \le 1\\) for all allowed \\(\Delta\\).
A typical choice is \\(F = w\_P S\_P\\) where \\(w\_P\\) is the performance weight and \\(S\_P\\) represents the set of perturbed sensitivity functions.
Suppose that the system is nominally stable (with \\(\Delta = 0\\)) that is \\(N\\) is stable. We also assume that \\(\Delta\\) is stable.
We then see from the above equation that the **only possible source of instability** is the feedback term \\((I - N\_{11}\Delta)^{-1}\\).
Thus, when we have nominal stability, the stability of the \\(N\Delta\text{-structure}\\) is equivalent to the stability of the \\(M\Delta\text{-structure}\\) where \\(M = N\_{11}\\).
We thus need to derive conditions for checking the stability of the \\(M\Delta\text{-structure}\\).
Assume that the nominal system \\(M(s)\\) and the perturbations \\(\Delta(s)\\) are stable.
Consider the convex set of perturbations \\(\Delta\\), such that if \\(\Delta^\prime\\) is an allowed perturbation then so is \\(c\Delta^\prime\\) where c is any **real** scalar such that \\(\abs{c} \le 1\\).
Then the \\(M\Delta\text{-structure}\\) is stable for all allowed perturbations **if and only if** the Nyquist plot of \\(\det\left( I - M\Delta(s) \right)\\) does not encircle the origin, \\(\forall\Delta\\):
\begin{equation}
\det( I - M\Delta(j\w)) \ne 0, \quad \forall\w, \, \forall\Delta
Assume that the nominal system \\(M(s)\\) and the perturbations \\(\Delta(s)\\) are stable.
Consider the class of perturbations, \\(\Delta\\), such that if \\(\Delta^\prime\\) is an allowed perturbation, then so is \\(c\Delta^\prime\\) where c is any **complex** scalar such that \\(\abs{c} \le 1\\).
Then the \\(M\Delta\text{-structure}\\) is stable for all allowed perturbations **if and only if**:
We will now present necessary and sufficient conditions for robust stability for each of the six single unstructured perturbations in Figs [4](#table--fig:feedforward-uncertainty) and [5](#table--fig:feedback-uncertainty) with
In general, **the unstructured uncertainty descriptions in terms of a single perturbation are not "tight"** (in the sense that at each frequency all complex perturbations satisfying \\(\maxsv(\Delta(j\w)) \le 1\\) may not be possible in practice).
Thus, the above RS-conditions are often **conservative**.
In order to get tighter condition we must use a tighter uncertainty description in terms of a block-diagonal \\(\Delta\\).
#### RS for Coprime Factor Uncertainty {#rs-for-coprime-factor-uncertainty}
Robust stability bound in terms of the \\(\hinf\\) norm (\\(\text{RS}\Leftrightarrow\hnorm{M}<1\\))areingeneralonlytightwhenthereisasinglefullperturbationblock.
An "exception" to this is when the uncertainty blocks enter or exit from the same location in the block diagram, because they can then be stacked on top of each other or side-by-side, in an overall \\(\Delta\\) which is then full matrix.
One important uncertainty description that falls into this category is the **coprime uncertainty description** shown in Fig. [30](#org8bb0812), for which the set of plants is
Where \\(G = M\_l^{-1} N\_l\\) is a left coprime factorization of the nominal plant.
This uncertainty description is surprisingly **general**, it allows both zeros and poles to cross into the right-half plane, and has proven to be very useful in applications.
The coprime uncertainty description provides a good **generic uncertainty description** for cases where we do not use any specific a priori uncertainty information.
Note that the uncertainty magnitude is \\(\epsilon\\), so it is not normalized to be less than 1 in this case.
This is because this uncertainty description is most often used in a controller design procedure where the objective is to maximize the magnitude of the uncertainty \\(\epsilon\\) such that RS is maintained.
### RS with Structured Uncertainty: Motivation {#rs-with-structured-uncertainty-motivation}
Consider now the presence of structured uncertainty, where \\(\Delta = \text{diag}\\{\Delta\_i\\}\\) is block-diagonal.
To test for robust stability, we rearrange the system into the \\(M\Delta\text{-structure}\\) and we have
We have here written "if" rather than "if and only if" since this condition is only sufficient for RS when \\(\Delta\\) has "no structure".
The question is whether we can take advantage of the fact that \\(\Delta = \text{diag}\\{\Delta\_i\\}\\) is structured to obtain an RS-condition which is tighter.
On idea is to make use of the fact that stability must be independent of scaling.
To this effect, introduce the block-diagonal scaling matrix
Now rescale the inputs and outputs of \\(M\\) and \\(\Delta\\) by inserting the matrices \\(D\\) and \\(D^{-1}\\) on both sides as shown in Fig. [31](#orga3e207a).
{{<figuresrc="/ox-hugo/skogestad07_block_diagonal_scalings.png"caption="Figure 31: Use of block-diagonal scalings, \\(\Delta D = D \Delta\\)">}}
Note that with the chosen form for the scalings we have for each perturbation block \\(\Delta\_i = d\_i \Delta\_i d\_i^{-1}\\), that is we have \\(\Delta = D \Delta D^{-1}\\).
This applies for any \\(D\\), and therefore the "most improved" (least conservative) RS-condition is obtained by minimizing at each frequency the scaled singular value and we have
where \\(\mathcal{D}\\) is the set of block-diagonal matrices whose structure is compatible to that of \\(\Delta\\), i.e, \\(\Delta D = D \Delta\\).
</div>
When \\(\Delta\\) is a full matrix, we must select \\(D = dI\\) and we have \\(\maxsv(D M D^{-1}) = \maxsv(M)\\), and we cannot improve the RS-condition.
However, when \\(\Delta\\) has structure, we get more degrees of freedom in \\(D\\) and \\(\maxsv(D M D^{-1})\\) may be significantly smaller than \\(\maxsv(M)\\).
### The Structured Singular Value {#the-structured-singular-value}
#### Definition {#definition}
The structured singular value \\(\mu\\) is a function which provides a **generalization of the singular value** \\(\maxsv\\) and the **spectral radius** \\(\rho\\).
We will use \\(\mu\\) to get necessary and sufficient conditions for robust stability and also for robust performance.
\\(\mu\\) can be explained as follow:
> Find the smallest structured \\(\Delta\\) (measured in terms of \\(\maxsv(\Delta)\\)) which makes the matrix \\(I - M \Delta\\) singular; then \\(\mu(M) = 1/\maxsv(\Delta)\\).
Clearly, \\(\mu(M)\\) depends not only on \\(M\\) but also on the **allowed structure** for \\(\Delta\\). This is sometimes shown explicitly by using the notation \\(\mu\_\Delta (M)\\).<br/>
The above definition of \\(\mu\\) involves varying \\(\maxsv(\Delta)\\). However, we prefer to normalize \\(\Delta\\) such that \\(\maxsv(\Delta)\le1\\). We can do that by scaling \\(\Delta\\) by a factor \\(k\_m\\), and looking for the smallest \\(k\_m\\) which makes the matrix \\(I - k\_m M \Delta\\) singular. \\(\mu\\) is then the reciprocal of this small \\(k\_m\\): \\(\mu = 1/k\_m\\). This results in the following alternative definition of \\(\mu\\).
Let \\(M\\) be a given complex matrix and let \\(\Delta = \diag{\Delta\_i}\\) denote a set of complex matrices with \\(\maxsv(\Delta) \le 1\\) and with a given block-diagonal structure.
If no such structured \\(\Delta\\) exists then \\(\mu(M) = 0\\)
</div>
A value of \\(\mu = 1\\) means that there exists a perturbation with \\(\maxsv(\Delta) = 1\\) which is just large enough to make \\(I - M\Delta\\) singular.
A larger value of \\(\mu\\) is "bad" as it means that a smaller perturbation makes \\(I - M\Delta\\) singular, whereas a smaller value of \\(\mu\\) is "good".
#### Remarks on the Definition of \\(\mu\\) {#remarks-on-the-definition-of--mu}
1. The structured singular value was introduced by Doyle while at the same time, Safonov introduced the **Multivariable Stability Margin** \\(k\_m\\) for a diagonally perturbed system as the inverse of \\(\mu\\), that is \\(k\_m(M) = \mu(M)^{-1}\\).
2. Note that with \\(k\_m = 0\\) we obtain \\(I - k\_m M \Delta = I\\) which is clearly non-singular.
Thus, one possible way to obtain \\(\mu\\) numerically, is to start with \\(k\_m = 0\\), and gradually increase \\(k\_m\\) until we first find an allowed \\(\Delta\\) with \\(\maxsv(\Delta) = 1\\) such that \\(I-k\_mM\Delta\\) is singular.
#### Properties of \\(\mu\\) for Real and Complex \\(\Delta\\) {#properties-of--mu--for-real-and-complex--delta}
1. \\(\mu(\alpha M) = \abs{\alpha} \mu(M)\\) for any real scalar \\(\alpha\\)
2. Let \\(\Delta = \diag{\Delta\_1, \Delta\_2}\\) be a block-diagonal perturbation and let \\(M\\) be partitioned accordingly.
The problem is that this is only a "yes/no" condition. To find the factor \\(k\_m\\) by which the system is robustly stable, we scale the uncertainty \\(\Delta\\) by \\(k\_m\\), and look for the smallest \\(k\_m\\) which yields "borderline instability", namely
From the definition of \\(\mu\\), this value is \\(k\_m = 1/\mu(M)\\), and we obtain the following necessary and sufficient condition for robust stability.
##### What do \\(\mu \ne 1\\) and skewed-\\(\mu\\) mean? {#what-do--mu-ne-1--and-skewed--mu--mean}
A value of \\(\mu = 1.1\\) for robust stability means that **all** the uncertainty blocks must be decreased in magnitude by a factor 1.1 in order to guarantee stability.
But if we want to keep some of the uncertainty blocks fixed, how large can one particular source of uncertainty be before we get instability?
We define this value as \\(1/\mu^s\\), where \\(\mu^s\\) is called skewed-\\(\mu\\). We may view \\(\mu^s(M)\\) as a generalization of \\(\mu(M)\\).
Let \\(\Delta = \diag{\Delta\_1, \Delta\_2}\\) and assume we have fixed \\(\norm{\Delta\_1} \le 1\\) and we want to find how large \\(\Delta\_2\\) can be before we get instability.
Note that to compute skewed-\\(\mu\\) we must first define which part of the perturbations is to be constant.
### Robust Performance {#robust-performance}
#### Testing RP using \\(\mu\\) {#testing-rp-using--mu}
To test for RP, we first "pull out" the uncertain perturbations and rearrange the uncertain system into the \\(N\Delta\text{-form}\\).
Our RP-requirement, is that the \\(\hinf\\) norm of the transfer function \\(F = F\_u(N, \Delta)\\) remains less than \\(1\\) for all allowed perturbations.
This may be tested exactly by computing \\(\mu(N)\\).
2. The \\(\mu\text{-condition}\\) for RP involves the enlarged perturbation \\(\hat{\Delta} = \diag{\Delta, \Delta\_P}\\).
Here \\(\Delta\\), which itself may be a block diagonal matrix, represents the true uncertainty, whereas \\(\Delta\_P\\) is a full complex matrix stemming from the \\(\hinf\\) norm performance specification
3. Since \\(\hat{\Delta}\\) always has structure, the use of \\(\hinf\\) norm, \\(\hnorm{N} <1\\),isgenerallyconservativeforrobustperformance
#### Summary of \\(\mu\text{-conditions}\\) for NP, RS and RP {#summary-of--mu-text-conditions--for-np-rs-and-rp}
Here \\(\Delta\\) is a block-diagonal matrix, whereas \\(\Delta\_P\\) is always a full complex matrix.
Although the structured singular value is not a norm, it is sometimes convenient to refer to the peak \\(\mu\text{-value}\\) as the "\\(\Delta\text{-norm}\\)".
For a stable rational transfer matrix \\(H(s)\\), with an associated block structure \\(\Delta\\), we therefore define
#### Worst-case Performance and Skewed-\\(\mu\\) {#worst-case-performance-and-skewed--mu}
Assume we have a system for which the peak \\(\mu\text{-value}\\) for RP is \\(1.1\\). What does this mean?
The definition of \\(\mu\\) tells us that our RP-requirement would be satisfied exactly if we reduced **both** the performance requirement and the uncertainty by a factor of \\(1.1\\).
So \\(\mu\\) does not directly give us the worst-case performance \\(\max\_{\Delta} \maxsv(F(\Delta))\\).
To find the worst-case weighted performance for a given uncertainty, one needs to keep the magnitude of the perturbation fixed (\\(\maxsv(\Delta) \le 1\\)), that is, **we must compute the skewed-\\(\mu\\)** of \\(N\\).
To find \\(\mu^s\\) numerically, we scale the performance part of \\(N\\) by a factor \\(k\_m = 1/\mu^s\\) and iterate on \\(k\_m\\) until \\(\mu = 1\\).
That is, at each frequency skewed-\\(\mu\\) is the value \\(\mu^s(N)\\) which solves
Note that \\(\mu\\) underestimate how bad or good the actual worst case performance is. This follows because \\(\mu^s(N)\\) is always further from 1 than \\(\mu(N)\\).
### Application: RP with Input Uncertainty {#application-rp-with-input-uncertainty}
We will now consider in some detail the case of multiplicative input uncertainty with performance defined in terms of weighted sensitivity (Fig. [29](#org4f9f011)).
Here \\(w\_p(s)\\) and \\(w\_I(s)\\) are scalar weights, so the performance objective is the same for all the outputs, and the uncertainty is the same for all the inputs.
In this section, we will:
1. Find the interconnection matrix \\(N\\) for this problem
2. Consider the SISO case, so that useful connections can be made with results for SISO systems
3. Consider a multivariable distillation process
4. Find some simple bounds on \\(\mu\\) and discuss the role of the condition number
5. Make comparisons with the case where the uncertainty is located at the output
Robust performance optimization, in terms of weighted sensitivity with multiplicative uncertainty for a SISO system, thus involves minimizing the peak value of \\(\mu(N) = |w\_I T| + |w\_P S|\\).
This may be solved using DK-iteration.
A closely related problem, which is easier to solve is to minimize the peak value (\\(\mathcal{H}\_\infty\\) norm) of the mixed sensitivity matrix:
{{<figuresrc="/ox-hugo/skogestad07_mu_plots_distillation.png"caption="Figure 32: \\(\mu\text{-plots}\\) for distillation process with decoupling controller">}}
##### RS {#rs}
In this case \\(w\_I T\_I = w\_I T\\) is a scalar times the identity matrix:
The peak value of \\(\mu\_{\Delta\_I}(M)\\) is \\(0.53\\) meaning that we may increase the uncertainty by a factor of \\(1/0.53 = 1.89\\) before the worst case uncertainty yields instability.
##### RP {#rp}
Although the system has good robustness margins and excellent nominal performance, the robust performance is poor.
This is shown in Fig. [32](#org7d3694a) where the \\(\mu\text{-curve}\\) for RP was computed numerically using \\(\mu\_{\hat{\Delta}}(N)\\), with \\(\hat{\Delta} = \text{diag}\\{\Delta\_I, \Delta\_P\\}\\) and \\(\Delta\_I = \text{diag}\\{\delta\_1, \delta\_2\\}\\).
The peak value is close to 6, meaning that even with 6 times less uncertainty, the weighted sensitivity will be about 6 times larger than what we require.
#### Robust Performance and the Condition Number {#robust-performance-and-the-condition-number}
We here consider the relationship between \\(\mu\\) for RP and the condition number of the plant or of the controller.
We consider unstructured multiplicative uncertainty (i.e. \\(\Delta\_I\\) is a full matrix) and performance is measured in terms of the weighted sensitivity.
We see that with a "round" controller (i.e. one with \\(\gamma(K) = 1\\)), there is less sensitivity to uncertainty.
On the other hand, we would expect \\(\mu\\) for RP to be large if we used an inverse-based controller for a plant with large condition number, since then \\(\gamma(K) = \gamma(G)\\) is large.
#### Comparison with Output Uncertainty {#comparison-with-output-uncertainty}
Consider output multiplicative uncertainty of magnitude \\(w\_O(j\omega)\\).
This follows since the uncertainty and performance blocks both enter at the output and that the difference between bounding the combined perturbations \\(\overline{\sigma}[\Delta\_O \ \Delta\_P]\\) and the individual perturbations \\(\overline{\sigma}(\Delta\_O)\\) and \\(\overline{\sigma}(\Delta\_P)\\) is at most a factor \\(\sqrt{2}\\).
Thus, we "automatically" achieve RP if we satisfy separately NP and RS.
Multiplicative output uncertainty then poses no particular problem for performance.
### \\(\mu\text{-synthesis}\\) and DK-iteration {#mu-text-synthesis--and-dk-iteration}
The structured singular value \\(\mu\\) is a very powerful tool for the analysis of robust performance with a given controller. However, one may also seek to **find the controller that minimizes** a given \\(\mu\text{-condition}\\): this is the \\(\mu\text{-synthesis}\\) problem.
#### DK-iteration {#dk-iteration}
At present, there is no direct method to synthesize a \\(\mu\text{-optimal}\\) controller.
However, for complex perturbations, a method known as **DK-iteration** is available.
It combines \\(\hinf\\) synthesis and \\(\mu\text{-analysis}\\) and often yields good results.<br/>
The starting point is the upper bound on \\(\mu\\) in terms of the scaled singular value
1.**K-step**. Synthesize an \\(\hinf\\) controller for the scaled problem, \\(\min\_{K} \hnorm{DN(K)D^{-1}}\\) with fixed \\(D(s)\\)
2.**D-step**. Find \\(D(j\w)\\) to minimize at each frequency \\(\maxsv(DND^{-1}(j\w))\\) with fixed \\(N\\)
3. Fit the magnitude of each element of \\(D(j\w)\\) to a stable and minimum phase transfer function \\(D(s)\\) and go to step 1
</div>
The iteration may continue until satisfactory performance is achieve, \\(\hnorm{DND^{-1}} <1\\)oruntilthe \\(\hinf\\)normnolongerdecreases.
One fundamental problem with this approach is that although each of the minimization steps are convex, **joint convexity is not guaranteed**.
Therefore, the iterations may converge to a **local minimum**.<br/>
The order of the controller resulting from each iteration is equal to the number of the states in the plant \\(G(s)\\) plus the number of states in the weights plus twice the number of state in \\(D(s)\\).
The obtain \\(\mu\text{-optimal}\\) controller will usually be of **high order** and will have a flat \\(\mu\text{-curve}\\) until some high frequency.<br/>
The DK-iteration depends heavily on optimal solutions for steps 1 and 2, and also on good fits in step 3.
We usually **prefers to have a low-order fit** in step 3 as it will reduces the order of the \\(\hinf\\) problem which usually improves the numerical properties of the optimization.
In some cases, the iterations converge slowly, the \\(\mu\text{-value}\\) can even increase. This may be caused by numerical problems and one may consider going back to the initial problem and **rescaling the inputs and outputs**.
#### Adjusting the Performance Weight {#adjusting-the-performance-weight}
If \\(\mu\\) at a given frequency is different from 1, then the interpretation is that at this frequency we can tolerate \\(1/\mu\\) times more uncertainty and still satisfy our performance objective with a margin of \\(1/\mu\\).
In \\(\mu\text{-synthesis}\\), the designer will usually adjust some parameter in the performance or uncertainty weights until the weight of the peak \\(\mu\text{-value}\\) is close to 1.<br/>
Sometimes, uncertainty is fixed and we effectively optimize worst-cast performance by adjusting a parameter in the performance weight.
where \\(N\\), the interconnection matrix for the RP-problem, depends on \\(\w\_B^\*\\). This may be implemented as an **outer loop around the DK-iteration**.
Sometimes it is desirable to find a low-order controller with a given structure.
This may be achievable by numerical optimization where \\(\mu\\) is minimized with respect to the controller parameters.
This problem here is that the optimization is not generally convex in the parameters.
Sometimes it helps to switch the optimization between minimizing the peak of \\(\mu\\) and minimizing the integral square deviation of \\(\mu\\) away from \\(k\\) (i.e. \\(\normtwo{\mu(j\w) - k}\\)) where \\(k\\) is usually close to 1.
The latter is an attempt to "flatten out" \\(\mu\\).
#### Example: \\(\mu\text{-synthesis}\\) with DK-iteration {#example--mu-text-synthesis--with-dk-iteration}
For simplicity, we will consider again the case of multiplicative uncertainty and performance defined in terms of weighted sensitivity.
{{<figuresrc="/ox-hugo/skogestad07_weights_distillation.png"caption="Figure 33: Uncertainty and performance weights">}}
The objective is to minimize the peak value of \\(\mu\_{\tilde{\Delta}}(N)\\), \\(\tilde{\Delta} = \text{diag}\\{\Delta\_I, \Delta\_P\\}\\).
\\(\Delta\_I\\) is a diagonal \\(2 \times 2\\) matrix representing the diagonal input uncertainty and \\(\Delta\_P\\) is a full \\(2 \times 2\\) matrix representing the performance specifications.
First, the generalized plant \\(P\\) is constructed which includes the plant model, the uncertainty weight and the performance weight.
Then the block structure is defined, it consists of two \\(1 \times 1\\) blocks to represent \\(\Delta\_I\\) and a \\(2 \times 2\\) block to represent \\(\Delta\_P\\).
The scaling matrix \\(D\\) for \\(DND^{-1}\\) then has the structure \\(D = \text{diag}\\{d\_1, d\_2, d\_3I\_2\\}\\). We select \\(d\_3 = 1\\) and as initial scalings we select \\(d\_1^0 = d\_2^0 = 1\\).
\\(P\\) is then scaled with the matrix \\(\text{diag}\\{D, I\_2\\}\\) where \\(I\_2\\) is associated with the inputs and outputs from the controller (we do not want to scale the controller).
- Iteration No. 1.
Step 1: with the initial scalings, the \\(\mathcal{H}\_\infty\\) synthesis produced a 6 state controller (2 states from the plant model and 2 from each of the weights).
Step 2: the upper \\(\mu\text{-bound}\\) is shown in Fig. [34](#orgfced99f).
Step 3: the frequency dependent \\(d\_1(\omega)\\) and \\(d\_2(\omega)\\) from step 2 are fitted using a 4th order transfer function shown in Fig. [35](#org462af49)
The peak value of \\(\mu\\) is just slightly over 1, so the performance specification \\(\overline{\sigma}(w\_P S\_p) <1\\)isalmostsatisfiedforallpossibleplants.
### Further Remarks on \\(\mu\\) {#further-remarks-on--mu}
For complex perturbations, the scaled singular value \\(\maxsv(DND^{-1})\\) is a tight upper bound on \\(\mu(N)\\) in most cases, and minimizing the upper bound \\(\hnorm{DND^{-1}}\\) form the basis for the DK-iteration.
The use of constant D-scales (\\(D\\) is not allowed to vary with frequency), provides a necessary and sufficient condition for robustness to arbitrary fast time varying linear uncertainty. While such perturbations are unlikely in a practical situation, we know that this controller will work very well even for rapid changes in the plant. Moreover, the use of constant D-scales make the computation of \\(\mu\\) straightforward and solvable using LMIs.
### Conclusion {#conclusion}
We have discussed how to represent uncertainty and how to analyze its effect on stability (RS) and performance (RP) using the **structured singular value** \\(\mu\\).<br/>
To analyze robust stability of an uncertain system, we make use of the \\(M\Delta\text{-structure}\\) where \\(M\\) represents the transfer function for the "new" feedback part generated by the uncertainty.
which is tight (necessary and sufficient) for the special case where at each frequency any complex \\(\Delta\\) satisfying \\(\maxsv(\Delta) \le 1\\) is allowed.
where \\(\mu(M)\\) is the **structured singular value**. The calculation of \\(\mu\\) makes use of the fact that \\(\Delta\\) has a given block-diagonal structure, where certain blocks may also be real (e.g. to handle parametric uncertainty).<br/>
We defined robust performance as \\(\hnorm{F\_l(N, \Delta)} <1\\)forallallowed \\(\Delta\\).
Since we used the \\(\hinf\\) norm in both the representation of uncertainty and the definition of performance, we found that RP could be viewed as a special case of RS, and we derived
where \\(\mu\\) is computed with respect to the **block-diagonal structure** \\(\diag{\Delta, \Delta\_P}\\).
Here \\(\Delta\\) represents the uncertainty and \\(\Delta\_P\\) is a fictitious full uncertainty block representing the \\(\hinf\\) performance bound.<br/>
There are **two main approaches to getting a robust design**:
1. We aim to make the system robust to some **"general" class of uncertainty** which we do not explicitly model.
For SISO systems, the classical gain and phase margins and the peaks of \\(S\\) and \\(T\\) provide useful robustness measures.
For MIMO systems, normalized coprime factor uncertainty provides a good general class of uncertainty, and the associated Glover-McFlarlane \\(\hinf\\) loop-shaping design procedure has proved itself very useful in applications
2. We **explicitly model and quantify the uncertainty** in the plant and aim to make the system robust to this specific uncertainty.
Potentially, it yields better designs, but it may require a much larger effort in terms of uncertainty modelling, especially if parametric uncertainty is consider.
Analysis and in particular, synthesis using \\(\mu\\) can be very involved
In applications, it is therefore recommended to **start with the first approach**, at least for design.
The robust stability and performance is then analyzed in simulations and using the structured singular value, for example, by considering first simple sources of uncertainty such as multiplicative input uncertainty.
One then iterates between design and analysis until a satisfactory solution is obtained.
If resulting control performance is not satisfactory, one may switch to the second approach.
##### Practical \\(\mu\text{-synthesis}\\) in practice: {#practical--mu-text-synthesis--in-practice}
1. Because of the effort involved in deriving detailed uncertainty descriptions, and the subsequent complexity in synthesizing controllers, the rule is to **start simple** with a crude uncertainty description, and then to see whether the performance specifications can be met. Only if they can't, one should consider more detailed uncertainty descriptions such as parametric uncertainty
2. The use of \\(\mu\\) implies a worst-case analysis, so one should be **careful about including too many sources of uncertainty**, noise and disturbances - otherwise it becomes very unlikely for the worst case to occur, and the resulting analysis and design may be **unnecessarily conservative**
3. There is always uncertainty with respect to the inputs and outputs, so **it is generally sage to include diagonal input and output uncertainty**. The relative multiplicative form is very convenient in this case
4. \\(\mu\\) is most commonly used for analysis. If \\(\mu\\) is used for synthesis, then we recommend that you keep the uncertainty fixed and adjust the parameters in the performance weight until \\(\mu\\) is close to 1
### Trade-offs in MIMO Feedback Design {#trade-offs-in-mimo-feedback-design}
The shaping of multivariable transfer functions is based on the idea that a satisfactory definition of gain for a matrix transfer function is given by the **singular values**.
By multivariable transfer function shaping, therefore, we mean the shaping of the singular values of appropriate specified transfer functions such as the loop transfer function of one or more closed-loop transfer functions.<br/>
The classical loop-shaping ideas can be further generalized to MIMO systems by considering the singular values.
1. For disturbance rejection make \\(\maxsv(S)\\) small
2. For noise attenuation make \\(\maxsv(T)\\) small
3. For reference tracking make \\(\maxsv(T) \approx \minsv(T) \approx 1\\)
4. For control energy reduction make \\(\maxsv(KS)\\) small
5. For robust stability in presence of an additive perturbation (\\(G\_p = G + \Delta\\)) make \\(\maxsv(KS)\\) small
6. For robust stability in presence of a multiplicative output perturbation (\\(G\_p = (I + \Delta) G\\)) make \\(\maxsv(T)\\) small
</div>
The closed-loop requirements cannot all be satisfied simultaneously.
Feedback design is therefore a **trade-off over frequency of conflicting objectives**.
This is not always as difficult as it sounds because the frequency range over which the objectives are important can be quite different.<br/>
In classical loop shaping, it is the magnitude of the open-loop transfer function \\(L = GK\\) which is shaped, whereas the above requirements are all in terms of closed-loop transfer functions.
from which we see that \\(\maxsv(S) \approx 1/\minsv(L)\\) at frequencies where \\(\minsv(L)\\) is much larger than \\(1\\).
Furthermore, from \\(T = L(I+L)^{-1}\\) it follows that \\(\maxsv(T) \approx \maxsv(L)\\) at frequencies where \\(\maxsv(L)\\) is much smaller than \\(1\\).
Thus, over specified frequency ranges, it is relatively easy to approximate the closed-loop requirements by open-loop objectives.
Typically, the open-loop requirements 1 and 3 are valid and important at low frequencies \\(0 \le \omega \le \omega\_l \le \omega\_B\\), while conditions 2, 4, 5 and 6 are conditions which are valid and important at high frequencies \\(\omega\_B \le \omega\_h \le \omega \le \infty\\), as illustrated in Fig. [39](#org4fadbbc).
{{<figuresrc="/ox-hugo/skogestad07_design_trade_off_mimo_gk.png"caption="Figure 39: Design trade-offs for the multivariable loop transfer function \\(GK\\)">}}
The control engineer must design \\(K\\) such that \\(\minsv(GK)\\) lies above a performance boundary for all \\(\omega\\) up to \\(\omega\_l\\), and such that \\(\maxsv(GK)\\) lies below a robustness boundary for all \\(\omega\\) above \\(\omega\_h\\).<br/>
Shaping the singular values of \\(GK\\) by selecting \\(K\\) is relatively easy task, but to do this in a way which also guarantees closed-loop stability is in general difficult as **closed-loop stability cannot be determined from open-loop singular values**.<br/>
For SISO systems, closed-loop stability is closely related to the open-loop roll-off rate from high to low gain at the crossover (which is in practice less than \\(\SI{40}{\decibel\per dec}\\)).
An immediate consequence of this is that there is a lower limit to the difference between \\(\omega\_h\\) and \\(\omega\_l\\).
For MIMO systems, a similar gain/phase relationship holds in the crossover frequency region, but this is in terms of roll-off rate of the magnitude of the eigenvalues of \\(GK\\) and not the singular values.
The stability constraint is therefore more difficult to handle.
### LQG Control {#lqg-control}
LQG control was developed and successfully applied for aerospace problems where accurate plants are available.
For other control problems, it was not easy, and the **assumption of white noise disturbance** is not always relevant.
As a result, LQG designs were sometimes not robust enough to be used in practice.<br/>
It is assumed that the plant dynamics are linear and known, and that the measurement noise and disturbance signals are stochastic with known statistical properties:
\begin{align\*}
\dot{x} &= A x + B u + w\_d \\\\\\
y &= C x + D u + w\_n
\end{align\*}
with \\(w\_d\\) and \\(w\_n\\) are the disturbance and measurement noise which are assumed to be uncorrelated zero-mean Gaussian stochastic processes with constant power spectral density matrices \\(W\\) and \\(V\\) respectively.
Where \\(Q\\) and \\(R\\) are appropriately chosen constant **weighting matrices** (design parameters) such that \\(Q = Q^T \ge 0\\) and \\(R = R^T > 0\\).
</div>
The solution to the LQG problem, known as the **Separation Theorem**, is separated into **two problems**.
It consists of first determining the **optimal control** to a deterministic **LQR problem** (LQG without \\(w\_d\\) and \\(w\_n\\)).
The solution to this problem is a state feedback law
where \\(K\_r\\) is a **constant matrix** that can be easily computed.<br/>
The next step is to find an **optimal estimate** \\(\hat{x}\\) of the state \\(x\\) so that \\(E \big\\{ [x-\hat{x}]^T [x-\hat{x}] \big\\}\\) is minimized.
The optimal state estimate is given by a **Kalman filter**.
The solution to the LQG problem is then found by replacing \\(x\\) by \\(\hat{x}\\) to give \\(u(t) = -K\_r \hat{x}\\).
We therefore see that the LQG problem and its solution can be separated into two distinct parts as illustrated in Fig. [40](#orgc60d97c): the optimal state feedback and the optimal state estimator (the Kalman filter).
The LQR problem, where all the states are known is to find the input signal \\(u(t)\\) that takes the system \\(\dot{x} = Ax+Bu\\) to the zero state (\\(x=0\\)) by minimizing the deterministic cost
For the LQG-controller, as shown on Fig. [41](#org4105277), it is not easy to see where to position the reference input \\(r\\) and how integral action may be included, if desired. Indeed, the standard LQG design procedure does not give a controller with integral action. One strategy is illustrated in Fig. [42](#org7d807ad). Here, the control error \\(r-y\\) is integrated and the regulator \\(K\_r\\) is designed for the plant augmented with these integral states.
{{<figuresrc="/ox-hugo/skogestad07_lqg_integral.png"caption="Figure 42: LQG controller with integral action and reference input">}}
For an LQG-controller system with a combined Kalman filter and LQR control law, there are **no guaranteed stability margins**, and there exist LQG combinations with arbitrary small gain margins.
However, there are procedures for improving robustness properties of LQG control such as **Loop Transfer Recovery** (LTR).
These procedure are somehow difficult to use in practice.
Their main limitation is that they can only be applied to minimum phase plants.
### \\(\htwo\\) and \\(\hinf\\) Control {#htwo--and--hinf--control}
The closed loop transfer function from \\(w\\) to \\(z\\) is given by the linear fractional transformation:
\begin{align\*}
z &= F\_l(P, K) w \\\\\\
&= [P\_{11} + P\_{12}K(I-P\_{22}K)^{-1} P\_{21}] w
\end{align\*}
\\(\htwo\\) and \\(\hinf\\) control involve the minimization of the \\(\htwo\\) and \\(\hinf\\) norms of \\(F\_l(P, K)\\).<br/>
The most general and widely used algorithms for \\(\htwo\\) and \\(\hinf\\) control problems are based on the state space formulation and requires the solution of two Riccati equations.
The following **assumptions** are typically made in \\(\htwo\\) and \\(\hinf\\) problems:
1. \\((A, B\_2, C\_2)\\) is stabilizable and detectable.
This is required for the existence of stabilizing controllers
2. \\(D\_{12}\\) and \\(D\_{21}\\) have full rank.
This is sufficient to ensure that the controllers are proper
3. \\(\begin{bmatrix} A-j\w I & B\_2 \cr C\_1 & D\_{12} \end{bmatrix}\\) and \\(\begin{bmatrix} A-j\w I & B\_1 \cr C\_2 & D\_{21} \end{bmatrix}\\) have respectively full column and full row rank for all \\(\w\\).
This ensures that the controller does not cancel poles or zeros in the imaginary axis which would result in closed-loop instability
4. \\(D\_{11} = 0\\) and \\(D\_{22} = 0\\) is a conventional requirement for \\(\htwo\\) control.
This is not required for \\(\hinf\\) control but this significantly simplify algorithm formulas
5. \\(D\_{12}^T C\_1 = 0\\) and \\(B\_1 D\_{12}^T = 0\\) is common in \\(\htwo\\) control.
\\(D\_{12}^T C\_1 = 0\\) means that there is no cross terms in the cost function and \\(B\_1 D\_{12}^T = 0\\) that the process noise and measurement noise are uncorrelated
6. \\((A, B\_1)\\) is stabilizable and \\((A, C\_1)\\) is detectable
If the Matlab Robust Control Toolbox complains, then it probably means that the control problem is not well formulated and that some assumptions are not met.<br/>
\\(\hinf\\) algorithms, in general, find a **sub-optimal controller**. That is, for a specified \\(\gamma\\) a stabilizing controller is found for which \\(\hnorm{F\_l(P,K)}<\gamma\\).
This contrasts with \\(\htwo\\) theory, in which the optimal controller is **unique** and can be found from the solution of two Riccati equations.
#### \\(\htwo\\) Optimal Control {#htwo--optimal-control}
For a particular problem, the generalized plant \\(P\\) will include the plant model, the interconnection structure, and the designer specified weighting functions.<br/>
The \\(\htwo\\) norm can be given different **deterministic interpretations**.
It also has the following **stochastic interpretation**.
Suppose in the general control configuration that the exogenous input \\(w\\) is white noise of unit density. That is
With reference to the general control configuration on Fig. [43](#orgb9feed3), the standard \\(\hinf\\) optimal control problem is to find all stabilizing controllers \\(K\\) which minimize
where \\(\normtwo{z(t)} = \sqrt{\int\_0^\infty \sum\_i \abs{z\_i}^2 dt}\\) is the 2-norm of the vector signal.<br/>
In practice, it is usually not necessary to obtain an optimal controller for the \\(\hinf\\) problem, and it is simpler to design a **sub-optimal** one.
Let \\(\gamma\_\text{min}\\) be the minimum value of \\(\hnorm{F\_l(P,K)}\\) over all stabilizing controllers \\(K\\).
Then the \\(\hinf\\) **sub-optimal control problem** is: given a \\(\gamma > \gamma\_\text{min}\\), find all stabilizing controllers \\(K\\) such that
By reducing \\(\gamma\\) in an iterative way, an optimal solution is approached.<br/>
**General \\(\hinf\\) algorithm**.
For the general control configuration and with assumptions described above, there exists a stabilizing controller \\(K(s)\\) such that \\(\hnorm{F\_l(P,K)}<\gamma\\)ifandonlyif
1. \\(X\_\infty \ge 0\\) is a solution to the algebraic Riccati equation \\(A^T X\_\infty + X\_\infty A + C\_1^T C\_1 + X\_\infty (\gamma^{-2} B\_1 B\_1^T - B\_2 B\_2^T)X\_\infty = 0\\) such that \\(\text{Re } \lambda\_i \left[ A + (\gamma^{-2}B\_1B\_1^T - B\_2B\_2^T)X\_\infty \right] <0, \ \foralli\\)
2. \\(Y\_\infty \ge 0\\) is a solution to the algebraic Riccati equation \\(A Y\_\infty + Y\_\infty A^T + B\_1 B\_1^T + Y\_\infty (\gamma^{-2} C\_1^T C\_1 - C\_2^T C\_2)Y\_\infty = 0\\) such that \\(\text{Re } \lambda\_i \left[ A + Y\_\infty(\gamma^{-2}C\_1^TC\_1 - C\_2^TC\_2)Y\_\infty \right] <0, \ \foralli\\)
3. \\(\rho(X\_\infty Y\_\infty) < \gamma^2\\)
All such controllers are then given by \\(K = F\_l(K\_c, Q)\\) where
If we desire a controller that achieves \\(\gamma\_\text{min}\\), to within specified tolerance, then we can perform a **bisection** on \\(\gamma\\) until its value is sufficiently accurate.
The above conditions provide a test for each value of \\(\gamma\\) to determine if \\(\gamma<\gamma\_\text{min}\\)or \\(\gamma>\gamma\_\text{min}\\).
</div>
There are mainly two methodologies for \\(\hinf\\) controller design: the **transfer function shaping approach** and the **signal-based approach**.<br/>
In the **shaping approach**, \\(\hinf\\) optimization is used to shape the singular values of specified transfer functions over frequency.
The maximum singular values are relatively easy to shape by forcing them to lie below user defined bounds, thereby ensuring desirable bandwidth and roll-off rates.<br/>
In the **signal-based approach**, we seek to minimize the energy in certain error signal given a set of exogenous input signals.<br/>
A difficulty that sometimes arises with \\(\hinf\\) control is the **selection of weights** such that the \\(\hinf\\) optimal controller provides a good trade-off between conflicting objectives in various frequency ranges.
Thus, for practical designs it is sometimes recommended to perform only a few iterations of the \\(\hinf\\) algorithm.
The justification for this is that the initial design, after one iteration, is similar to an \\(\htwo\\) design which does trade-off over various frequency ranges.
Therefore stopping the iterations before the optimal value is achieved gives the design an \\(\htwo\\) flavor which may be desirable.
#### Mixed-Sensitivity \\(\hinf\\) Control {#mixed-sensitivity--hinf--control}
Mixed-sensitivity is the name given to transfer function shaping problems in which the sensitivity function \\(S = (I + GK)^{-1}\\) is shaped along with one or more other closed-loop transfer functions such as \\(KS\\) or \\(T = I - S\\).<br/>
Suppose that we have a regulation problem in which we want to reject a disturbance \\(d\\) entering at the plant output and it is assumed that the measurement noise is relatively insignificant.
It makes sense to shape the closed-loop transfer functions \\(S\\) and \\(KS\\).
Recall that \\(S\\) is the transfer function between \\(d\\) and the output, and \\(KS\\) the transfer function from \\(d\\) and the control signal.
It is important to include \\(KS\\) as a mechanism for **limiting the size and bandwidth of the controller**, and hence the energy used.
The size of \\(KS\\) is also important for robust stability with respect to uncertainty modeled as additive plant perturbations.<br/>
The disturbance \\(d\\) is typically a low frequency signal, and therefore it will be successfully rejected if the maximum singular value of \\(S\\) is made small over the same low frequency range.
To do this, we could select a scalar low pass filter \\(w\_1(s)\\) with a bandwidth equal to that of the disturbance, and then find a stabilizing controller that minimizes \\(\hnorm{w\_1 S}\\).
This cost function alone is not very practical, it focuses on just one closed-loop transfer function and the controller may have infinite gain.
To see how this mixed sensitivity problem can be formulated in the general setting, we can imagine the disturbance \\(d\\) as a single exogenous input and define and error signal \\(z = [z\_1^T\ z\_2^T]^T\\), where \\(z\_1 = W\_1 y\\) and \\(z\_2 = -W\_2 u\\) as illustrated in Fig. [44](#orgfa217a8).
{{<figuresrc="/ox-hugo/skogestad07_mixed_sensitivity_dist_rejection.png"caption="Figure 44: \\(S/KS\\) mixed-sensitivity optimization in standard form (regulation)">}}
Another interpretation can be put on the \\(S/KS\\) mixed-sensitivity optimization as shown in the standard control configuration of Fig. [45](#orgb5a3be8).
{{<figuresrc="/ox-hugo/skogestad07_mixed_sensitivity_ref_tracking.png"caption="Figure 45: \\(S/KS\\) mixed-sensitivity optimization in standard form (tracking)">}}
Another useful mixed sensitivity optimization problem, is to find a stabilizing controller which minimizes
{{<figuresrc="/ox-hugo/skogestad07_mixed_sensitivity_s_t.png"caption="Figure 46: \\(S/T\\) mixed-sensitivity optimization in standard form">}}
The shaping of closed-loop transfer functions as described above with the stacked cost functions becomes difficult with more than two functions whereas with two, the process is relatively easy.
The bandwidth requirements on each are usually complementary and simple, stable low-pass and high-pass filters are sufficient to carry out the required shaping and trade-offs.<br/>
The weights \\(W\_i\\) in mixed-sensitivity \\(\hinf\\) optimal control must all be stable.
Therefore, if we wish, for example, to emphasize the minimization of \\(S\\) at low frequency by weighting with a term including integral action, we would have to approximate \\(\frac{1}{s}\\) by \\(\frac{1}{s + \epsilon}\\) where \\(\epsilon \ll 1\\).
Similarly, one might be interested in weighting \\(KS\\) with a non-proper weight to ensure that \\(K\\) is small outside of the system bandwidth.
The trick is to replace a non proper term such as \\((1 + \tau\_1 s)\\) by \\(\frac{1 + \tau\_1 s}{1 + \tau\_2 s}\\) where \\(\tau\_2 \ll \tau\_1\\).
#### Signal-Based \\(\hinf\\) Control {#signal-based--hinf--control}
The signal-based approach to controller design is very general and is appropriate for multivariable problems in which several objectives must be taken into account simultaneously.
In this approach, we define the plant, possibly the model uncertainty, the **class of external signals affecting the system** and the **norm of the error signals we want to keep small**.
Weights are also used if a perturbation is used to model uncertainty, as in Fig. [47](#orgc73293b), where \\(G\\) represents the nominal model, \\(W\\) is a weighting function that captures the relative model fidelity over frequency, and \\(\Delta\\) represents unmodelled dynamics usually normalized such that \\(\hnorm{\Delta} <1\\).
LQG control is a simple example of the signal based approach, in which the exogenous signals are assumed to be stochastic and the error signals are measured in terms of the 2-norm.
As we have seen, the weights \\(Q\\) and \\(R\\) are constant, but LQG can be generalized to include frequency dependent weights on the signals leading to what is called Wiener-Hopf design or \\(\htwo\\) control.<br/>
When we consider a system's response to persistent sinusoidal signals of varying frequency, or when we consider the induced 2-norm between the exogenous input signals and the error signals, we are required to minimize the \\(\hinf\\) norm.
In the absence of model uncertainty, there does not appear to be an overwhelming case for using the \\(\hinf\\) norm rather than the more traditional \\(\htwo\\) norm.
However, when uncertainty is addressed, as it always should be, \\(\hinf\\) is clearly the more **natural approach** using component uncertainty models as in Fig. [47](#orgc73293b).<br/>
\\(G\\) and \\(G\_d\\) are nominal models of the plant and disturbance dynamics, and \\(K\\) is the controller to be designed.
The weights \\(W\_d\\), \\(W\_r\\), and \\(W\_n\\) may be constant or dynamic and describe the relative importance and/or the frequency content of the disturbance, set points and noise signals.
The weight \\(W\_\text{ref}\\) is a desired closed-loop transfer function between the weighted set point \\(r\_s\\) and the actual output \\(y\\).
The weights \\(W\_e\\) and \\(W\_u\\) reflect the desired frequency content of the error \\((y-y\_\text{ref})\\) and the control signals \\(u\\), respectively.
The problem can be cast as a standard \\(\hinf\\) optimization in the general control configuration by defining
The problem we now want to solve is: find a stabilizing controller \\(K\\) such that the \\(\hinf\\) norm of the transfer function between \\(w\\) and \\(z\\) is less that 1 for all \\(\Delta\\) where \\(\hnorm{\Delta} <1\\).
We have assumed in this statement that the **signal weights have normalized the 2-norm of the exogenous input signals to unity**.
This problem is a non-standard \\(\hinf\\) optimization.
It is a robust performance problem for which the \\(\mu\text{-synthesis}\\) procedure can be applied where we require the structured singular value:
{{<figuresrc="/ox-hugo/skogestad07_hinf_signal_based_uncertainty.png"caption="Figure 49: A signal-based \\(\hinf\\) control problem with input multiplicative uncertainty">}}
However, whilst the structured singular value is a useful analysis tool for assessing designs, \\(\mu\text{-synthesis}\\) is sometimes difficult to use and often too complex for the practical problems.
The loop-shaping design procedure described in this section is based on \\(\hinf\\) robust stabilization combined with classical loop shaping.
It is essentially a **two stage design process**:
- First the open-loop plant is augmented by pre and post compensators to give a desired shape to the singular values of the open-loop frequency response
- Then the resulting shaped plant is robustly stabilized with respect to coprime factor uncertainty using \\(\hinf\\) optimization
An important advantage is that no problem-dependent uncertainty modelling, or weight selection, is required in this second step.
#### Robust Stabilization {#robust-stabilization}
For multivariable systems, **classical gain and phase margins are unreliable indicators of robust stability** when defined for each channel (or loop), taken one at a time, because simultaneous perturbations in more than one loop are not then catered for.<br/>
It is now common practice to model uncertainty by stable **norm-bounded** dynamic (complex) **matrix perturbations**.
With a single perturbation, the associated robustness tests is in terms of the maximum singular values of various closed-loop transfer functions.
Use of a single stable perturbation restricts the plant and perturbed plant models to either have the same number of unstable poles or the same number of RHP zeros.<br/>
To overcome this, **two stable perturbations** can be used, one on each of the factors in a **coprime factorization** of the plant.
Although this uncertainty description seems unrealistic and less intuitive than the others, it is in fact quite general, and for our purposes it leads to a very useful \\(\hinf\\) robust stabilization problem.<br/>
Let's consider the stabilization of a plant \\(G\\) which has a normalized left coprime factorization
\begin{equation}
G = M^{-1} N
\end{equation}
where we have dropped the subscripts from \\(M\\) and \\(N\\) for simplicity.
A perturbed plant model \\(G\_p\\) can then we written has
\begin{equation}
G\_p = (M + \Delta\_M)^{-1} (N + \Delta\_N)
\end{equation}
where \\(\Delta\_M\\), \\(\Delta\_N\\) are stable unknown transfer functions which represent the uncertainty in the nominal plant \\(G\\).<br/>
The objective of robust stabilization is to stabilize not only the nominal model \\(G\\), but a family of perturbed plants defined by
For the perturbed feedback system of Fig. [50](#org97456ed), the stability property is robust if and only if the nominal feedback system is stable and
\begin{equation\*}
\gamma \triangleq \hnorm{\begin{bmatrix}
K \\\\\\
I
\end{bmatrix} (I - GK)^{-1} M^{-1}} \le \frac{1}{\epsilon}
Notice that \\(\gamma\\) is the \\(\hinf\\) norm from \\(\phi\\) to \\(\begin{bmatrix}u \cr y\end{bmatrix}\\) and \\((I-GK)^{-1}\\) is the sensitivity function for this positive feedback arrangement.
where \\(\\|\ \cdot\ \\|\_H\\) denotes Hankel norm, \\(\rho\\) denotes the spectral radius (maximum eigenvalue), and for a minimal state space realization of G, Z is the unique positive definite solution of the algebraic Riccati equation
\begin{align\*}
(A - BS^{-1} D^TC)Z &+ Z(A - BS^{-1}D^TC)^T \\\\\\
The Matlab function `coprimeunc` can be used to generate the controller in \eqref{eq:control_coprime_factor}.
It is important to emphasize that since we can compute \\(\gamma\_\text{min}\\) from \eqref{eq:gamma_min_coprime} we get an explicit solution by solving just two Riccati equations and avoid the \\(\gamma\text{-iteration}\\) needed to solve the general \\(\mathcal{H}\_\infty\\) problem.
{{<figuresrc="/ox-hugo/skogestad07_shaped_plant.png"caption="Figure 51: The shaped plant and controller">}}
The controller \\(K\_s\\) is synthesized by solving the robust stabilization problem for the shaped plant \\(G\_s\\) with a normalized left coprime factorization \\(G\_s = M\_s^{-1}N\_s\\).
The feedback controller for the plant \\(G\\) is then \\(K = W\_1 K\_s W\_2\\).<br/>
Systematic procedure for \\(\hinf\\) loop-shaping design:
1.**Scale the plant outputs and inputs**.
This is very important for most design procedures.
In general, scaling improves the conditioning of the design problem, it enables meaningful analysis to be made of the robustness properties of the feedback system in the frequency domain, and for loop shaping it can simplify the selection of weights:
- The outputs are scaled such that equal magnitudes of cross-coupling into each of the outputs is equally undesirable
- Each input is scaled by a given percentage (say \\(\SI{10}{\%}\\)) of its expected range of operation.
That is, the inputs are scaled to reflect the relative actuator capabilities.
2.**Order the inputs and outputs** so that the plant is as diagonal as possible.
The relative gain array can be useful here.
The purpose of this pseudo-diagonalization is to ease the design of the pre and post compensators which, for simplicity, will be chosen to be diagonal.
Next, we discuss the selection of weights to obtain the shaped plant \\(G\_s = W\_2 G W\_1\\) where \\(W\_1 = W\_p W\_a W\_g\\)
3.**Select the elements of diagonal pre and post compensators** \\(W\_p\\) and \\(W\_2\\) so that the singular values of \\(W\_2 G W\_p\\) are desirable.
This would normally mean high gain at low frequencies, a slope of about \\(-1\\) at the desired bandwidth(s), with higher rates at high frequencies.
The weights should be chosen so that no unstable hidden modes are created in \\(G\_s\\)
- \\(W\_2\\) is usually chosen as a constant, reflecting the relative importance of the outputs to be controlled and the other measurements being fed back to the controller
- \\(W\_p\\) contains the dynamic shaping. Integral action, for low frequency performance; phase-advance for reducing the roll-off rates at crossover; and phase-lag to increase the roll-off rates at high frequencies should all be places in \\(W\_p\\) is desired
4._Optional_: Align the singular values at a desired bandwidth using a further constant weight \\(W\_a\\) cascaded with \\(W\_p\\)
5._Optional_: Introduce an additional gain matrix \\(W\_g\\) cascaded with \\(W\_a\\) to provide control over actuator range. \\(W\_g\\) is diagonal and is adjusted so that actuator rate limits are not exceeded for reference demands and typical disturbances on the scaled plant outputs
6.**Robustly stabilize the shaped plant** \\(G\_s = W\_2 G W\_1\\) where \\(W\_1 = W\_p W\_a W\_g\\)
- First, calculate the maximum stability margin \\(\epsilon\_{\text{max}} = 1/\gamma\_\text{min}\\)
- If the margin is too small, \\(\epsilon\_{\text{max}} <0.25\\),thengobacktostep4andmodifytheweights.Otherwise,select \\(\gamma> \gamma\_\text{min}\\), by about \\(\SI{10}{\%}\\), and synthesize a sub-optimal controller. There is usually no advantage to be gained by using the optimal controller
- When \\(\epsilon\_{\text{max}} > 0.25\\) (respectively \\(\gamma\_\text{min} <4\\))thedesignisusuallysuccessful.Inthiscase,atleast \\(\SI{25}{\%}\\)coprimefactoruncertaintyisallowed,andwealsofindthattheshapeoftheopen-loopsingularvalueswillnothavechangedmuchafterrobuststabilization
- A small value of \\(\epsilon\_{\text{max}}\\) indicates that the chosen singular value loop-shapes are incompatible with robust stability requirements
7.**Analyze the design** and if not all the specification are met, make further modifications to the weights
{{<figuresrc="/ox-hugo/skogestad07_shapping_practical_implementation.png"caption="Figure 52: A practical implementation of the loop-shaping controller">}}
We will conclude this section with a summary of the **advantages** offered by the above \\(\hinf\\) loop-shaping design procedure:
- It is relatively easy to use, being based on classical loop-shaping ideas
- There exists a closed formula for the \\(\hinf\\) optimal cost \\(\gamma\_\text{min}\\), which in turn corresponds to a maximum stability margin \\(\epsilon\_{\text{max}} = 1/\gamma\_\text{min}\\)
- No \\(\gamma\text{-iteration}\\) is required in the solution
- Except for special systems, ones with all-pass factors, there are no pole-zero cancellations between the plant and controller.
Pole-zeros cancellations are common in many \\(\hinf\\) control problems and are a problem when the plant has lightly damped modes
#### Two Degrees-of-freedom Controllers {#two-degrees-of-freedom-controllers}
Many control design problems possess two degrees-of-freedom:
- on one hand, **measurement of feedback signals**
- and on the other hand, **commands and reference**
Sometimes, one degree-of-freedom is left out of the design, and the controller is driven by an error signal i.e. the difference between a command and the output.
But in cases where stringent time-domain specifications are set on the output response, a one degree-of-freedom structure may not be sufficient.<br/>
The presented \\(\mathcal{H}\_\infty\\) loop-shaping design procedure in section is a one-degree-of-freedom design, although a **constant** pre-filter can be easily implemented for steady-state accuracy.
The feedback part of the controller \\(K\_2\\) is designed to meet robust stability and disturbance rejection requirements.
A prefilter is introduced to force the response of the closed-loop system to follow that of a specified model \\(T\_{\text{ref}}\\), often called the **reference model**.
The design problem is to find the stabilizing controller \\(K = [K\_1,\ K\_2]\\) for the shaped plant \\(G\_s = G W\_1\\), with a normalized coprime factorization \\(G\_s = M\_s^{-1} N\_s\\), which minimizes the \\(\mathcal{H}\_\infty\\) norm of the transfer function between the signals \\([r^T\ \phi^T]^T\\) and \\([u\_s^T\ y^T\ e^T]^T\\) as defined in Fig. [54](#org1ff3e15).
\\(T\_{\text{ref}}\\) is the desired closed-loop transfer function and \\(\rho\\) is a scalar parameter that the designer can increase to place more emphasis on model matching in the optimization at the expense of robustness.<br/>
The main steps required to synthesize a two degrees-of-freedom \\(\mathcal{H}\_\infty\\) loop-shaping controller are:
2. Select a desired closed-loop transfer function \\(T\_{\text{ref}}\\) between the commands and controller outputs
3. Set the scalar parameter \\(\rho\\) to a small value greater than \\(1\\); something in the range \\(1\\) to \\(3\\) will usually suffice
4. For the shaped \\(G\_s = G W\_1\\), the desired response \\(T\_{\text{ref}}\\), and the scalar parameter \\(\rho\\), solve the standard \\(\mathcal{H}\_\infty\\) optimization problem to a specified tolerance to get \\(K = [K\_1,\ K\_2]\\)
5. Replace the prefilter \\(K\_1\\) by \\(K\_1 W\_i\\) to give exact model-matching at steady-state.
6. Analyze and, if required, redesign making adjustments to \\(\rho\\) and possibly \\(W\_1\\) and \\(T\_{\text{ref}}\\)
The single degree-of-freedom \\(\mathcal{H}\_\infty\\) loop-shaping controller can be realized as an observer for the shaped plant plus a state feedback control law:
For implementation purposes, discrete-time controllers are usually required.
These can be obtained from a continuous-time design using a **bilinear transformation** from the \\(s\text{-domain}\\) to the \\(z\text{-domain}\\), but there can be advantages in being able to design directly in discrete time.
##### Anti-windup {#anti-windup}
In \\(\hinf\\) loop-shaping the pre compensator weight \\(W\_1\\) would normally include integral action in order to reject low frequency disturbances acting on the system.
However, in the case of actuator saturation, the integrators continue to integrate their input and hence cause **windup** problems.
An anti-windup scheme is therefore required on the weighting function \\(W\_1\\).
The approach we recommend is to implement the weight \\(W\_1\\) in its self-conditioned or Hanus form.
where \\(u\_a\\) is the **actual plant input**, that is the measurement at the **output of the actuators** which therefore contains information about possible actuator saturation.
The Hanus form prevents windup by keeping the states of \\(W\_1\\) consistent with the actual plant input at all times.
When there is no saturation, \\(u\_a=u\\), the dynamics of \\(W\_1\\) remains unaffected.
But when \\(u\_a\neq u\\), the dynamics are inverted and driven by \\(u\_a\\) so that the states remain consistent with the actual plant input \\(u\_a\\).
Notice that such an implementation requires \\(W\_1\\) to be invertible and minimum phase.
##### Bumpless transfer {#bumpless-transfer}
When multi-mode switched controller is designed, one should ensure **smooth transition from one controller to the other** (bumpless transfer).
It was found useful to condition the reference models and the observers in each of the controllers.
When on-line, the observer state evolves according to
where \\(u\_{as}\\) is the actual input to the shaped plant governed by the on-line controller.
Doing so ensure that the inputs to the shaped plant for the off-line controller follows the actual shaped plant input \\(u\_{as}\\) given by the on-line controller.
The observer based structure of the \\(\mathcal{H}\_\infty\\) loop-shaping controller is then helpful for such technique.
### Conclusion {#conclusion}
Several methods and techniques for controller design have been described.
The emphasis has been on \\(\hinf\\) loop shaping which is easy to apply and works well in practice.
It combines classical loop-shaping ideas with an effective method for robustly stabilizing the feedback loop.<br/>
For complex problems, such as unstable plants with multiple gain crossover frequencies, it may not be easy to decide on a desired loop shape.
In which case, we would suggest doing an initial LQG design (with simple weights) and using the resulting loop shape as the desired one for the \\(\hinf\\) loop shaping.<br/>
And alternative to \\(\hinf\\) loop shaping is a standard \\(\hinf\\) design with a stacked cost function such as in \\(S/KS\\) mixed-sensitivity optimization.
In this approach, \\(\hinf\\) optimization is used to shape two or sometimes three closed-loop transfer functions.
However, with more functions, the shaping becomes increasingly difficult for the designer.<br/>
In other design situations where there are several performance objectives, it may be more appropriate to follow a signal-based \\(\htwo\\) or \\(\hinf\\) approach.
But again, the problem formulations become so complex that the designer has little direct influence on the design.<br/>
After a design, the resulting controller should be analyzed with respect to robustness and tested using nonlinear simulations.
For the study of robustness, we recommend \\(\mu\text{-analysis}\\). If the design is not robust, then the weights should be modified.
Sometimes, one might consider synthesizing a \\(\mu\text{-optimal}\\) controller, but this complexity is rarely necessary in practice.
Moreover, one should be careful about combining controller synthesis and analysis into a single step.
In previous sections, we considered the general problem formulation in Fig. [57](#org26a1f1c) and stated that the controller design problem is to find a controller \\(K\\) which based on the information in \\(v\\), generates a control signal \\(u\\) which counteracts the influence of \\(w\\) on \\(z\\), thereby minimizing the closed loop norm from \\(w\\) to \\(z\\).
{{<figuresrc="/ox-hugo/skogestad07_general_control_names_bis.png"caption="Figure 57: General Control Configuration">}}
In this chapter we are concerned with the **structural decisions** associated with the following selection tasks of control structure design:
-**Controlled outputs**: What are the variables \\(z\\)?
-**Manipulations and measurements**: What are the variable set \\(u\\) and \\(v\\)?
-**Control configuration**: What is the structure of \\(K\\)?
-**Controller type**: What algorithm is used for \\(K\\)?
The distinction between the words under control _structure_ and control _configuration_ are significant.
The _control structure_ refers to all structural decisions included in the design of a control system.
On the other hand, the _control configuration_ refers only to the structuring of the controller \\(K\\) itself.<br/>
Ideally, the tasks involved in designing a complete control system are performed sequentially; first a "top down" selection of controller outputs, measurements and inputs, and then a "bottom up" design of the control system in which the selection of the control configuration is the most important decision.
However, in practice the tasks are closely related so the procedure may involve iteration.<br/>
One important reason for decomposing the control system into a specific _control configuration_ is that it may **allow for simple tuning** of the sub-controllers **without the need for a detailed plant model** describing the dynamics and interactions in the process.
Multivariable centralized controllers may always outperform decomposed (decentralized) controllers, bus this performance gain must be traded off against the cost of obtaining and maintaining a sufficiently detailed plant model.<br/>
The number of possible control structure is usually very large.
Fortunately, we can often from physical insight obtain a reasonable choice of controlled outputs, measurements and manipulated inputs.
### Optimization and Control {#optimization-and-control}
The selection of controlled outputs involves selecting the variables \\(y\\) to be controlled at given reference values \\(y \approx r\\).
The reference value \\(r\\) is usually set at some higher layer in the control hierarchy which is often divided into two layers:
-**Optimization layer**: computes the desired reference commands \\(r\\)
-**Control layer**: implements these commands to achieve \\(y \approx r\\)
In general, the information flow in such a control hierarchy is based on the higher layer sending reference values (setpoints) to the layer below reporting back any problems achieving this (see Fig. [6](#org72131f5)).
There is usually a time scale separation between the layers which means that the **setpoints**, as viewed from a given layer, are **updated only periodically**.<br/>
The optimization tends to be performed open-loop with limited use of feedback. On the other hand, the control layer is mainly based on feedback information.
The **optimization is often based on nonlinear steady-state models**, whereas we often use **linear dynamic models in the control layer**.<br/>
From a theoretical point of view, the optimal performance is obtained with a **centralized optimizing controller**, which combines the two layers of optimizing and control (see Fig. [6](#org44604ac)).
All control actions in such an ideal control system would be perfectly coordinated and the control system would use on-line dynamic optimization based on nonlinear dynamic model of the complete plant.
However, this solution is normally not used for a number a reasons, included the cost of modeling, the difficulty of controller design, maintenance, robustness problems and the lack of computing power.
| <aid="orgfa04d5d"></a> Open loop optimization | <aid="org72131f5"></a> Closed-loop implementation with separate control layer | <aid="org44604ac"></a> Integrated optimization and control |
### Selection of Controlled Outputs {#selection-of-controlled-outputs}
A **controlled output** is an output variable (usually measured) with an associated control objective (usually a reference value).
In many cases, it is clear from a physical understanding of the process what the controlled outputs should be.
In other cases, it is less obvious because each control objective may not be associated with a measured output variable.<br/>
In the following, we let \\(y\\) denote the selected controller outputs in the control layer.
Two distinct questions arise:
1. What variables \\(y\\) should be selected?
2. What is the optimal reference value \\(y\_\text{opt}\\)?
For the first problem, we make the following assumptions:
1. The overall goal can be quantified in terms of a **scalar cost function** \\(J\\) which we want to minimize
2. For a given disturbance \\(d\\), there exists an optimal value \\(u\_\text{opt}(d)\\) and corresponding value \\(y\_\text{opt}(d)\\) which minimizes the cost function \\(J\\)
3. The reference values \\(r\\) for the controlled outputs \\(y\\) should be constant, i.e. \\(r\\) should be independent of the disturbances \\(d\\)
The system behavior is a function of the independent variables \\(u\\) and \\(d\\): \\(J = J(u, d)\\).
For a given disturbance \\(d\\) the optimal value of the cost function is
We conclude that we should select \\(y\\) such that:
1. \\(G^{-1}\\) is small: the inputs have a large effect on \\(y\\)
2. \\(e\_\text{opt} = r - y\_\text{opt}(d)\\) is small: its optimal value \\(y\_\text{opt}(d)\\) depends only weakly on the disturbances and other changes
3. \\(e = y - r\\) is small: it is easy to keep the control error \\(e\\) small
Note that \\(\overline{\sigma}(G^{-1}) = 1/\underline{\sigma}(G)\\) and so **we want the smallest singular value of the steady state gain matrix to be large**.
As this depends of scaling, we should first **scale the outputs** such that the expected magnitude of \\(y\_i - y\_{i\_\text{opt}}\\) is similar in magnitude for each output, and **scale the inputs** such that the effect of a given deviation \\(u\_j - u\_{j\_\text{opt}}\\) on the cost function \\(J\\) is similar for each input.<br/>
1. Scale the candidate outputs such that for each output the sum of the magnitudes of \\(v\_i\\) and the control error (\\(e\_i\\), including measurement noise \\(n\_i\\)) is similar (e.g. \\(|v\_i| + |e\_i| = 1\\))
2. Scale the inputs such that a unit deviation in each input from its optimal value has the same effect on the cost function \\(J\\)
3. Select as candidates those sets of controlled outputs which corresponds to a large value of \\(\underline{\sigma}(G)\\).
\\(G\\) is the transfer function for the effect of the scaled inputs on the scaled outputs
</div>
#### Summary {#summary}
Generally, the optimal values of all variables will change with time during operation.
If the loss imposed by keeping constant setpoints is acceptable, then we have self-optimizing control.
The objective of the control layer is then to keep the controlled outputs at their reference values (which are computed by the optimization layer).<br/>
The controlled outputs are often measured, but we may also estimated their values based on other measured variables.
We may also use other measurements to improve the control of the controlled outputs, for example, by use of cascade control.
Thus, the selection of controlled and measured outputs are two separate issues.
### Selection of Manipulations and Measurements {#selection-of-manipulations-and-measurements}
Note that **the measurements** \\(v\\) used by the controller **are in general different from the controlled variables** \\(z\\) because we may not be able to measure all the controlled variables and we may want to measure and control additional variables in order to:
- Stabilize the plant, or more generally change its dynamics
- Improve local disturbance rejection
##### Stabilization {#stabilization}
We usually start of controller design by designing a lower-layer controller to stabilize the plant.
The issue is then: which outputs and inputs should be used for stabilization?
A reasonable objective is to minimize the required input usage of the stabilizing control system.
##### Local disturbance rejection {#local-disturbance-rejection}
For measurements, the rule is generally to select those which have a **strong relationship with the controlled outputs**, or which may **quickly detect a major disturbance**.
The selected manipulations should have a **large effect on the controlled outputs** and should be located "close" (in terms of dynamic response) to the outputs and measurements.<br/>
To evaluate the combinations of manipulations and measurements, one may perform an **input-output controllability analysis** for each combination (e.g. consider the minimum singular values, RHP-zeros, interactions, etc).
A more involved approach would be to perform a achievable robust performance analysis.
An even more involved (and exact) approach would be to synthesize controllers for optimal robust performance for each candidate combination.
However, the number of combination has a combinatorial growth and the analysis may become very time-consuming.
### RGA for Non-Square Plant {#rga-for-non-square-plant}
A simple but effective tool for selecting inputs and outputs, which avoids to combinatorial problem is the **Relative Gain Array** (RGA) of the "big" transfer matrix \\(G\_\text{all}\\) with all candidates inputs and outputs included:
Essentially, one may consider not using those manipulations \\(u\\) corresponding to columns in the RGA where the sum of the elements is much smaller than 1.
Similarly, one may consider not using those outputs \\(v\\) corresponding to rows in the RGA where the sum of the elements is much small than 1.
### Control Configuration Elements {#control-configuration-elements}
We now assume that the measurements, manipulations and controlled outputs are fixed.
The available synthesis theories presented in this book result in a _multivariable controller_ \\(K\\) which connects all available measurements \\(v\\) with all available manipulations \\(u\\):
We define the **control configuration** to be the restrictions imposed on the overall controller \\(K\\) by decomposing it into a set of **local controllers** with predetermined links and with a possibly predetermined design sequence where subcontrollers are designed locally.
</div>
Some elements used to build up a specific control configuration are:
-**Cascade controllers**. The output from one controller is the input to another
-**Decentralized controllers**. The control system consists of independent feedback controllers which interconnect a subset of the output measurements with a subset of the manipulated inputs.
These subsets should not be used by any other controller
-**Feedforward elements**. Link measured disturbances and manipulated inputs
-**Decoupling elements**. Link one set of manipulated inputs with another set of manipulated inputs.
They are used to improve the performance of decentralized control systems.
-**Selectors**: used to select for control, depending on the conditions of the system, a subset of the manipulated inputs or a subset of the outputs
In addition to restrictions on the structure of \\(K\\), we may impose restrictions on **in which sequence the subcontrollers are designed**.
For most decomposed control systems, we design the controllers sequentially, starting with the "fast" or "inner" or "lower-layer" control loops.<br/>
The choice of control configuration leads to two different ways of partitioning the control system:
-**Vertical decomposition**. This usually results from a sequential design of the control system
-**Horizontal decomposition**. This usually involves a set of independent decentralized controllers
Of course, a **performance loss** is inevitable if we decompose the control system.
For example, if we select a poor configuration at the lower control layer, then this may pose fundamental limitations on the achievable performance (RHP zeros, strong interactions, etc).
#### Cascade Control Systems {#cascade-control-systems}
We here use SISO controllers of the form
\begin{equation}
u\_i = K\_i(s) (r\_i - y\_i)
\end{equation}
where \\(K\_i(s)\\) is a scalar.
Then when a SISO control loop is closed, we lose the input \\(u\_i\\) as a degree-of-freedom but the reference \\(r\_i\\) becomes a new degree-of-freedom.<br/>
A cascade control structure results when either of the following two situations arise:
- The reference \\(r\_i\\) is an output from another controller.
Note that the output \\(r\_2\\) from the slower primary controller \\(K\_1\\) is not a manipulated plant input, but rather the reference input to the faster secondary controller \\(K\_2\\).
Cascades based on measuring the actual manipulated variable (\\(y\_2 = u\_m\\)) are commonly used to **reduce uncertainty and non-linearity at the plant input**.
In the general case (Fig. [7](#orgfd3fab2)) \\(y\_1\\) and \\(y\_2\\) are not directly related to each other, and this is sometimes referred to as _parallel cascade control_.
However, it is common to encounter the situation in Fig. [59](#org860571e) where the primary output \\(y\_1\\) depends directly on \\(y\_2\\) which is a special case of Fig. [7](#orgfd3fab2).
With reference to the special (but common) case of cascade control shown in Fig. [59](#org860571e), the use of **extra measurements** is useful under the following circumstances:
- The disturbance \\(d\_2\\) is significant and \\(G\_1\\) is non-minimum phase.
If \\(G\_1\\) is minimum phase, the input-output controllability of \\(G\_2\\) and \\(G\_1 G\_2\\) are the same and there is no fundamental advantage in measuring \\(y\_2\\)
- The plant \\(G\_2\\) has considerable uncertainty associated with it and the inner loop serves to remove the uncertainty.
The inner loop \\(L\_2 = G\_2 K\_2\\) removes the uncertainty if it is sufficiently fast and yields a transfer function \\((I + L\_2)^{-1} L\_2\\) close to \\(I\\) at frequencies where \\(K\_1\\) is active.
{{<figuresrc="/ox-hugo/skogestad07_cascade_control.png"caption="Figure 59: Common case of cascade control where the primary output \\(y\_1\\) depends directly on the extra measurement \\(y\_2\\)">}}
In terms of design, it is recommended to first design \\(K\_2\\) to minimize the effect of \\(d\_2\\) on \\(y\_1\\) and then to design \\(K\_1\\) to minimize the effect of \\(d\_1\\) on \\(y\_1\\).
#### Cascade Control: Extra Inputs {#cascade-control-extra-inputs}
In some cases we have more manipulated inputs than controlled outputs.
and we see that the output from the fast controller \\(K\_2\\) is the "measurement" for the slow controller \\(K\_1\\).
The cascade implementation again has the **advantage of decoupling the design of the two controllers**.
It also shows more clearly that \\(r\_{u\_2}\\), the reference for \\(u\_2\\), may be used as a degree-of-freedom at higher layers in the control system.
Consider the system in Fig. [60](#org097dc0e) with two manipulated inputs (\\(u\_2\\) and \\(u\_3\\)), one controlled output (\\(y\_1\\) which should be close to \\(r\_1\\)) and two measured variables (\\(y\_1\\) and \\(y\_2\\)).
Input \\(u\_2\\) has a more direct effect on \\(y\_1\\) than does input \\(u\_3\\) (there is a large delay in \\(G\_3(s)\\)).
Input \\(u\_2\\) should only be used for transient control as it is desirable that it remains close to \\(r\_3 = r\_{u\_2}\\).
The extra measurement \\(y\_2\\) is closer than \\(y\_1\\) to the input \\(u\_2\\) and may be useful for detecting disturbances affecting \\(G\_1\\).
Controller \\(K\_1\\) controls the primary output \\(y\_1\\) at its reference \\(r\_1\\) by adjusting the "input" \\(\hat{u}\_1\\), which is the reference value for \\(y\_2\\).
Controller \\(K\_2\\) controls the secondary output \\(y\_2\\) using input \\(u\_2\\).
Finally, controller \\(K\_3\\) manipulates \\(u\_3\\) slowly in order to reset input \\(u\_2\\) to its desired value \\(r\_3\\).
We would probably tune the three controllers in the order \\(K\_2\\), \\(K\_3\\), and \\(K\_1\\).
{{<figuresrc="/ox-hugo/skogestad07_cascade_control_two_layers.png"caption="Figure 60: Control configuration with two layers of cascade control">}}
#### Selectors {#selectors}
##### Slip-range control for extra input {#slip-range-control-for-extra-input}
Sometimes the input constraints make it necessary to add a manipulated input.
In this case the control range is often split such that, for example, \\(u\_1\\) is used for control when \\(y \in [y\_\text{min}, y\_1]\\) and \\(u\_2\\) is used when \\(y \in [y\_1, y\_\text{max}]\\).
##### Selector for too few inputs {#selector-for-too-few-inputs}
A completely different situation occurs if there are fewer inputs than outputs.
In such case, we cannot control all the outputs independently, so we either need to control all the outputs in some average manner, or we need to make a choice about which outputs are the most important to control.
Selectors are often used for the latter option.
#### Why use Cascade and Decentralized Control? {#why-use-cascade-and-decentralized-control}
Decomposed control configuration can easily become quite complex and difficult to maintain and understand.
It may therefore be both simpler and better in terms of control performance to set up the controller design problem as an optimization problem and let the computer do the job, resulting in a **centralized multivariable controller**.<br/>
However, there are a **number of reason why cascade and decentralized control are used in practice**.
The most important one is the **cost associated with obtaining good plant models**, which are a prerequisite for applying multivariable control.
Since cascade and decentralized control systems depend more strongly on feedback rather than models as their source of information, it is usually more important (relative to centralized multivariable control) that the fast control loops be tuned to respond quickly.
The cascade and decentralized control are often easier to understand, their tuning parameters have a direct and "localized" effect, and they tend to be **less sensitive to uncertainty**.<br/>
The **main challenge** is then to find a control configuration which allows the controllers to be tuned independently based on a minimum of model information.
To be able to tune the controllers independently, we must require that the loops interact only to a limited extent.
For example, one desirable property is that the steady-state gain from \\(u\_i\\) to \\(y\_i\\) in an "inner" loop does not change too much as outer loops are closed.
### Hierarchical and Partial Control {#hierarchical-and-partial-control}
Assume now that feedback control \\(u\_2 = K\_2(r\_2 - y\_2 - n\_2)\\) is used for the "secondary" subsystem involving \\(u\_2\\) and \\(y\_2\\) (Fig. [61](#org192bdd8)).
The selection of \\(u\_2\\) and \\(y\_2\\) for use in the lower-layer control system can be done with the following criteria:
- The lower-layer must quickly implement the setpoints computed by the higher layers, that is, the input-output controllability of the subsystem involving the use of \\(u\_2\\) to control \\(y\_2\\) should be good (consider \\(G\_{22}\\) and \\(G\_{d2}\\))
- The control of \\(y\_2\\) using \\(u\_2\\) should provide local disturbance rejection, that is, it should minimize the effect of disturbances on \\(y\_1\\)
- The control of \\(y\_2\\) using \\(u\_2\\) should not impose unnecessary control limitations (RHP-zero, ill-conditioning, etc.) on the remaining control problem which involves using \\(u\_1\\) to control \\(y\_1\\)
</div>
##### Sequential design of cascade control systems {#sequential-design-of-cascade-control-systems}
Consider the conventional cascade control system in Fig. [7](#orgfd3fab2) where we have additional "secondary" measurements \\(y\_2\\) with no associated control objective, and the objective is to improve the control of \\(y\_1\\) by locally controlling \\(y\_2\\).
From \eqref{eq:partial_control}, it follows that we should select \\(y\_2\\) and \\(u\_2\\) such that \\(\\|P\_d\\|\\) is small and at least smaller than \\(\\|G\_{d1}\\|\\).
These arguments particularly apply at high frequencies.
More precisely, we want the input-output controllability of \\([P\_u\ P\_r]\\) with disturbance model \\(P\_d\\) to be better that of the plant \\([G\_{11}\ G\_{12}]\\) with disturbance model \\(G\_{d1}\\).
#### "True" Partial Control {#true-partial-control}
We here consider the case where we attempt to leave a set of primary outputs \\(y\_1\\) uncontrolled.
This may be possible in cases where the outputs are correlated such that controlling the outputs \\(y\_2\\) indirectly gives acceptable control of \\(y\_1\\).
A set of outputs \\(y\_1\\) may be left uncontrolled only if the effects of all disturbances (including \\(r\_2\\)) on \\(y\_1\\), as expressed by the elements in the corresponding partial disturbance gain matrix \\(P\_d\\) are less than \\(1\\) in magnitude at all frequencies.
To evaluate the feasibility of partial control, one must for each choice of \\(y\_2\\) and \\(u\_2\\), rearrange the system as in \eqref{eq:partial_control_partitioning} and \eqref{eq:partial_control}, and compute \\(P\_d\\) using \eqref{eq:tight_control_y2}.
#### Measurement Selection for Indirect Control {#measurement-selection-for-indirect-control}
Assume the overall goal is to keep some variable \\(y\_1\\) at a given value \\(r\_1\\), e.g. our objective is to minimize \\(J = \\|y\_1 - r\_1\\|\\).
We assume that we cannot measure \\(y\_1\\), and instead we attempt to achieve our goal by controlling \\(y\_2\\) at a constant value \\(r\_2\\).
For small changes, we may assume linearity and write:
\begin{align\*}
y\_1 &= G\_1 u + G\_{d1} d\\\\\\
y\_2 &= G\_2 u + G\_{d2} d
\end{align\*}
With feedback control of \\(y\_2\\) we get \\(y\_2 = r\_2 + e\_2\\) where \\(e\_2\\) is the control error.
Scale the disturbances \\(d\\) to be of magnitude 1, and scale the outputs \\(y\_2\\) so that the expected control error \\(e\_2\\) (measurement noise) is of magnitude 1 for each outputs.
Then to minimize the control error for the primary output, \\(J = \\|y\_1 - r\_1\\|\\), we should select sets of controlled outputs which minimizes \\(\\|[ P\_d \ P\_r]\\|\\).
</div>
### Decentralized Feedback Control {#decentralized-feedback-control}
{{<figuresrc="/ox-hugo/skogestad07_decentralized_diagonal_control.png"caption="Figure 62: Decentralized diagonal control of a \\(2 \times 2\\) plant">}}
The design of **decentralized diagonal control systems** involves two steps:
1. The choice of pairing (control configuration selection)
The loop transfer function in loop \\(i\\) is denoted \\(L\_i = g\_{ii} k\_i\\).
#### RGA as a Measure of the Interaction for Decentralized Control {#rga-as-a-measure-of-the-interaction-for-decentralized-control}
Let \\(u\_j\\) and \\(y\_i\\) denote a particular input and output for the multivariable plant \\(G(s)\\) and assume that our task is to use \\(u\_j\\) to control \\(y\_i\\).
There are two extreme cases:
-**Other loops open**: \\(u\_k = 0, \forall k \neq j\\)
-**Other loops closed**: \\(y\_k = 0, \forall k \neq i\\).
It is assumed that the other loop are closed with perfect control which is a good approximation at frequencies within the bandwidth of each loop
We now evaluate the effect \\(\partial y\_i / \partial u\_j\\) for the two cases:
The ratio between the gains corresponding the two extreme cases is a useful **measure of interactions** and is defined as the \\(ij\text{'th}\\) **relative gain**:
Intuitively, we would like to pair variables \\(u\_j\\) and \\(y\_i\\) so that \\(\lambda\_{ij}\\) is close to \\(1\\), because this means that the gain from \\(u\_j\\) to \\(y\_i\\) is unaffected by closing the other loops.
More precisely, we would like to pair such that the rearranged system, with the pairings along the diagonal, has a RGA matrix close to identity.
</div>
#### Factorization of Sensitivity Function {#factorization-of-sensitivity-function}
The magnitude of the off-diagonal elements in \\(G\\) (the interactions) relative to its diagonal elements are given by the matrix
\begin{equation}
E \triangleq (G - \tilde{G})\tilde{G}^{-1}
\end{equation}
An important relationship for decentralized control is:
\begin{equation}
\tcmbox{\underbrace{(I + G K)}\_{\text{overall}} = \underbrace{(I + E \tilde{T})}\_{\text{interactions}} \quad \underbrace{(I + \tilde{G} K)}\_{\text{individual loops}}}
\end{equation}
or equivalently in terms of the sensitivity function:
Using the **spectral radius condition** on the factorized \\(S\\) in \eqref{eq:S_factorization}, we have that the overall system is stable (\\(S\\) is stable) if
\\(\mu(E)\\) is called the **structured singular value interaction measure**, and is computed with respect to the diagonal structure of \\(\tilde{T}\\) where we may view \\(\tilde{T}\\) as the "design uncertainty".
We usually would like to use integral action in the loops, that is we want \\(\tilde{T} \approx I\\) at low frequencies, i.e. \\(\maxsv(\tilde{T}) \approx 1\\).
Thus, we prefer pairings for which we have \\(\mu(E) <1\\)atlowfrequencieswherewehavetightcontrol.
This ensures a "generalized diagonal dominance".<br/>
**Sufficient conditions in terms of RGA**.
Suppose the plant \\(G(s)\\) is stable. If the RGA-matrix \\(\Lambda(G) = I\ \forall\omega\\) (which can only arise for a triangular plant \\(G(s)\\)), then stability of each of the individual loops implies stability of the entire system.
In most cases, it is sufficient for overall stability to require that \\(G(j\omega)\\) is close to triangular (or \\(\Lambda(G) \approx I\\)) at crossover frequencies.
To achieve stability with decentralized control, prefer pairings such that at frequencies \\(\omega\\) around crossover, the rearranged matrix \\(G(j\omega)\\) (with the paired elements along the diagonal) is close to triangular.
This is equivalent to requiring \\(\Lambda(G(j\omega)) \approx I\\), i.e. the RGA-number \\(\\|\Lambda(G(j\omega)) - I\\|\_\text{sum}\\) should be small.
</div>
##### Necessary steady-state conditions for stability {#necessary-steady-state-conditions-for-stability}
A desirable property of a decentralized control system is that it has **integrity**, i.e. the closed loop system should remain stable as subsystem controllers are brought in and out of service.
Mathematically, the system possesses integrity if it remains stable when the controller \\(K\\) is replace by \\(\mathbb{E}K\\) where \\(\mathbb{E} = \text{diag}\\{\epsilon\_i\\}, \ \epsilon\_i=0,1\\).<br/>
An even stronger requirement is that the system remains stable as the gain in various loops are reduced: \\(0 \le \epsilon\_i \le 1\\).
The plant \\(G(s)\\) (corresponding to a given pairing with the paired elements along its diagonal) is **Decentralized Integral Controllability** (DIC) if there exists a stabilizing decentralized controller with **integral action in each loop** such that each individual loop may be detuned independently by a factor \\(\epsilon\_1\\) (\\(0 \le \epsilon\_i \le 1\\)) without introducing instability.
</div>
**Steady-State RGA and DIC**.
Consider a stable square plant \\(G\\) and a diagonal controller \\(K\\) with integral action in all elements, and assume that the loop transfer function \\(GK\\) is strictly proper.
If a pairing of outputs and manipulated inputs corresponds to a **negative steady-state relative gain**, then the closed-loop system has at least one of the following properties:
- The overall closed-loop system is unstable
- The loop with the negative relative gain is unstable by itself
- The closed-loop system is unstable if the loop with the negative relative gain is opened
&\text{is DIC only if } \lambda\_{ii}(0) \ge 0 \text{ for all } i
\end{aligned}
\end{equation}
</div>
#### The RGA and RHP-zeros: Further reasons for not pairing on negative RGA elements {#the-rga-and-rhp-zeros-further-reasons-for-not-pairing-on-negative-rga-elements}
With decentralized control, we usually design and implement the controller by tuning and closing one loop at a time in a sequential manner.
Assume that we pair on a negative steady-state RGA-element, \\(\lambda\_{ij}(0) <0\\),assumethat \\(\lambda\_{ij}(\infty)\\)ispositive,andassumethattheelement \\(g\_{ij}\\)hasnoRHP-zero.
We have the following implications:
- If we start by closing the loop involving input \\(u\_i\\) and \\(y\_j\\), then we will get a RHP-zero in \\(G^{ij}(s)\\) which will limit the performance in the other outputs
- If we end by closing this loop, then we will get a RHP-zero in \\(\hat{g}\_{ij}(s)\\) which will limit the performance in output \\(y\_i\\)
For a \\(3 \times 3\\) plant there are 6 alternative pairings.
From the steady state RGA, we see that there is only one positive element in columns 2, and only positive element in row 3, and therefore there is only on possible pairing if we require DIC:
G(s) &= \frac{-s + 1}{(5 s + 1)^2} \begin{bmatrix}
1 & 4 & -26 \\\\\\
6.2 & 1 & -26 \\\\\\
1 & 1 & 1
\end{bmatrix}\\\\\\
\Lambda(G) &= \begin{bmatrix}
1 & 5 & -5 \\\\\\
-5 & 1 & 5 \\\\\\
5 & -5 & 1
\end{bmatrix}
\end{align\*}
Only two of the six possible pairings gives positive steady-state RGA-elements: the diagonal pairing on all \\(\lambda\_{ii} = 1\\) or the pairing on all \\(\lambda\_{ii} = 5\\).
Intuitively, one may expect pairing with \\(\lambda\_{ii} = 1\\) since it corresponds to pairing on RGA-elements equal to \\(1\\).
However, the RGA matrix is far from identify, and the RGA-number \\(\\| \Lambda - I \\|\_\text{sum} = 30\\) for both alternative.
Thus none of the two alternatives satisfy _Pairing Rule 1_, and decentralized control should not be used for this plant.
</div>
#### Performance of Decentralized Control Systems {#performance-of-decentralized-control-systems}
To study performance, we use the following factorization
\begin{equation}
S = (I + \tilde{S}(\Gamma - I)^{-1}) \tilde{S} \Gamma
\end{equation}
where \\(\Gamma\\) is the **Performance Relative Gain Array** (PRGA)
At frequencies where feedback is effective (\\(\tilde{S} \approx 0\\)), \\(S \approx \tilde{S} \Gamma\\) which shows that \\(\Gamma\\) is important when evaluating performance with decentralized control.<br/>
Note that the diagonal elements of the PRGA-matrix are equal to the diagonal elements of the RGA and that the off-diagonal elements of the PRGA depend on the relative scaling on the outputs which is not the case for the RGA.<br/>
We will also use the related **Closed-Loop Disturbance Gain** (CLDG) matrix:
which is the same as the SISO-condition except that \\(G\_d\\) is replaced by the CLDG.
In words, \\(\tilde{g}\_{di}\\) gives the "apparent" disturbance gain as seen from the loop \\(i\\) when the system is controlled using decentralized control.
##### Single reference change {#single-reference-change}
Consider a change in reference for output \\(j\\) of magnitude \\(R\_j\\).
Consider frequencies where feedback is effective.
Then for **acceptable reference tracking** (\\(|e\_i|<1\\))wemustrequireforeachloop \\(i\\)
which is the same as the SISO-condition except for the PRGA-factor \\(|\gamma\_{ij}|\\).
Consequently, for performance it is desirable to have small elements in \\(\Gamma\\), at least at frequencies where feedback is effective.
However, at frequencies close to crossover, stability is the main issue and since the diagonal elements of the PRGA and RGA are equal, we usually prefer to have \\(\gamma\_{ii}\\) close to \\(1\\).
#### Summary: Controllability Analysis for Decentralized Control {#summary-controllability-analysis-for-decentralized-control}
When considering decentralized diagonal control of a plant, one should first check that the plant is controllable with any controller.
The next step is to compute the RGA matrix as a function of frequency, and to determine if one can find a good set of input-output pairs bearing in mind the following:
1. Prefer pairings which have the **RGA-matrix close to identity at frequencies around crossover**, i.e. the RGA-number \\(\\|\Lambda(j\omega)-I\\|\\) should be small
2. Avoid a pairing \\(ij\\) with negative steady-state RGA elements \\(\lambda\_{ij}(G(0)\\)
3. Prefer a pairing \\(ij\\) where \\(g\_{ij}(s)\\) puts minimal restrictions on the achievable bandwidth.
Specifically, the frequency \\(\omega\_{uij}\\) where \\(\angle g\_{ij}(j\omega\_{uij}) = \SI{-180}{\degree}\\) should be as large as possible
This rule favors parings on variables "close to each other"
When a reasonable choice of pairings have been made, one should rearrange \\(G\\) to have the **paired elements along the diagonal** and perform a **controllability analysis**:
<olclass="org-ol">
<livalue="4">Compute the CLDG and PRGA, and plot these as a function of frequency</li>
<li>For systems with many loops, it is best to perform the analysis one loop at the time, that is, for each loop \\(i\\), plot \\(|\tilde{g}\_{dik}|\\) for each disturbance \\(k\\) and plot \\(|\gamma\_{ij}|\\) for each reference \\(j\\).
For performance, we need \\(|1 + L\_i|\\) to be larger than each of these:
To achieve stability of the individual loops, one must analyze \\(g\_{ii}(s)\\) to ensure that the bandwidth required by \eqref{eq:decent_contr_one_loop} is achievable.
Note that RHP-zeros in the diagonal elements may limit achievable decentralized control, whereas they may not pose any problems for a multivariable controller.
Since with decentralized control, we usually want to use simple controllers, the achievable bandwidth in each loop will be limited by the frequency where \\(\angle g\_{ii}\\) is \\(\SI{-180}{\degree}\\)</li>
<li>Check for constraints by considering the elements of \\(G^{-1} G\_d\\) and make sure that they do not exceed one in magnitude within the frequency range where control is needed.
Equivalently, one may for each loop \\(i\\), plot \\(|g\_{ii}|\\) and the requirement is then that
This can be used as a basis for designing the controller \\(k\_i(s)\\) for loop \\(i\\)</li>
</ol>
#### Sequential Design of Decentralized Controllers {#sequential-design-of-decentralized-controllers}
Usually the local controllers \\(k\_i(s)\\) are designed locally and then all the loops are closed.
One problem with this is that the **interactions** may cause the overall system \\(T\\) so be unstable, even though the local loops \\(\tilde{T}\\) are stable.
This will not happen if the plant is **diagonally dominant**, such that we satisfy, for example \\(\maxsv(\tilde{T}) <1/\mu(E)\\).<br/>
The stability problem is avoided if the controllers are **designed sequentially** when, for example, the bandwidths of the loops are quite different.
In this case, the outer loops are tuned with the inner loops in place, and each step may be considered as a SISO control problem.
In particular, overall stability is determined by \\(m\\) SISO stability conditions.
However, the issue of performance is more complicated because the closing of a loop may cause "disturbances" (interactions) into a previously designed loop.
The engineer must then go back and redesign a loop that has been designed earlier.
Thus sequential design may involve many iterations.
#### Conclusion on Decentralized Control {#conclusion-on-decentralized-control}
A number of **conditions for the stability**, e.g. \eqref{eq:decent_contr_cond_stability} and \eqref{eq:decent_contr_necessary_cond_stability}, and **performance**, e.g. \eqref{eq:decent_contr_cond_perf_dist} and \eqref{eq:decent_contr_cond_perf_ref}, of decentralized control systems have been derived.
The conditions may be useful in **determining appropriate pairings of inputs and outputs** and the **sequence in which the decentralized controllers should be designed**.
The conditions are also useful in an **input-output controllability analysis** for determining the viability of decentralized control.
Modern controller design methods such as \\(\mathcal{H}\_\infty\\) and LQG, produce controllers of order at least equal to that of the plant, and usually higher because of the inclusion of weights.
These control laws may be **too complex** with regards to **practical implementation** and simpler designs are then sought.
For this purpose, one can **either reduce the order of the plant model prior to controller design, or reduce the controller in the final stage**.<br/>
Given a high-order linear time-invariant stable model \\(G\\), find a low-order approximation \\(G\_a\\) such that the infinity (\\(\mathcal{H}\_\infty\\) or \\(\mathcal{L}\_\infty\\)) norm of the difference \\(\\|G - G\_a\\|\_\infty\\) is small.
</div>
By model order, we mean the dimension of the state vector in a minimal realization.
This is sometimes called the **McMillan degree**.<br/>
So far we have only been interested in the infinity (\\(\mathcal{H}\_\infty\\)) norm of stable systems.
But the error \\(G-G\_a\\) may be unstable and **the definition of the infinity norm needs to be extended to unstable systems**.
\\(\mathcal{L}\_\infty\\) defines the set of rational functions which have no poles on the imaginary axis, it includes \\(\mathcal{H}\_\infty\\), and its norm (like \\(\mathcal{H}\_\infty\\)) is given by
\begin{equation}
\\|G\\|\_\infty = \sup\_\omega \maxsv(G(j\omega))
\end{equation}
</div>
We will describe three main methods for this problem:
-**Balanced truncation**
-**Balanced residualization**
-**Optimal Hankel norm approximation**
Each method gives a **stable approximation** and a **guaranteed bound on the error in the approximation**.
We will further show how the methods can be employed to reduce the order of an **unstable** model \\(G\\).
All these methods start from a special state-space realization of \\(G\\) referred to as **balanced**.
We will describe this realization, but first we will show how the techniques of truncation and residualization can be used to remove the high frequency or fast modes of a state-space realization.
### Truncation and Residualization {#truncation-and-residualization}
Let \\((A,B,C,D)\\) be a minimal realization of a stable system \\(G(s)\\), and partition the state vector \\(x\\), of dimension \\(n\\), into \\(\begin{bmatrix}x\_1 \cr x\_2\end{bmatrix}\\) where \\(x\_2\\) is the vector of \\(n-k\\) states we wish to remove.
A k-th order truncation of the realization \\(G \triangleq (A, B, C, D)\\) is given by \\(G\_a \triangleq (A\_{11}, B\_1, C\_1, D)\\).
The truncated model \\(G\_a\\) is equal to \\(G\\) at infinite frequency \\(G(\infty) = G\_a(\infty) = D\\), but apart from this, we cannot say anything for the general case about the relationship between \\(G\\) and \\(G\_a\\).<br/>
If however, \\(A\\) is in **Jordan form**, then it is easy to **order the states** so that \\(x\_2\\) corresponds to **high frequency or fast modes**.
##### Modal Truncation {#modal-truncation}
For simplicity, assume that \\(A\\) has been diagonalized so that
It is interesting to note that the error depends on the residues \\(c\_i b\_i^T\\) as well as the \\(\lambda\_i\\).
The distance of \\(\lambda\_i\\) from the imaginary axis is therefore not a reliable indicator of whether the associated mode should be included in the reduced order model or not.<br/>
An advantage of modal truncation is that the poles of the truncated model are a subset of the poles of the original model and therefore **retain any physical interpretation** they might have.
#### Residualization {#residualization}
In truncation, we discard all the states and dynamics associated with \\(x\_2\\).
Suppose that instead of this, we simply set \\(\dot{x}\_2 = 0\\), i.e. we residualize \\(x\_2\\), in the state-space equations.
One can then solve for \\(x\_2\\) in terms of \\(x\_1\\) and \\(u\\), and back substitution of \\(x\_2\\), then gives
The reduced order model \\(G\_a(s) = (A\_r, B\_r, C\_r, D\_r)\\) is called a **residualization** of \\(G(s) = (A, B, C, D)\\).
Usually \\((A, B, C, D)\\) will have been put into **Jordan form**, with the eigenvalues ordered so that \\(x\_2\\) contains the fast modes.<br/>
Model reduction by residualization is then equivalent to singular perturbation approximation, where **the derivatives of the fastest states are allowed to approach zero** with some parameter \\(\epsilon\\).<br/>
An important property of residualization is that **it preserves the steady-state gain of the system**:
\begin{equation}
\tcmbox{G\_a(0) = G(0)}
\end{equation}
This should be no surprise since the residualization process sets derivatives to zero, which are zero anyway at steady-state.
But it is in stark contrast to truncation which retains the system behavior at infinite frequency.
This contrast between truncation and residualization follows from the simple bilinear relationship \\(s \to \frac{1}{s}\\) which relates the two.<br/>
It is clear that **truncation is to be preferred when accuracy is required at high frequencies**, whereas **residualization is better for low frequency modelling**.<br/>
Both methods depend to a large extent on the original realization and we have suggested to use of the Jordan form.
A better realization, with many useful properties, is the **balanced realization**.
### Balanced Realization {#balanced-realization}
A balanced realization is an asymptotically stable minimal realization in which the **controllability and observability Gramiams are equal and diagonal**.<br/>
Let \\((A,B,C,D)\\) be a minimal realization of a stable, rational transfer function \\(G(s)\\), then \\((A,B,C,D)\\) is called **balanced** if the solutions to be following Lyapunov equations
\\(\Sigma\\) is therefore simply referred to as the Gramiam of \\(G(s)\\).
The \\(\sigma\_i\\) are the **ordered Hankel singular values** of \\(G(s)\\), more generally defined as \\(\sigma\_i \triangleq \lambda\_i^{\frac{1}{2}}(PQ)\\), \\(i = 1, \dots, n\\).
Notice that \\(\sigma\_1 = \\|G\\|\_H\\) is the Hankel norm of \\(G(s)\\).<br/>
In balanced realization the value of each \\(\sigma\_i\\) is associated with a state \\(x\_i\\) of the balanced system.
The size of \\(\sigma\_i\\) is a relative measure of the contribution that \\(x\_i\\) makes to the input-output behavior of the system.
</div>
Therefore if \\(\sigma\_1 \gg \sigma\_2\\), then the state \\(x\_1\\) affects the input-output behavior much more than \\(x\_2\\), or indeed any other state because of the ordering of the \\(\sigma\_i\\).<br/>
After balancing a system, each state is just as controllable as it is observable, and a measure of a state's joint observability and controllability is given by its associated Hankel singular value.
This property is fundamental to the model reduction methods in the remainder of this chapter which work by removing states having little effect on the system's input-output behavior.
### Balanced Truncation and Balanced Residualization {#balanced-truncation-and-balanced-residualization}
Let the balanced realization \\((A,B,C,D)\\) of \\(G(s)\\) and the corresponding \\(\Sigma\\) be partitioned compatibly as
The reduced order model given by \\((A\_{11},B\_1,C\_1,D)\\) is called a **balanced truncation** of the full order system \\(G(s)\\).
The idea of balancing truncation is thus to first make a balanced realization of the system and then to discard the states corresponding to small Hankel singular values.
A balanced truncation is also a balanced realization, and the infinity norm of the error between \\(G(s)\\) and the reduced order system \\(G\_a(s)\\) is bounded by twice the sum of the last \\(n-k\\) Hankel singular values, i.e. twice the trace of \\(\Sigma\_2\\):
For the case of repeated Hankel singular values, each repeated Hankel singular value is to be counted only once in calculating the sum.
Useful algorithms that compute balanced truncations without first computing a balanced realization still require the computation of the observability and controllability Gramiam, which can be a problem if the system to be reduced is of very high order.
In balanced truncation above, we discarded the least controllable and observable states corresponding to \\(\Sigma\_2\\).
In balanced residualization, we simply set to zero the derivatives of all these states.
##### Theorem {#theorem}
Let \\(G(s)\\) be a stable rational transfer function with Hankel singular values \\(\sigma\_1 > \sigma\_2 > \dots > \sigma\_N\\) where each \\(\sigma\_i\\) has multiplicity \\(r\_i\\) and let \\(G\_a^k(s)\\) be obtained by truncating or residualizing the balanced realization of \\(G(s)\\) to the first \\((r\_1 + r\_2 + \dots + r\_k)\\) states.
In this approach to model reduction, the problem that is directly addressed is the following: given a stable model \\(G(s)\\) of order \\(n\\), find a reduced order model \\(G\_h^k(s)\\) of degree \\(k\\) such that the Hankel norm of the approximation error, \\(\\| G(s) - G\_h^k(s) \\|\_H\\), is minimized.
where \\(P\\) and \\(Q\\) are the controllability and observability Gramiams of \\(E(s)\\).
</div>
So in the optimization we seek an error which is in some sense closest to being completely unobservable and completely uncontrollable.
The infinity norm bound on the approximate error for the optimal Hankel norm approximation is better than for balanced truncation and residualization. This is shown with the following theorem.
##### Theorem {#theorem}
Let \\(G(s)\\) be a stable, square, transfer function \\(G(s)\\) with Hankel singular values \\(\sigma\_1 \ge \sigma\_2 \ge \dots \ge \sigma\_k \ge \sigma\_{k+1} = \sigma\_{k+2} = \dots = \sigma\_{k+l} > \sigma\_{k+l+1} \ge \dots \ge \sigma\_n > 0\\).
An optimal Hankel norm approximation of order \\(k\\), \\(G\_h^k(s)\\), can be constructed as follows.
Let \\((A,B,C,D)\\) be a balanced realization of \\(G(s)\\) with the Hankel singular values reordered so that the Gramiam matrix is
where \\(G\_h^k(s)\\) is a stable optimal Hankel norm approximation of order \\(k\\), and \\(F(s)\\) is an anti-stable (all poles in the open right-half plane) transfer function of order \\(n-k-l\\).
The Hankel norm of the error between \\(G\\) and the optimal approximation \\(G\_h^k\\) is equal to the \\((k+1)\text{'th}\\) Hankel singular value of \\(G\\):
\begin{equation}
\tcmbox{\\| G - G\_h^k \\|\_H = \sigma\_{k+1}(G)}
\end{equation}
### Model Reduction - Practical Summary {#model-reduction-practical-summary}
#### Reduction of model {#reduction-of-model}
Three reduction techniques have been discussed here: balanced residualization, balance truncation and optimal Hankel norm approximation.
It is sometimes desirable to have the steady-state gain of the reduced plant model the same as the full order model.
For instance, this is the case if we want to use feedforward control.
The truncated and optimal Hankel norm approximated systems do not preserve the steady-state gain and they have to be **scaled**, i.e. the model approximation \\(G\_a\\) is replaced by \\(G\_a W\_s\\) where \\(W\_a = G\_a(0)^{-1} G(0)\\), \\(G(s)\\) being the full order model.
However, this scaling generally introduced **large model errors at other frequencies**.
Hence **residualization** is to be preferred whenever low frequency matching is desired.
</div>
#### Reduction of a 2 degrees-of-freedom controller {#reduction-of-a-2-degrees-of-freedom-controller}
Let's consider a 2 degrees-of-freedom controller \\(K = [K\_1\ K\_2]\\).
In order ensure perfect steady-state tracking, i.e. to match \\(T\_{\text{ref}}\\) at steady-state, a prefilter \\(W\_i\\) is added to scale the controller: \\(K = [K\_1 W\_i\ K\_2]\\).
There are two approaches for order reduction:
1. the scaled controller \\([K\_1 W\_i\ K\_2]\\) is reduced.
A balanced residualization of the controller preserves the controller's steady state gain and would not need to be scaled again.
Reductions via truncation and optimal Hankel norm approximation techniques, however, lose the steady-state gain and reduced controllers would need to be re-scaled to match \\(T\_{\text{ref}}(0)\\)
2. the full order controller \\([K\_1\ K\_2]\\) is reduced without first scaling the prefilter.
In which case, scaling is done after reduction.
A larger scaling is generally required for the truncated and optimal Hankel norm approximated controllers and this gives poorer model matching at other frequencies.
In both cases, the balanced residualization is preferred.
### Reduction of Unstable Models {#reduction-of-unstable-models}
Balanced truncation, balanced residualization and optimal Hankel norm approximation only apply to stable models.
In this section we briefly present two approaches for reducing the order of an unstable model.
#### Stable Part Model Reduction {#stable-part-model-reduction}
The unstable model can be first decomposed into its stable and anti-stable parts:
\begin{equation}
G(s) = G\_u(s) + G\_s(s)
\end{equation}
where \\(G\_u(s)\\) has all its poles in the closed right-half plane and \\(G\_s(s)\\) has all its poles in the open left-half plane.
Balanced truncation, balanced residualization or optimal Hankel norm approximation can then be applied to the stable part \\(G\_s(s)\\) to find a reduced order approximation \\(G\_{sa}(s)\\).
This is then added to the anti-stable part to give
\begin{equation}
G\_a(s) = G\_u(s) + G\_{sa}(s)
\end{equation}
as an approximation to the full order model \\(G(s)\\).
#### Coprime Factor Model Reduction {#coprime-factor-model-reduction}
The coprime factors of a transfer function \\(G(s)\\) are stable, and therefore we could reduce the order of these factors using balanced truncation, balanced residualization or optimal Hankel norm approximation:
- Let \\(G(s) = M^{-1}(s) N(s)\\), where \\(M(s)\\) and \\(N(s)\\) are stable left-coprime factors of \\(G(s)\\)
- Approximate \\([N\ M]\\) of degree \\(n\\) by \\([N\_a \ M\_a]\\) of degree \\(k<n\\),usingbalancedtruncation,balancedresidualizationoroptimalHankelnormapproximation
- Realize the reduced order transfer function \\(G\_a(s)\\), or degree \\(k\\), by \\(G\_a(s) = M\_a^{-1}(s) N\_a(s)\\)
##### Theorem {#theorem}
Let \\((N,M)\\) be a normalized left-coprime factorization of \\(G(s)\\) of degree \\(n\\).
Let \\([N\_a,\ M\_a]\\) be a degree \\(k\\) **balanced truncation** of \\([N\ M]\\) which has Hankel singular values \\(\sigma\_1 \ge \sigma\_2 \ge \dots \ge \sigma\_k \ge \sigma\_{k+1} \ge \dots \ge \sigma\_n > 0\\).
Then \\((N\_a, M\_a)\\) is a normalized left-coprime factorization of \\(G\_a = M\_a^{-1} N\_a\\), and \\([N\_a,\ M\_a]\\) has Hankel singular values \\(\sigma\_1, \sigma\_2, \dots, \sigma\_k\\).
### Conclusion {#conclusion}
We have presented and compared three main methods for model reduction based on balanced realizations: **balanced truncation**, **balanced residualization** and **optimal Hankel norm approximation**.<br/>
Residualization, unlike truncation and optimal Hankel norm approximation, preserves the steady-state gain of the system, and like truncation, it is simple and computationally inexpensive.
It is observed that truncation and optimal Hankel norm approximation perform better at high frequencies, where residualization performs better at low and medium frequencies, i.e. up to the critical frequencies.<br/>
Thus **for plant model reduction**, where models are not accurate at high frequencies to start with, **residualization would seem to be a better option**.
Further, if the steady state gains are to be kept unchanged, truncated and optimal Hankel norm approximated systems require scaling, which may result in large errors.
In such a case, too, residualization would be preferred choice.<br/>
For **controller reduction**, we have shown in a two degrees-of-freedom example, the importance of scaling and steady-state gain matching.
In general, steady-state gain matching may not be crucial, but the matching should usually be good near the desired closed-loop bandwidth.
Balanced residualization has been seen to perform close to the full order system in this frequency range.
Good approximation at high frequencies may also sometimes be desired.
In such a case, using truncation or optimal Hankel norm approximation with appropriate frequency weightings may yield better results.