Интерсамповое поведение входных сигналов влияет на оценку, симуляцию и предсказание моделей в непрерывном времени. Дискретизированный сигнал характеризуется только своими значениями в моменты дискретизации. Однако, когда вы применяете вход в непрерывном времени к системе в непрерывном времени, выходные значения в моментах дискретизации зависят от входов в моментах дискретизации и от входов между этими точками.
iddata
и idfrd
объекты имеют InterSample
свойство, которое сохраняет, как вход ведет себя между моментами дискретизации. Можно задать поведение между выборками, которые будут кусочно-постоянными (удержание нулевого порядка), линейно интерполированными между выборками (удержание первого порядка) или ограниченными полосами. Ограниченное полосой поведение интерсампинга входного сигнала означает:
Отфильтрованный входной сигнал (вход конечной полосы) использовался, чтобы возбуждать динамику системы.
Входной параметр был измерен с помощью устройства дискретизации (A/D конвертера с антиалиазированием), которое сообщало, что он ограничен полосой, хотя истинный вход, поступающий в систему, был кусочно-постоянным или линейным. В этом случае устройства дискретизации могут быть приняты как часть моделируемой системы.
Когда входной сигнал является ограниченным диапазоном данных частотного частотного диапазона в дискретном времени (iddata
с domain = 'frequency'
или idfrd
со шаг расчета Ts≠0), оценка модели выполняется путем обработки данных как данных непрерывного времени (Ts = 0). Для получения дополнительной информации смотрите Pintelon, R. and J. Schoukens, Система Идентификации. A Частотного диапазона Подход, раздел 10.2, pp-352-356,Wiley-IEEE Press, New York, 2001.
Поведение интерсампов входных данных также влияет на результаты симуляции и предсказания моделей непрерывного времени. sim
и predict
команды используют InterSample
свойство, чтобы выбрать правильный алгоритм для вычисления отклика модели.
В следующем примере моделируется система, использующая удержание первого порядка (foh
) поведение интерсampла для входного сигнала.
sys = idtf([-1 -2],[1 2 1 0.5]); rng('default') u = idinput([100 1 5],'sine',[],[],[5 10 1]); Ts = 2; y = lsim(sys,u,(0:Ts:999)','foh');
Создайте iddata
объект для моделируемых входно-выходных данных.
data = iddata(y,u,Ts);
Поведение межвыборка по умолчанию является удержанием нулевого порядка (zoh
).
data.InterSample
ans = 'zoh'
Оцените передаточную функцию, используя эти данные.
np = 3; % number of poles nz = 1; % number of zeros opt = tfestOptions('InitializeMethod','all','Display','on'); opt.SearchOptions.MaxIterations = 100; modelZOH = tfest(data,np,nz,opt)
modelZOH = From input "u1" to output "y1": -217.2 s - 391.6 --------------------------------- s^3 + 354.4 s^2 + 140.2 s + 112.4 Continuous-time identified transfer function. Parameterization: Number of poles: 3 Number of zeros: 1 Number of free coefficients: 5 Use "tfdata", "getpvec", "getcov" for parameters and their uncertainties. Status: Estimated using TFEST on time domain data "data". Fit to estimation data: 81.38% FPE: 0.1146, MSE: 0.111
Модель дает около 80% подгонки данным. Шаг расчета данных достаточно велико, чтобы переопределить неточность (использование zoh
а не foh
) приводит к значительным ошибкам моделирования.
Переоцените модель с помощью foh
интерактивное поведение.
data.InterSample = 'foh';
modelFOH = tfest(data,np,nz,opt)
modelFOH = From input "u1" to output "y1": -1.197 s - 0.06843 ------------------------------------- s^3 + 0.4824 s^2 + 0.3258 s + 0.01723 Continuous-time identified transfer function. Parameterization: Number of poles: 3 Number of zeros: 1 Number of free coefficients: 5 Use "tfdata", "getpvec", "getcov" for parameters and their uncertainties. Status: Estimated using TFEST on time domain data "data". Fit to estimation data: 97.7% FPE: 0.001748, MSE: 0.001693
modelFOH
может правильно извлечь исходную систему.
Сравните выходы модели с данными.
compare(data,modelZOH,modelFOH)
modelZOH
сравнивается с данными, чье поведение интерсampла foh
. Поэтому его подгонка уменьшается примерно до 70%.