ltrsyn
LQG loop transfer-function recovery (LTR) control synthesis
Syntax
[K,SVL,W1] = ltrsyn(G,F,XI,THETA,RHO)
[K,SVL,W1] = ltrsyn(G,F,XI,THETA,RHO,W)
[K,SVL,W1] = ltrsyn(G,F,XI,THETA,RHO,OPT)
[K,SVL,W1] = ltrsyn(G,F,XI,THETA,RHO,W,OPT)
Description
[K,SVL,W1] = ltrsyn(G,F,XI,TH,RHO) computes a reconstructed-state output-feedback controller K for LTI plant G so that K*G asymptotically recovers plant-input full-state feedback loop transfer function L(s) = F(Is–A)–1B+D; that is, at any frequency w>0, max(sigma(K*G-L, w))→0 as ρ→ ∞, whereL= ss(A,B,F,D) is the LTI full-state feedback loop transfer function.
[K,SVL,W1] = ltrsyn(G,F1,Q,R,RHO,'OUTPUT') computes the solution to the `dual' problem of filter loop recovery for LTI plant G where F is a Kalman filter gain matrix. In this case, the recovery is at the plant output, and max(sigma(G*K-L, w))→0 as ρ→∞, where L1 denotes the LTI filter loop feedback loop transfer function L1= ss(A,F,C,D).
Only the LTI controllerK for the final value RHO(end)is returned.
InputsGLTI plant
FLQ full-state-feedback gain matrix
XIplant noise intensity,
or, if OPT='OUTPUT' state-cost matrix XI=Q,
THETAsensor noise intensity
or, if OPT='OUTPUT' control-cost matrix THETA=R,
RHOvector containing a set of recovery gains
W(optional) vector of frequencies (to be used for plots); if input W is not supplied, then a reasonable default is used
OutputsKK(s) — LTI LTR (loop-transfer-recovery) output-feedback, for the last element of RHO (i.e., RHO(end))
SVLsigma plot data for the recovered loop transfer function if G is MIMO or, for SISO G only, Nyquist loci SVL = [re(1:nr) im(1:nr)]
W1frequencies for SVL plots, same as W when present
Examples
s=tf('s');G=ss(1e4/((s+1)*(s+10)*(s+100)));[A,B,C,D]=ssdata(G);
F=lqr(A,B,C'*C,eye(size(B,2)));
L=ss(A,B,F,0*F*B);
XI=100*C'*C; THETA=eye(size(C,1));
RHO=[1e3,1e6,1e9,1e12];W=logspace(-2,2);
nyquist(L,'k-.');hold;
[K,SVL,W1]=ltrsyn(G,F,XI,THETA,RHO,W);
See also ltrdemo
Limitations
The ltrsyn procedure may fail for non-minimum phase plants. For full-state LTR (default OPT='INPUT'), the plant should not have fewer outputs than inputs. Conversely for filter LTR (when OPT='OUTPUT'), the plant should not have fewer inputs than outputs. The plant must be strictly proper, i.e., the D-matrix of the plant should be all zeros. ltrsyn is only for continuous time plants (Ts==0)
Algorithms
For each value in the vector RHO, [K,SVL,W1] = ltrsyn(G,F,XI,THETA,RHO) computes the full-state-feedback (default OPT='INPUT') LTR controller
K(s)=[Kc(Is−A+BKc+KfC−KfDKc)−1Kf]
where Kc = F and Kf = lqr(A',C',XI+RHO(i)*B*B',THETA). The “fictitious noise” term RHO(i)*B*B' results in loop-transfer recovery as RHO(i) → ∞. The Kalman filter gain is Kf=∑CTΘ−1 where Σ satisfies the Kalman filter Riccati equation 0=∑AT+A∑−∑CTΘ−1C∑+Ξ+ρBBT. See [1] for further details.
Similarly for the 'dual' problem of filter loop recovery case, [K,SVL,W1] = ltrsyn(G,F,Q,R,RHO,'OUTPUT') computes a filter loop recovery controller of the same form, but with Kf = F is being the input filter gain matrix and the control gain matrix Kc computed as Kc = lqr(A,B,Q+RHO(i)*C'*C,R).
Example of LQG/LTR at Plant Output.
References
[1] Doyle, J., and G. Stein, “Multivariable Feedback Design: Concepts for a Classical/Modern Synthesis,” IEEE Trans. on Automat. Contr., AC-26, pp. 4-16, 1981.
Introduced before R2006a