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

[st,sh]=sproeqc(pm,gm,cm,pms,gms,cms,pgms,pcms,pva,gva,cva,pgva,pcva,...
% SPROEQC: one iteration of the Stochastic Parameter
%          Reduced-Order LQG Control equation.
%          Control equations of compensator
%          for (P,G,C,V,W) based on (Q,R) and nc=<nx.
%          (P,G,C) stochastic.
%
%          function [st,sh]=sproeqc(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 [st,sh]=sproeqc(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 control recursions
%
  lnl=l'*ln*l ; khk=k'*sh*k ;
  st(:)=pms'*st(:)-lnl(:)+q(:)+pva'*sh(:)+cva'*khk(:);
  h=st; h1=k'*sh; h(:)=pcva'*h1(:); st=st-h-h';

  pkc=pm-k*cm; psi2=pkc'*sh*pkc +lnl;
%
% reduced order adaptation
%
  tao=eye(nx)-ta;
  st=st+tao'*psi2*tao; st=0.5*(st+st');
  sh=psi2*ta; sh=0.5*(sh+sh');

Contact us