




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
专业:电磁场与微波技术学生成员:胡孔勇(M201271739) 李晓楠(M201271671)完成时间:2020年2月7日 ADSP仿真作业 题目:LMS算法与RLS算法的比较 华 中 科 技 大 学目录:1题目12基本原理12.1自适应滤波器的原理12.2 LMS算法简介22.3 RLS算法简介32.4本题模型43.仿真过程及结果分析43.1 生成输入值序列53.2 用两种算法对题中模型进行仿真63.2.1. 作收敛曲线63.2.2. 比较LMS算法和RLS算法的性能93.2.3. 对于不同的步长,比较LMS算法的性能103.2.4. 对于不同的遗忘因子,比较RLS算法的性能11附录13附录1:LMS算法源代码及画图程序13附录2:RLS算法及画图程序14附录3:LMS算法与RLS算法的比较14附录4:不同步长长对LMS算法的影响16附录5:不同遗忘因子对RLS算法的影响17 1题目Sequenceis generated by AR(2) Model:,in which is white Gaussian noise sequence, ;,.Using LMS algorithm and RLS algorithm to estimate the model parameters .Requirements:(1). Draw convergence curves in the same picture;(2). Compare performance of LMS and RLS algorithm;(3). For different parameters ,compare performance of LMS algorithm;(4). For different parameters ,compare performance of RLS algorithm.2基本原理2.1自适应滤波器的原理自适应滤波器由参数可调的数字滤波器(或称为自适应处理器)和自适应算法两部分组成,其算法原理如下图所示: 输入信号通过参数可调的数字滤波器后产生输出信号,将其与期望输出信号进行比较,形成误差信号。通过某种自适应算法对滤波器参数进行调整,最终使得的均方值最小。对于单输入的情况信号间的基本关系如下: 其中表示n时刻的权系数。写成矩阵形式: 式中,为n 时刻自适应滤波器的权矢量,L为自适应滤波器的阶数; 为n 时刻自适应滤波器的参考输入矢量,由最近L 个信号采样值构成,。误差信号的均方值: 自适应组合器按照误差信号均方值最小的准则来调整权矢量,即权矢量满足:一旦输入信号的统计特性发生变化,它又能跟踪这种变化,自动调整参数,使滤波器性能重新达到最佳。2.2 LMS算法简介LMS算法的核心思想是用平方误差代替最小均方误差,即要求则的梯度可用下式来近似:得到LMS算法的权系数递推关系式:式中,是控制自适应速度与稳定性的增益常数,又叫收敛因子或步长因子。2.3 RLS算法简介RLS算法是用二乘方的时间平均的最小化准则取代最小均方准则,并按时间进行迭代计算。其基本原理如下:按照如下准则:式中,称为遗忘因子,它是小于等于1的正数。即越旧的数据对的影响越小。用对滤波器系数求偏导数,并令结果等于零得整理得到标准方程令标准方程可以化简成形式: 经求解可以得到迭代形式定义:,则可知的迭代方程为 系数的迭代方程为 式中误差和增益的定义为对该迭代算法进行初始化时,可令这意味着也可将选取为很大的数值。初始权矢量选为。RLS算法的优点是收敛速度快,而且适用于非平稳信号的自适应处理;缺点是每次迭代时都知道输入信号和参考信号,计算量比较大。 2.4 本题模型 对于本题,其模型原理图如下: 由按照题中的AR(2)模型,由迭代产生信号,且输出信号可以表示成的线性组合。预测误差为:,然后再按照某种准则控制预测误差,从而自适应的调节FIR滤波器的权系数,使之最终达到最优。本题用LMS算法以及RLS算法对预测误差进行处理,并得到各自的权系数收敛值,同时对两种算法的性能进行了分析和比较。3仿真过程及结果分析 3.1 生成输入值序列:%按照所给模型生成性x(n)序列;%Wa为零均值且方差为1的高斯白噪声序列;function x=generation(n)a1=1.4;a2=-0.7;x=zeros(n,1);Wa=randn(n,1);%以下代码迭代生成期望信号;x(1)=Wa(1);x(2)=Wa(2)+a1*x(1);for i=3:n x(i)=Wa(i)+a1*x(i-1)+a2*x(i-2);end;end当n取600时,生成的噪声和信号的图像如下:3.2 用两种算法对题中模型进行仿真3.2.1. 作收敛曲线(1). LMS算法中两个权系数的估计值及收敛曲线:其中滤波器的阶数L=2,得到(代码见附录1):权系数估计值: 误差的平方值曲线:两个权系数的平方误差曲线如下:分析:从图中可以看出,当迭代次数n到600时,两个权系数均已开始收敛,但是后面还会有一定的波动,收敛的效果不是很好。 (2). RLS算法的两个权系数估计值及收敛曲线:这里滤波器的阶数L取4,,得到(代码见附录2): 误差的平方值曲线:两个权系数的平方误差曲线如下:从上图可以看出当迭代到100次时,两个权系数都已经收敛到各自的极限值了,说明RLS算法的收敛速度是比较快的。3.2.2.比较LMS算法和RLS算法的性能: 在计算中搜索步长取0.0018,遗忘因子取0.98,n取800,两种算法的滤波器阶数L均取2得到两种算法的权系数收敛值如下(代码见附录3):LMS算法1.4092 -0.7035RLS算法1.4428 -0.7737 两种算法中对应的两个权系数收敛曲线比较如下图所示:平方误差曲线:从图中可以看出,LMS算法中,n到500时才开始收敛,而对于同样的数据RLS算法在n还没到100时已收敛的很好了,说明RLS算法比LMS算法的收敛速度要快很多,而且误差的波动性也要小很多。但相比而言LMS算法的收敛值更接近真实值。3.2.3. 对于不同的步长,比较LMS算法的性能: 计算过程中,n都取1400,得到不同的对应的权系数收敛值如下(代码见附录4):0.00120.00320.00521.3321741.30571.255483-0.71335-0.76431-0.77364LMS算法中不同的对应的收敛曲线:对应3个不同的值的平方误差比较:分析:从图中的比较看出,从到对应的收敛曲线的收敛速度越来越快,说明当步长越大时,收敛速度会越快,这是显然的,但随着步长的增大误差的波动性也会随之增大,导致收敛曲线在收敛后产生较大的波动,从而产生不稳定性。3.2.4. 对于不同的遗忘因子,比较RLS算法的性能: 计算时对不同的,n都取500,滤波器阶数取4,得到的收敛值如下(代码见附录5):0.9250 0.9650 0.9950 1.3749 1.3612 1.4054 -0.6666 -0.6250-0.6941 3个不同的遗忘因子所对应的收敛曲线如下:不同的对应的平方误差曲线:分析:经比较看出,从到,遗忘因子逐渐增大时,RLS算法的收敛速度有所减缓,但收敛后曲线的波动性明显减小了,说明遗忘因子取得较小时,结果所得到的权矢量受到噪声的影响更严重,从而在收敛后产生较大的波动。附录:附录1:LMS算法源代码及画图程序%用LMS算法对模型x(n)=a1*x(n-1)+a2*x(n-2)+w(n)进行仿真function a_1,a_2,w,e=LMS_algorithm(mu,x,L)%n是信号点数;%mu是迭代步长;%L表示滤波器的阶数;n=length(x);%L=3; %滤波器长度na=1:n-L+1;%模型参数:a1=1.4;a2=-0.7;%*%*%LMS算法过程w=zeros(L,n); %LMS滤波器的系数w(:,1)=1;d=zeros(1,n);y=zeros(1,n);e=zeros(1,n);for i=1:n-L d(i)=x(i+L); X=x(i+L-1:-1:i); %d(i)=X(L-1:L)*w(1:2,i); y(i)=X*w(:,i); e(i)=d(i)-y(i); w(:,i+1)=w(:,i)+2*mu*e(i)*X;endMSE_a1=w(1,1:n-L+1)-a1;MSE_a2=w(2,1:n-L+1)-a2;a_1=w(1,n-L);a_2=w(2,n-L);w(:,n-L)%*%*%画图程序:figure(1),plot(na,w(1,na),k-,linewidth,1),hold on; plot(na,w(2,na),b-,linewidth,3),legend(表示a1,表示a2,0),hold on; plot(na,1.4,r-); plot(na,-0.7,r-); grid on; text(-n/25,1.4,1.4,color,r),text(-n/20,-0.7,-0.7,color,r); text(fix(n/10),w(1,fix(n/10)+0.2,a1,Fontsize,20),text(fix(n/8),w(2,fix(n/8)-0.2,a2,Fontsize,20); title(LMS算法中两个权系数的收敛曲线),xlabel(n),ylabel(a1或b1); hold off;figure(2),plot(e.2),xlabel(n),ylabel(e2),title(误差的平方e2的变化曲线);figure(3),subplot(2,1,1),plot(MSE_a1.2),xlabel(n),ylabel(MSEa_12),title(系数a1的平方误差); subplot(2,1,2),plot(MSE_a2.2),xlabel(n),ylabel(MSEa_22),title(系数a2的平方误差);end附录2:RLS算法及画图程序%用RLS算法对模型x(n)=a1*x(n-1)+a2*x(n-2)+w(n)进行仿真function a_1,a_2,w,e=RLS_algorithm(lambda,x,L)%参数说明:%lambda表示遗忘因子;%x表示输入信号;%L表示滤波器阶数;n=length(x);na=1:n-L;%*%RLS算法过程:d=zeros(1,n+L-1);y=zeros(1,n);w=zeros(L,n);Tn=eye(L,L)*10;for i=L:n-L+1 d(i)=x(i+1); Rn=zeros(L,L); Kn=zeros(L,1); Xk=x(i:-1:i-L+1); y(i)=w(:,i)*Xk; e(i)=d(i)-y(i); Kn=(Tn*Xk)/(lambda+Xk*Tn*Xk); %增益因子; Tn=(Tn-Kn*Xk*Tn)/lambda; %中间变量; en=d(i)-w(:,i-1)*Xk; w(:,i+1)=w(:,i)+Kn*en;endw(:,n-L)a_1=w(1,n-L);a_2=w(2,n-L);%*%画图程序figure(1),plot(na,w(1,na),k-,linewidth,1),hold on; plot(na,w(2,na),b-,linewidth,3),legend(表示a1,表示a2,0),hold on; plot(na,1.4,r:); plot(na,-0.7,r:); text(-n/25,1.4,1.4,color,r),text(-n/20,-0.7,-0.7,color,r); text(fix(n/6),w(1,fix(n/6)+0.2,a1,Fontsize,20),text(fix(n/8),w(2,fix(n/8)-0.2,a2,Fontsize,20); title(RLS算法中两个权系数的收敛曲线),xlabel(n),ylabel(a1或b1); hold off; grid on;figure(2),plot(e.2),xlabel(n),ylabel(e2),title(RLS算法中误差的平方);%*End附录3:LMS算法与RLS算法的比较%两种算法的比较;function a_1,a_2,b_1,b_2=Compare_LR(Mu,La,x)n=length(x);na=1:n-1;mu=Mu;lambda=La;a_1,a_2,w1,e1=LMS_algorithm(mu,x);b_1,b_2,w2,e2=RLS_algorithm(lambda,x);sprintf(a_1,a_2是LMS的系数估计,b_1,b_2是RLS的系数估计)%*%画出两种算法中权系数a1的收敛曲线;figure(1),subplot(2,1,1),plot(na,w1(1,na),r-,linewidth,2),hold on; plot(w2(1,na),g-,linewidth,3),hold on; plot(1:10:n,1.4,r-,linewidth,0.3); grid on; hold off; text(-n/16,1.4,1.4,color,r,Fontsize,12), text(fix(n/15),w1(1,fix(n/15)-0.1,LMS,Fontsize,15), text(fix(n/10),w2(1,fix(n/10)+0.1,RLS,Fontsize,15); title(LMS算法与RLS算法中a1收敛曲线的比较),legend(LMS算法,RLS算法); subplot(2,1,2),plot(na,w1(2,na),r-,linewidth,2),hold on; plot(w2(2,na),g-,linewidth,3),hold on; plot(1:10:n,-0.7,r-,linewidth,0.3); grid on; hold off; text(-n/16,-0.7,-0.7,color,r,Fontsize,12),text(fix(n/18),w1(2,fix(n/18)-0.1,LMS,Fontsize,15),text(fix(n/10),w2(2,fix(n/10)+0.1,RLS,Fontsize,15);title(LMS算法与RLS算法中a2收敛曲线的比较);legend(LMS算法,RLS算法);%set(legend, Box, off);%*%比较LMS和RLS算法的误差;figure(2),subplot(2,1,1),plot(e1.2),title(LMS算法的平方误差); subplot(2,1,2),plot(e2.2),title(RLS算法的平方误差);end附录4:不同步长对LMS算法的影响%在LMS算法中比较不同的步长mu对权系数收敛速度的影响;function a=Compare_mu(x)n=length(x);mu=0.0012:0.002:0.0052;%取3个不同的mu进行计算;na=1:n-1;s=length(mu); a=zeros(3,s); %存储权系数向量;a(1,:)=mu;color1=r, b, k;%*%画出不同的mu产生的收敛曲线;Wa=zeros(s,n);Ee=zeros(s,n);figure(1)for i=1:s w=zeros(2,n); a(2,i),a(3,i),w,e=LMS_algorithm(mu(i),x); Wa(i,:)=w(1,:); Ee(i,:)=e; plot(na,w(1,na),-,color,color1(i),linewidth,i/1.2), hold on;end title(不同的mu值对LMS算法的影响); text(fix(n/20),Wa(1,fix(n/20),leftarrowmu1,color,k,Fontsize,20); text(fix(n/15),Wa(2,fix(n/15),leftarrowmu2,color,k,Fontsize,20); text(fix(n/10),Wa(3,fix(n/10),leftarrowmu3,color,k,Fontsize,20); text(-n/25,1.4,1.4,color,r);legend(mu1=0.0012,mu2=0.0032,mu3=0.0052,0);plot(1:10:n,1.40,r-);grid on; hold off;figure(2),subplot(s,1,1),plot(na,Ee(1,na),title(mu1=0.0012时的平方误差曲线); subplot(s,1,2),plot(na,Ee(2,na),title(mu2=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年西安市事业单位招聘考试综合类专业能力测试试卷(统计类)
- 2025年西班牙语DELEC2级考试试卷真题模拟
- 2025年西班牙语DELEC4级写作冲刺试卷:语法结构与词汇运用
- 2025年企业人力资源管理师(中级)技能操作试卷-员工关系协调
- 2025年正高卫生职称-医学口腔类-口腔修复学(正高)代码:024历年参考题库典型考点含答案解析
- 数字文化产业商业模式创新与数字文创产品创意设计2025年研究报告
- 跨文化交流能力在2025年国际教育中的实践与反思报告
- 教育与培训行业深度报告:家庭教育市场细分领域投资机会分析
- 生态旅游2025年可持续发展规划与管理旅游生态旅游区旅游环境容量评估报告
- 2025海南海口市总工会招聘下属事业单位人员2人(第1号)笔试参考题库附答案解析
- 2025广东广州市从化区社区专职人员招聘33人笔试参考题库附答案解析
- 2025年小学英语教师业务理论考试试题及答案
- 2025年内河船员考试(主推进动力装置2103·一类三管轮)历年参考题库含答案详解(5套)
- 感染性腹主动脉瘤护理
- 公司不交社保合作协议书
- 城市轨道交通工程监测技术
- 港口无人驾驶行业深度报告:奇点已至蓝海启航
- 骨灰管理员职业技能鉴定经典试题含答案
- 火锅店股东协议合同范本
- 村流动人口管理办法细则
- HY/T0305-2024养殖大型藻类和双壳贝类碳汇计量方法碳储量变化法
评论
0/150
提交评论