主要内容

什么是汉默斯坦-维纳模型?

当系统的输出在其输入上非线性地依赖于其输入时,有时可以将输入输出关系分解为两个或更多个互连的元件。在这种情况下,您可以通过线性传递函数表示动态,并使用线性系统的输入和输出的非线性函数捕获非线性。Hammerstein-Wiener模型实现此配置作为具有动态线性块的静态非线性块的串联连接。Hammerstein-Wiener模型应用程序跨越几个区域,例如建模机电系统和射频分量,音频和语音处理以及对化学过程的预测控制。这些模型具有方便的块表示,与线性系统的透明关系,并且比诸如神经网络和Volterra模型的重型非线性模型更容易实现。

您可以使用Hammerstein-Wiener模型作为黑箱模型结构,因为它为非线性模型提供了灵活的参数化。例如,您可以估计一个线性模型,并尝试通过向该模型添加输入或输出非线性来提高其保真度。您还可以使用Hammerstein-Wiener模型作为灰盒结构来捕获关于流程特征的物理知识。例如,输入非线性可以代表执行器中典型的物理变换,输出非线性可以描述常见的传感器特性。有关何时拟合非线性模型的更多信息,请参见关于辨识的非线性模型

Hammerstein-Wiener模型的结构

Hammerstein-Wiener模型描述了使用带有线性块的一个或两个静态非线性块的动态系统。线性块是表示模型的动态分量的离散传递函数。

该框图表示HammerseIn-Wiener模型的结构:

在那里,

  • f是一个转换输入数据的非线性函数吗ut) 作为wt) =fut))

    wt)是一个内部变量,是输入非线性块的输出,与输入非线性块的维数相同ut).

  • B / F.是一个变换的线性传递函数吗wt) 作为xt) = (B / F.wt

    xt)是一个内部变量,是线性块的输出,与线性块具有相同的维数yt).

    BF类似于线性输出误差模型中的多项式。有关Output-Error模型的更多信息,请参见什么是多项式模型?

    纽约产出和nu.输入时,线性块是一个传递函数矩阵,包含以下项:

    B j F j

    在哪里j1,2,......,ny1,2,......,nu

  • h是一个非线性函数映射线性块的输出吗xt)输入系统输出yt) 作为yt) =hxt))

因为f作用于线性块的输入端口,此函数称为输入非线性.同样的,因为h在线性块的输出端口作用,此函数称为输出非线性.如果您的系统包含多个输入和输出,则必须定义函数fh对于每个输入和输出信号。您不必在模型结构中包含输入和输出非线性。当模型仅包含输入非线性时f,它被称为a汉默斯坦模型。同样,当模型仅包含输出非线性时h,它被称为a维纳模型。

该软件计算Hammerstein-Wiener模型的输出y在三个阶段:

  1. 计算wt) =fut))从输入数据。

    wt)是线性传递函数的输入B / F.

    输入非线性是静态(无记忆)函数,其中输出值为给定时间t只取决于当时的输入值t

    你可以配置输入非线性为一个sigmoid网络,小波网络,饱和,死区,分段线性函数,一维多项式,或自定义网络。你也可以去掉输入非线性。

  2. 使用,计算线性块的输出wt)和初始条件:xt) = (B / F.wt).

    您可以通过指定分器的顺序来配置线性块B和分母F

  3. 通过转换线性块的输出来计算模型输出xt)使用非线性函数h作为yt) =hxt)).

    类似于输入非线性,输出非线性是静态功能。您可以以与输入非线性相同的方式配置输出非线性。您还可以删除输出非线性,使其yt) =xt).

由此产生的模型是idnlhw对象,存储所有模型数据,包括模型参数和非线性估计器。有关这些对象的更多信息,请参见非线性模型结构

你可以估计Hammerstein-Wiener模型系统识别应用程序或在命令行中使用nlhw.命令。可以使用均匀采样的时域输入输出数据来估计Hammerstein-Wiener模型。您的数据可以有一个或多个输入和输出通道。不能使用时间序列数据(仅输出)或频域数据进行估计。如果你有时间序列数据,要拟合非线性模型,识别非线性ARX模型或非线性灰箱模型。有关这些模型的更多信息,请参见识别非线性ARX模型估计非线性灰盒模型

另请参阅

|

相关话题