You can use the musyn
command to design a robust controller for an
uncertain plant, as described in Robust Controller Design Using Mu Synthesis. The algorithm used by
musyn
is an iterative process called D-K
iteration. In this process, the function:
Uses H∞ synthesis to find a controller that minimizes the closed-loop gain of the nominal system.
Performs a robustness analysis to estimate the robust H∞ performance of the closed-loop system. This quantity is expressed as a scaled H∞ norm involving dynamic scalings called the D and G scalings (the D step).
Finds a new controller to minimize the scaled H∞ norm obtained in step 2 (the K step).
Repeats steps 2 and 3 until the robust performance stops improving.
Both the D step and K step are mathematically intensive computations. Details of the algorithm follow.
In the D step, musyn
computes the upper bound of the robust H∞ performance for
the current controller K. The D step begins with a
robust performance analysis for the closed-loop uncertain system T =
LFT(P,K), as in the following diagram.
Introducing a performance block Δperf transforms the robust-performance analysis of T to a robust-stability analysis of the feedback loop in the following diagram.
Here, Δ is the augmented uncertainty structure
musyn
computes , an upper bound on the robust H∞
performance. To do so, musyn
selects a frequency grid {ω1,…,ωN}. For T with complex uncertainty only,
musyn
computes at each frequency
ωi
The frequency-dependent matrices D, which commute with Δ, are called D scalings. is the largest result over all frequencies in the grid,
When you use musyn
, you can access the results of the
D step in several ways.
The default musyn
display shows for each iteration in the Peak MU
column.
musyn
returns for each iteration in the PeakMU
field of the
info
output argument.
musyn
returns Di in
the DG
field of the info
output argument.
To visualize the frequency-dependence of
Di, set the 'Display'
option of musynOptions
to 'full'
.
For additional details about the computation and interpretation of , see Robust Performance Measure for Mu Synthesis.
musyn
fits a rational function
D(s) to the sequence of scalings
{Di}. The fit yields a quantity
μF called the scaled
H∞ performance,
Because the fit is not exact, μF is typically somewhat larger than .
You can access the results of the fit in several ways.
The default musyn
display shows
μF for each iteration in the DG
Fit
column.
musyn
returns μF for
each iteration in the PeakMUFit
field of the info
output argument.
musyn
returns the fitting functions in the
dr
and dc
fields of the info
output argument.
To visualize the frequency dependence of the fitting functions, set the
'Display'
option of musynOptions
to
'full'
.
T0 depends on the choice of controller
K by the relation T0 =
LFT(P0,K). Therefore, minimizing μF with
respect to K is a scaled H∞
synthesis problem. Thus, in the K step, musyn
uses
hinfsyn
or hinfstruct
to compute a controller
K* that minimizes
μF. The minimized quantity is the scaled
H∞ norm. For the algorithm to make progress, the
new controller must improve the robust performance obtained in the D
step:
Otherwise, the progress is not sufficient for compensate for fitting errors. Thus
musyn
terminates D-K iteration process when
K* does not improve the robust performance
within the tolerance specified by the 'TolPerf'
option of
musynOptions
.
You can access the results of the K step in several ways.
The default musyn
display shows the scaled
H∞ norm for each iteration in the K
Step
column.
musyn
returns the new controller in the K
of
the info
output argument, and the corresponding scaled
H∞ norm for each iteration in the
gamma
field.
When the system has both real and complex uncertainty and you set the
'MixedMU'
option of musynOptions
to
'on'
, musyn
uses an additional
G-scaling to improve the computation of . The algorithm in this case is called mixed-μ
synthesis.
For mixed uncertainty, musyn
computes and scalings
Dr(ωi),
Dc(ωi),
and
Gcr(ωi)
such that
at each frequency in the grid.
musyn
fits the D and G
scaling data by constructing a rational function
such that
dr(s), dc(s), and Ψ(s) are stable with stable inverse.
dr(s) and dc(s) approximate the square roots of the diagonal entries of Dr(ωi) and Dc(ωi).
F approximately satisfies
Finally, the scaled H∞ performance is defined as
where is the transformed system,
For an exact fit of D and G, . Therefore, in general,
Because the transformed system is still a linear fractional function of the controller K, the K step for the mixed-μ case proceeds by computing a controller K* that minimizes .
When using musyn
, you can access the D and
G scalings in several ways.
musyn
returns the D and G
scaling data in the DG
field of the info
output
argument.
musyn
returns the fitting functions in the
dr
, dc
, and PSI
fields of the
info
output argument.
To visualize the frequency dependence of the scaling data and fitting functions, set
the 'Display'
option of musynOptions
to
'full'
.
musyn
| musynOptions
| musynperf