最优滤波是在存在噪声和干扰信号的情况下自适应地提取弱期望信号的一种手段。最优滤波器通常没有稳定性问题。当最优滤波器使用时,有一些简单的操作检查可以表明它是否正常工作。与次优滤波器相比,最优滤波器可能更容易适应参数变化。最优滤波器的目标是设计一个滤波器,该滤波器作用于广义系统的输出 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}
求解 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 代码