Iterative linear parameter estimation for multichannel systems - ssm system model in time domain


Iterative linear parameter estimation for multichannel systems - ssm system model in time domain.

Contents

set plist for retriving

  
  pl = plist('hostname', 'lpsdas01.esac.esa.int', 'database', 'ex6');

retrive data

  
  o1_1 = ao(pl.pset('binary', 'yes', 'id', 68));
  o12_1 = ao(pl.pset('binary', 'yes', 'id', 69));

  o1_2 = ao(pl.pset('binary', 'yes', 'id', 74));
  o12_2 = ao(pl.pset('binary', 'yes', 'id', 75));

Load input signal

  
  is1 = matrix(pl.pset('binary', 'yes', 'id', 78));
is2 = matrix(pl.pset('binary', 'yes', 'id', 79));

is1ao = is1.getObjectAtIndex(1);
is2ao = is2.getObjectAtIndex(2);

% set port names for fit
is1names = {'INPUTGUIDANCE.ifo_x1'};
is2names = {'INPUTGUIDANCE.ifo_x12'};

InputNames = {is1names,is2names};

load Whitening filters

  
  % Stoc filter
fil1 = filterbank(pl.pset('binary', 'yes', 'id', 76));
fil2 = filterbank(pl.pset('binary', 'yes', 'id', 77));
fil3 = filterbank(miir());
% build matrix
wf = matrix(fil1,fil3,fil3,fil2,plist('shape',[2 2]));

System Model

  
    H = ssm(plist('built-in','LTP',...
    'Version','Fitting',...
    'Continuous',true,...
    'dim',1,...
    'SYMBOLIC PARAMS',...
    {'FEEPS_XX','CAPACT_TM2_XX','IFO_X12X1','EOM_TM1_STIFF_XX','EOM_TM2_STIFF_XX','DELAY_X1','DELAY_X12'}));

Build input objects

  
  % empty ao
	
  
  %%% exp_3_1 %%%
  os1 = matrix(o1_1,o12_1,plist('shape',[2 1]));

  %%% exp_3_2 %%%
  os2 = matrix(o1_2,o12_2,plist('shape',[2 1]));

  %%% output names
  OutputNames = {{'IFO.x1','IFO.x12'},{'IFO.x1','IFO.x12'}};

  %%% Input signals
  iS = collection(is1ao,is2ao);

  %%% Fit Params %%%
  usedparams = {'FEEPS_XX','CAPACT_TM2_XX','IFO_X12X1','EOM_TM1_STIFF_XX','EOM_TM2_STIFF_XX','DELAY_X1','DELAY_X12'};

  %%% set bounded params
  bdparams = {'DELAY_X1','DELAY_X12'};
  bdvals   = {[0.1 0.3],[0.1 0.3]};

  %%% set numerical derivative step
  diffStep = [0.01,0.01,1e-7,1e-7,1e-7,0.001,0.001];

Do Fit

  
  plfit = plist(...
    'FitParams',usedparams,...
    'BoundedParams',bdparams,...
    'BoundVals',bdvals,...
    'diffStep',diffStep,...
    'Model',H,...
    'Input',iS,...
    'InputNames',InputNames,...
    'OutputNames',OutputNames,...
    'WhiteningFilter',wf,...
    'tol',1,...
    'Nloops',5,...
    'Ncut',1e5);

  opars = linfitsvd(os1,os2,plfit);



©LTP Team