lms算法基本思想及原理
扫描二维码
随时随地手机看文章
1959年,Widrow和Hoff在对自适应线性元素的方案一模式识别进行研究时,提出了最小均方算法(简称LMS算法)。LMS算法是基于维纳滤波,然后借助于最速下降算法发展起来的。通过维纳滤波所求解的维纳解,必须在已知输入信号与期望信号的先验统计信息,以及再对输入信号的自相关矩阵进行求逆运算的情况下才能得以确定。因此,这个维纳解仅仅是理论上的一种最优解。所以,又借助于最速下降算法,以递归的方式来逼近这个维纳解,从而避免了矩阵求逆运算,但仍然需要信号的先验信息,故而再使用瞬时误差的平方来代替均方误差,从而最终得出了LMS算法。
因LMS算法具有计算复杂程度低、在信号为平稳信号的环境中的收敛性好、其期望值无偏地收敛到维纳解和利用有限精度实现算法时的稳定性等特性,使LMS算法成为自适应算法中稳定性最好、应用最广泛的算法。
下图是实现算法的一个矢量信号流程图:
图1 LMS算法矢量信号流程图
由图1我们可以知道,LMS算法主要包含两个过程:滤波处理和自适应调整。
一般情况下,LMS算法的具体流程为:
(1)确定参数:全局步长参数β以及滤波器的抽头数(也可以称为滤波器阶数)
(2)对滤波器初始值的初始化
(3)算法运算过程:
滤波输出:y(n)=wT(n)x(n)
误差信号:e(n)=d(n)-y(n)
权系数更新:w(n+1)=w(n)+βe(n)x(n)
二、性能分析在很大程度上,选取怎样的自适应算法决定着自适应滤波器是否具有好的性能。因此,对应用最为广泛的算法算法进行性能分析则显得尤为重要。平稳环境下算法的主要性能指标有收敛性、收敛速度、稳态误差和计算复杂度等。
1、收敛性
收敛性就是指,当迭代次数趋向于无穷时,滤波器权矢量将达到最优值或处于其附近很小的邻域内,或者可以说在满足一定的收敛条件下,滤波器权矢量最终趋近于最优值。
2、收敛速度
收敛速度是指滤波器权矢量从最初的初始值向其最优解收敛的快慢程度,它是判断LMS算法性能好坏的一个重要指标。
3、稳态误差
稳态误差,是指当算法进入稳态后滤波器系数与最优解之间距离的远近情况。它也是一个衡量LMS算法性能好坏的重要指标。
4、计算复杂度
计算复杂度,是指在更新一次滤波器权系数时所需的计算量。LMS算法的计算复杂度还是很低的,这也是它的一大特点。
三、LMS算法分类1、量化误差LMS算法
在回声消除和信道均衡等需要自适应滤波器高速工作的应用中,降低计算复杂度是很重要的。LMS算法的计算复杂度主要来自在进行数据更新时的乘法运算以及对自适应滤波器输出的计算,量化误差算法就是一种降低计算复杂度的方法。其基本思想是对误差信号进行量化。常见的有符号误差LMS算法和符号数据LMS算法。
2、解相关LMS算法
在LMS算法中,有一个独立性假设横向滤波器的输入u(1),u(2),…, u(n-1)是彼此统计独立的向量序列。当它们之间不满足统计独立的条件时,基本LMS算法的性能将下降,尤其是收敛速度会比较慢。为解决此问题,提出了解相关算法。研究表明,解相关能够有效加快LMS算法的收敛速度。解相关LMS算法又分为时域解相关LMS算法和变换域解相关LMS算法。
3、并行延时LMS算法
在自适应算法的实现结构中,有一类面向VLSI的脉动结构,由于其具有的高度并行性和流水线特性而备受关注。将算法直接映射到脉动结构时,在权值更新和误差计算中存在着严重的计算瓶颈。该算法解决了算法到结构的计算瓶颈问题,但当滤波器阶数较长时,算法的收敛性能会变差,这是由于其本身所具有的延时影响了它的收敛性能。可以说,延时算法是以牺牲算法的收敛性能为代价的。
4、自适应格型LMS算法
LMS滤波器属于横向自适应滤波器且假定阶数固定,然而在实际应用中,横向滤波器的最优阶数往往是未知的,需要通过比较不同阶数的滤波器来确定最优的阶数。当改变横向滤波器的阶数时,LMS算法必须重新运行,这显然不方便而且费时。格型滤波器解决了这一问题。
格型滤波器具有共轭对称的结构,前向反射系数是后向反射系数的共轭,其设计准则和LMS算法一样是使均方误差最小。
5、Newton-LMS算法
Newton-LMS算法是对环境信号二阶统计量进行估计的算法。其目的是为了解决输入信号相关性很高时算法收敛速度慢的问题。一般情况下,牛顿算法能够快速收敛,但对R-1的估计所需计算量很大,而且存在数值不稳定的问题。