最优滤波是一种在存在噪声和干扰信号的情况下自适应提取所需弱信号的方法。最优滤波器通常没有稳定性问题。当使用最优滤波器时,有一些简单的运行检查可以指示它是否正常工作。最优滤波器可能比次优滤波器更容易适应参数变化。最优滤波的目标是设计一个滤波器,该滤波器作用于广义系统的输出 z {\displaystyle z} ,并优化从 w 到滤波输出的传递矩阵。
考虑具有最小状态空间实现的连续时间广义 LTI 系统
x ˙ = A x + B 1 w z = C 1 x + D 11 w , y = C 2 x + D 21 w , {\displaystyle {\begin{aligned}{\dot {x}}&=Ax+B_{1}w\\z&=C_{1}x+D_{11}w,\\y&=C_{2}x+D_{21}w,\end{aligned}}}
假设 A {\displaystyle A} 是 Hurwitz。
作为输入所需的矩阵是 A , B 1 , C 2 , D 21 {\displaystyle A,B_{1},C_{2},D_{21}} .
一个 H 2 {\displaystyle H_{2}} -最优滤波器旨在最小化 H 2 {\displaystyle H_{2}} 范数 P ~ ( s ) {\displaystyle {\tilde {P}}(s)} 在以下等式中。
P ~ ( s ) = C ~ 1 ( s I − A ~ ) − 1 B ~ 1 + D ~ 11 , where A ~ = [ A 0 B f C 2 A f ] < 0 B ~ 1 = [ B 1 B f D 21 ] < 0 C ~ 1 = [ C 1 − D f C 2 − C f ] < 0 D ~ 11 = D 11 − D f D 21 {\displaystyle {\begin{aligned}{\tilde {P}}(s)={\tilde {C}}_{1}(sI-{\tilde {A}})^{-}1{\tilde {B}}_{1}+{\tilde {D}}_{11},\\{\text{where}}\\{\tilde {A}}={\begin{bmatrix}A&&0\\B_{f}C_{2}&&A_{f}\end{bmatrix}}&<0\\{\tilde {B}}_{1}={\begin{bmatrix}B_{1}\\B_{f}D_{21}\end{bmatrix}}&<0\\{\tilde {C}}_{1}={\begin{bmatrix}C_{1}-D_{f}C_{2}-C_{f}\end{bmatrix}}&<0\\{\tilde {D}}_{11}=D_{11}-D_{f}D_{21}\\\end{aligned}}}
为了确保 P ~ ( s ) {\displaystyle {\tilde {P}}(s)} 的 H 2 {\displaystyle H_{2}} 范数是有限的,我们需要 D f = D 11 {\displaystyle D_{f}=D_{11}} ,这将导致 D ~ 11 = D 11 − D f = 0 {\displaystyle {\tilde {D}}_{11}=D_{11}-D_{f}=0}
LMI: H 2 {\displaystyle H_{2}} - 最优滤波器[ 编辑 | 编辑源代码 ]
求解 A n ∈ R n x × n x , B n ∈ R n x × n y , C f ∈ R n x × n x {\displaystyle A_{n}\in \mathbb {R} ^{n_{x}\times n_{x}},B_{n}\in \mathbb {R} ^{n_{x}\times n_{y}},C_{f}\in \mathbb {R} ^{n_{x}\times n_{x}}} , X , Y ∈ S n x , Z ∈ S n z {\displaystyle X,Y\in \mathbb {S} ^{n_{x}},Z\in \mathbb {S} ^{n_{z}}} 和 ν ∈ R > 0 {\displaystyle \nu \in \mathbb {R} _{>0}} ,使得 ζ ( ν ) = ν {\displaystyle \zeta (\nu )=\nu } 在以下约束条件下最小化: X > 0 , Y > 0 , Z > 0 {\displaystyle X>0,Y>0,Z>0} .
[ Y A + A T Y + B n C 2 A n + C 2 T B n T + A T X Y B 1 + B n D 21 ⋆ A n + A n T X B 1 + B n D 21 ⋆ ⋆ − 1 ] < 0 [ − Z C 1 − D f C 2 − C f ⋆ − Y − X ⋆ ⋆ − X ] < 0 Y − X > 0 t r Z < / n u {\displaystyle {\begin{aligned}{\begin{bmatrix}YA+A^{T}Y+B_{n}C_{2}&&A_{n}+C_{2}^{T}B_{n}^{T}+A^{T}X&&YB_{1}+B_{n}D_{21}\\\star &&A_{n}+A_{n}^{T}&&XB_{1}+B_{n}D_{21}\\\star &&\star &&-1\end{bmatrix}}&<0\\{\begin{bmatrix}-Z&&C_{1}-D_{f}C_{2}&&-C_{f}\\\star &&-Y&&-X\\\star &&\star &&-X\end{bmatrix}}&<0\\Y-X>0\\trZ</nu\end{aligned}}}
滤波器可由 A f = X − 1 A n {\displaystyle A_{f}=X^{-1}A_{n}} 和 B f = X − 1 B n {\displaystyle B_{f}=X^{-1}B_{n}} 恢复。
H 2 {\displaystyle H_{2}} 最优滤波器的 MATLAB 代码