📄 3.残余能量和学习曲线_10000次.m
字号:
clear;
clc;
A=[1:300;linspace(0,0,300)];
A=A';
A2=[1:300;linspace(0,0,300)];
A2=A2';
for i=0:9999 % 10000次LMS迭代实验
V=sqrt(0.27)*randn(500,1); % 产生白噪声序列V(n)
X=[0+V(1);0+V(2)];
for n=3:500 % 产生准信号序列
x=-0.1*X(n-1)+0.8*X(n-2)+V(n);
X=[X;x];
end
X=X(201:500); % 截取信号序列X(n)
H=[-1; -2]; % 初始滤波器系数H(0)
T=H';
e=0;
e2=0;
for n=2:299
e=X(n+1)-H'*[X(n);X(n-1)]; % 计算每步误差e(n+1)
e2=e^2;
H=H+0.05*e*[X(n);X(n-1)]; % 计算每步滤波器系数H(n+1)
T=[T; H'];
A(n+1,:)=A(n+1,:)+[0,e2]/10000;
A2(n+1,:)=A2(n+1,:)+[0,e2-0.27]/10000;
end
end
A=A';
A2=A2';
figure(1)
plot(A(1,3:300),A(2,3:300)); % 绘制J(n)平均值的变化曲线
figure(2)
plot(A2(1,3:300),A2(2,3:300)); % 绘制J(n)-Jmin平均值的变化曲线(学习曲线)
i=0;
n=4;
while (i==0) % 求权学习曲线时间常数
if (A2(2,n)<exp(-1)*A2(2,3))
i=n-3
end
n=n+1;
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -