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

📄 autoadaption2.m

📁 一个matlab实现自适应的程序
💻 M
字号:
function LMS2(M,p,L,d)

%输入阶数,样本个数,噪声方差
%=2;
%=100;
%d=1;
%真正的模型系数
a1=-1.3;
a2=0.8;
%步长
u=0.01;

%%%%%%%%%%%%%%产生噪声w并得到y样本
w=sqrt(d)*randn(1,L);
y(1)=w(1);
y(2)=-a1*y(1)+w(2);
for i=3:1:L
    y(i)=-a1*y(i-1)-a2*y(i-2)+w(i);
end

%滤波
A1=zeros(1,L);
A2=zeros(1,L);
e=zeros(1,L);
Yg(1)=w(1);
e(1)=y(1)-Yg(1);
Yg(2)=-A1(1)*y(1);
e(2)=y(2)-Yg(2);

for i=3:1:L 
    Yg(i)=-A1(i)*y(i-1)-A2(i)*y(i-2);
    e(i)=y(i)-Yg(i);
    A1(i+1)=A1(i)-2*u*e(i)*y(i-1);
    A2(i+1)=A2(i)-2*u*e(i)*y(i-2);   
end

n=1:1:L;
subplot(3,1,1);
plot(n,A1(n),'r',n,a1,'b');
legend('A1(n)','a2');
title('估计产生的ar系数A1和实际的参数a1');

subplot(3,1,2); 
plot(n,A2(n),'r',n,a2,'b');
title('估计产生的ar系数A2和实际的参数a2');
legend('A2(n)','a2');

subplot(3,1,3);
plot(n,y,'r',n,Yg,'b');
legend('y(n)','Yg(n)');

A1(100)
A2(100)

⌨️ 快捷键说明

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