First attempt to get MIMO system multiplicative uncertainty
This commit is contained in:
parent
316eb0e1df
commit
3c7a6776d7
|
|
@ -27,8 +27,21 @@ data = frd(info.Bounds(:, 2), w);
|
||||||
% use a second-order model
|
% use a second-order model
|
||||||
I_m_analytic = tf(fitmagfrd(data, 2));
|
I_m_analytic = tf(fitmagfrd(data, 2));
|
||||||
|
|
||||||
|
% For MIMO systems, the division in the expression for I_m doesn't make
|
||||||
|
% sense
|
||||||
|
% This is another way to compute it:
|
||||||
|
opt = wcOptions('MussvOptions','m3'); % for better lower bound
|
||||||
|
[wcg, wcu, info_num] = wcgain(G-G_nom, w);
|
||||||
|
[wcg, wcu, info_den] = wcgain(G_nom, w, opt);
|
||||||
|
|
||||||
|
resp_im = info_num.Bounds(:, 2) ./ info_den.Bounds(:, 1);
|
||||||
|
|
||||||
|
data_2 = frd(resp_im, w);
|
||||||
|
I_m_analytic_2 = tf(fitmagfrd(data_2, 2));
|
||||||
|
|
||||||
sigma(I_m, w); hold;
|
sigma(I_m, w); hold;
|
||||||
semilogx(w, 20*log10(info.Bounds(:, 2)), 'green');
|
semilogx(w, 20*log10(info.Bounds(:, 2)), 'green');
|
||||||
sigma(I_m_analytic, 'red');
|
sigma(I_m_analytic, 'red');
|
||||||
|
sigma(I_m_analytic_2, 'yellow');
|
||||||
|
|
||||||
I_m_analytic
|
I_m_analytic
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue