最优滤波器是信号处理中的核心内容,旨在从噪声中提取有用信号或估计系统状态

最优滤波器是信号处理中的核心内容,旨在从噪声中提取有用信号或估计系统状态。根据不同的优化准则和模型假设,主要有四类经典最优滤波器:维纳滤波器、线性预测误差滤波器、最小二乘滤波器和卡尔曼滤波器。以下是对这四类滤波器的系统性介绍:


1. 维纳滤波器(Wiener Filter)

基本思想:

均方误差最小(MMSE)意义下设计线性滤波器,适用于平稳随机过程。

设输入信号 $ x(n) $ 是观测值(含噪),期望信号为 $ d(n) $,滤波器输出:
y(n)=∑k=0N−1wkx(n−k) y(n) = \sum_{k=0}^{N-1} w_k x(n-k) y(n)=k=0N1wkx(nk)

目标是最小化均方误差:
J(w)=E[∣e(n)∣2]=E[∣d(n)−wTx(n)∣2] J(\mathbf{w}) = E[|e(n)|^2] = E[|d(n) - \mathbf{w}^T \mathbf{x}(n)|^2] J(w)=E[e(n)2]=E[d(n)wTx(n)2]

维纳-霍夫方程(Wiener-Hopf Equation):

令梯度为零得最优权向量 $ \mathbf{w}_{\text{opt}} $ 满足:
Rwopt=p \mathbf{R} \mathbf{w}_{\text{opt}} = \mathbf{p} Rwopt=p
其中:

  • $ \mathbf{R} = E[\mathbf{x}(n)\mathbf{x}^T(n)] $:输入信号自相关矩阵(对称Toeplitz)
  • $ \mathbf{p} = E[\mathbf{x}(n)d(n)] $:输入与期望信号的互相关向量

解为:
wopt=R−1p \mathbf{w}_{\text{opt}} = \mathbf{R}^{-1} \mathbf{p} wopt=R1p

均方误差性能函数:

Jmin⁡=E[d2(n)]−pTR−1p J_{\min} = E[d^2(n)] - \mathbf{p}^T \mathbf{R}^{-1} \mathbf{p} Jmin=E[d2(n)]pTR1p

实现结构:
  • FIR型维纳滤波器:有限冲激响应,稳定,常用
  • IIR型维纳滤波器:需考虑因果性和稳定性,复杂
特点:
  • 要求已知统计量 $ \mathbf{R}, \mathbf{p} $
  • 仅适用于宽平稳信号
  • 非递推形式,计算量大(需矩阵求逆)

2. 线性预测误差滤波器(Linear Prediction Error Filter)

用于前向线性预测:用过去 $ p $ 个样本来预测当前样本:
x^(n)=−∑k=1pakx(n−k)⇒预测误差 e(n)=x(n)−x^(n)=x(n)+∑k=1pakx(n−k) \hat{x}(n) = -\sum_{k=1}^p a_k x(n-k) \Rightarrow \text{预测误差 } e(n) = x(n) - \hat{x}(n) = x(n) + \sum_{k=1}^p a_k x(n-k) x^(n)=k=1pakx(nk)预测误差 e(n)=x(n)x^(n)=x(n)+k=1pakx(nk)

目标:最小化 $ E[e^2(n)] $

Yule-Walker 方程:

类似维纳-霍夫方程,但用于自回归建模:
∑k=1pakR(m−k)=−R(m),m=1,2,…,p⇒Ra=−r \sum_{k=1}^p a_k R(m-k) = -R(m), \quad m=1,2,\dots,p \quad \Rightarrow \quad \mathbf{R} \mathbf{a} = -\mathbf{r} k=1pakR(mk)=R(m),m=1,2,,pRa=r
其中 $ \mathbf{r} = [R(1), R(2), \dots, R§]^T $

Levinson-Durbin 算法:

高效递推求解Yule-Walker方程,时间复杂度 $ O(p^2) $,避免直接矩阵求逆。

递推步骤基于反射系数 $ \kappa_m $ 更新:

  • 初始化:$ E_0 = R(0) $
  • 对阶次 $ m = 1 $ 到 $ p $:
    κm=−∑i=1m−1am−1,iR(m−i)+R(m)Em−1am,m=κmam,i=am−1,i+κmam−1,m−i,i=1,…,m−1Em=(1−κm2)Em−1 \kappa_m = -\frac{ \sum_{i=1}^{m-1} a_{m-1,i} R(m-i) + R(m) }{E_{m-1}} \\ a_{m,m} = \kappa_m \\ a_{m,i} = a_{m-1,i} + \kappa_m a_{m-1,m-i}, \quad i=1,\dots,m-1 \\ E_m = (1 - \kappa_m^2) E_{m-1} κm=Em1i=1m1am1,iR(mi)+R(m)am,m=κmam,i=am1,i+κmam1,mi,i=1,,m1Em=(1κm2)Em1
格型滤波器(Lattice Structure):

将预测误差滤波器实现为级联的格型节,每节对应一个反射系数 $ \kappa_m $

