Откройте модель Simulink ® и укажите часть модели для линеаризации:
load_system('magball'); io(1) = linio('magball/Desired Height',1); io(2) = linio('magball/Magnetic Ball Plant',1,'output');
Вычислите установившуюся рабочую точку и линеаризуйте модель:
op = findop('magball',operspec('magball'),... findopOptions('DisplayReport','off')); sys = linearize('magball',io,op);
Создайте чирп-сигнал и используйте его для оценки частотной характеристики:
in = frest.Chirp('FreqRange',[1 1000],... 'Ts',0.001,... 'NumSamples',1e4); [~,simout] = frestimate('magball',io,op,in);
Используйте программное обеспечение System Identification Toolbox™ для оценки модели пространства состояния пятого порядка. Сравните результаты аналитической линеаризации и модель состояния-пространства:
input = generateTimeseries(in);
output = simout{1}.Data;
data = iddata(output,input.Data(:),in.Ts);
sys_id = n4sid(detrend(data),5,'cov','none');
bodemag(sys,ss(sys_id('measured')),'r')
legend('Linear model obtained using LINEARIZE',...
'State-space model using System Identification Toolbox',...
'Location','SouthWest')