您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > LMS算法-推导-应用-试验结果分析
LMS算法主要内容:LMS算法的定义及由来LMS算法推导的近似计算μ的选择LMS算法应用LMS算法过程LMS算法基本步骤MATLAB实验过程MATLAB实验结果及分析LMS的定义及由来LMS算法即最小均方误差(least-mean-squares)算法,是线性自适应滤波算法。感知器和自适应线性元件在历史上几乎是同时提出的,并且两者在对权值的调整的算法非常相似。它们都是基于纠错学习规则的学习算法。感知器算法存在如下问题:不能推广到一般的前向网络中;函数不是线性可分时,得不出任何结果。而由美国斯坦福大学的Widrow和Hoff在研究自适应理论时提出的LMS算法,由于其容易实现而很快得到了广泛应用,成为自适应滤波的标准算法。自适应是指处理和分析过程中,根据处理数据的数据特征自动调整处理方法、处理顺序、处理参数、边界条件或约束条件,使其与所处理数据的统计分布特征、结构特征相适应,以取得最佳的处理效果。LMS算法推导:LMS算法是自适应滤波器中常用的一种算法,与维纳算法不同的是,其系统的系数随输入序列而改变。维纳算法中截取输入序列自相关函数的一段构造系统的最佳系数。而LMS算法则是对初始化的滤波器系数依据最小均方误差准则进行不断修正来实现的。因此,理论上讲LMS算法的性能在同等条件下要优于维纳算法,但是LMS算法是在一个初始化值得基础上进行逐步调整得到的,因此,在系统进入稳定之前有一个调整的时间,这个时间受到算法步长因子u的控制,在一定值范围内,增大u会减小调整时间,但超过这个值范围时系统不再收敛,u的最大取值为R的迹。LMS算法推导:构成自适应数字滤波器的基本部件是自适应线性组合器,如图1的所示。设线性组合器的M个输入为,其输出y(k)是这些输入加权后的线性组合,即(1)图1自适应线性组合器LMS算法推导:(2)(3)在图1中,令d(k)代表“所期望的响应”,并定义误差信号式(3)写成向量形式(4)LMS算法推导:(5)(6)LMS算法推导:则均方误差(5)式可表述为(7)(8)这表明,均方误差是权系数向量W的二次函数,它是一个中间向上凹的抛物形曲面,是具有唯一最小值的函数。调节权系数使均方误差为最小,相当于沿抛物形曲面下降找最小值。可以用梯度来求该最小值。LMS算法推导将式(8)对权系数W求导数,得到均方误差函数的梯度(9)(10)LMS算法推导最佳权系数向量通常也叫作Wiener权系数向量。将代入式(8)得最小均方误差(11)利用式(10)求最佳权系数向量的精确解需要知道RXX和RXd的先验统计知识,而且还需要进行矩阵求逆等运算。WidrowandHoff(1960)提出了一种在这些先验统计知识未知时求的近似值的方法,习惯上称为WidrowandHoffLMS算法。这种算法的根据是最优化方法中的最速下降法。根据最速下降法,“下一时刻”权系数向量W(k+1)应该等于“现时刻”权系数向量W(k)加上一个负均方误差梯度−∇(k)的比例项,即LMS算法推导式中,μ是一个控制收敛速度与稳定性的常数,称之为收敛因子。不难看出,LMS算法有两个关键:梯度∇(k)的计算以及收敛因子μ的选择。的近似计算(13)(15)(14)式(15)的实现方框图如图2所示图2LMS算法的实现方框图的近似计算(16)在得到最后的结果时,利用了式(9)。式(16)表明,梯度估值是无偏估计。的近似计算μ的选择对权系数向量更新公式(15)两边取数学期望,得(17)μ的选择μ的选择(18)(19)将式(19)代入式(18)后得:(20)μ的选择(1)(8-1-21a)(8-1-21c)(8-1-21d)(22)(8-1-21b)μ的选择或(22)LMS算法应用LMS算法应用LMS算法应用LMS算法应用LMS算法过程LMS算法是线性自适应滤波算法,它包含两个基本过程:1)滤波过程包括:(a)计算线性滤波器输出对输入信号的响应;(b)通过比较输出结果与期望响应产生估计误差。2)自适应过程根据估计误差自动调整滤波器参数。LMS算法基本步骤LMS算法的基本步骤:1、设置变量和参量:x(n)为输入向量,或称为训练样本w(n)为权值向量b(n)为偏差d(n)为期望输出y(n)为实际输出u为步长因子n为迭代次数2、初始化,赋给w(0)一个较小的随机非零值,令n=0;LMS算法基本步骤3、对于一组输入样本x(n)和对应的期望输出d,计算e(n)=d(n)-x(n)w(n)w(n+1)=w(n)+ux(n)e(n)4、判断是否满足条件,若满足算法结束,若否n增加1,转入第3步继续执行。MATLAB实验过程在实验开始前,首先确定本次实验应满足的条件如下所示:AR参数步长因子u=0.01、0.05、0.1;高斯白噪声v(n)的功率为AR序列x(n)的长度为500;实验次数为80;由于噪声的存在与w(n)的随机性使得在一次LMS估计中权系数也带有随机性,因而实验中需进行多次LMS算法迭代,最后取平均。这里取实验次数M为80。MATLAB实验过程本实验将分四个步骤完成:首先,实验开始先定义参变量M、N和w=zeros(M,N,3,2)与f=zeros(M,N,3,2),括号里的3和2分别用来控制3种步长因子和a的两个不同参数。然后,对不同的参数a、不同的步长因子u和不同的试验次数M分别进行N次迭代来获得每个点的权值系数。其次,对于不同的参数a和步长因子分别计算它们的M次集平均权值特性和均方误差特性。最后,分别绘出该一阶自适应预测器的权值和均方误差瞬时特性图与不同步长因子下的学习曲线图。MATLAB实验结果及分析通过运行以上程序可以得出该一阶自适应预测器权值的瞬态特性图(u=0.05)如下所示:图3一阶自适应预测器权值的瞬态特性(u=0.05)MATLAB实验结果及分析上图3中,实线所示为某一单独实验中的得到的权值瞬态特性曲线,虚线表示的是在总共80次试验后得到的一个平均结果。观察两条曲线发现,虚线较实线平滑。这是因为前者采用平均处理以后,平滑了单一处理中梯度噪声的影响。MATLAB实验结果及分析图4一阶自适应预测器的平方预测误差瞬时特性(u=0.05)MATLAB实验结果及分析由图4中所示的一阶自适应预测器的平方预测误差瞬时特性曲线可以看出,LMS单一实现的学习曲线呈现出严重的噪声存在形式,但经平均处理以后得到了一条较稳定的曲线,即固定u=0.05时的一阶自适应预测器的学习曲线。MATLAB实验结果及分析图5一阶自适应预测器的学习曲线(变步长u)MATLAB实验结果及分析从图5可以看到,随着步长因子的减小,学习曲线到达水平所需次数增加,即步长因子越小,到达最优点的时间越长,LMS算法的收敛率相应地也减小了。MATLAB实验结果及分析由以上实验结果分析可归纳为:在一次LMS迭代中,其权系数变化是一条随机曲线,随着实验次数的增多,其平均结果趋于平滑。步长因子u的大小将影响LMS算法的收敛速度,在允许的范围内u值取得越大,收敛速度越快。但在仿真中发现,LMS算法对u的要求不大,也就是说只要u和a选择合理算法一般都能够收敛。这说明LMS算法具有很强的实用性。MATLAB实验结果及分析通过对以上几点的描述,可以看出LMS算法的确是一种算法相对简单,而性能又相当优越的一种自适应算法。这些特点,使得LMS滤波器越来越多的应用于更广泛的领域。
本文标题:LMS算法-推导-应用-试验结果分析
链接地址:https://www.777doc.com/doc-6370045 .html