Идентификация моделей Хаммерстайна-Винера

Модели Хаммерстайна-Винера описывают динамические системы с помощью одного или двух статических нелинейных блоков последовательно с линейным блоком. Линейный блок является дискретной передаточной функцией и представляет динамический компонент модели. Для получения дополнительной информации о структуре этих моделей, смотрите то, Что Модели Хаммерстайна-Винера?

Можно оценить модели Хаммерстайна-Винера в приложении System Identification или в командной строке с помощью nlhw команда. Чтобы оценить модель Хаммерстайна-Винера, вы сначала готовите данные об оценке. Вы затем конфигурируете структуру модели и алгоритм оценки, и затем выполняете оценку. После оценки можно подтвердить предполагаемую модель как описано в Проверке Моделей Хаммерстайна-Винера.

Подготовка данных для идентификации

Можно использовать только однородно произведенные данные ввода - вывода временного интервала в оценке моделей Хаммерстайна-Винера. Ваши данные могут иметь один или несколько каналов ввода и вывода. Вы не можете использовать данные временных рядов (выведите только), или данные частотного диапазона для оценки. Используйте нелинейный ARX или нелинейные модели серого ящика для данных временных рядов.

Чтобы подготовить данные к оценке модели, импортируйте свои данные в рабочую область MATLAB® и выполните одно из следующих действий:

  • В приложении System Identification — Импортируют данные в приложение, как описано в Представляют Данные.

  • В командной строке — Представляют ваши данные как iddata объект.

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

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

Сконфигурируйте структуру модели Хаммерстайна-Винера

Структура модели Хаммерстайна-Винера состоит из ввода и вывода нелинейные блоки последовательно с линейным блоком. Линейный блок является дискретной передаточной функцией и представляет динамический компонент модели.

Сконфигурировать структуру модели Хаммерстайна-Винера:

  1. Сконфигурируйте линейный блок передаточной функции.

    Выполните одно из следующего:

    • Задайте порядок модели и введите задержку линейной передаточной функции как:

      • nb — Количество нулей плюс один. nb является длиной числителя (B) полином.

      • nf — Количество полюсов. nf является порядком знаменателя передаточной функции (F полином).

      • nk — Задержитесь от входа до выхода в терминах количества выборок.

      Для систем MIMO с Ny выходными параметрами и входными параметрами Nu, nb, nf, и nk является Ny-by-Nu матрицы.

    • Инициализируйте линейный блок с помощью дискретного времени линейная модель — можно инициализировать использующие линейные модели в командной строке только. Инициализация устанавливает передаточную функцию линейного блока к той из заданной линейной модели. Для получения дополнительной информации смотрите, Инициализируют Оценку Хаммерстайна-Винера Используя Линейную Модель.

  2. Сконфигурируйте нелинейность ввода и вывода, f и h соответственно.

    Средства оценки нелинейности ввода и вывода по умолчанию являются кусочными линейными функциями. Смотрите pwlinear страница с описанием для получения дополнительной информации. Сконфигурировать средства оценки нелинейности ввода и вывода:

    1. Выберите тип средств оценки нелинейности ввода и вывода и сконфигурируйте их свойства.

      Для списка доступных средств оценки нелинейности смотрите Доступные Средства оценки Нелинейности для Моделей Хаммерстайна-Винера.

    2. Исключите ввод или вывод нелинейный блок.

      Вы не должны включать и вход и выходную нелинейность в структуре модели. Когда модель содержит только входную нелинейность f, это называется моделью Hammerstein. Точно так же, когда модель содержит только выходную нелинейность h, это называется Винеровской моделью.

Для получения информации о том, как сконфигурировать структуру модели в командной строке и в приложении, см. Модели Эстимате Хаммерстайна-Винера в Моделях Командной строки и Эстимате Хаммерстайна-Винера в Приложении.

Задайте опции оценки для моделей Хаммерстайна-Винера

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

Сконфигурируйте функцию потерь

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

