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

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

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

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

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

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

Где,

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

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

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

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

    B и F подобны полиномам в линейной модели Output-Error. Для получения дополнительной информации о моделях вывода-ошибки смотрите Что такое полиномиальные модели?.

    Для 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 нелинейности, она называется Hammerstein моделью. Точно так же, когда модель содержит только выходные 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 (<reservedrangesplaceholder6>) использование нелинейной функции h как y (<reservedrangesplaceholder3>) = h (x (<reservedrangesplaceholder0>)).

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

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

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

См. также

|

Похожие темы