LMS算法分析.doc_第1页
LMS算法分析.doc_第2页
LMS算法分析.doc_第3页
LMS算法分析.doc_第4页
LMS算法分析.doc_第5页
免费预览已结束,剩余4页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于MATLAB的最小均方算法(LMS)仿真与分析 实验目地:掌握LMS算法的基本原理和算法中矩阵的构造方法,了解自适应波器原理及性能分析的的方法,对教材中理论知识有直观印象。实验内容:LMS算法的编程仿真。实验仪器:计算机及MATLAB软件。实验时间:2010年12月1日。一、实验原理:LMS算法是自适应滤波器中常用的一种算法,与维纳算法不同的是,其系统的系数随输入序列而改变。维纳算法中截取输入序列自相关函数的一段构造系统的最佳系数。而LMS算法则是对初始化的滤波器系数依据最小均方误差准则进行不断修正来实现的。因此,理论上讲LMS算法的性能在同等条件下要优于维纳算法,但是LMS算法是在一个初始化值得基础上进行逐步调整得到的,因此,在系统进入稳定之前有一个调整的时间,这个时间受到算法步长因子u的控制,在一定值范围内,增大u会减小调整时间,但超过这个值范围时系统不再收敛,u的最大取值为R的迹。权系数更新公式为:Wi+1=Wi+2ueiXi依据上述算式,制定LMS滤波器设计实现方法为:(1) 设计滤波器的初始化权系数W(0)=0,收敛因子u;(2) 计算输入序列经过滤波器后的实际输出值:out(n)=WT(n)*X(n);(3) 计算估计误差e(n)=xd(n)-out(n);(4) 计算n+1阶的滤波器系数Wn+1=Wn+2*u*e(n)*X(n);(5) 重复(2)-(4)过程;二、实验程序及程序的分析:(一)实验程序length=1024*16; %数长N=100; %滤波器的阶数u=0.00001; %步长常数t=0:2*pi/ (length-1):2*pi;xd=sin(2*pi*t)+sin(10*pi*t)/2; %期望信号for i=1:100 %假设信号输入以前,系统存储器中的值全为0xd(i)=0;endxnoise=sqrt(0.04)*randn(1, length); x=xd+xnoise; %叠加噪声的实际输入信号w=zeros(N,1); %初始化滤波器的权系数for i=1: lengthout(i)= x(i:i+N-1)*w; %输出序列在循环体内部实现,表明其自适应特性e(i)=xd(i)-out(i);w=w+2*u*e(i)*x(i:i+N-1); %权系数更新endsubplot(4,1,1)plot(out)title(滤波器输出)hold onsubplot(4,1,2)plot(xd)title(期望信号)subplot(4,1,3)plot(x,r)title(输入信号)subplot(4,1,4)plot(e,g)title(误差变化)(二)程序分析(1)由于滤波器的权系数必须是依据输入序列来更新的,当输入序列未达到X(N)时,由于部分存储器中没有数值或者造成滤波器输出误差只有longth- N个,系数更新达不到要求,因此要对输入前的存储器进行赋零初始化。(2)由于自适应滤波器有一个调整时间,因此序列的长度longth必须足够长,至少要大于滤波器的激励时间!否则滤波器输出都是无效数据,滤波器的设计也没有意义!(3)同等阶数条件下,lms自适应自适应滤波器与维纳滤波器的效果相比,理论上应该自适应滤波器的效果较好,因为它是自适应的,在程序上表现为out的输出在lms算法中是在循环程序内实现的,而维纳滤波器则是经过输入矩阵与系数相卷积实现的,系数是静态的。三、实验结果及结果分析:(1)信号长度length=1024*16, 滤波器的阶数N=100,收敛因子u=0.00001的自适应滤波器仿真结果:滤波器输出信号期望信号输入信号误差信号的收敛情况实验结果分析:在本次仿真中,u取值相对较小,因此误差信号收敛速度很慢,同时滤波器输出信号的调整时间也很长。(2)收敛因子变化对滤波器性能的影响依次取u=0.00001、0.001、0.1考虑系统的性能:(a)u=0.00001时滤波器输出信号u=0.00001时误差信号的收敛情况(b)u=0.001时滤波器输出信号u=0.001时误差信号的收敛情况(c)u=0. 1时滤波器输出信号u=0. 1时误差信号的收敛情况实验结果分析:u=0.00001时,a组图中误差信号的收敛速度很慢,在整个输入讯列中都未完成调整,因此输出序列的开始部分有一个很长的调整时间。u=0.001时效果得到了明显的改进,误差信号得到迅速的收敛,但输出信号却不如u=0.00001的平滑。当u=0. 1时,系统无法实现收敛,u的最大取值不能超过矩阵R的迹。(3)阶数对系统效果的影响:N=20、u=0.001时滤波器输出信号N=100、u=0.001时滤波器输出信号实验结果分析:N=20时相对N=100的滤波效果要差,其信号中所含杂波成分较大,与维纳滤波器一样,随着滤波器阶数的提高,滤波器效果会得到改善。(4)同等条件下维纳算法与LMS算法之间的效比较:N=40、u分别为0.001和0.00001时维纳滤波器和LMS滤波器输出信号维纳滤波输出u=0.001时LMS滤波器的输出u=0.00001时LMS滤波器的输出实验结果分析:在相同阶数条件下,LMS滤波器可以取得优于维纳滤波器的波形信号,前提条件是必须合理选择收敛因子u,否则,LMS滤波效果反而回避维纳滤波器的效果差!结论:改善滤波器性能的方法:在满足收敛速度要求的条件下,适当的降低收敛因子,提高滤波器的阶数可以改善滤波器输出波的平滑型,但减小收敛因子可能会在很长一段时间产生一个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论