• 大小: 3KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-05-27
  • 语言: Matlab
  • 标签:

资源简介

数字信号处理中的三种算法LMS—RLS-LSL的比较

资源截图

代码片段和文件信息

%LMS、RLS、LSL算法性能比较
clear all;
clear all;
N=500;%抽样次数
%参考信道模型参数值
ini_a=-1.6*ones(1N);
ini_b=0.8*ones(1N);
x=randn(1N);%高斯白噪声
%LMS算法开始
%求LMS算法中的输出期望值 
for i=3:N
    lms_d(i)=x(i)-1.6*x(i-1)+0.8*x(i-2);
end
lms_w=zeros(N+13);%LMS算法权系数/估计信道模型参数
%参数逼近/LMS算法
for i=3:N
    lms_u=[x(i)x(i-1)x(i-2)]‘;
    lms_y(i)=lms_w(i:)*lms_u;
    lms_e(i)=lms_d(i)-lms_y(i);
    lms_w(i+1:)=lms_w(i:)+0.005*lms_e(i)*lms_u‘;
end
%LMS算法结束
%figure
%plot(lms_w(:2)‘r‘)
%draw parameter 3
%figure
%plot(lms_w(:3)‘g‘)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%RLS算法开始
%求RLS算法输出期望
for i=3:N
    rls_d(i)=x(i)-1.6*x(i-1)+0.8*x(i-2);
end
rls_w=zeros(N+13);%RLS算法权系数/估计信道模型参数
%自相关函数及相关参数初始化
R=0;
t=0;
lmta=0.99;
%RLS算法参数逼近
for i=3:N
    rls_u=[x(i)x(i-1)x(i-2)]‘;
    k=t*rls_u/(lmta+rls_u‘*t*rls_u);
    rls_e=rls_d(i)-rls_w(i:)*rls_u;
    rls_w(i+1:)=rls_w(i:)+(k*rls_e)‘;
    R=lmta*R+rls_u‘*rls_u;
    t=1/R;
end
%figure
%plot(rls_w(:2))
%figure
%plot(rls_w(:3))
%RLS算法结束
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%LSL算法开始
%x=randn(11000);
lsl_a=[1-1.60.8];    
lsl_b=[1];    
lsl_d=filter(lsl_blsl_ax);%期望输出
M=3;%滤波器阶数+1
%相关参数初始化
eb(:1)=ze

评论

共有 条评论

相关资源