Об идентифицированных линейных моделях

Что такое Модели IDLTI?

Использование программного обеспечения System Identification Toolbox™ возражает, чтобы представлять множество линейных и нелинейных образцовых структур. Эти линейные объекты модели коллективно известны как модели Identified Linear Time-Invariant (IDLTI).

Модели IDLTI содержат два отличных динамических компонента:

  • Измеренный компонент — Описывает отношение между измеренными входными параметрами и измеренным выводом (G)

  • Шумовой компонент — Описывает отношение между воздействиями при выводе и измеренном выводе (H)

Модели, которые только имеют шумовой H компонента, называются timeseries или моделями сигнала. Как правило, вы создаете такие модели с помощью данных timeseries, которые состоят из одних или нескольких выходных параметров y(t) без соответствующего входа.

Общий объем производства является суммой вкладов от измеренных входных параметров и воздействий: y = G u + H e, где u представляет измеренные входные параметры и e воздействие. e(t) моделируется как нулевой средний Гауссов белый шум с отклонением Λ. Следующая фигура иллюстрирует модель IDLTI.

Когда вы моделируете модель IDLTI, вы изучаете эффект входа u(t) (и возможно начальные условия) на выводе y(t). Шумовой e(t) не рассматривается. Однако с прогнозом конечного горизонта вывода, и измеренное и шумовые компоненты модели способствуют вычислению (предсказанного) ответа.

Один шаг вперед соответствие модели прогноза линейной идентифицированной модели (y = Gu+He)

Измеренная и шумовая параметризация компонента

Различные линейные образцовые структуры обеспечивают различные способы параметризовать передаточные функции G и H. Когда вы создаете модель IDLTI или оцениваете модель непосредственно с помощью данных ввода - вывода, можно сконфигурировать структуру и G и H, как описано в следующей таблице:

Тип моделиПередаточные функции G и H Метод настройки
Модель в пространстве состояний (idss)

Представляет идентифицированную структуру модели в пространстве состояний, которой управляют уравнения:

x˙=Ax+Bu+Key=Cx+Du+e

где передаточная функция между измеренным входом u и выводом y G(s)=C(sIA)1B+D и шумовая передаточная функция H(s)=C(sIA)1K+I.

Конструкция: Используйте idss, чтобы создать модель, задавая значения матриц пространства состояний A, B, C, D и K как входные параметры (использующий NaNs, чтобы обозначить неизвестные записи).

Оценка: Используйте ssest или n4sid, задавая пары "имя-значение" для различных настроек, такой как, каноническая параметризация измеренной динамики ('Form'/'canonical'), обозначая отсутствие сквозного соединения путем фиксации D, чтобы обнулить ('Feedthrough'/false) и отсутствие шумовой динамики путем фиксации K, чтобы обнулить ('DisturbanceModel'/'none').

Полиномиальная модель (idpoly)

Представляет полиномиальную модель, такую как ARX, ARMAX и BJ. Модель ARMAX, например, использует уравнение ввода - вывода Эйе (t) = Бу (t) +Ce (t), так, чтобы измеренная передаточная функция G была G(s)=A1B, в то время как шумовая передаточная функция H(s)=A1C.

Модель ARMAX является специальной настройкой общей полиномиальной модели, управление которой уравнением:

Ay(t)=BFu(t)+CDe(t)

Авторегрессивный компонент, A, распространен между измеренными и шумовыми компонентами. B полиномов и F составляют измеренный компонент, в то время как полиномы C и D составляют шумовой компонент.

Конструкция: Используйте idpoly, чтобы создать модель с помощью значений активных полиномов как входные параметры. Например, чтобы создать модель Output-Error, которая использует G = B/F в качестве измеренного компонента и имеет тривиальный шумовой компонент (H = 1). войдите:

y = idpoly([],B,[],[],F)

Оценка: Используйте armax, arx или bj, задавая порядки полиномов как входные параметры. Например, bj требует, чтобы вы задали порядки B, C, D и полиномов F, чтобы создать модель с управляющим уравнением

y(t)=BFu(t)+CDe(t)

Модель передаточной функции (idtf)

Представляет идентифицированную модель передаточной функции, которая не имеет никаких динамических элементов к шумовому поведению модели. Этот объект использует тривиальную шумовую модель H(s) = I. Управляющее уравнение

y(t)=numdenu(t)+e(t)

Конструкция: Используйте idtf, чтобы создать модель, задавая значения числителя и коэффициентов знаменателя как входные параметры. Числитель и векторы знаменателя составляют измеренный G = num(s)/den(s) компонента. Шумовой компонент фиксируется к H = 1.

Оценка: Используйте tfest, задавая количество полюсов и нули измеренного G компонента.

Модель процесса (idproc)

Представляет модель процесса, которая предоставляет возможности представлять шумовую динамику или как сначала - или как процесс ARMA второго порядка (то есть, H(s)= C(s)/A(s), где C(s) и A(s) являются многочленами равной степени). Измеренный компонент, G(s), представлен передаточной функцией, выраженной в нулевой полюсом форме.

Для процесса (и серое поле) модели, шумовой компонент часто обрабатывается как по требованию расширение в противном случае измеренного компонентно-ориентированного представления. Для этих моделей можно добавить шумовой компонент при помощи опции оценки DisturbanceModel. Например:

model = procest(data,'P1D')

оценивает модель, уравнение которой:

y(s)=Kp1(Tp1s+1)esTdu(s)+e(s).

Чтобы добавить компонент шума второго порядка в модель, используйте:

Options = procestOptions('DisturbanceModel','ARMA1');
model = procest(data,'P1D',Options);