В командной строке используйте nlhw набор опции, nlhwOptions сконфигурировать вашу функцию потерь. Можно задать следующие опции:

  • OutputWeight — Задайте взвешивание ошибки по мультивыходным оценкам.

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

Для получения дополнительной информации о том, как задать эти опции в приложении, см. Модели Эстимате Хаммерстайна-Винера в Приложении.

Задайте алгоритм оценки

Чтобы оценить модель Хаммерстайна-Винера, программное обеспечение использует итеративные алгоритмы поиска, чтобы минимизировать функцию потерь. В командной строке используйте nlhwOptions задавать алгоритм поиска и другие опции оценки. Некоторые опции, которые можно задать:

  • SearchMethod — Метод поиска для минимизации прогноза или ошибок симуляции, таких как Ньютон Гаусса и поиск линии Levenberg-Marquardt и доверительная область отражающий подход Ньютона.

  • SearchOptions — Набор опции для алгоритма поиска, с полями, которые зависят от значения SearchMethod, такой как:

    • MaxIterations — Максимальное количество итераций, чтобы выполнить.

    • Tolerance — Условие для завершения итеративного поиска, когда ожидаемое улучшение значений параметров меньше заданного значения.

  • InitialCondition — По умолчанию программное обеспечение обрабатывает начальные состояния модели как нуль и не оценивает состояния. Можно принять решение оценить начальные состояния, которые иногда могут улучшать оценки параметра.

Чтобы видеть полный список доступных опций оценки, смотрите nlhwOptions. Для получения дополнительной информации о том, как задать эти опции оценки в приложении, см. Модели Эстимате Хаммерстайна-Винера в Приложении.

После предварительной обработки данных об оценке и конфигурирования структуры модели, функции потерь и опций оценки, можно оценить модель в приложении System Identification или использование nlhw. Получившейся моделью является idnlhw возразите, что хранит все данные модели, включая средство оценки нелинейности и параметры модели. Для получения дополнительной информации об этих объектах модели, смотрите Нелинейные Структуры модели. Можно подтвердить предполагаемую модель как описано в Проверке Моделей Хаммерстайна-Винера.

Инициализируйте оценку Хаммерстайна-Винера Используя линейную модель

В командной строке можно использовать одну из следующих линейных моделей, чтобы инициализировать линейный блок модели Хаммерстайна-Винера:

  • Полиномиальная модель структуры Ошибки на выходе (OE) (idpoly)

  • Модель в пространстве состояний без компонента воздействия (idss модель с K = 0)

  • Передаточная функция (idtf модель)

Как правило, вы используете oe, n4sid, или tfest команды, чтобы получить линейную модель. Можно предоставить линейную модель при построении или оценке модели Хаммерстайна-Винера. Например, используйте следующий синтаксис, чтобы оценить модель Хаммерстайна-Винера использование данных об оценке и линейной модели LinModel.

m = nlhw(data,LinModel)

Здесь m idnlhw объект и data временной интервал iddata объект. Программное обеспечение использует линейную модель в инициализации оценки Хаммерстайна-Винера:

  • Присвоение линейной модели заказывает как начальные значения нелинейных порядков модели (nb и nf свойства Хаммерстайна-Винера (idnlhw) и задержки (nk свойство.

  • Установка B и полиномов F линейной передаточной функции в структуре модели Хаммерстайна-Винера.

Во время оценки алгоритм оценки использует эти значения, чтобы настроить нелинейную модель к данным. По умолчанию, оба, средства оценки нелинейности ввода и вывода являются кусочными линейными функциями (см. pwlinear).

Можно также задать различные средства оценки нелинейности ввода и вывода. Например, сигмоидальное сетевое входное средство оценки нелинейности и мертво-зональное выходное средство оценки нелинейности.

m = nlhw(data,LinModel,'sigmoidnet','deadzone')

Для примера см. Модели Эстимате Хаммерстайна-Винера, Инициализированные Используя Линейные Модели OE.

Похожие темы