| Mu Analysis and Synthesis Toolbox | ![]() |
Interactive D-scaling rational fit routines used in old µ-synthesis routines
Note: These routines are included only for backwards compatibility with versions 1.0 and 2.0. They will not be supported in future versions. They should not be used by new users of the toolbox. All new routines should be based on the new routine, msf, which is described on page ???.
Syntax
[dsysL,dsysR] = musynfit(pre_dsysL,dvec,sens,blk,... nmeas,ncntrl,clpg,upbd,wt) [dsysL,dsysR] = musynflp(pre_dsysL,dvec,sens,blk,... nmeas,ncntrl,clpg,upbd,wt) [dsysL,dsysR] = muftbtch(pre_dsysL,dvec,sens,blk,... nmeas,ncntrl,dim)
Description
musynfit fits the magnitude curve obtained by multiplying the old D frequency response (from pre_dsysl) with the dvec data. musynfit returns stable, minimum phase system matrices dsysL and dsysR, which can be absorbed into the original interconnection structure. Once absorbed, a H
design is performed with hinfsyn completing another D-K iteration of µ-synthesis.
For the first µ-synthesis iteration, set the variable pre_dsysl to the string first. In subsequent iterations, pre_dsysl should be the previous (left) rational D-scaling system matrix, dsysL. Essentially, the element-by-element magnitudes of the matrices mmult(unwrapd(dvec,blk),frsp(pre_dsysL,getiv(dvec))), and frsp(dsysL,getiv(dvec)) are equal.
The (optional) variable clpg is the VARYING matrix that produced the dvec, sens, and upbd data output from µ. The fitting procedure is interactive (musynfit or musynflp), and fits (in magnitude) these scalings with rational, stable transfer function matrices,
. After fitting the dvec data, plots of
are shown in the lower graph window for comparison. At this point, you have the option of refitting the D data. If clpg and upbd are not provided, the default is to plot the sens variable in the the lower graph.
Note:
You are strongly discouraged from calling musynfit and musynflp directly and are encouraged to use dkit or dkitgui to perform µ-synthesis calculations.
For more detail about the role of hmax and htol, see the reference pages for fitmaglp and magfit. Reasonable choices are hmax = .26 and htol = .1.
The musynflp and musynfit commands provide the option of fitting the frequency varying D-scale data by hand using the µ-Tools drawmag command. You can invoke this option with the string 'drawmag' in response to the prompt
drawmag command for more information.
Examples
musynfit is used within a D-K iteration (µ-synthesis) to fit the D-scales, which are output from the mu command. The first step in the D-Kiteration is to design an H
control law. The closed-loop system is analyzed with mu based on the block structure blk defined. The optimal D-scaling output from mu, which are real coeeficients, are fit with real, rational, minimum-phase stable transfer functions via musynfit. These fitted D-scales are wrapped back around the orginal interconnection structure P. After absorbing the D-scales, another D-K iteration is performed, starting with the design of an H
control law for the modified plant. This process usually continues until the value of µ doesn't change significantly between control design iterations.
This example is taken from the "HIMAT Robust Performance Design Example" section in Chapter 7. himat_ic contains the open-loop interconnection structure. It has one multiplicative input perturbation, which is two by two, and has two error signals, and two external disturbances. There are two measurements, and two control inputs to the system. The block structure for the µ-analysis problem is given by blk=[2 2; 2 2].
First step in a D-K iteration is to design an H
controller and analyze the closed loop system with µ.
mkhic omega = logspace(0,4,40);blk= [2 2; 2 2]; [k1,g1,gf1] =hinfsyn(himat_ic,2,2,0.8,6,0.05,2); g1_g =frsp(g1,omega); [bnds1,dvec1,sens1,rp1] =mu(g1_g,blk);
musynfit. The first D-scale is fit with both a first and third-order transfer function, with the third order transfer function selected.
[dsysL1,dsysR1] =musynfit('first',dvec1,sens1,blk,2,2);
ENTER ORDER OF CURVE FIT or '
drawmag' 1
ENTER ORDER OF CURVE FIT or '
drawmag' 3
ENTER ORDER OF CURVE FIT or '
drawmag' -1
himat_ic, to generate himat_ic2.
The modified interconnection structure, mu_ic1, is used in the second iteration of µ-synthesis. An H
control law is designed for the modified system, and then analyzed again using mu.
[k2,g2] = hinfsyn(mu_ic1,2,2,.9,1.3,.04,2); g2_g = frsp(g2,omega); [bnds2,dvec2,sens2,pvec2] = mu(g2_g,blk);
musynfit for this iteration are not included. Wrap the new fitted D-scales around the original plant interconnection structure and start D-K iteration again.
musynfit can be called as before with the frequency response of the closed-loop system analyzed using mu, g1_g, and the mu upper bound, sel(bnds1,1,1) passed. The first D-scale is fit with both a first- and third-order transfer function and the first order transfer function selected. As you can see from the scaled upper bound plots (the lower graph), the first-order fit does a better job minimizing the scaled upper bound.
[dsysL1,dsysR1] = ... musynfit('first',dvec1,sens1,blk,2,2,gl_g,sel(bnds1,1,1)
ENTER ORDER OF CURVE FIT or '
drawmag' 3
ENTER ORDER OF CURVE FIT or '
drawmag' 1
ENTER ORDER OF CURVE FIT or '
drawmag' -1
himat_ic, to generate himat_ic2.
Algorithm
A frequency response is done on the previous rational D-scaling matrix. This is multiplied by the current data in dvec, to produce the frequency varying scaling that needs to be fit. The fit is only in magnitude, and the freedom in the phase allows the rational function to be defined as stable, and minimum phase. musynfit calls fitsys, which calls fitmag, flatten, and genphase. The curve fitting is done the fitsys command.
musynflp is an alternative program that uses linear programming to do the fit. musynflp fits the data very well within the frequency response window at the expense of perhaps large variations outside the data window. This may lead to problems in D-K iteration. muftbtch is a batch version of musynflp.
Reference
J.C. Doyle, K. Lenz, and A.K. Packard, "Design examples using µ-synthesis: Space shuttle lateral axis FCS during reentry," NATO ASI Series, Modelling, Robustness and Sensitivity Reduction in Control Systems, vol. F34 R.F. Curtin, Editor, Springer-Verlag, Berlin-Heidelberg, 1987.
See Also
drawmag, fitmag, fitmaglp, fitsys, flatten, genphase, invfreqs, magfit, msf
![]() | mu, muunwrap, randel, unwrapd, unwrapp | ncfsyn, cf2sys, emargin | ![]() |