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

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

Можно оценить модели Хаммерстайна-Винера в приложении 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' Максимальное количество итераций, чтобы выполнить.

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

  • 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.

Похожие темы