最优滤波器是信号处理中的核心内容,旨在从噪声中提取有用信号或估计系统状态。根据不同的优化准则和模型假设,主要有四类经典最优滤波器:维纳滤波器、线性预测误差滤波器、最小二乘滤波器和卡尔曼滤波器。以下是对这四类滤波器的系统性介绍:
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=0∑N−1wkx(n−k)
目标是最小化均方误差:
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=R−1p
均方误差性能函数:
Jmin=E[d2(n)]−pTR−1p J_{\min} = E[d^2(n)] - \mathbf{p}^T \mathbf{R}^{-1} \mathbf{p} Jmin=E[d2(n)]−pTR−1p
实现结构:
- 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=1∑pakx(n−k)⇒预测误差 e(n)=x(n)−x^(n)=x(n)+k=1∑pakx(n−k)
目标:最小化 $ 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=1∑pakR(m−k)=−R(m),m=1,2,…,p⇒Ra=−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=−Em−1∑i=1m−1am−1,iR(m−i)+R(m)am,m=κmam,i=am−1,i+κmam−1,m−i,i=1,…,m−1Em=(1−κm2)Em−1
格型滤波器(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} $,列向量为延迟输入
求解:
minw∥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}
wmin∥d−Xw∥2⇒wLS=(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)−1XT⇒d^=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=Fkxk−1+Bkuk+wk,wk∼N(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,vk∼N(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(无迹卡尔曼滤波):更高精度近似
- 粒子滤波:适用于非高斯、非线性情形



被折叠的 条评论
为什么被折叠?



