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

📄 lms.m

📁 ar模型 bt算法 ls rls lms music等数字信号处理的源代码
💻 M
字号:
clear all;
clc;
w0=1.2*pi;
N=200;
M=8;
n=1:N;
u=zeros(1,N+M);
delta=0.004;
lambda=1;
eLMS=zeros(1,199);
wLMS=zeros(8,200);
eRLS=zeros(1,199);
wRLS=zeros(8,200);
for k=1:100
    v=sqrt(0.1)*randn(1,200);
    u(n+M)=exp(j*pi*n-j*pi)+exp(j*w0*n-j*0.79*pi)+v(n);
    u0=0.05;
    u_=zeros(8,200);
    w=zeros(8,200);
    for m=1:199
        ua(m)=w(:,m)'*u_(:,m);
        e(m)=u(m+8)-ua(m);
        u_(:,m+1)=[fliplr(u(1,m+1:m+8))].';
        w(:,m+1)=w(:,m)+u0*u_(:,m)*conj(e(m));
    end     
    eLMS=eLMS+abs(e).^2;
    wLMS=wLMS+w;
    w=zeros(8,200);
    P=1/delta*eye(8);
    for m=1:199
        K=1/lambda*P*u_(:,m)/(1+1/lambda*u_(:,m)'*P*u_(:,m));
        e(m)=u(m+8)-w(:,m)'*u_(:,m);
        w(:,m+1)=w(:,m)+K*conj(e(m));
        P=1/lambda*P-1/lambda*K*u_(:,m)'*P;
    end
    eRLS=eRLS+abs(e).^2;
    wRLS=wRLS+w;
end
eLMS=eLMS/100;
wLMS=wLMS/100;
aLMS=-conj(wLMS(:,200));
eRLS=eRLS/100;
wRLS=wRLS/100;
aRLS=-conj(wRLS(:,200));
w=linspace(0,2*pi,1000);
    for i=0:M;
        h(:,i+1)=exp(-j*w*i);
    end
PLMS=1./abs(h*[1;aLMS]).^2;
PRLS=1./abs(h*[1;aRLS]).^2;
figure(1);
plot(eLMS);
xlabel('迭代次数 n');
ylabel('J_{LMS}(n)');
figure(2);
plot(linspace(0,2*pi,1000),10*log10(PLMS));
xlabel('w');
ylabel('PLMS(dB)');
figure(3);
plot(eRLS);
xlabel('迭代次数 n');
ylabel('J_{RLS}(n)');
figure(4);
plot(linspace(0,2*pi,1000),10*log10(PRLS));
xlabel('w');
ylabel('PRLS(dB)');

⌨️ 快捷键说明

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