什么是Hammerstein-Wiener模型?
当一个系统的输出非线性地依赖于它的输入时,有时可以将输入-输出关系分解为两个或多个相互关联的元素。在这种情况下,您可以用线性传递函数表示动态,并使用线性系统输入和输出的非线性函数捕获非线性。Hammerstein-Wiener模型通过静态非线性块与动态线性块的串联来实现这种配置。Hammerstein-Wiener模型的应用涉及多个领域,如机电系统和射频组件建模、音频和语音处理以及化学过程的预测控制。这些模型具有方便的块表示,与线性系统的透明关系,并且比神经网络和Volterra模型等繁重的非线性模型更容易实现。
您可以使用Hammerstein-Wiener模型作为黑盒模型结构,因为它为非线性模型提供了灵活的参数化。例如,您可以估计一个线性模型,并尝试通过向该模型添加输入或输出非线性来提高其保真度。您还可以使用Hammerstein-Wiener模型作为灰盒结构来获取关于过程特征的物理知识。例如,输入非线性可以表示执行器的典型物理变换,输出非线性可以描述常见的传感器特性。有关何时拟合非线性模型的更多信息,请参见关于已识别的非线性模型.
Hammerstein-Wiener模型的结构
Hammerstein-Wiener模型使用一个或两个静态非线性块与一个线性块串联来描述动态系统。线性块是表示模型动态分量的离散传递函数。
下图代表了Hammerstein-Wiener模型的结构:
在那里,
f转换输入数据的是非线性函数吗u(t),w(t) =f(u(t)).
w(t)是一个内部变量,是Input Nonlinearity块的输出,与Input nonlinear块的维数相同u(t).
B / F变换是线性传递函数吗w(t),x(t) = (B / F)w(t).
x(t),是一个内部变量,是Linear块的输出,与y(t).
B而且F类似于线性输出误差模型中的多项式。有关输出错误模型的更多信息,请参见什么是多项式模型?.
为纽约输出和ν输入,线性块为传递函数矩阵,包含项:
在哪里j=
1、2、…,纽约
而且我=1、2、…,怒
.h映射线性块输出的是非线性函数吗x(t)输入系统输出y(t),y(t) =h(x(t)).
因为f作用于线性块的输入端口,此函数称为输入非线性.同样的,因为h作用于线性块的输出端口,此函数称为输出非线性.如果您的系统包含多个输入和输出,则必须定义函数f而且h对于每个输入和输出信号。您不必在模型结构中同时包含输入和输出非线性。当一个模型只包含输入非线性时f,叫做a汉默斯坦模型。类似地,当模型只包含输出非线性时h,叫做a维纳模型。
该软件计算Hammerstein-Wiener模型输出y分三个阶段:
计算w(t) =f(u(t))。
w(t)是线性传递函数的输入B / F.
输入非线性是静态的(无记忆)函数,其中输出的值在给定的时间t只取决于当时的输入值t.
您可以将输入非线性配置为sigmoid网络、小波网络、饱和、死区、分段线性函数、一维多项式或自定义网络。您还可以删除输入非线性。
计算线性块的输出w(t)和初始条件:x(t) = (B / F)w(t).
可以通过指定分子的阶数来配置线性块B和分母F.
通过转换线性块的输出计算模型输出x(t)使用非线性函数h作为y(t) =h(x(t)).
与输入非线性相似,输出非线性是一个静态函数。您可以用与输入非线性相同的方式配置输出非线性。您还可以删除输出非线性,例如y(t) =x(t).
得到的模型如下idnlhw
存储所有模型数据的对象,包括模型参数和非线性估计器。有关这些对象的详细信息,请参见非线性模型结构.
你可以估计Hammerstein-Wiener模型系统识别应用程序或在命令行中使用nlhw
命令。您可以使用统一采样的时域输入-输出数据来估计Hammerstein-Wiener模型。数据可以有一个或多个输入和输出通道。不能使用时间序列数据(仅输出)或频域数据进行估计。如果您有时间序列数据,要拟合非线性模型,请识别非线性ARX模型或非线性灰盒模型。有关这些模型的详细信息,请参见识别非线性ARX模型而且估计非线性灰盒模型.