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

📄 iir_lms.m

📁 matlab,自适应滤波算法
💻 M
字号:
%IIR-LMS算法仿真
clear all;
en0=randn(1,7000);   %生成标准高斯分布列
en1=randn(1,7000);   %生成标准高斯分布列
x(1)=en0(1);         %x(1)初值
x(2)=en0(2);         %x(2)初值
y(1)=en0(1);         %y(1)初值
y(2)=en0(2);         %y(2)初值
d(1)=en1(1);         %d(1)初值
d(2)=en1(2);         %d(2)初值
for i=3:7000
    x(i)=en0(i)+1.6*x(i-1)-0.8*x(i-2);    %生成n>2的x(n)值
end
for j=3:7000
    d(j)=x(j)-1.6*x(j-1)+0.8*x(j-2)+1.0*d(j-1)-0.58*d(j-2);   %生成n>2的d(n)值
end
n=7000;
m=[0.001 0.001 0.001 0.0015 0.003];   %自适应增益常数
M=diag(m);   %对角矩阵M
W=[0;-1;1;1;1];   %复合权矢量的初值
U=[x(3);x(2);x(1);y(2);y(1)];   %复合数据矢量的初值
ab(:,1)=[0;0;0;0;0];
ab(:,2)=[0;0;0;0;0];
for i=3:n
    U=[x(i);x(i-1);x(i-2);y(i-1);y(i-2)];   %复合数据矢量的值
    y(i)=W'*U;
    ab(:,i)=U+W(4)*ab(:,i-1)+W(5)*ab(:,i-2);
    delta=(-2*(d(i)-y(i))*ab(:,i));
    W=W-M*delta;
    w1(i)=W(1);   %IIR_LMS算法中权系数a0的提取
    w2(i)=W(2);   %IIR_LMS算法中权系数a1的提取
    w3(i)=W(3);   %IIR_LMS算法中权系数a2的提取
    w4(i)=W(4);   %IIR_LMS算法中权系数b1的提取
    w5(i)=W(5);   %IIR_LMS算法中权系数b2的提取
    n(i)=i;
end
figure(1),plot(n,w1,n,w2,n,w3,n,w4,n,w5),legend('a0','a1','a2','b1','b2'),grid;
% figure(2),plot(1:n,x,1:n,d);legend('x','d');

⌨️ 快捷键说明

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