看了一个条理清晰、简明扼要的关于自适应滤波器的YouTube视频,这也是我这学期上的一门基础课“数字信号处理Ⅱ”的重点内容。
固定系数数字滤波器的局限性
- 固定系数的数字滤波器
- FIR, IIR
- LP、HP等
- 局限
- 噪声频率随时间变化而变化
- 信号和噪声的重叠带
自适应滤波器
- 2个主要组成部分
- 数字滤波器(有可调整的系数)
- 自适应算法
- 2个输入信号:$y_k$和$x_k$
- $y_k = s_k + n_k$
- $s_k$ = 预期信号
- $n_k$ = 噪声
- $x_k$ = 污染信号,与$n_k$**相关,提供$n_k$的估计值,即$hat{n_k}$
- 目标:产生**最佳的$hat{n_k}$
- $e_k = hat{s_k} = y_k - hat{n_k} = s_k + n_k - hat{n_k}$
- 该定理最小化$e_k$,最大化信噪比
LMS 算法
维纳滤波器
- 输入信号 w(n) 与维纳滤波器 g(n) 进行卷积,并将结果与参考信号 s(n) 进行比较,得到滤波误差 e(n)
- 判断标准:MMSE (最小均方误差)
- 最小化 $J = E[e(n)^2] = E[(x(n) - s(n))^2] = E[(w(n) * g(n) - s(n))^2]$
- J可用于绘制误差-性能表面
- LMS 滤波器收敛于维纳滤波器
维纳-霍普夫解
令H的J梯度为零,推导出
$H_{opt} = R_{xx}^{-1} R_{xs}$
其中
$R_{xx} = E(X_k X_k^T)$
$R_{xs} = E(y_k X_k)$
- 需要知道$R_{xx}, R_{xs}$
- 矩阵求逆很复杂
- 对于非稳态,$H_{opt}$ 需要反复计算
LMS 自适应算法
版本1:$H(n+1) = H(n) + \mu (- \nabla(n))$
版本2:$H(n+1) = H(n) + \frac{1}{2}\delta (- \nabla(n))$
那么
$H(n+1) = H(n) + 2\mu e(n)X(n)$
或 $H(n+1) = H(n) + \delta e(n) X(n)$
其中
$e(n) = y(n) - H^T(n)X(n)$
$\mu$和$\delta$是步长
- 基于最陡梯度下降算法(沿梯度的反方向更新H(n))
$H(n+1) = H(n) + \mu (- \nabla(n))$ - 使用瞬时估计,代替平均值(无偏)
$J = E[e(n)^2] = e(n)^2$
$nabla(n) = -2\mu E[e(n)X(n)] = -2\mu e(n)X(n) $ - 步长决定了稳定性和收敛率
- 如果步长太大,波动太大
- 如果步长太小,收敛速度太慢
局限性
- 如果噪声是非稳态的,误差表现面将迅速变化
- 如果$x(n)$与$y(n)$成正比,信号将被抹杀
- H(n)从未达到理论上的最佳状态(有波动)
应用
- 声学回声消除
- 从受污染的脑电图EEG中消除眼电,获得正确的脑电图
- 在分娩过程中消除母体心电图从而获得胎儿心电图
附录
YouTube视频
课程主页
评论