# Robust estimator design for a mass-spring-damper system

The file Demo_014.m is found in IQClabâ€™s folder demos; it performs a robust estimator synthesis with the function fRobest for a mass-spring-damper problem derived from the example presented in [24]. The setup is shown in the following figure.

The numerical values are , , , and with . The first mass is disturbed by an external force . The objective is to estimate using a measument of corrupted by measurement noise . The linear fractional representation can then be written as

with , .

For comparison reasons, we design a nominal estimator, , using the function ‘h2syn’, which is part of MATLAB’s robust control toolbox, as well as a robust estimator, , using the function ‘fRobest’, which is part of IQClab.

The code for designing the nominal estimator is found in the file Demo_014.m. Designing the robust estimator proceeds as follows:

% Define plant (see script for system matrices)
H = ss(A,[Bp,Bw],[Cq;Cz;Cy],[Dqp,Dqw;Dzp,Dzw;Dyp,Dyw]);

% Define uncertainties
de1 = iqcdelta('de1','InputChannel',1,'OutputChannel',1, 'Bounds',[-1,1]);
de1 = iqcassign(de1,'ultis','Length',3);

de2 = iqcdelta('de2','InputChannel',2,'OutputChannel',2, 'Bounds',[-1,1]);
de2 = iqcassign(de2,'ultis','Length',3);

% set options
options.perf      = 'H2';
options.StrProp   = 'yes';
options.subopt    = 1.03;
options.constants = 1e-8*ones(1,4);
options.Pi11pos   = 1e-8;
[Erob,gamrob]     = fRobest(H,{de1,de2},[2,1,1],[2,2],options);