Code covered by the BSD License  

Highlights from
Reduced-order discrete-time LQG design for systems with white parameters

Reduced-order discrete-time LQG design for systems with white parameters

by

 

22 May 2008 (Updated )

Optimal compensation of time-varying discrete-time linear systems with white stochastic parameters

[pt,ph]=sproeqe(pm,gm,cm,pms,gms,cms,pgms,pcms,pva,gva,cva,pgva,pcva,...
% SPROEQE one iteration of the Stochastic Parameter
%         Reduced-Order LQG Estimation equation.
%         Estimation equation of compensator for
%         (P,G,C,V,W) based on (Q,R) and nc=<nx.
%         (P,G,C) stochastic.
%
%         function [pt,ph]=sproeqe(pm,gm,cm,pms,gms,cms,pgms,pcms,pva,gva,cva,pgva,pcva,...
%                                  v,w,q,r,mc,me,st,sh,pt,ph,ta,a);
%
%         W.L. De Koning, L.G. Van Willigenburg, 28-11-95.
%
  function [pt,ph]=sproeqe(pm,gm,cm,pms,gms,cms,pgms,pcms,pva,gva,cva,pgva,pcva,...
                           v,w,q,r,mc,me,st,sh,pt,ph,ta,a);

% Scale mean square values and variances in case of a
% homotopy
  if a~=1
    [pms,pva,gms,gva,cms,cva,pgms,pgva,pcms,pcva]=...
    msvhom(pms,pva,gms,gva,cms,cva,pgms,pgva,pcms,pcva,a);
  end;

  [nx,nx]=size(pm);
%
% compute k
%
  kn=w;
  kn(:)=cms *pt(:)+w(:)+cva *ph(:);
  h=me ; h(:)=h(:)+pcms *pt(:)+pcva* ph(:); k=h*pinv(kn);
%
% compute l
%
  ln=r;
  ln(:)=gms'*st(:)+r(:)+gva'*sh(:);
  h=mc'; h(:)=h(:)+pgms'*st(:)+pgva'*sh(:); l=pinv(ln)*h;
%
% compute estimation recursions
%
  knk=k *kn*k'; lhl=l *ph*l';
  pt(:)=pms *pt(:)-knk(:)+v(:)+pva *ph(:)+gva *lhl(:);
  h=pt; h1=l*ph ; h(:)=pgva *h1(:); pt=pt-h-h';

  pgl=pm-gm*l; psi1=pgl *ph* pgl'+knk;
%
% reduced order adaptation
%
  tao=eye(nx)-ta;
  pt=pt+tao*psi1*tao'; pt=0.5*(pt+pt');
  ph=psi1*ta'; ph=0.5*(ph+ph');

Contact us