[系统辨识理论(笔记)]
在研究分析的过程中,经常要对一些研究对象构建数学模型来进行分析。建模时通常有两种途径,一种是运用理论分析的方法推导出数学模型,比如力学上最基本弹簧振子模型;另一种是依托于已经成熟的各类的软件,比如机械制造领域的CAD/CAE或其他的各种力学分析软件,不过这些软件也是将数学理论封装在后台进行运行。在学校老师们多提倡用前一个方法。但是实际中遇到的研究对象千变万化,而且复杂程度不尽相同,许多情况下很难用理论分析的方法推导出准确的数学模型,有时只知道数学模型的一般形式及部分参数,有时甚至连数学模型的一般形式都不知道。因此怎样确定系统的数学模型及参数———即系统辨识问题就自然被提了出来。
对于许多领域,都需要用到系统辨识。比如自己研究生期间做的课题需要用到人体的相关生物力学参数,许多之前用来确定机械部件的力学参数的方法就不适用了,最典型的就是不可能用敲模态的方法去敲人体;另外在进行各种情形下的自适应控制时,要不断估计系统的模型参数,自适应控制系统是辨识与控制相结合的一个范例。
总的来说,系统辨识其实就是根据系统的试验数据来确定系统的数学模型。针对不同的模型,不同的场合,运用的方法也不同。
一:数学模型的分类
数学模型的分类有很多种,常见的是按连续与离散、定常与时变、线性与非线性分类。
二:常见数学模型的表示
1.离散脉冲响应函数
y(k)=(∑i=0∞g(i)z−i)u(k)
u(k)为输入,z为时延因子,z−1u(k)=u(k−1)
上式是线性系统对于单位脉冲序列产生的输出,对于稳态系统,则有
y(k)=(∑i=0Nsg(i)z−i)u(k)
记
B(z−1)=∑i=0Nsg(i)z−i
对于随机系统,考虑噪声的影响,则有
y(k)=B(z−1)⋅u(k)+e(k)
e(k)为噪声项。
2.线性差分方程(自回归滑动平均模型/ARMA模型)
y(k)+a1y(k−1)+⋅⋅⋅+any(k−n)=b0u(k)+b1u(k−1)+⋅⋅⋅+bnu(k−n)
3.状态空间模型
线性时不变连续系统的状态空间描述为
{x˙(t)y(t)==Ax(t)+Bu(t)Cx(t)
其中x(t)∈Rn为系统的状态变量,u(t)∈Rm为系统的输入量,y(t)∈Rr是系统的输出量,A∈Rn×n为系统矩阵,B∈Rn×m为输入矩阵,C∈Rr×n为输出矩阵
线性时不变离散系统的状态空间模型为
{x(k+1)y(k)==Ax(k)+Bu(k)Cx(k)
其中x(k)∈Rn为系统的状态变量,u(k)∈Rm为系统的输入量,y(k)∈Rr是系统的输出量,A∈Rn×n为系统矩阵,B∈Rn×m为输入矩阵,C∈Rr×n为输出矩阵
三:系统辨识常用的误差准则
误差准则常被表示为误差的泛函数,即
J(θ)=∑k=1Nf(ε(k))
式中,f(∙)为ε(k)的函数,ε(k)是定义在区间(0,N)上的误差函数,一般指模型与实际系统的误差。
其中,
f(ε(k))=ε2(k)
误差ε(k)的确定分为输出误差准则、输入误差准则和广义误差准则。其实实际中最常用的是输出误差准则,这个其实很好理解,如图当实际系统的输出和模型的输出分别为y(k)和ym(k)时,输出误差为
ε(k)=y(k)−ym(k)

四:系统辨识常用的分类
系统辨识的分类方法很多,常见的是离线辨识与在线辨识。
1.离线辨识
顾名思义,离线辨识是在系统模型构建好、阶数确定后、数据获得后,用最小二乘、极大似然或其他估计方法对数据进行集中处理。这种方法的优点是参数估计值的精度较高,对于计算没有时间上的限制;缺点是需要存储大量的数据,预算量也大。
2.在线辨识
对于一些不能中断运行的系统,离线辨识显然不在适用,这时就要用在线辨识。
一般情况下,在线辨识时,系统的模型结构和阶数是确定好的,当获得一部分新的输入、输出数据之后,在线估计采用递推方法进行处理,从而得到模型新的估计值。由于在线辨识是在某个初值下不断利用信息进行递推运算修正模型参数的估计值,因此这就要求计算机在一个采样周期内,能够完成一次递推运算,这对递推算法也提出了收敛速度要足够快的要求。在线辨识的优点是存储量小,缺点是参数估计的精度较差,要求足够高的计算速度,对设备要求的算力要求较高。
五:系统辨识的内容和步骤