优点:

  • 模块化结构,易于扩展
  • 数值稳定性好
  • 反射系数 $ |\kappa_m| < 1 $ 保证系统稳定(全极点系统在单位圆内)
  • 广泛应用于语音编码(如LPC)

3. 最小二乘滤波器(Least Squares, LS)

不同于维纳滤波基于统计平均,LS方法基于确定性数据拟合,最小化实际误差平方和。

LS估计问题:

给定观测数据 $ \mathbf{d} = [d(0), d(1), \dots, d(N-1)]^T $
输入矩阵 $ \mathbf{X} \in \mathbb{R}^{N \times p} $,列向量为延迟输入

求解:
min⁡w∥d−Xw∥2⇒wLS=(XTX)−1XTd \min_{\mathbf{w}} \| \mathbf{d} - \mathbf{X} \mathbf{w} \|^2 \Rightarrow \mathbf{w}_{\text{LS}} = (\mathbf{X}^T \mathbf{X})^{-1} \mathbf{X}^T \mathbf{d} wmindXw2wLS=(XTX)1XTd

投影算子与投影矩阵:
  • 残差 $ \mathbf{e} = \mathbf{d} - \hat{\mathbf{d}} $ 应正交于列空间 $ \mathcal{C}(\mathbf{X}) $
  • 投影矩阵:
    PX=X(XTX)−1XT⇒d^=PXd \mathbf{P}_{\mathbf{X}} = \mathbf{X} (\mathbf{X}^T \mathbf{X})^{-1} \mathbf{X}^T \Rightarrow \hat{\mathbf{d}} = \mathbf{P}_{\mathbf{X}} \mathbf{d} PX=X(XTX)1XTd^=PXd
  • 正交投影矩阵:$ \mathbf{I} - \mathbf{P}_{\mathbf{X}} $
求解方法:
  • 直接法:正规方程(Normal Equations)——可能病态
  • QR分解:更稳定,利用Householder或Givens变换
  • SVD分解:最稳健,适合秩亏情况
特点:
  • 不要求信号平稳
  • 适用于短数据记录
  • 计算量较大,但精度高

4. 卡尔曼滤波器(Kalman Filter)

卡尔曼滤波是一种递推的最优状态估计器,适用于动态系统的状态跟踪,尤其在非平稳和时变环境中表现优异。

基本模型(线性高斯状态空间模型):

状态方程:
xk=Fkxk−1+Bkuk+wk,wk∼N(0,Qk) \mathbf{x}_k = \mathbf{F}_k \mathbf{x}_{k-1} + \mathbf{B}_k \mathbf{u}_k + \mathbf{w}_k, \quad \mathbf{w}_k \sim \mathcal{N}(0, \mathbf{Q}_k) xk=Fkxk1+Bkuk+wk,wkN(0,Qk)

观测方程:
zk=Hkxk+vk,vk∼N(0,Rk) \mathbf{z}_k = \mathbf{H}_k \mathbf{x}_k + \mathbf{v}_k, \quad \mathbf{v}_k \sim \mathcal{N}(0, \mathbf{R}_k) zk=Hkxk+vk,vkN(0,Rk)

其中:

  • $ \mathbf{x}_k $:状态向量
  • $ \mathbf{z}_k $:观测向量
  • $ \mathbf{F}_k $:状态转移矩阵
  • $ \mathbf{H}_k $:观测矩阵
  • $ \mathbf{w}_k, \mathbf{v}_k $:过程噪声与观测噪声(白噪声)
卡尔曼滤波递推步骤:
(1)预测步(Time Update):
  • 先验状态估计:$ \hat{\mathbf{x}}_{k|k-1} = \mathbf{F}k \hat{\mathbf{x}}{k-1|k-1} + \mathbf{B}_k \mathbf{u}_k $
  • 先验误差协方差:$ \mathbf{P}_{k|k-1} = \mathbf{F}k \mathbf{P}{k-1|k-1} \mathbf{F}_k^T + \mathbf{Q}_k $
(2)更新步(Measurement Update):
  • 卡尔曼增益:$ \mathbf{K}k = \mathbf{P}{k|k-1} \mathbf{H}_k^T (\mathbf{H}k \mathbf{P}{k|k-1} \mathbf{H}_k^T + \mathbf{R}_k)^{-1} $
  • 后验状态估计:$ \hat{\mathbf{x}}{k|k} = \hat{\mathbf{x}}{k|k-1} + \mathbf{K}_k (\mathbf{z}_k - \mathbf{H}k \hat{\mathbf{x}}{k|k-1}) $
  • 后验协方差:$ \mathbf{P}_{k|k} = (\mathbf{I} - \mathbf{K}_k \mathbf{H}k) \mathbf{P}{k|k-1} $
特点:
  • 递推式,无需存储历史数据
  • 适用于非平稳信号
  • 可处理多变量系统
  • 是LMS和维纳滤波的推广(在动态环境下更优)
扩展:
  • EKF(扩展卡尔曼滤波):用于非线性系统
  • UKF(无迹卡尔曼滤波):更高精度近似
  • 粒子滤波:适用于非高斯、非线性情形

在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bol5261

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值