H ∞ {\displaystyle H\infty } -最优观测器通过处理测量数据,对部分或全部内部系统状态进行鲁棒估计。鲁棒观测器在工业中越来越受欢迎,因为即使存在诸如噪声等大的扰动,它们也能提供用于监控和诊断目的的状态和参数估计。卡尔曼滤波器在这些情况下可能会失效。状态观测器是一种系统,它根据真实系统的输入和输出测量值,提供对该系统的内部状态的估计。的目的是 H ∞ {\displaystyle H_{\infty }} -最优状态估计是设计一个观测器,使其最小化从 w 到 z 的闭环传递矩阵的 H ∞ {\displaystyle H_{\infty }} 范数。
考虑具有状态空间实现的连续时间广义系统 P {\displaystyle P}
x ˙ = A x + B 1 w , y = C 2 x + D 21 w {\displaystyle {\begin{aligned}{\dot {x}}&=Ax+B_{1}w,\\y&=C_{2}x+D_{21}w\\\end{aligned}}}
作为输入所需的矩阵是 A , B 1 , B 2 , C 2 , D 21 , D 11 {\displaystyle A,B_{1},B_{2},C_{2},D_{21},D_{11}} .
观测器增益 L {\displaystyle L} 将被设计,以使得从 w 到 z 的传递矩阵的 H ∞ {\displaystyle H\infty } ,由下式给出
T ( s ) = C 1 ( s 1 − ( A − L C 2 ) ) − 1 ( B 1 − L D 21 ) + D 11 {\displaystyle {\begin{aligned}T(s)=C_{1}(s1-(A-LC_{2}))^{-1}(B_{1}-LD_{21})+D_{11}\\\end{aligned}}}
被最小化。观测器的形式将是
x ^ ˙ = A x ^ + L ( y − y ^ ) , y ^ = C 2 x ^ {\displaystyle {\begin{aligned}{\dot {\hat {x}}}=A{\hat {x}}+L(y-{\hat {y}}),\\{\hat {y}}=C_{2}{\hat {x}}\\\end{aligned}}}
LMI: H ∞ {\displaystyle H_{\infty }} 最优观测器[ 编辑 | 编辑源代码 ]
该 H ∞ {\displaystyle H\infty } -最优观测器增益通过求解 P ∈ S n x , G ∈ R n x × n y {\displaystyle P\in \mathbb {S} ^{n_{x}},G\in \mathbb {R} ^{n_{x}\times n_{y}}} 和 γ ∈ R > 0 {\displaystyle \gamma \in \mathbb {R} _{>0}} 来合成,并最小化 ζ ( γ ) = γ {\displaystyle \zeta (\gamma )=\gamma } ,受限于 P > 0 {\displaystyle P>0} 和
[ P A + A T P − G C 2 − C 2 T G T P B 1 − G D 21 C 1 ⋆ − γ 1 D 11 T ⋆ ⋆ − γ 1 ] < 0 {\displaystyle {\begin{aligned}{\begin{bmatrix}PA+A^{T}P-GC_{2}-{C_{2}}^{T}G^{T}&&PB_{1}-GD_{21}&&C_{1}\\\star &&-\gamma 1&&{D_{11}}^{T}\\\star &&\star &&-\gamma 1\end{bmatrix}}<0\\\end{aligned}}}
最佳观测器增益通过 L = P − 1 G {\displaystyle L=P^{-1}G} 恢复,并且 H ∞ {\displaystyle H_{\infty }} T(s) 的范数为 γ {\displaystyle \gamma } 。
设计 H ∞ {\displaystyle H\infty } -最佳观测器的 MATLAB 代码链接
https://github.com/Ricky-10/coding107/blob/master/HinfinityOptimalobserver