exponenta event banner

Что такое модели Хаммерштейна-Винера?

Когда выход системы зависит нелинейно от ее входов, иногда можно разложить соотношение «вход-выход» на два или более взаимосвязанных элемента. В этом случае можно представить динамику линейной передаточной функцией и захватить нелинейности с помощью нелинейных функций входов и выходов линейной системы. Модель Хаммерштейна-Винера достигает этой конфигурации как последовательного соединения статических нелинейных блоков с динамическим линейным блоком. Приложения модели Hammerstein-Wiener охватывают несколько областей, таких как моделирование электромеханических систем и радиочастотных компонентов, обработка звука и речи, а также прогнозное управление химическими процессами. Эти модели имеют удобное блочное представление, прозрачное отношение к линейным системам и легче в реализации, чем нелинейные модели большой мощности, такие как нейронные сети и модели Вольтерры.

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

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

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

Эта блок-схема представляет структуру модели Хаммерштейна-Винера:

Где,

  • f - нелинейная функция, которая преобразует входные данные u (t) как w (t) = f (u (t)).

    w (t), внутренняя переменная, является выходом блока входной нелинейности и имеет тот же размер, что и u (t).

  • B/F - линейная передаточная функция, которая преобразует w (t) как x (t) = (B/F) w (t).

    x (t), внутренняя переменная, является выходом линейного блока и имеет тот же размер, что и y (t).

    B и F аналогичны многочленам в линейной модели ошибки вывода. Дополнительные сведения о моделях выходных ошибок см. в разделе Что такое модели полиномов?.

    Для ny выходов и nu входов линейный блок является матрицей передаточной функции, содержащей записи:

    Bj, i (q) Fj, i (q)

    где j = 1,2,...,ny и i = 1,2,...,nu.

  • h - нелинейная функция, которая отображает выходной сигнал линейного блока x (t) в выходной сигнал системы y (t) как y (t) = h (x (t)).

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

Программа вычисляет выходной сигнал модели Хаммерштейна-Винера y в три этапа:

  1. Вычислите w (t) = f (u (t)) из входных данных.

    w (t) является входом в линейную передаточную функцию B/F.

    Входная нелинейность является статической (незамеченной) функцией, где значение выходного сигнала в заданное время t зависит только от входного значения в момент времени t.

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

  2. Вычислите выходной сигнал линейного блока, используя w (t) и исходные условия: x (t) = (B/F) w (t).

    Линейный блок можно настроить, задав порядки числителя B и знаменателя F.

  3. Вычислите выходной сигнал модели путем преобразования выходного сигнала линейного блока x (t) с использованием нелинейной функции h как y (t) = h (x (t)).

    Аналогично входной нелинейности, выходная нелинейность является статической функцией. Нелинейность вывода можно настроить так же, как нелинейность ввода. Можно также удалить нелинейность вывода, так что y (t) = x (t).

Результирующими моделями являются idnlhw объекты, хранящие все данные модели, включая параметры модели и оценщики нелинейности. Дополнительные сведения об этих объектах см. в разделе Нелинейные структуры модели.

Вы можете оценить модели Hammerstein-Wiener в приложении System Identification или в командной строке, используя nlhw команда. Для оценки моделей Хаммерштейна-Винера можно использовать данные ввода-вывода во временной области с равномерной выборкой. Данные могут иметь один или несколько каналов ввода и вывода. Для оценки нельзя использовать данные временных рядов (только выходные данные) или данные частотной области. При наличии данных временных рядов для соответствия нелинейной модели определите нелинейные модели ARX или нелинейные модели серого цвета. Дополнительные сведения об этих моделях см. в разделах Идентификация нелинейных моделей ARX и Оценка нелинейных моделей серого цвета.

См. также

|

Связанные темы