自适应滤波器方法之最小均方(LMS)算法
- 1 定义
- 2 Wiener滤波器的优缺点
- 3 基本LMS算法
- 4 标准LMS算法的执行流程
- 5 总结
-
滤波器的功能:改变信号频谱
[En]
the function of the filter: to change the signal spectrum*
- 自适应滤波器:可根据输入信号自动调整参数的数字滤波器。它是在不需要事先知道输入信号和噪声的统计特性的情况下处理非平稳信号的有效手段。
[En]
Adaptive filter: a digital filter that can automatically adjust its parameters according to the input signal. It is an effective means to deal with non-stationary signals without knowing the statistical characteristics of input signals and noise in advance.*
1 定义
- 滤波器参数:N N N个独立的滤波器系数组成的向量
w ( n ) = [ w 0 ( n ) , w 1 ( n ) , ⋯ , w N − 1 ( n ) ] T \mathbf{w}(n)={[w_0(n),w_1(n),\cdots,w_{N-1}(n)]}^T w (n )=[w 0 (n ),w 1 (n ),⋯,w N −1 (n )]T - 输入信号:假设是一个实数信号(语音时域信号)
x ( n ) = ( [ x ( n ) , x ( n − 1 ) , ⋯ , x ( n − N + 1 ) ] ) T \mathbf{x}(n)=([x(n),x(n-1),\cdots,x(n-N+1)])^T x (n )=([x (n ),x (n −1 ),⋯,x (n −N +1 )])T - 输出信号:滤波器系数和输入信号的线性卷积,为实际输出
y ( n ) = ∑ i = 0 N − 1 w i ( n ) x ( n − i ) = w T ( n ) x ( n ) = x T ( n ) w ( n ) y(n)=\sum_{i=0}^{N-1}w_i(n)x(n-i)=\mathbf{w}^T(n)\mathbf{x}(n)=\mathbf{x}^T(n)\mathbf{w}(n)y (n )=i =0 ∑N −1 w i (n )x (n −i )=w T (n )x (n )=x T (n )w (n ) - 期望输出:d ( n ) d(n)d (n )
- 误差信号——后验误差:用n n n时刻的滤波器系数向量去计算n n n时刻的误差
e ( n ) = d ( n ) − y ( n ) = d ( n ) − w T ( n ) x ( n ) e(n)=d(n)-y(n)=d(n)-\mathbf{w}^T(n)\mathbf{x}(n)e (n )=d (n )−y (n )=d (n )−w T (n )x (n ) - 目标函数:最小均方误差(MMSE)准则
J ( w ) = E { ∣ e ( n ) ∣ 2 } = E { ∣ d ( n ) − w T ( n ) x ( n ) ∣ 2 } J(\mathbf{w})=E {{|e(n)|}^2}=E{|d(n)-\mathbf{w}^T(n)\mathbf{x}(n)|^2}J (w )=E {∣e (n )∣2 }=E {∣d (n )−w T (n )x (n )∣2 } - 最小化目标函数:令J ( w ) J(\mathbf{w})J (w )对w \mathbf{w}w的导数为0 \mathbf{0}0
E { x ( n ) x T ( n ) } w ( n ) − E { x ( n ) d ( n ) } = R w − r = 0 E{\mathbf{x}(n)\mathbf{x}^T(n)}\mathbf{w}(n)-E{\mathbf{x}(n)d(n)}=\mathbf{Rw-r=0}E {x (n )x T (n )}w (n )−E {x (n )d (n )}=R w −r =0
(1)E { x ( n ) x T ( n ) } E{\mathbf{x}(n)\mathbf{x}^T(n)}E {x (n )x T (n )}包含了输入向量x ( n ) \mathbf{x}(n)x (n )相关矩阵的信息,记作R \mathbf{R}R
(2)E { x ( n ) d ( n ) } E{\mathbf{x}(n)d(n)}E {x (n )d (n )}包含了输入向量x ( n ) \mathbf{x}(n)x (n )和期望输出信号d ( n ) d(n)d (n )之间的相关向量,记作r \mathbf{r}r - 维纳(Wiener)滤波器:均方误差最小意义上的统计最优滤波器
w o p t = R − 1 r \mathbf{w}_{opt}=\mathbf{R}^{-1}\mathbf{r}w o p t =R −1 r
2 Wiener滤波器的优缺点
- 优势:极高的理论价值
[En]
advantages: very high theoretical value*
- 缺点:本质上不是自适应滤波器,不适合非平稳过程或信号
[En]
disadvantages: it is not an adaptive filter in nature and is not suitable for non-stationary processes or signals*
- 分析:求期望时必须利用全部的历史数据(N N N时刻之前)和当前数据(N N N时刻)来估计当前信号的统计值。一旦下一时刻(N + 1 N+1 N +1时刻)来了新的采样点x ( n + 1 ) x(n+1)x (n +1 ),需要重新更新计算期望值(R R R和r r r)。这样一来:
(1)很不划算
(2)输入的若为非平稳信号,由于其统计特性随时间变化而变化,会使得求解不准确
3 基本LMS算法
- 为了避免涉及数学期望,使用目标函数的 瞬时梯度代替数学期望:
▽ ^ ( n ) = − 2 e ( n ) x ( n ) \hat{\triangledown}(n)=-2e(n)\mathbf{x}(n)▽^(n )=−2 e (n )x (n ) - 基于采样点更新的标准时域LMS算法的 逐点更新公式:新时刻的滤波器系数向量=老时刻的滤波器系数向量+(负梯度方向的)调整量
w ( n + 1 ) = w ( n ) + 2 μ x ( n ) e ( n ) \mathbf{w}(n+1)=\mathbf{w}(n)+2\mu\mathbf{x}(n)e(n)w (n +1 )=w (n )+2 μx (n )e (n )
其中,μ \mu μ为调整步长,是一个经验值
4 标准LMS算法的执行流程
- 滤波器初始化:w ( 0 ) 、 x ( 0 ) \mathbf{w}(0)、\mathbf{x}(0)w (0 )、x (0 )
- 对 每一个新的输入采样x ( n ) x(n)x (n ),计算输出信号y ( n ) y(n)y (n )
- 利用更新公式更新滤波器系数w ( n ) \mathbf{w}(n)w (n )
- 循环2~3直到得到输出序列和误差序列
5 总结
- LMS算法的基本思想:梯度下降
瞬时梯度的数学期望 = 真实梯度(瞬时梯度是真实梯度的无偏估计)
- LMS算法的优点:算法简单,容易实现
- LMS算法的缺点:收敛速度慢,跟踪性能差
因为估计方差(即梯度噪声)不为0,对于每一步来讲,瞬时梯度一定不等于真实梯度,即中间的估计存在噪声
梯度噪声:会导致滤波器的每一次更新都不会严格按照真实梯度方法进行,而是有一定偏差
但梯度噪声并不是毫无用处的,它可以帮助跳出那些可能的局部最优值,从而继续向全局最优方法前进。[En]
But gradient noise is not useless, it can help jump out of those possible local optimal values, thus continuing to move towards the global optimal method.
- LMS算法的改进思路:block LMS
block LMS:累计block个采样点后更新一次滤波器系数
优点:可以减少梯度噪声每一个block的梯度仍然是每一个采样点产生的瞬时梯度的求和,因此它仍然是真实梯度的无偏估计
但是,由于累积采样点较多,因此方差较小。[En]
However, because there are more cumulative sampling points, the variance is smaller.
6 逼逼叨
…好累啊这个,不想弄了…
Original: https://blog.csdn.net/qq_44714521/article/details/111204348
Author: 社恐患者
Title: 【语音信号处理】自适应滤波方法之LMS算法
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/525485/
转载文章受原作者版权保护。转载请注明原作者出处!