非线性系统辨识:非线性 ARX 和 Hammerstein-Wiener

1. 系统辨识

系统辨识是根据系统的输入输出时间函数来确定描述系统行为的数学模型。现代控制理论中的一个分支。通过辨识建立数学模型的目的是估计表征系统行为的重要参数,建立一个能模仿真实系统行为的模型,用当前可测量的系统的输入和输出预测系统输出的未来演变,以及设计控制器。对系统进行分析的主要问题是根据输入时间函数和系统的特性来确定输出信号。

  1. 线性系统辨识:根据测得的时域或频域数据估计线性模型,用于控制设计、系统仿真和预测等应用。创建连续或离散时间的传递函数、过程模型、状态空间模型和多项式模型。使用频谱分析估计频率响应模型。

  2. 非线性系统辨识:通过估计非线性 ARX 和 Hammerstein-Wiener 模型来捕获系统的非线性动态特性。使用非线性 ARX 模型将自回归模型与由小波网络、树分区和 S 型网络表示的动态非线性结合起来。

  3. 基于人工智能的非线性系统辨识:将机器学习和深度学习方法与非线性 ARX 和 Hammerstein-Wiener 模型相结合,以描述系统的非线性动态特性。使用支持向量机 (SVM)、树集成、高斯过程和前馈网络来表示非线性。还可以使用神经 ODE 创建基于深度学习的非线性状态空间模型。

工具有matlab的System Identification Toolbox,基于输入-输出数据创建线性和非线性动态系统模型

2. 非线性模型

2.1. NARX

Nonlinear ARX( nonlinear autoregressive with exogeneous inputs ),即非线性ARX。下面公式如果f是线性函数时就是ARX模型(y与k-m前的y、k时输入u及k-m前的输入u相关),如果f是非线性函数时就是NARX模型。其中线性模型部分可以参见https://blog.csdn.net/zephyr_wang/article/details/128589032

在这里插入图片描述

其中f 可以选择不同的非线性函数,如小波网络,多层前馈神经网络,树分类。

2.2. NARMAX

思路同上面的,下面公式如果f是线性函数时就是ARMAX模型(y与k-m前的y、k时输入u及k-m前的输入u、k时噪声v及k-m前的噪声相关),如果f是非线性函数时就是NARMAX模型。

在这里插入图片描述

2.3 Hammerstein模型

输入经过非线性模型再传到线性模型中。
在这里插入图片描述

比如下面的第二个式子v表示非线性部分,第一个式子表示线性部分。所以基本上可以Hammerstein模型等于ARMAX加上一个非线性部分。
在这里插入图片描述

求解Hammerstein系统模型的方法包括:
1)同步法,即非线性和线性部分一起求解。如将非线性v式子带人线性式子,然后用最小二乘法一起求解。求解方法包括过参数化法(Overparameterization method)、子空间法(Subspace method)–利用状态空间模型、调制函数法(Modulation function method)、直接辨识法(Direct identification method)–如利用神经网络。
2)分步法,将非线性环节和线性环节分离。求解方法包括有迭代法、分离最小
二乘法(Separable least squares method)、多信号源法、盲辨识法、频域法和随机法等

2.4 Hammerstein-wiener 结构

Hammerstein系统——输入非线性模型,Wiener 系统 ——输出非线性模型。Hammerstein-wiener 结构(HW结构)是输入和输出分别加了一个静态的非线性变换,如下图的f、h;中间部分是动态的线性结构,如下图的B/F,B/F可以参考OE模型的B/F,详见https://blog.csdn.net/zephyr_wang/article/details/128589032

在这里插入图片描述

3. 非线性一些方法

3.1. 分段线性化法piecewise linear

把非线性特性曲线分成若干个区段,在每个区段中用直线段近似地代替特性曲线,这种处理方式称为分段线性化。在分段线性化处理后,所研究的非线性系统在每一个区段上被近似等效为线性系统,就可采用线性系统的理论和方法来进行分析。

3.2. 死区dead-zone

死区会带来非线性。

死区特性也称为不灵敏区。控制系统中的一些测量、变换部件和各种放大器,在零位附近常有不灵敏区。

当系统有输入信号,但是信号处在零值附近的一个小范围内,这个输入信号不超过死区的范围时,系统的输出信号将为零;只有当输入信号大于死区范围时,系统才有输出。

我们可发现在系统中加入死区环节会对系统造成一下影响:(1)当为阶跃信号时我们可发现死区带给系统最直接的影响是造成稳态误差,但死区不会使系统过渡过程的振荡性变大。(2)死区能滤去在输入端做小幅震荡的干扰作用,因而提高了系统的抗干扰能力。(3)死区会造成系统输出量在时间上的滞后。

3.3. 饱和saturation

Saturation模块,这是一个将输入信号限制在饱和上限和下限之间的模块,来约束输出值。
在这里插入图片描述

3.4. 小波变换Wavelet

用傅里叶变换提取信号的频谱需要利用信号的全部时域信息,傅里叶变换没有反映出随着时间的变化信号频率成分的变化情况。它只能获取一段信号总体上包含哪些频率的成分,但是对各成分出现的时刻并无所知。

小波变换与Fourier变换、窗口Fourier变换(Gabor变换)相比,这是一个时间和频率的局域变换,因而能有效的从信号中提取信息,通过伸缩和平移等运算功能对函数或信号进行多尺度细化分析(Multiscale Analysis),解决了Fourier变换不能解决的许多困难问题,从而小波变化被誉为“数学显微镜”。

从公式可以看出,不同于傅里叶变换,变量只有频率ω,小波变换有两个变量:尺度a和平移量 τ。尺度a控制小波函数的伸缩,平移量 τ控制小波函数的平移。尺度就对应于频率(反比),平移量 τ就对应于时间。
在这里插入图片描述

使用小波变换将信号解构为加在一起的小波。小波在时间和频率上受到限制。 它不是永久持续且没有时间限制的小波。不同小波(上面公式的ψ函数)的例子如下所示:
在这里插入图片描述

3.5. sigmoid

sigmoid函数也叫Logistic函数,用于隐层神经元输出,取值范围为(0,1),它可以将一个实数映射到(0,1)的区间,可以用来做二分类。
在这里插入图片描述
在这里插入图片描述

参考:
1,贾 立、李训龙《Hammerstein模型辨识的回顾及展望》

猜你喜欢

转载自blog.csdn.net/zephyr_wang/article/details/128600602