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

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

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

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

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

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

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

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

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

  • Явным образом моделируя шум включением e H (t) термин, как показано в следующем уравнении.

    y (t) = G u (t) + H e (t)

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

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

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

    Смотрите линейные структуры модели.

  • Используя нелинейную структуру модели.

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

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

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

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

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

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

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

Если вы не можете определить переменные преобразования, которые дают к линейному соотношению между переменными ввода и вывода, можно использовать нелинейные структуры, такие как нелинейный ARX или модели Хаммерстайна-Винера. Для списка поддерживаемых нелинейных структур модели и когда использовать их, смотрите Нелинейные Структуры модели.

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

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

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

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

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 представляет порядок или количество состояний в модели.

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

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