System Identification Toolbox를 사용해 잡음이 있는 주파수 응답 모델 추정하기
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™를 사용하여 5차 상태공간 모델을 추정합니다. 해석적 선형화의 결과와 상태공간 모델의 결과를 비교합니다.
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')