系列文章目录

【系统辨识】最小二乘估计
【系统辨识】递推最小二乘法的推导及matlab仿真
【系统辨识】最小二乘辨识模型的建立



前言

辨识模型示意图
y ( t ) = φ T ( t ) θ + v ( t ) y(t)= \pmb{\varphi^{T}}(t)\pmb{\theta}+v(t) y(t)=φT(t)θ+v(t)描述的辨识模型示意图如上图所示,它把输出表示为参数的线性组合形式,是辨识问题的一个基本表达形式,称为最小二乘格式。因为这个最小二乘格式辨识模型的参数向量易于用最小二乘方法辨识。本文主要说明如何把系统模型化为最小二乘格式。

一、线性系统辨识模型

1.线性系统脉冲响应模型

y ( t ) = b 1 u ( t − 1 ) + b 2 u ( t − 2 ) + . . . + b n u ( t − n ) + v ( t ) = [ u ( t − 1 ) , u ( t − 1 ) , . . . , u ( t − n ) ] [ b 1 b 2 . . . b n ] + v ( t ) y(t)=b_{1}u(t-1)+b_{2}u(t-2)+...+b_{n}u(t-n)+v(t) \\=\left [ u(t-1),u(t-1),...,u(t-n) \right ] \begin{bmatrix} b_{1}\\ b_{2}\\ ...\\ b_{n} \end{bmatrix}+v(t) y(t)=b1​u(t−1)+b2​u(t−2)+...+bn​u(t−n)+v(t)=[u(t−1),u(t−1),...,u(t−n)] ​b1​b2​...bn​​ ​+v(t)对应的辨识模型为 { y ( t ) = φ T ( t ) θ + v ( t ) , φ ( t ) = [ u ( t − 1 ) , u ( t − 2 ) , . . . , u ( t − n ) ] T ∈ R n , θ = [ b 1 , b 2 , . . . , b n ] T ∈ R n . \left\{ \begin{array}{l} y(t)= \pmb{\varphi^{T}}(t)\pmb{\theta}+v(t),\\ \pmb{\varphi}(t)=[u(t-1),u(t-2),...,u(t-n) ]^T\in R^{n},\\ \pmb{\theta}=[b_1,b_2,...,b_n]^T\in R^n. \end{array} \right. ⎩ ⎨ ⎧​y(t)=φT(t)θ+v(t),φ(t)=[u(t−1),u(t−2),...,u(t−n)]T∈Rn,θ=[b1​,b2​,...,bn​]T∈Rn.​

2.时变系统差分方程描述的线性系统

y ( t ) + a 1 ( t ) y ( t − 1 ) + a 2 ( t ) y ( t − 2 ) = b 1 u ( t − 1 ) + b 2 u ( t − 2 ) y(t)+a_1(t)y(t-1)+a_2(t)y(t-2)=b_1u(t-1)+b_2u(t-2) y(t)+a1​(t)y(t−1)+a2​(t)y(t−2)=b1​u(t−1)+b2​u(t−2)
对应的辨识模型为
{ y ( t ) = φ T ( t ) θ , φ ( t ) = [ − y ( t − 1 ) , − y ( t − 2 ) , u ( t − 1 ) , u ( t − 2 ) ] T ∈ R 4 , θ = [ a 1 ( t ) , a 2 , b 1 , b 2 ] T ∈ R 4 . \left\{ \begin{array}{l} y(t)= \pmb{\varphi^{T}}(t)\pmb{\theta},\\ \pmb{\varphi}(t)=[-y(t-1),-y(t-2),u(t-1),u(t-2) ]^T\in R^{4},\\ \pmb{\theta}=[a_1(t),a_2,b_1,b_2]^T\in R^4. \end{array} \right. ⎩ ⎨ ⎧​y(t)=φT(t)θ,φ(t)=[−y(t−1),−y(t−2),u(t−1),u(t−2)]T∈R4,θ=[a1​(t),a2​,b1​,b2​]T∈R4.​

3.线性动态系统(CAR模型)

A ( z ) y ( t ) = B ( z ) u ( t ) + v ( t ) , A(z)y(t)=B(z)u(t)+v(t), A(z)y(t)=B(z)u(t)+v(t),其中 A ( z ) A(z) A(z)和 B ( z ) B(z) B(z)是 z − 1 z^{-1} z−1的常系数时不变多项式,定义如下, A ( z ) = 1 + a 1 z − 1 + a 2 z − 2 + . . . + a n a z − n a , B ( z ) = b 1 z − 1 + b 2 z − 2 + . . . + b n b z − n b . A(z)=1+a_1z^{-1}+a_2z^{-2}+...+a_{n_a}z^{-n_a}, \\B(z)=b_1z^{-1}+b_2z^{-2}+...+b_{n_b}z^{-n_b}. A(z)=1+a1​z−1+a2​z−2+...+ana​​z−na​,B(z)=b1​z−1+b2​z−2+...+bnb​​z−nb​.将多项式 A ( z ) A(z) A(z)和 B ( z ) B(z) B(z)带入CAR模型中可得
( 1 + a 1 z − 1 + a 2 z − 2 + . . . + a n a z − n a ) y ( t ) = ( b 1 z − 1 + b 2 z − 2 + . . . + b n b z − n b ) u ( t ) + v ( t ) (1+a_1z^{-1}+a_2z^{-2}+...+a_{n_a}z^{-n_a})y(t)=(b_1z^{-1}+b_2z^{-2}+...+b_{n_b}z^{-n_b})u(t)+v(t) (1+a1​z−1+a2​z−2+...+ana​​z−na​)y(t)=(b1​z−1+b2​z−2+...+bnb​​z−nb​)u(t)+v(t)利用移位算子的性质,上式可以写为
y ( t ) + a 1 y ( t − 1 ) + a 2 y ( t − 2 ) + . . . + a n a y ( t − n a ) = b 1 u ( t − 1 ) + b 2 u ( t − 1 ) + . . . + b n b u ( t − n b ) + v ( t ) y(t)+a_1y(t-1)+a_2y(t-2)+...+a_{n_a}y(t-n_a)=b_1u(t-1)+b_2u(t-1)+...+b_{n_b}u(t-n_b)+v(t) y(t)+a1​y(t−1)+a2​y(t−2)+...+ana​​y(t−na​)=b1​u(t−1)+b2​u(t−1)+...+bnb​​u(t−nb​)+v(t)移项可得 y ( t ) = − a 1 y ( t − 1 ) − a 2 y ( t − 2 ) − . . . − a n a y ( t − n a ) + b 1 u ( t − 1 ) + b 2 u ( t − 1 ) + . . . + b n b u ( t − n b ) + v ( t ) y(t)=-a_1y(t-1)-a_2y(t-2)-...-a_{n_a}y(t-n_a)+b_1u(t-1)+b_2u(t-1)+...+b_{n_b}u(t-n_b)+v(t) y(t)=−a1​y(t−1)−a2​y(t−2)−...−ana​​y(t−na​)+b1​u(t−1)+b2​u(t−1)+...+bnb​​u(t−nb​)+v(t)对应的辨识模型为
{ y ( t ) = φ T ( t ) θ + v ( t ) , φ ( t ) = [ − y ( t − 1 ) , − y ( t − 2 ) , . . . , − y ( t − n a ) , u ( t − 1 ) , u ( t − 2 ) , . . . , u ( t − n b ) ] T ∈ R n a + n b , θ = [ a 1 , a 2 , . . . , a n a , b 1 , b 2 , . . . , b n b ] T ∈ R n a + n b . \left\{ \begin{array}{l} y(t)= \pmb{\varphi^{T}}(t)\pmb{\theta}+v(t),\\ \pmb{\varphi}(t)=[-y(t-1),-y(t-2),...,-y(t-n_a),u(t-1),u(t-2),...,u(t-n_b) ]^T\in R^{n_a+n_b},\\ \pmb{\theta}=[a_1,a_2,...,a_{n_a},b_1,b_2,...,b_{n_b}]^T\in R^{n_a+n_b}. \end{array} \right. ⎩ ⎨ ⎧​y(t)=φT(t)θ+v(t),φ(t)=[−y(t−1),−y(t−2),...,−y(t−na​),u(t−1),u(t−2),...,u(t−nb​)]T∈Rna​+nb​,θ=[a1​,a2​,...,ana​​,b1​,b2​,...,bnb​​]T∈Rna​+nb​.​

二、非线性系统辨识模型

1.静态非线性系统

y = a x 2 + b x + c y=ax^2+bx+c y=ax2+bx+c
将该模型写为向量形式
y = [ x 2 x 1 ] [ a b c ] y=\begin{bmatrix}x^2 & x & 1 \end{bmatrix} \begin{bmatrix}a \\ b \\ c\end{bmatrix} y=[x2​x​1​] ​abc​ ​
对应的辨识模型为
{ y = φ T θ , φ = [ x 2 , x , 1 ] T ∈ R 3 , θ = [ a , b , c ] T ∈ R 3 . \left\{ \begin{array}{l} y= \pmb{\varphi^{T}}\pmb{\theta},\\ \pmb{\varphi}=[x^2,x,1 ]^T\in R^{3},\\ \pmb{\theta}=[a,b,c]^T\in R^{3}. \end{array} \right. ⎩ ⎨ ⎧​y=φTθ,φ=[x2,x,1]T∈R3,θ=[a,b,c]T∈R3.​

2.动态非线性系统

y ( t ) = a 1 y ( t − 1 ) + a 2 y ( t − 2 ) y ( t − 3 ) + b 1 u ( t ) + b 2 u 2 ( t − 1 ) + c cos ⁡ ( t ) + v ( t ) y(t)=a_1y(t-1)+a_2y(t-2)y(t-3)+b_1u(t)+b_2u^2(t-1)+c\cos (\sqrt{t})+v(t) y(t)=a1​y(t−1)+a2​y(t−2)y(t−3)+b1​u(t)+b2​u2(t−1)+ccos(t ​)+v(t)
可以写为
y ( t ) = [ y ( t − 1 ) y ( t − 2 ) y ( t − 3 ) u ( t ) u 2 ( t − 1 ) cos ⁡ ( t ) ] [ a 1 a 2 b 1 b 2 c ] + v ( t ) y(t)=\begin{bmatrix}y(t-1) & y(t-2)y(t-3) & u(t) & u^2(t-1) & \cos(\sqrt t) \end{bmatrix} \begin{bmatrix}a_1 \\ a_2 \\ b_1 \\ b_2 \\ c \end{bmatrix} +v(t) y(t)=[y(t−1)​y(t−2)y(t−3)​u(t)​u2(t−1)​cos(t ​)​] ​a1​a2​b1​b2​c​ ​+v(t)
对应的辨识模型为
{ y ( t ) = φ T ( t ) θ + v ( t ) , φ ( t ) = [ y ( t − 1 ) , y ( t − 2 ) y ( t − 3 ) , u ( t ) , u 2 ( t − 1 ) , cos ⁡ ( t ) ] T ∈ R 5 , θ = [ a 1 , a 2 , b 1 , b 2 , c ] T ∈ R 5 . \left\{ \begin{array}{l} y(t)= \pmb{\varphi^{T}(t)}\pmb{\theta}+v(t),\\ \pmb{\varphi}(t)=[y(t-1),y(t-2)y(t-3),u(t),u^2(t-1),\cos(\sqrt t) ]^T\in R^{5},\\ \pmb{\theta}=[a_1,a_2,b_1,b_2,c]^T\in R^{5}. \end{array} \right. ⎩ ⎨ ⎧​y(t)=φT(t)θ+v(t),φ(t)=[y(t−1),y(t−2)y(t−3),u(t),u2(t−1),cos(t ​)]T∈R5,θ=[a1​,a2​,b1​,b2​,c]T∈R5.​

3.非线性系统

y ( t ) = b [ e t + u 2 ( t − 3 ) ] u 2 ( t ) + a 1 u ( t − 1 ) + a 2 u ( t − 2 ) y(t)=\frac{b[e^t+u^2(t-3)]}{u^2(t)+a_1u(t-1)+a_2u(t-2)} y(t)=u2(t)+a1​u(t−1)+a2​u(t−2)b[et+u2(t−3)]​
为了将参数分离出来,可以通过定义新的输出 y 1 ( t ) = 1 / y ( t ) y_1(t)=1/y(t) y1​(t)=1/y(t),新的参数 θ 1 = 1 / b , θ 2 = a 1 / b , θ 3 = a 2 / b \theta_1=1/b,\theta_2=a_1/b,\theta_3=a_2/b θ1​=1/b,θ2​=a1​/b,θ3​=a2​/b,该模型可以变化为线性参数系统:
y 1 ( t ) = 1 y ( t ) = u 2 ( t ) + a 1 u ( t − 1 ) + a 2 u ( t − 2 ) b [ e t + u 2 ( t − 3 ) ] = 1 b u 2 ( t ) e t + u 2 ( t − 3 ) + a 1 b u ( t − 1 ) e t + u 2 ( t − 3 ) + a 2 b u ( t − 2 ) e t + u 2 ( t − 3 ) = [ u 2 ( t ) e t + u 2 ( t − 3 ) u ( t − 1 ) e t + u 2 ( t − 3 ) u ( t − 2 ) e t + u 2 ( t − 3 ) ] [ θ 1 θ 2 θ 3 ] y_1(t)=\frac{1}{y(t)}=\frac{u^2(t)+a_1u(t-1)+a_2u(t-2)}{b[e^t+u^2(t-3)]} \\=\frac{1}{b}\frac{u^2(t)}{e^t+u^2(t-3)}+\frac{a_1}{b}\frac{u(t-1)}{e^t+u^2(t-3)}+\frac{a_2}{b}\frac{u(t-2)}{e^t+u^2(t-3)} \\=\begin{bmatrix}\frac{u^2(t)}{e^t+u^2(t-3)} & \frac{u(t-1)}{e^t+u^2(t-3)} & \frac{u(t-2)}{e^t+u^2(t-3)} \end{bmatrix} \begin{bmatrix}\theta_1 \\ \theta_2 \\ \theta_3 \end{bmatrix} y1​(t)=y(t)1​=b[et+u2(t−3)]u2(t)+a1​u(t−1)+a2​u(t−2)​=b1​et+u2(t−3)u2(t)​+ba1​​et+u2(t−3)u(t−1)​+ba2​​et+u2(t−3)u(t−2)​=[et+u2(t−3)u2(t)​​et+u2(t−3)u(t−1)​​et+u2(t−3)u(t−2)​​] ​θ1​θ2​θ3​​ ​
对应的辨识模型为
{ y 1 ( t ) = φ T ( t ) θ , φ ( t ) = [ u 2 ( t ) e t + u 2 ( t − 3 ) , u ( t − 1 ) e t + u 2 ( t − 3 ) , u ( t − 2 ) e t + u 2 ( t − 3 ) ] T ∈ R 3 , θ = [ 1 b , a 1 b , a 2 b ] T ∈ R 3 . \left\{ \begin{array}{l} y_1(t)= \pmb{\varphi^{T}(t)}\pmb{\theta},\\ \pmb{\varphi}(t)=[\frac{u^2(t)}{e^t+u^2(t-3)}, \frac{u(t-1)}{e^t+u^2(t-3)} ,\frac{u(t-2)}{e^t+u^2(t-3)}]^T\in R^{3},\\ \pmb{\theta}=[\frac{1}{b},\frac{a_1}{b},\frac{a_2}{b}]^T\in R^{3}. \end{array} \right. ⎩ ⎨ ⎧​y1​(t)=φT(t)θ,φ(t)=[et+u2(t−3)u2(t)​,et+u2(t−3)u(t−1)​,et+u2(t−3)u(t−2)​]T∈R3,θ=[b1​,ba1​​,ba2​​]T∈R3.​

4.状态空间系统

{ x ( t + 1 ) = A x ( t ) + b u ( t ) + ω ( t ) , y ( t ) = c x ( t ) + d u ( t ) + v ( t ) , \left\{ \begin{array}{l} \pmb x(t+1)=\pmb {Ax}(t)+\pmb bu(t)+\pmb \omega(t),\\ y(t)=\pmb{cx}(t)+du(t)+v(t), \end{array} \right. {x(t+1)=Ax(t)+bu(t)+ω(t),y(t)=cx(t)+du(t)+v(t),​
其中 ω ( t ) \pmb \omega(t) ω(t)为过程噪声向量, v ( t ) v(t) v(t)为观测噪声。
定义:

Y ( t ) = [ x ( t + 1 ) y ( t ) ] , φ ( t ) = [ x ( t ) u ( t ) ] , θ T = [ A b c d ] , e ( t ) = [ ω ( t ) v ( t ) ] . Y(t)=\begin{bmatrix} \pmb x(t+1) \\ y(t) \end{bmatrix},\pmb \varphi(t)=\begin{bmatrix} \pmb x(t) \\ u(t) \end{bmatrix},\\ \pmb \theta^T=\begin{bmatrix} \pmb A & \pmb b\\ \pmb c & d\end{bmatrix},\pmb e(t)=\begin{bmatrix} \pmb \omega(t) \\ v(t) \end{bmatrix}. Y(t)=[x(t+1)y(t)​],φ(t)=[x(t)u(t)​],θT=[Ac​bd​],e(t)=[ω(t)v(t)​].
则状态空间模型对应的辨识模型为
Y ( t ) = θ T φ ( t ) + e ( t ) . \pmb Y(t)=\pmb {\theta^T \varphi}(t)+\pmb e(t). Y(t)=θTφ(t)+e(t).

参考文献

丁锋.系统辨识新论[M].北京:科学出版社,2013:10.

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