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 ) |
Представляет идентифицированную структуру модели пространства состояний, управляемую уравнениями:
где передаточная функция между измеренным входным u и выходным y, и передаточная функция шума . |
Конструкция: Использование Оценка: Использование |
Полиномиальная модель (idpoly ) |
Представляет полиномиальную модель, такую как ARX, ARMAX и BJ. Модель ARMAX, например, использует входно-выходное уравнение Ay (t) = Bu (t) + Ce (t), так что измеренная передаточная функция G, в то время как передаточная функция шума . Модель ARMAX является специальным строением общей полиномиальной модели, управляющее уравнение которой: Авторегрессивный компонент, A, является общей между измеренными и шумовыми компонентами. Полиномы B и F составляют измеренный компонент, в то время как полиномы C и D составляют шумовой компонент. |
Конструкция: Использование y = idpoly([],B,[],[],F) Оценка: Используйте |
Модель передаточной функции (idtf ) |
Представляет идентифицированную модель передаточной функции, которая не имеет динамических элементов для моделирования шумового поведения. Этот объект использует тривиальную модель шума H(s) = I. Управляющее уравнение
|
Конструкция: Использование Оценка: Использование |
Модель процесса (idproc ) |
Представляет модель процесса, которая предоставляет опции для представления динамики шума как процесс ARMA первого или второго порядка (то есть H(s)= C(s)/A(s), где C(s) и A(s) являются моничными полиномами равной степени). Измеренный компонент, G(s), представлен передаточной функцией, выраженной в форме полюс-ноль. |
Для моделей процесса (и серых ящиков) шумовой компонент часто рассматривается как расширение по требованию к измеренному в противном случае компонентно-ориентированному представлению. Для этих моделей можно добавить шумовой компонент при помощи model = procest(data,'P1D') оценивает модель, уравнение которой:
Чтобы добавить к модели компонент второго порядка, используйте: Options = procestOptions('DisturbanceModel','ARMA1'); model = procest(data,'P1D',Options); Эта модель имеет уравнение: где коэффициенты c1 и d1 параметризовать шумовой компонент модели. Если вы создаете модель процесса с помощью 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
параметры зависят от массы системы. Чтобы достичь такой параметризации линейных моделей, можно использовать серо-прямоугольное моделирование, где вы устанавливаете ссылку между фактическими параметрами и коэффициентами модели путем записи файла ODE. Чтобы узнать больше, см. Оценку модели Grey-Box.
Обычно вы используете оценку для создания моделей в 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
. Чтобы задать опции для конкретной команды estimator, такой как tfest
, используйте команду options, которая соответствует команде оценки, в этом случае, tfestOptions
. Команда options возвращает набор опций, который вы затем передаете как входной параметр соответствующей команде оценки.
Для примера, чтобы оценить структуру полинома модель Output-Error, вы используете oe
. Чтобы задать simulation
как особое внимание и lsqnonlin
в качестве метода поиска вы используете oeOptions
:
load iddata1 z1 Options = oeOptions('Focus','simulation','SearchMethod','lsqnonlin'); sys= oe(z1,[2 2 1],Options);
Информация об опциях, используемых для создания предполагаемой модели, хранится в OptionsUsed
поле Report
модели свойство. Для получения дополнительной информации см. Отчет по оценке.