LMS算法的简单研究.docx
《LMS算法的简单研究.docx》由会员分享,可在线阅读,更多相关《LMS算法的简单研究.docx(8页珍藏版)》请在冰豆网上搜索。
![LMS算法的简单研究.docx](https://file1.bdocx.com/fileroot1/2022-10/2/2fafc3ad-44f8-4c9a-ad37-6675158819fc/2fafc3ad-44f8-4c9a-ad37-6675158819fc1.gif)
在随机数字信号处理过程中,经常会遇到在不知道输入信号的先验知识的条件下要求进行某些处理的情况。
虽然能够对随机信号进行处理的滤波器种类很多,但并不是所有的滤波器都能够在未知环境下工作。
在各种各样的滤波器中,Wiener滤波器无疑是滤波性能最佳的一种滤波器。
但其在计算过程中要求多次解维纳-霍夫(Wiener-Hopf)方程,给计算带来了一定的复杂度。
而如果将最小均方误差(LMS)与Wiener滤波相结合,可使计算过程得到大大的简化。
由于其性能优良且可以工作在未知环境下,LMS滤波器在实际中获得了广泛的应用。
本实验利用LMS算法对AR过程的一阶参数进行了预测,通过不同的参数和步长设置对LMS算法进行了分析。
一、实验题目
ForthiscomputerexperimentinvolvingtheLMSalgorithm,useafirst-order,autoregressive(AR)processtostudytheeffectsofensembleaveragingonthetransientcharacteristicsoftheLMSalgorithmforrealdata.
ConsideranARprocessoforderone,describedbythedifferenceequation
whereisthe(oneandonly)parameteroftheprocessandisazero-meanwhite-noiseprocessofvariance.Toestimatetheparameter,useanadaptivepredictoroforderone,asdepictedinFig.P4.
GivendifferentsetsofARparameters,fixedthestep-sizeparameter,andtheinitialcondition.
lPleaseplotthetransientbehaviorofweightincludingthesinglerealizationandensemble-averagedresult.
lThetransientbehaviorofthesquaredpredictionerror
lDrawtheexperimentallearningcurves,whatistheresultwhenthestep-sizeparameterisreduced.
二、问题分析
本题首先要求利用计算机对一阶AR过程随机信号的LMS滤波进行仿真,通过绘制不同过程参数情况下,单一实现和集平均时一阶自适应预测器权值和平方预测误差的瞬态特性图,来研究实时数据集平均对LMS算法瞬态特性的影响。
最后,在绘出不同步长因子情况的学习曲线图后,分析学习曲线在步长因子减小情况下的变化情况。
目的是通过计算机仿真来研究输入到LMS滤波器的信号参数、步长因子对LMS算法性能的影响。
因此在仿真实验中需要改变题目中的AR参数a和步长因子u,并对实验得到的权系数和均方误差的瞬态特性进行分析,来获得这些因素对LMS算法性能的影响情况。
三、实验环境
Windows7操作系统
Matlab2009b
四、实验目的
本实验将在给定的AR参数a、步长因子u的条件下进行AR信号LMS一步预测,进而来获得AR信号LMS一步预测的性能,并研究步长因子对LMS性能的影响情况,并进一步归纳出LMS算法的特点。
五、实验原理
最小均方算法又称LMS(Least-Mean-Square)算法,是由Widrow和Hoff共同提出来的,是随机梯度算法族中的一员。
该算法的一个显著特点是它的简单性,即它不需要计算有关的相关函数,也不需要矩阵求逆运算。
正是由于LMS算法的简单性,使得它成为其他线性自适应滤波算法的标准。
LMS算法是线性自适应滤波算法,它包含两个基本过程:
1)滤波过程
包括:
(a)计算线性滤波器输出对输入信号的响应;
(b)通过比较输出结果与期望响应产生估计误差。
2)自适应过程
根据估计误差自动调整滤波器参数。
下面简单简绍下LMS算法的基本步骤:
1、设置变量和参量:
x(n)为输入向量,或称为训练样本
w(n)为权值向量
b(n)为偏差
d(n)为期望输出
y(n)为实际输出
u为步长因子
n为迭代次数
2、初始化,赋给w(0)一个较小的随机非零值,令n=0;
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步继续执行。
由上边的权值系数更新过程可以看出,上LMS算法具有算法简单、每步迭代计算量小、所需存储量小等特点,但是LMS算法的收敛速度一般较慢。
另外LMS算法还有一些改进算法如归一化LMS(NLMS)算法等。
六、实验过程
在实验开始前,首先确定本次实验应满足的条件如下所示:
lAR参数a=±0.99;
l步长因子u=0.01、0.05、0.1;
l高斯白噪声v(n)的功率为δv2=0.18;
lAR序列x(n)的长度为500;实验次数为80;
l由于噪声的存在与w(n)的随机性使得在一次LMS估计中权系数也带有
随机性,因而实验中需进行多次LMS算法迭代,最后取平均。
这里取实验次数M为80。
本实验将分四个步骤完成。
首先,实验开始先定义参变量M、N和w=zeros(M,N,3,2)与f=zeros(M,N,3,2),括号里的3和2分别用来控制3种步长因子和a的两个不同参数。
然后,对不同的参数a、不同的步长因子u和不同的试验次数M分别进行N次迭代来获得每个点的权值系数。
其次,对于不同的参数a和步长因子分别计算它们的M次集平均权值特性和均方误差特性。
最后,分别绘出该一阶自适应预测器的权值和均方误差瞬时特性图与不同步长因子下的学习曲线图。
本次实验的程序如下所示:
clc
clear
N=500;%实验迭代次数
M=80;%独立实验次数
w=zeros(M,N,3,2);f=zeros(M,N,3,2);
forl=1:
2,%分别对不同参数a=0.99和-0.99进行仿真
ifl==1a=0.99;
elsea=-0.99;
end;
ford=1:
3,%分别对不同步长u=0.01,0.05和0.1进行计算仿真
ifd==1u=0.01;
elseu=0.05*(d-1);
end;
fork=1:
M,%M次独立实验
v=0.18*randn(1,N);%产生零均值白噪声
x
(1)=1;
forn=2:
N,%自回归方程与LMS算法
x(n)=-a*x(n-1)+v(n);
f(k,n,d,l)=x(n)-w(k,n,d,l)*x(n-1);
w(k,n+1,d,l)=w(k,n,d,l)+u*x(n-1)*f(k,n,d,l);
end
end
end
end
forl=1:
2%求最小均方误差和权系数的平局值
ford=1:
3
forn=1:
N,
fea(n,d,l)=0;
wea(n,d,l)=0;
form=1:
M
fea(n,d,l)=fea(n,d,l)+f(m,n,d,l)^2;
wea(n,d,l)=wea(n,d,l)+w(m,n,d,l);
end
fea(n,d,l)=fea(n,d,l)/M;
wea(n,d,l)=wea(n,d,l)/M;
end
end
end
n=1:
N;
figure
(1)
plot(n,w(1,n,2,1),'r-',n,wea(n,2,1),'b--',n,w(1,n,2,2),'r-',n,wea(n,2,2),'b--');
title('一阶自适应预测器权值的瞬态特性(u=0.05)')
xlabel('迭代次数'),ylabel('抽头权值')
legend('\it单一实现','\it集平均实现')
text(400,0.8,'a=-0.99')
text(400,-0.8,'a=+0.99')
figure
(2)
plot(n,f(1,n,2,1),'r-',n,fea(n,2,1),'b-');
title('一阶自适应预测器的平方预测误差瞬时特性(u=0.05)')
axis([05000.0011]);
xlabel('迭代次数'),ylabel('平方误差')
figure(3)
semilogy(n,fea(n,1,1),'b-',n,fea(n,2,1),'g-',n,fea(n,3,1),'r-');
axis([05000.011]);
title('一阶自适应预测器的学习曲线(变步长u)')
xlabel('迭代次数'),ylabel('均方误差')
七、实验结果与问题分析
通过运行以上程序可以得出该一阶自适应预测器权值的瞬态特性图(u=0.05)如下所示:
图1一阶自适应预测器权值的瞬态特性(u=0.05)
上图中,实线所示为某一单独实验中的得到的权值瞬态特性曲线,虚线表示的是在总共80次试验后得到的一个平均结果。
观察两条曲线发现,虚线较实线平滑。
这是因为前者采用平均处理以后,平滑了单一处理中梯度噪声的影响。
图2一阶自适应预测器的平方预测误差瞬时特性(u=0.05)
由图2中所示的一阶自适应预测器的平方预测误差瞬时特性曲线可以看出,LMS单一实现的学习曲线呈现出严重的噪声存在形式,但经平均处理以后得到了一条较稳定的曲线,即固定u=0.05时的一阶自适应预测器的学习曲线。
图3一阶自适应预测器的学习曲线(变步长u)
从图3可以看到,随着步长因子的减小,学习曲线到达水平所需次数增加,即步长因子越小,到达最优点的时间越长,LMS算法的收敛率相应地也减小了。
由以上实验结果分析可归纳为:
在一次LMS迭代中,其权系数变化是一条随机曲线,随着实验次数的增多,其平均结果趋于平滑。
步长因子u的大小将影响LMS算法的收敛速度,在允许的范围内u值取得越大,收敛速度越快。
但在仿真中发现,LMS算法对u的要求不大,也就是说只要u和a选择合理算法一般都能够收敛。
这说明LMS算法具有很强的实用性。
通过对以上几点的描述,可以看出LMS算法的确是一种算法相对简