Documentation

This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

loopsyn

H optimal controller synthesis for LTI plant

Syntax

[K,CL,GAM,INFO]=loopsyn(G,Gd)
[K,CL,GAM,INFO]=loopsyn(G,Gd,RANGE)

Description

loopsyn is an H optimal method for loopshaping control synthesis. It computes a stabilizing Hcontroller K for plant G to shape the sigma plot of the loop transfer function GK to have desired loop shape Gd with accuracy γ = GAM in the sense that if ω0 is the 0 db crossover frequency of the sigma plot of Gd(jω), then, roughly,

σ¯(G(jω)K(jω))1γ σ¯(Gd(jω)) for all ω>ω0(1-14)
σ¯(G(jω)K(jω))γ σ¯(Gd(jω)) for all ω>ω0(1-15)

The STRUCT array INFO returns additional design information, including a MIMO stable min-phase shaping pre-filter W, the shaped plant Gs = GW, the controller for the shaped plant Ks = WK, as well as the frequency range {ωmin,ωmax} over which the loop shaping is achieved

Input Argument

Description

G

LTI plant

Gd

Desired loop-shape (LTI model)

RANGE

(optional, default {0,Inf}) Desired frequency range for loop-shaping, a 1-by-2 cell array {ωmin,ωmax}; ωmax should be at least ten times ωmin

Output Argument

Description

K

LTI controller

CL= G*K/(I+GK)

LTI closed-loop system

GAM

Loop-shaping accuracy (GAM ≥ 1, with GAM=1 being perfect fit

INFO

Additional output information

INFO.W

LTI pre-filter W satisfying σ(Gd) = σ (GW) for all ω;

W is always minimum-phase.

INFO.Gs

LTI shaped plant: Gs = GW.

INFO.Ks

LTI controller for the shaped plant: Ks = WK.

INFO.range

{ωmin,ωmax} cell-array containing the approximate frequency range over which loop-shaping could be accurately achieved to with accuracy G. The output INFO.range is either the same as or a subset of the input range.

Examples

collapse all

Calculate the optimal loopsyn loop shaping control for a 5-state, 4-output, 5-input plant with a full-rank nonmininum-phase zero at s = 10.

rng(0,'twister');
s = tf('s');
w0 = 5;
Gd = 5/s;                           % desired bandwidth w0=5
G =((s-10)/(s+100))*rss(3,4,5);     % 4-by-5 non-min-phase plant
[K,CL,GAM,INFO] = loopsyn(G,Gd);
sigma(G*K,'r',Gd*GAM,'k-.',Gd/GAM,'k-.',{.1,100})  % plot result
legend('G*K','Gd*GAM','Gd/GAM')

This plot shows that the controller K optimally fits sigma(G*K). The controller falls between sigma(Gd)+ GAM and sigma(Gd)- GAM (expressed in dB). In this example, GAM = 2.0423 = 6.2026 dB.

Limitations

The plant G must be stabilizable and detectable, must have at least as many inputs as outputs, and must be full rank; i.e,

  • size(G,2) size(G,1)

  • rank(freqresp(G,w)) = size(G,1) for some frequency w.

The order of the controller K can be large. Generically, when Gd is given as a SISO LTI, then the order NK of the controller K satisfies

NK = NGs + NW

= NyNGd + NRHP + NW

= NyNGd + NRHP + NG

where

  • Ny denotes the number of outputs of the plant G.

  • NRHP denotes the total number of nonstable poles and nonminimum-phase zeros of the plant G, including those on the stability boundary and at infinity.

  • NG, NGs, NGd and NW denote the respective orders of G, Gs, Gd and W.

Model reduction can help reduce the order of K — see reduce and ncfmr.

More About

collapse all

Algorithms

Using the GCD formula of Le and Safonov [1], loopsyn first computes a stable-minimum-phase loop-shaping, squaring-down prefilter W such that the shaped plant Gs = GW is square, and the desired shape Gd is achieved with good accuracy in the frequency range {ωmin,ωmax} by the shaped plant; i.e.,

σ(Gd) ≈ σ(Gs) for all ω ∊ {ωmin,ωmax}.

Then, loopsyn uses the Glover-McFarlane [2] normalized-coprime-factor control synthesis theory to compute an optimal "loop-shaping" controller for the shaped plant via Ks=ncfsyn(Gs), and returns K=W*Ks.

If the plant G is a continuous time LTI and

  1. G has a full-rank D-matrix, and

  2. no finite zeros on the jω-axis, and

  3. {ωmin,ωmax}=[0,∞],

then GW theoretically achieves a perfect accuracy fit σ(Gd) = σ(GW) for all frequency ω. Otherwise, loopsyn uses a bilinear pole-shifting bilinear transform [3] of the form

Gshifted=bilin(G,-1,'S_Tust',[ωminmax]),

which results in a perfect fit for transformed Gshifted and an approximate fit over the smaller frequency range [ωmin,ωmax] for the original unshifted G provided that ωmax >> ωmin. For best results, you should choose ωmax to be at least 100 times greater than ωmin. In some cases, the computation of the optimal W for Gshifted may be singular or ill-conditioned for the range [ωmin,ωmax], as when Gshifted has undamped zeros or, in the continuous-time case only, Gshifted has a D-matrix that is rank-deficient); in such cases, loopsyn automatically reduces the frequency range further, and returns the reduced range [ωmin,ωmax] as a cell array in the output INFO.range={ωmin,ωmax}

References

[1] Le, V.X., and M.G. Safonov. Rational matrix GCD's and the design of squaring-down compensators—a state space theory. IEEE Trans. Autom.Control, AC-36(3):384–392, March 1992.

[2] Glover, K., and D. McFarlane. Robust stabilization of normalized coprime factor plant descriptions with H-bounded uncertainty. IEEE Trans. Autom. Control, AC-34(8):821–830, August 1992.

[3] Chiang, R.Y., and M.G. Safonov. H synthesis using a bilinear pole-shifting transform. AIAA J. Guidance, Control and Dynamics, 15(5):1111–1115, September–October 1992.

See Also

|

Introduced before R2006a

Was this topic helpful?