Эта модель имеет уравнение:

y(s)=Kp1(Tp1s+1)esTdu(s)+1+c1s1+d1se(s)

где коэффициенты c1 и d1 параметризовали шумовой компонент модели. Если вы создаете модель процесса с помощью команды idproc, задаете структуру измеренного компонента с помощью входного параметра Type и шумового компонента при помощи пары "имя-значение" NoiseTF. Например,

model = idproc('P1','Kp',1,'Tp1',1,'NoiseTF',...
struct('num',[1 0.1],'den',[1 0.5]))

создает модель процесса y(s) = 1/(s+1) u(s) + (s + 0.1)/(s + 0.5) e(s)

Иногда, закрепление коэффициентов или определение границ на параметрах не достаточны. Например, у вас могут быть несвязанные зависимости от параметра в модели, или параметры могут быть функцией различного набора параметров, которые вы хотите идентифицировать исключительно. Например, в системе массового пружинного демпфера, A и параметры B оба зависят от массы системы. Чтобы достигнуть такой параметризации линейных моделей, можно использовать моделирование серого поля, где вы устанавливаете ссылку между фактическими параметрами и коэффициентами модели путем записывания файла ОДУ. Чтобы узнать больше, смотрите Оценку Модели Серого Поля.

Линейная образцовая оценка

Вы обычно используете оценку, чтобы создать модели в System Identification Toolbox. Вы выполняете одну из команд оценки, задавая как входные параметры результаты измерений, наряду с другими входными параметрами, необходимыми, чтобы задать структуру модели. Чтобы проиллюстрировать, следующий пример использует команду оценки пространства состояний, ssest, чтобы создать модель в пространстве состояний. Первый входной параметр data задает измеренные данные ввода - вывода. Второй входной параметр задает порядок модели.

sys = ssest(data,4)

Функция оценки обрабатывает шумовую переменную e(t) как ошибку прогноза – остаточный фрагмент вывода, который не может быть приписан измеренным входным параметрам. Все алгоритмы оценки работают, чтобы минимизировать взвешенную норму e(t) по промежутку доступных измерений. Функция взвешивания задана природой шумовой передаточной функции H и особое внимание оценки, такой как симуляция или ошибочная минимизация прогноза.

Черный квадрат (“холодный запуск”) оценка

По оценке черного ящика только необходимо задать порядок сконфигурировать структуру модели.

sys = estimator(data,orders) 

где estimator является именем команды оценки, чтобы использовать для желаемого типа модели.

Например, вы используете tfest, чтобы оценить модели передаточной функции, arx для моделей полинома структуры ARX и procest для моделей процессов.

Первый аргумент, data, время - или данные о частотном диапазоне, представленные как объект iddata или idfrd. Второй аргумент, orders, представляет одно или несколько чисел, определения которых зависит от типа модели:

  • Для передаточных функций orders относится к количеству полюсов и нулей.

  • Для моделей в пространстве состояний orders относится к количеству состояний.

  • Для моделей процессов orders обозначает структурные элементы модели процесса, такой как, количество полюсов и присутствие задержки и интегратора.

При работе с приложением вы задаете порядки в соответствующих полях редактирования соответствующих образцовых диалоговых окон оценки.

Структурированные оценки

В некоторых ситуациях вы хотите сконфигурировать структуру желаемой модели более тесно, чем, что достигается путем простого определения порядков. В таких случаях вы создаете модель шаблона и конфигурируете ее свойства. Вы затем передаете ту модель шаблона как входной параметр к командам оценки вместо orders.

Чтобы проиллюстрировать, следующий пример присваивает значения исходного предположения числителю и полиномам знаменателя модели передаточной функции, налагает минимальные и максимальные границы на их ориентировочные стоимости, и затем передает объект функции средства оценки.

% Initial guess for numerator
num = [1 2];
den = [1 2 1 1];
% Initial guess for the denominator 
sys = idtf(num,den);
% Set min bound on den coefficients to 0.1
sys.Structure.Denominator.Minimum = [1 0.1 0.1 0.1]; 
sysEstimated = tfest(data,sys); 

Алгоритм оценки использует обеспеченные исходные предположения, чтобы запустить оценку и поставляет модель, которая уважает заданные границы.

Можно использовать такой образцовый шаблон, чтобы также сконфигурировать вспомогательные образцовые свойства, такие как имена ввода/вывода и модули. Если значения некоторых параметров модели первоначально неизвестны, можно использовать NaNs для них в шаблоне.

Опции оценки

Существует много опций, сопоставленных с алгоритмом оценки модели, которые конфигурируют целевую функцию оценки, начальные условия и числовой алгоритм поиска, среди прочего. Для каждой команды оценки, estimator, существует соответствующая команда опции под названием estimator Options. Чтобы задать опции для конкретной команды средства оценки, такие как tfest, используют команду опций, которая соответствует команде оценки, в этом случае, tfestOptions. Команда опций возвращает набор опций, который вы затем передаете как входной параметр соответствующей команде оценки.

Например, чтобы оценить модель полинома структуры Ошибки на выходе, вы используете oe. Чтобы задать simulation как особое внимание и lsqnonlin как метод поиска, вы используете oeOptions:

load iddata1 z1
Options = oeOptions('Focus','simulation','SearchMethod','lsqnonlin');
sys= oe(z1,[2 2 1],Options);

Информация об опциях, используемых, чтобы создать предполагаемую модель, хранится в поле OptionsUsed свойства Report модели. Для получения дополнительной информации см. Отчет Оценки.

Похожие темы