⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 laolu___step2lms.m

📁 本源码将横向自适应滤波器和格型自适应滤波器的LMS算法综合在一起,对起权系数跟踪性能可以做较好的比较.
💻 M
字号:
clear all;
clc;
L=1000;
x=zeros(1,L);
image=zeros(1,L);
v=imnoise(image,'gaussian',0,0.8);
a1=1.558;a2=-0.81;

%以下为2阶LMS横向滤波器参数;
w1=zeros(1,L);
w2=zeros(1,L);
u=0.005;

%以下为2阶LMS格型滤波器参数;
 
 M=3;
 k=zeros(M-1,L);
 f=zeros(M,L);
 b=zeros(M,L); 
 beta=2*u;

 
 for n=3:L;
    %以下为2阶LMS横向滤波器;
    x(n)=v(n)+a1*x(n-1)+a2*x(n-2);
    y(n)=w1(n-1)*x(n-1)+w2(n-1)*x(n-2);
    e(n)=x(n)-y(n);
    w1(n)=w1(n-1)+2*u*e(n)*x(n-1);
    w2(n)=w2(n-1)+2*u*e(n)*x(n-2);
    
    %以下为2阶LMS格型滤波器;
    f(1,n)=x(n);
    b(1,n)=x(n);
    for i=2:M;
        j=i-1;%作为k的行数
        f(i,n)=f(j,n)+k(j,n-1)*b(j,n-1);
        b(i,n)=b(j,n-1)+k(j,n-1)*f(j,n);
        k(j,n)=k(j,n-1)-beta*[f(i,n)*b(j,n-1)+b(i,n)*f(j,n)] ; 
    end;
      
end;

for n=1:L;
a11(n)=-k(1,n)*[1+k(2,n)];
a22(n)=-k(2,n);
end;

 n=1:L;
 figure(1);
 plot(n,a1,'r:',n,w1,'b',n,a11,'black',n,w2,'b',n,a22,'black',n,a2,'r:'),
 title('LMS横向与格型滤波器'),xlabel('时间n'),ylabel('权值逼近');
 legend('黑色---格型权值','蓝色---横向权值');
 figure(2);
 subplot(2,1,1),plot(n,e(n).^2,'r'),title('LMS横向滤波器误差'),xlabel('时间n'),ylabel('误差功率');
 subplot(2,1,2),plot(n,f(i,n).^2,'r'),title('LMS格型滤波器误差'),xlabel('时间n'),ylabel('误差功率');

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -