Этот пример показывает, как оценить модель передаточной функции с неизвестными транспортными задержками и применить верхнюю границу на неизвестные транспортные задержки.
Создайте модель передаточной функции с ожидаемым числителем и структурой знаменателя и ограничениями задержки.
В данном примере данные об эксперименте состоят из двух входных параметров и одного вывода. Обе транспортных задержки неизвестны и имеют идентичную верхнюю границу. Кроме того, передаточные функции от обоих входных параметров до вывода идентичны в структуре.
init_sys = idtf(NaN(1,2),[1, NaN(1,3)],'IODelay',NaN);
init_sys.Structure(1).IODelay.Free = true;
init_sys.Structure(1).IODelay.Maximum = 7;
init_sys
является моделью idtf
, описывающей структуру передаточной функции от одного входа до вывода. Передаточная функция состоит из одного нуля, трех полюсов и транспортной задержки. NaN
указывает на неизвестные коэффициенты.
init_sys.Structure(1).IODelay.Free = true
указывает, что транспортная задержка не фиксируется.
init_sys.Structure(1).IODelay.Maximum = 7
устанавливает верхнюю границу для транспортной задержки с 7 секундами.
Задайте передаточную функцию от обоих входных параметров до вывода.
init_sys = [init_sys,init_sys];
Загрузите данные об отклике системы временного интервала и детрендируйте данные.
load co2data;
Ts = 0.5;
data = iddata(Output_exp1,Input_exp1,Ts);
T = getTrend(data);
T.InputOffset = [170,50];
T.OutputOffset = mean(data.y(1:75));
data = detrend(data, T);
Идентифицируйте модель передаточной функции для результатов измерений с помощью заданных ограничений задержки.
sys = tfest(data,init_sys);
sys
является моделью idtf
, содержащей идентифицированную передаточную функцию.