控制系统辨识
一、M序列
参数辨识的参考输入
全称Maximal Length Sequence
用于产生伪随机二进制序列,近似白噪声的统计特性
常用的反馈通道组
M序列参数选择
-
幅值 a a a :根据被辨识系统的线性范围和允许的信噪比来确定。一方面, a a a必须对系统进行充分的激励;另一方面, a a a 又不能太大,否则将引起系统非线性和较大的干扰噪声。
-
移位脉冲周期 Δ \Delta Δ:根据被识系统的频带或截止频率这些重要的工作频率作为参考进行4的选择,设最高的参考工作频率为 w m a x w_{max} wmax为使 M 序列的有效频带能够覆盖被辨识系统的重要工作频率区,应满足
2 π 3 Δ > ω max 或 Δ < 2 π 3 ω max \frac{2\pi}{3\Delta}>\omega_{\max}\text{或 }\Delta<\frac{2\pi}{3\omega_{\max}} 3Δ2π>ωmax或 Δ<3ωmax2π -
循环周期 N N N:为使系统脉冲响应在 M 序列一个周期时间** N Δ N\Delta NΔ内近似衰减到零,应满足 T = N Δ > t s T=N\Delta>t_s T=NΔ>ts**,其中t为系统的调节时间。如果循环周期取得太大,在实际应用中辨识用时间较长,一般取为 N Δ = ( 1.2 − 1.5 ) t s N\Delta=(1.2-1.5)t_s NΔ=(1.2−1.5)ts。
Example
a = 0.5 m A , Δ = 0.6 s , N = 31 a=0.5mA,\Delta = 0.6s, N=31 a=0.5mA,Δ=0.6s,N=31,使用四级移位寄存器实现M序列
n=4;
N=2^n-1;
a=0.5;
Delta=0.6;
A1=1;A2=1;A3=1;A4=0; %设置初始值
for i=1:3*N
X1=xor(A3,A4); %对第三级和第四级移位寄存器输出进行模二相加
X2=A1;
X3=A2;
X4=A3;
OUT(i)=A4; %移位寄存器最后一级输出
t(i)=Delta*i;
if OUT(i)>0.5
u(i)=-a; %确定电平幅值
else u(i)=a;
end
A1=X1;A2=X2;A3=X3;A4=X4;
end
仿真结果
二、最小二乘基础
2.1 一般最小二乘
- u ( k ) u(k) u(k) 系统输入
- y ( k ) y(k) y(k) 系统输出
- v ( k ) v(k) v(k) 系统噪声
- z ( k ) z(k) z(k) 实际可测输出
被辨识模型为
G
(
z
)
G(z)
G(z)
G
(
z
)
=
y
(
z
)
u
(
z
)
=
b
1
z
−
1
+
b
2
z
−
2
+
⋅
⋅
⋅
+
b
n
z
−
n
1
+
a
1
z
−
1
+
a
2
z
−
2
+
⋅
⋅
⋅
+
a
n
z
−
n
G(z)=\frac{y(z)}{u(z)}=\frac{b_1z^{-1}+b_2z^{-2}+\cdotp\cdotp\cdotp+b_nz^{-n}}{1+a_1z^{-1}+a_2z^{-2}+\cdotp\cdotp\cdotp+a_nz^{-n}}
G(z)=u(z)y(z)=1+a1z−1+a2z−2+⋅⋅⋅+anz−nb1z−1+b2z−2+⋅⋅⋅+bnz−n
对应差分方程为
y
(
k
)
=
−
∑
i
=
1
n
a
i
y
(
k
−
i
)
+
∑
i
=
1
n
b
i
u
(
k
−
i
)
\begin{aligned}y(k)=&-\sum_{i=1}^na_iy(k-i)+\sum_{i=1}^nb_iu(k-i)\end{aligned}
y(k)=−i=1∑naiy(k−i)+i=1∑nbiu(k−i)
改写成
z
(
k
)
=
−
∑
i
=
1
n
a
i
y
(
k
−
i
)
+
∑
i
=
1
n
b
i
u
(
k
−
i
)
+
v
(
k
)
z(k)=-\sum_{i=1}^{n}a_{i}y(k-i)+\sum_{i=1}^{n}b_{i}u(k-i)+v(k)
z(k)=−i=1∑naiy(k−i)+i=1∑nbiu(k−i)+v(k)
定义待辨识参数矩阵和系统输入输出矩阵
h
(
k
)
=
[
−
y
(
k
−
1
)
,
−
y
(
k
−
2
)
,
⋯
,
−
y
(
k
−
n
)
,
u
(
k
−
1
)
,
u
(
k
−
2
)
,
⋯
,
u
(
k
−
n
)
]
θ
=
[
a
1
,
a
2
,
⋯
,
a
n
,
b
1
,
b
2
,
⋯
,
b
n
]
⊺
h(k)=\left[-y(k-1),-y(k-2),\cdots,-y(k-n),u(k-1),u(k-2),\cdots,u(k-n)\right ]\\ \theta=\left[a_1,a_2,\cdots,a_n,b_1,b_2,\cdots,b_n\right]^{\intercal}
h(k)=[−y(k−1),−y(k−2),⋯,−y(k−n),u(k−1),u(k−2),⋯,u(k−n)]θ=[a1,a2,⋯,an,b1,b2,⋯,bn]⊺
则被辨识模型式
z
(
k
)
=
h
(
k
)
θ
+
v
(
k
)
\boldsymbol z(k)=\boldsymbol{h}(k)\boldsymbol\theta+\boldsymbol v(k)
z(k)=h(k)θ+v(k)
写成矩阵形式,如下
Z
m
=
H
m
θ
+
V
m
\boldsymbol{Z}_m=\boldsymbol{H}_m\boldsymbol{\theta}+\boldsymbol{V}_m
Zm=Hmθ+Vm
其中
Z
m
=
[
z
(
1
)
z
(
2
)
⋮
z
(
m
)
]
H
m
=
[
h
(
1
)
h
(
2
)
⋮
h
(
m
)
]
=
[
−
y
(
0
)
⋯
−
y
(
1
−
n
)
u
(
0
)
⋯
u
(
1
−
n
)
−
y
(
1
)
⋯
−
y
(
2
−
n
)
u
(
1
)
⋯
u
(
2
−
n
)
⋮
⋮
⋮
⋮
⋮
⋮
−
y
(
m
−
1
)
⋯
−
y
(
m
−
n
)
u
(
m
−
1
)
⋯
u
(
m
−
n
)
]
θ
=
[
a
1
,
a
2
,
⋯
,
a
n
,
b
1
,
b
2
,
⋯
,
b
n
]
⊺
,
V
m
=
[
v
(
1
)
v
(
2
)
⋯
v
(
m
)
]
⊺
\begin{aligned}\boldsymbol{Z}_m&=\begin{bmatrix}z(1)\\z(2)\\\vdots\\z(m)\end{bmatrix}\\ \boldsymbol{H}_m&=\begin{bmatrix}h(1)\\h(2)\\\vdots\\h(m)\end{bmatrix}=\begin{bmatrix}-y(0)&\cdots&-y(1-n)&u(0)&\cdots&u(1-n)\\-y(1)&\cdots&-y(2-n)&u(1)&\cdots&u(2-n)\\\vdots&\vdots&\vdots&\vdots&\vdots&\vdots\\-y(m-1)&\cdots&-y(m-n)&u(m-1)&\cdots&u(m-n)\end{bmatrix}\\\boldsymbol{\theta}&=\begin{bmatrix}a_1,a_2,\cdots,a_n,b_1,b_2,\cdots,b_n\end{bmatrix}^\intercal,\boldsymbol{V}_m=\begin{bmatrix}v(1)&v(2)&\cdots&v(m)\end{bmatrix}^\intercal\end{aligned}
ZmHmθ=
z(1)z(2)⋮z(m)
=
h(1)h(2)⋮h(m)
=
−y(0)−y(1)⋮−y(m−1)⋯⋯⋮⋯−y(1−n)−y(2−n)⋮−y(m−n)u(0)u(1)⋮u(m−1)⋯⋯⋮⋯u(1−n)u(2−n)⋮u(m−n)
=[a1,a2,⋯,an,b1,b2,⋯,bn]⊺,Vm=[v(1)v(2)⋯v(m)]⊺
估计的损失函数
J
(
θ
^
)
=
(
Z
m
−
H
m
θ
^
)
T
(
Z
m
−
H
m
θ
^
)
J(\hat{\boldsymbol{\theta}})=(\mathbf{Z}_m-\mathbf{H}_m\hat{\boldsymbol{\theta}})^\mathrm{T}(\mathbf{Z}_m-\mathbf{H}_m\hat{\boldsymbol{\theta}})
J(θ^)=(Zm−Hmθ^)T(Zm−Hmθ^)
为使其损失函数最小,根据极值定理
∂
J
∂
θ
∣
θ
=
θ
^
=
−
2
H
m
T
(
Z
m
−
H
m
θ
^
)
=
0
\left.\frac{\partial J}{\partial\boldsymbol{\theta}}\right|_{\boldsymbol{\theta}=\hat{\boldsymbol{\theta}}}=-2\boldsymbol{H}_m^\mathrm{T}(\boldsymbol{Z}_m-\boldsymbol{H}_m\hat{\boldsymbol{\theta}})=0
∂θ∂J
θ=θ^=−2HmT(Zm−Hmθ^)=0
则
H
m
T
H
m
θ
^
=
H
m
T
Z
m
\boldsymbol{H}_m^\mathrm{T}\boldsymbol{H}_m\hat{\boldsymbol{\theta}}=\boldsymbol{H}_m^\mathrm{T}\boldsymbol{Z}_m
HmTHmθ^=HmTZm
若
H
m
T
H
m
\boldsymbol{H}_m^\mathrm{T}\boldsymbol{H}_m
HmTHm 满秩,则最小二乘估计为
θ
^
=
(
H
m
T
H
m
)
−
1
H
m
T
Z
m
\hat{\boldsymbol \theta}=(\boldsymbol H_m^{\mathrm{T}}\boldsymbol H_m)^{-1}\boldsymbol H_m^{\mathrm{T}}\boldsymbol Z_m
θ^=(HmTHm)−1HmTZm
2.2 加权最小二乘
其损失函数为
J
(
θ
^
)
=
(
Z
m
−
H
m
θ
^
)
T
W
m
(
Z
m
−
H
m
θ
^
)
J(\hat{ \boldsymbol \theta})=(\boldsymbol{Z}_m-\boldsymbol{H}_m\hat{\boldsymbol \theta})^{\mathrm{T}}\boldsymbol{W}_m(\boldsymbol{Z}_m-\boldsymbol{H}_m\hat{\boldsymbol \theta})
J(θ^)=(Zm−Hmθ^)TWm(Zm−Hmθ^)
其中加权矩阵为
W
m
=
d
i
a
g
[
w
(
1
)
,
w
(
2
)
,
⋯
,
w
(
m
)
]
\boldsymbol{W}_m=\mathrm{diag}[w(1),w(2),\cdots,w(m)]
Wm=diag[w(1),w(2),⋯,w(m)]
加权最小二乘估计为
θ
^
=
(
H
m
T
W
m
H
m
)
−
1
H
m
T
W
m
Z
m
\hat{\boldsymbol \theta}=(\boldsymbol H_m^\mathrm{T}\boldsymbol W_m\boldsymbol H_m)^{-1}\boldsymbol H_m^\mathrm{T}\boldsymbol W_m\boldsymbol Z_m
θ^=(HmTWmHm)−1HmTWmZm
若
W
m
=
R
−
1
\boldsymbol W_m=\boldsymbol R^{-1}
Wm=R−1 ,R为噪声协方差矩阵,则为马尔科夫估计,是所有加权最小二乘估计的最优者。
2.3 递推最小二乘
不用每次对整体的数据进行最小二乘的估计运算,利用上次计算的值从和下一次到来的数据进行融合计算,增加计算效率,修正旧得计算值从而达到新的计算效果。
原m
次数据的加权最小二乘估计为
θ
^
m
=
(
H
m
T
W
m
H
m
)
−
1
H
m
T
W
m
Z
m
\hat{\boldsymbol{\theta}}_m=(\boldsymbol{H}_m^\mathrm{T}\boldsymbol{W}_m\boldsymbol{H}_m)^{-1}\boldsymbol{H}_m^\mathrm{T}\boldsymbol{W}_m\boldsymbol{Z}_m
θ^m=(HmTWmHm)−1HmTWmZm
获得新输入输出数据
z
(
m
+
1
)
=
h
(
m
+
1
)
θ
+
v
(
m
+
1
)
z(m+1)=h(m+1)\theta+v(m+1)
z(m+1)=h(m+1)θ+v(m+1)
加权最小二乘估计的递推算法为(一般的同理)
θ
^
m
+
1
=
θ
^
m
+
K
m
+
1
[
z
(
m
+
1
)
−
h
(
m
+
1
)
θ
^
m
]
P
m
+
1
=
P
m
−
P
m
h
T
(
m
+
1
)
[
w
−
1
(
m
+
1
)
+
h
(
m
+
1
)
P
m
h
T
(
m
+
1
)
]
−
1
h
(
m
+
1
)
P
m
=
P
m
[
I
−
K
m
+
1
h
(
m
+
1
)
]
K
m
+
1
=
P
m
h
T
(
m
+
1
)
[
w
−
1
(
m
+
1
)
+
h
(
m
+
1
)
P
m
h
T
(
m
+
1
)
]
−
1
\begin{aligned}\hat{\boldsymbol{\theta}}_{m+1}&=\hat{\boldsymbol{\theta}}_m+\boldsymbol K_{m+1}\left[z(m+1)-\boldsymbol{h}(m+1)\hat{\boldsymbol{\theta}}_m\right]\\ \boldsymbol P_{m+1}&=\boldsymbol P_m-\boldsymbol P_m\boldsymbol h^T(m+1)[w^{-1}(m+1)+\boldsymbol{h}(m+1)\boldsymbol{P}_m\boldsymbol h^T(m+1)]^{-1}\boldsymbol{h}(m+1)\boldsymbol{P}_m\\ &=\boldsymbol P_{m}[\boldsymbol I-\boldsymbol K_{m+1}\boldsymbol h(m+1)]\\ \boldsymbol K_{m+1}&=\boldsymbol{P}_m\boldsymbol{h}^T(m+1)[w^{-1}(m+1)+\boldsymbol{h}(m+1)\boldsymbol{P}_m\boldsymbol h^T(m+1)]^{-1}\end{aligned}
θ^m+1Pm+1Km+1=θ^m+Km+1[z(m+1)−h(m+1)θ^m]=Pm−PmhT(m+1)[w−1(m+1)+h(m+1)PmhT(m+1)]−1h(m+1)Pm=Pm[I−Km+1h(m+1)]=PmhT(m+1)[w−1(m+1)+h(m+1)PmhT(m+1)]−1
其中
P
m
=
(
H
m
T
W
m
H
m
)
−
1
\boldsymbol{P}_m=(\boldsymbol{H}_m^\mathrm{T}\boldsymbol{W}_m\boldsymbol{H}_m)^{-1}
Pm=(HmTWmHm)−1 ,
w
(
m
+
1
)
w(m+1)
w(m+1) 为新输入输出数据的噪声方差
精度相关的停机准则
max
∀
i
∣
θ
^
i
(
m
+
1
)
−
θ
^
i
(
m
)
θ
^
i
(
m
)
∣
<
ε
\max_{\forall i}\left|\left.\frac{\hat{\theta}_i(m+1)-\hat{\theta}_i(m)}{\hat{\theta}_i(m)}\right|<\varepsilon\right.
∀imax
θ^i(m)θ^i(m+1)−θ^i(m)
<ε
对于没有遗忘因子的最小二乘递推算法,若对于时变系统和观测数据累计的情况下会出现误差越来越大的情况,甚至会有数据饱和的情况。
2.4 时变最小二乘
(1)矩形窗法
矩形窗法的特点是在时刻 k 的估计只依靠近k时刻的有限个数据,此前的数据全部被剔除掉,长度为 m 的矩形窗,每个时刻增加一个新数据,就要剔除一个旧数据,保持数据窗内的数据数目始终为 m。
(2)指数窗法
和上述差不多,但是带遗忘因子的矩形窗法
2.5 递推阻尼最小二乘
随着协方差矩阵的减小,参数易产生爆发现象。为防止辨识参数产生爆发现象,在最小二乘参数辨识的目标函数中增加一个对参数变化量的阻尼项,来增加算法的稳定性。
递推阻尼最小二乘法的目标函数为
J
=
[
(
Y
m
−
H
m
θ
^
m
)
T
W
m
(
Y
m
−
H
m
θ
^
m
)
]
+
μ
[
θ
^
m
−
θ
^
m
−
1
]
T
[
θ
^
m
−
θ
^
m
−
1
]
J=\begin{bmatrix}(Y_m-\boldsymbol{H}_m\hat{\boldsymbol{\theta}}_m)^\mathrm{T}\boldsymbol{W}_m(\boldsymbol{Y}_m-\boldsymbol{H}_m\hat{\boldsymbol{\theta}}_m)\end{bmatrix}+\mu\begin{bmatrix}\hat{\boldsymbol{\theta}}_m-\hat{\boldsymbol{\theta}}_{m-1}\end{bmatrix}^\mathrm{T}\begin{bmatrix}\hat{\boldsymbol{\theta}}_m-\hat{\boldsymbol{\theta}}_{m-1}\end{bmatrix}
J=[(Ym−Hmθ^m)TWm(Ym−Hmθ^m)]+μ[θ^m−θ^m−1]T[θ^m−θ^m−1]
公式为
θ
^
m
=
θ
^
m
−
1
+
λ
f
μ
P
m
[
θ
^
m
−
1
−
θ
^
m
−
2
]
+
P
m
h
m
T
[
y
m
−
h
m
θ
^
m
−
1
]
P
m
=
[
μ
I
+
λ
H
m
−
1
T
W
m
−
1
H
m
−
1
+
h
m
T
h
m
]
−
1
\begin{aligned}\hat{\boldsymbol{\theta}}_m=&\hat{\boldsymbol{\theta}}_{m-1}+\lambda_f\mu\mathbf{P}_m[\hat{\boldsymbol{\theta}}_{m-1}-\hat{\boldsymbol{\theta}}_{m-2}]+\mathbf{P}_m\boldsymbol{h}_m^\mathrm{T}[\mathbf{y}_m-\boldsymbol{h}_m\hat{\boldsymbol{\theta}}_{m-1}]\\\mathbf{P}_m=&[\mu\boldsymbol{I}+\lambda\boldsymbol{H}_{m-1}^\mathrm{T}\boldsymbol{W}_{m-1}\boldsymbol{H}_{m-1}+\boldsymbol{h}_m^\mathrm{T}\boldsymbol{h}_m]^{-1}\end{aligned}
θ^m=Pm=θ^m−1+λfμPm[θ^m−1−θ^m−2]+PmhmT[ym−hmθ^m−1][μI+λHm−1TWm−1Hm−1+hmThm]−1
2.6 增广最小二乘
当噪声均值为0时,最小二乘参数估计算法为无偏估计;当噪声的均值不为 0时,最小乘参数估计算法为有偏估计。为了解决最小二乘参数估计的有偏性,将噪声模型的辨识同时考虑进去,因此称为增广最小二乘法。
辨识对象为
z
(
k
)
=
−
∑
i
=
1
n
a
i
y
(
k
−
i
)
+
∑
i
=
1
n
b
i
u
(
k
−
i
)
+
∑
i
=
1
n
c
i
v
(
k
−
i
)
+
v
(
k
)
z(k)=-\sum_{i=1}^{n}a_{i}y(k-i)+\sum_{i=1}^{n}b_{i}u(k-i)+\sum_{i=1}^{n}c_{i}v(k-i)+v(k)
z(k)=−i=1∑naiy(k−i)+i=1∑nbiu(k−i)+i=1∑nciv(k−i)+v(k)
对辨识对象进行扩充(考虑对有色噪声的辨识)
h
(
k
)
=
[
−
y
(
k
−
1
)
,
−
y
(
k
−
2
)
,
⋯
,
−
y
(
k
−
n
)
,
u
(
k
−
1
)
,
u
(
k
−
2
)
,
⋯
,
u
(
k
−
n
)
,
v
^
(
k
−
1
)
,
⋯
,
v
^
(
k
−
n
)
]
\begin{aligned} \boldsymbol{h}(k)= & {[-y(k-1),-y(k-2), \cdots,-y(k-n), u(k-1), u(k-2), \cdots,} \\ & u(k-n), \hat{v}(k-1), \cdots, \hat{v}(k-n)] \end{aligned}
h(k)=[−y(k−1),−y(k−2),⋯,−y(k−n),u(k−1),u(k−2),⋯,u(k−n),v^(k−1),⋯,v^(k−n)]
θ = [ a 1 , a 2 , ⋅ ⋅ ⋅ , a n , b 1 , b 2 , ⋅ ⋅ ⋅ , b n , c 1 , ⋅ ⋅ ⋅ , c n ] T \boldsymbol \theta=[a_1,a_2,\cdotp\cdotp\cdotp,a_n,b_1,b_2,\cdotp\cdotp\cdotp,b_n,c_1,\cdotp\cdotp\cdotp,c_n]^T θ=[a1,a2,⋅⋅⋅,an,b1,b2,⋅⋅⋅,bn,c1,⋅⋅⋅,cn]T
则简化方程为
z
(
k
)
=
h
(
k
)
θ
+
υ
(
k
)
z(k)=\boldsymbol h(k)\boldsymbol \theta+\upsilon(k)
z(k)=h(k)θ+υ(k)
此种增广递推算法为
θ
^
m
+
1
=
θ
^
m
+
K
m
+
1
[
z
(
m
+
1
)
−
h
(
m
+
1
)
θ
^
m
]
P
m
+
1
=
P
m
−
P
m
h
T
(
m
+
1
)
[
w
−
1
(
m
+
1
)
+
h
(
m
+
1
)
P
m
h
T
(
m
+
1
)
]
−
1
h
(
m
+
1
)
P
m
K
m
+
1
=
P
m
h
T
(
m
+
1
)
[
w
−
1
(
m
+
1
)
+
h
(
m
+
1
)
P
m
h
T
(
m
+
1
)
]
−
1
\begin{array}{c} \hat{\boldsymbol{\theta}}_{m+1}=\hat{\boldsymbol{\theta}}_{m}+\boldsymbol{K}_{m+1}\left[z(m+1)-\boldsymbol{h}(m+1) \hat{\boldsymbol{\theta}}_{m}\right] \\ \boldsymbol{P}_{m+1}=\boldsymbol{P}_{m}-\boldsymbol{P}_{m} \boldsymbol{h}^{\mathrm{T}}(m+1)\left[w^{-1}(m+1)+\boldsymbol{h}(m+1) \boldsymbol{P}_{m} \boldsymbol{h}^{\mathrm{T}}(m+1)\right]^{-1} \boldsymbol{h}(m+1) \boldsymbol{P}_{m} \\ \boldsymbol{K}_{m+1}=\boldsymbol{P}_{m} \boldsymbol{h}^{\mathrm{T}}(m+1)\left[w^{-1}(m+1)+\boldsymbol{h}(m+1) \boldsymbol{P}_{m} \boldsymbol{h}^{\mathrm{T}}(m+1)\right]^{-1} \end{array}
θ^m+1=θ^m+Km+1[z(m+1)−h(m+1)θ^m]Pm+1=Pm−PmhT(m+1)[w−1(m+1)+h(m+1)PmhT(m+1)]−1h(m+1)PmKm+1=PmhT(m+1)[w−1(m+1)+h(m+1)PmhT(m+1)]−1
2.7 多变量系统最小二乘辨识
多变量系统表示方法
Y
(
k
)
+
A
1
Y
(
k
−
1
)
+
⋯
+
A
n
Y
(
k
−
n
)
=
B
0
U
(
k
)
+
B
1
U
(
k
−
1
)
+
⋅
⋅
⋅
+
B
n
U
(
k
−
n
)
+
V
(
k
)
\begin{aligned} \boldsymbol{Y}(k)+\boldsymbol{A}_1\boldsymbol{Y}(k-1)+\cdots+\boldsymbol{A}_n\boldsymbol{Y}(k-n)& =\boldsymbol B_0\boldsymbol U(k)+\boldsymbol B_1\boldsymbol U(k-1)+\cdotp\cdotp\cdotp+ \\ &\boldsymbol B_n\boldsymbol U(k-n)+\boldsymbol V(k) \end{aligned}
Y(k)+A1Y(k−1)+⋯+AnY(k−n)=B0U(k)+B1U(k−1)+⋅⋅⋅+BnU(k−n)+V(k)
- Y ( k ) \boldsymbol{Y}(k) Y(k) 为m维输出
- U ( k ) \boldsymbol U(k) U(k) 为r维输入
- V ( k ) \boldsymbol V(k) V(k) 为m维噪声
- A i \boldsymbol{A}_i Ai 为待辨识m×n维矩阵
- B i \boldsymbol{B}_i Bi 为待辨识m×r维矩阵
即
A
(
z
−
1
)
Y
(
k
)
=
B
(
z
−
1
)
U
(
k
)
+
V
(
k
)
\boldsymbol A(z^{-1})\boldsymbol Y(k)=\boldsymbol B(z^{-1})\boldsymbol U(k)+\boldsymbol V(k)
A(z−1)Y(k)=B(z−1)U(k)+V(k)
其中
A
(
z
−
1
)
=
I
+
A
1
z
−
1
+
⋯
+
A
n
z
−
n
=
I
+
∑
i
=
1
n
A
i
z
−
i
B
(
z
−
1
)
=
B
0
+
B
1
z
−
1
+
⋅
⋅
⋅
+
B
n
z
−
n
=
∑
i
=
0
n
B
i
z
−
i
\boldsymbol A(z^{-1})=\boldsymbol I+\boldsymbol A_1z^{-1}+\cdots+\boldsymbol A_nz^{-n}=\boldsymbol I+\sum_{i=1}^n\boldsymbol A_iz^{-i}\\ \boldsymbol B(z^{-1})=\boldsymbol B_0+\boldsymbol B_1z^{-1}+\cdotp\cdotp\cdotp+\boldsymbol B_nz^{-n}=\sum_{i=0}^n\boldsymbol B_iz^{-i}
A(z−1)=I+A1z−1+⋯+Anz−n=I+i=1∑nAiz−iB(z−1)=B0+B1z−1+⋅⋅⋅+Bnz−n=i=0∑nBiz−i
待辨识总数目:
n
m
2
+
(
n
+
1
)
m
r
nm^2+(n+1)mr
nm2+(n+1)mr
将待辨识的矩阵化为向量形式,如下
θ
j
=
[
a
11
⋯
a
1
m
j
⋯
a
n
1
j
⋯
a
n
m
j
b
01
j
⋯
b
0
r
⋯
b
n
1
j
⋯
b
n
r
j
]
T
H
j
=
[
−
Y
j
T
(
0
)
⋯
−
Y
j
T
(
1
−
n
)
U
T
(
1
)
⋯
U
T
(
1
−
n
)
−
Y
j
T
(
1
)
⋯
−
Y
j
T
(
2
−
n
)
U
T
(
2
)
⋯
U
T
(
2
−
n
)
⋮
⋮
⋮
⋮
⋮
−
Y
j
T
(
N
−
1
)
⋯
−
Y
j
T
(
N
−
n
)
U
T
(
N
)
⋯
U
T
(
N
−
n
)
]
\begin{gathered} \boldsymbol{\theta}_{j}=\begin{bmatrix}a_{11}&\cdots&a_{1m}^j&\cdots&a_{n1}^j&\cdots&a_{nm}^j&b_{01}^j&\cdots&b_{0r}&\cdots&b_{n1}^j&\cdots&b_{nr}^j\end{bmatrix}^T \\ \left.\mathbf{H}_{j}=\left[\begin{matrix}{-\mathbf{Y}_{j}^{\mathrm{T}}(0)}&{\cdots}&{{-\mathbf{Y}_{j}^{\mathrm{T}}(1-n)}}&{{\mathbf{U}^{\mathrm{T}}(1)}}&{\cdots}&{{\mathbf{U}^{\mathrm{T}}(1-n)}}\\{-\mathbf{Y}_{j}^{\mathrm{T}}(1)}&{\cdots}&{{-\mathbf{Y}_{j}^{\mathrm{T}}(2-n)}}&{{\mathbf{U}^{\mathrm{T}}(2)}}&{\cdots}&{{\mathbf{U}^{\mathrm{T}}(2-n)}}\\{\vdots}&{\vdots}&{\vdots}&{\vdots}&{\vdots}\\{-\mathbf{Y}_{j}^{\mathrm{T}}(N-1)}&{\cdots}&{{-\mathbf{Y}_{j}^{\mathrm{T}}(N-n)}}&{{\mathbf{U}^{\mathrm{T}}(N)}}&{\cdots}&{{\mathbf{U}^{\mathrm{T}}(N-n)}}\\\end{matrix}\right.\right] \end{gathered}
θj=[a11⋯a1mj⋯an1j⋯anmjb01j⋯b0r⋯bn1j⋯bnrj]THj=
−YjT(0)−YjT(1)⋮−YjT(N−1)⋯⋯⋮⋯−YjT(1−n)−YjT(2−n)⋮−YjT(N−n)UT(1)UT(2)⋮UT(N)⋯⋯⋮⋯UT(1−n)UT(2−n)UT(N−n)
于是简化为
Y
j
=
H
j
θ
j
+
V
j
\boldsymbol Y_j=\boldsymbol H_j\boldsymbol \theta_j+\boldsymbol V_j
Yj=Hjθj+Vj
(1)离线辨识(直接辨识)
θ
^
j
=
(
H
j
T
H
j
)
−
1
H
j
T
Y
j
\hat{\boldsymbol \theta}_{j}=(\boldsymbol H_{j}^{\mathrm{T}}\boldsymbol H_{j})^{-1}\boldsymbol H_{j}^{\mathrm{T}}\boldsymbol Y_{j}
θ^j=(HjTHj)−1HjTYj
(2)在线辨识(递推辨识)
前N次结果之后得到新的观测值
y
j
(
N
+
1
)
\boldsymbol y_j(N+1)
yj(N+1) 和
U
(
N
+
1
)
\boldsymbol U(N+1)
U(N+1)
θ
^
j
N
=
(
H
j
N
T
H
j
N
)
−
1
H
j
N
T
Y
j
N
\hat{\boldsymbol \theta}_{jN}=(\boldsymbol H_{jN}^{\mathrm{T}}\boldsymbol H_{jN})^{-1}\boldsymbol H_{jN}^{\mathrm{T}}\boldsymbol Y_{jN}
θ^jN=(HjNTHjN)−1HjNTYjN
θ ^ j ( N + 1 ) = θ ^ j N + K j ( N + 1 ) [y j ( N + 1 ) − h j ( N + 1 ) T θ ^ j N ] K j ( N + 1 ) = P j N h j ( N + 1 ) [ 1 + h j ( N + 1 ) ⊤ P j N h j ( N + 1 ) ] − 1 P j ( N + 1 ) = P j N − P j N h j ( N + 1 ) [ 1 + h j ( N + 1 ) ⊤ P j N h j ( N + 1 ) ] − 1 h j ( N + 1 ) P j N P j N = ( H j N T H j N ) − 1 \begin{gathered} \left.\hat{\boldsymbol{\theta}}_{j(N+1)}=\hat{\boldsymbol{\theta}}_{jN}+\boldsymbol K_{j(N+1)}\text{[y}_{j}\left(N+1\right)-\boldsymbol{h}_{j(N+1)}^{\mathrm{T}}\boldsymbol{\hat{\boldsymbol{\theta}}}_{jN}\right] \\ \boldsymbol K_{j(N+1)}=\boldsymbol P_{jN}\boldsymbol h_{j(N+1)}[1+\boldsymbol h_{j(N+1)}^{\top}\boldsymbol P_{jN}\boldsymbol h_{j(N+1)}]^{-1} \\ \mathbf{P}_{j(N+1)}=\mathbf{P}_{jN}-\mathbf{P}_{jN}\boldsymbol{h}_{j(N+1)}[1+\boldsymbol{h}_{j(N+1)}^{\top}\boldsymbol{P}_{jN}\boldsymbol{h}_{j(N+1)}]^{-1}\boldsymbol{h}_{j(N+1)}\boldsymbol{P}_{jN} \\ \boldsymbol{P}_{jN}=(\boldsymbol{H}_{jN}^{\mathrm{T}}\boldsymbol{H}_{jN})^{-1} \end{gathered} θ^j(N+1)=θ^jN+Kj(N+1)[yj(N+1)−hj(N+1)Tθ^jN]Kj(N+1)=PjNhj(N+1)[1+hj(N+1)⊤PjNhj(N+1)]−1Pj(N+1)=PjN−PjNhj(N+1)[1+hj(N+1)⊤PjNhj(N+1)]−1hj(N+1)PjNPjN=(HjNTHjN)−1