Моделирование черного ящика

Выбор структуры и порядка модели черного ящика

Моделирование черного ящика полезно, когда ваш основной интерес к подгонке данных независимо от конкретной математической структуры модели. Тулбокс обеспечивает несколько линейных и нелинейных структур модели черного ящика, которые традиционно были полезны для представления динамических систем. Эти структуры модели варьируются в сложности в зависимости от гибкости, которая вам нужна для учета динамики и шума в вашей системе. Можно выбрать одну из этих структур и вычислить ее параметры, чтобы соответствовать измеренному отклику данным.

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

Простейшие линейные структуры черного ящика требуют наименьшего количества опций для настройки:

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

Можно сконфигурировать структуру модели с помощью model order. Определение порядка модели изменяется в зависимости от типа модели, которую вы выбираете. Для примера, если вы выбираете представление передаточной функции, порядок модели связан с количеством полюсов и нулей. Для представления пространства состояний порядок модели соответствует количеству состояний. В некоторых случаях, таких как для линейного ARX и структур модели пространства состояний, можно оценить порядок модели из данных.

Если простые структуры модели не дают хороших моделей, можно выбрать более сложные структуры модели путем:

  • Установка более высокого порядка модели для тех же линейных структур модели. Более высокий порядок модели увеличивает гибкость модели для захвата сложных явлений. Однако излишне высокий порядок может сделать модель менее надежной.

  • Явно моделируя шум включением <reservedrangesplaceholder2> <reservedrangesplaceholder1> (<reservedrangesplaceholder0>) термин, как показано в следующем уравнении.

    y (<reservedrangesplaceholder6>) = <reservedrangesplaceholder5> <reservedrangesplaceholder4> (<reservedrangesplaceholder3>) + <reservedrangesplaceholder2> <reservedrangesplaceholder1> (<reservedrangesplaceholder0>)

    Здесь H моделирует нарушение порядка добавки, обрабатывая нарушение порядка как выход линейной системы, управляемой источником белого шума e (t).

    Использование структуры модели, которая явно моделирует нарушение порядка добавки, может помочь улучшить точность измеренных G компонента. Кроме того, такая структура модели полезна, когда ваш основной интерес использует модель для предсказания будущих значений отклика.

  • Использование другой линейной структуры модели.

    См. «Линейные Структуры модели».

  • Использование нелинейной структуры модели.

    Нелинейные модели обладают большей гибкостью в захвате сложных явлений, чем линейные модели аналогичных порядков. См. «Нелинейные структуры модели».

В конечном счете, вы выбираете самую простую структуру модели, которая обеспечивает лучшую подгонку измеренным данным. Для получения дополнительной информации смотрите Оценка линейных моделей с помощью Quick Start.

Независимо от структуры, которую вы выбираете для оценки, можно упростить модель для ваших потребностей приложения. Например, можно отделить измеренную динамику (G) от динамики шума (H), чтобы получить более простую модель, которая представляет только отношение между y и u. Можно также линеаризировать нелинейную модель вокруг рабочей точки.

Когда использовать нелинейные структуры модели?

Линейной модели часто достаточно, чтобы точно описать динамику системы и, в большинстве случаев, лучшая практика состоит в том, чтобы сначала попытаться соответствовать линейным моделям. Если выход линейной модели не воспроизводит адекватно измеренный результат, вам, возможно, потребуется использовать нелинейную модель.

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

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

Если вы не можете определить переменные преобразования, которые приводят к линейной зависимости между входной и выходной переменными, можно использовать нелинейные структуры, такие как нелинейные модели ARX или Hammerstein-Wiener. Список поддерживаемых нелинейных структур модели и случаев их использования см. в разделе Нелинейные структуры модели.

Пример оценки черного ящика

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

Рассмотрим систему масса-пружина-демпфер, описанную в Динамических системах и Моделях. Если вы не знаете уравнения движения этой системы, можно использовать подход моделирования черного ящика для построения модели. Для примера можно оценить передаточные функции или модели пространства состояний путем определения порядков этих структур модели.

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

G(s)=(b0+b1s+b2s2+...)(1+f1s+f2s2+...)

Для системы демпфера масса-пружина, эта передаточная функция

G(s)=1(ms2+cs+k)

которая является системой без нулей и 2 полюсов.

В дискретном времени передаточная функция системы масса-пружина-демпфер может быть

G(z1)=bz1(1+f1z1+f2z2)

где порядки моделей соответствуют количеству коэффициентов числителя и знаменателя (nb = 1 и nf = 2), и задержка ввода-вывода равна самой низкой степени порядка z–1 в числителе (nk = 1).

За непрерывное время можно создать модель линейной передаточной функции с помощью tfest команда.

m = tfest(data,2,0)

Здесь, data - ваши измеренные входно-выходные данные, представленные как iddata объект, а порядок модели является набором числа полюсов (2) и количеством нулей (0).

Точно так же можно создать модель в дискретном времени структуру Output Error с помощью oe команда.

m = oe(data,[1 2 1])

Порядок модели [nb nf nk] = [1 2 1]. Обычно вы не знаете порядков модели усовершенствование. Попробуйте несколько значений порядка модели, пока вы не найдете порядки, которые производят приемлемую модель.

Кроме того, можно выбрать структуру пространства состояний, чтобы представлять систему масса-пружина-демпфер и оценить параметры модели, используя ssest или n4sid команда.

m = ssest(data,2)

Вот, второй аргумент 2 представляет порядок или количество состояний в модели.

При моделировании черного ящика вам не нужно уравнение движения для системы - только догадка о порядках модели.

Для получения дополнительной информации о создании моделей смотрите Шаги для использования Приложения Системы идентификации и Команды Оценки Модели.