📄 3.迭代轨迹曲线_10000次.m
字号:
clear;
clc;
A=[linspace(0,0,299);linspace(0,0,299)];
A=A';
A2=[linspace(0,0,299);linspace(0,0,299)];
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=[-2; -1]; % 初始滤波器系数H(0)
T=H';
T2=[-2-(-0.1),-1-0.8];
e=0;
e2=0;
for n=2:299
e=X(n+1)-H'*[X(n);X(n-1)]; % 计算每步误差e(n+1)
H=H+0.05*e*[X(n);X(n-1)]; % 计算每步滤波器系数H(n+1)
T=[T; H'];
T2=[T2;H'-[-0.1,0.8]];
end
A=A+T/10000; % 所有H(n)轨迹取平均值
A2=A2+T2/10000; % 所有H(n)-Hopt轨迹取平均值
end
A=A';
A2=A2';
figure(1)
plot(A(1,:),A(2,:)); % 绘制H(n)平均值的轨迹曲线
figure(2)
plot(A2(1,:)); % 绘制h1(n)-h1opt平均值的变化曲线
figure(3)
plot(A2(2,:)); % 绘制h2(n)-h2opt平均值的变化曲线
i=0;
n=2;
while (i==0) % 求权系数h1衰减时间常数
if (A2(1,n)>exp(-1)*A2(1,1))
i=n
end
n=n+1;
end
j=0;
n=2;
while (j==0) % 求权系数h2衰减时间常数
if (A2(2,n)>exp(-1)*A2(2,1))
j=n
end
n=n+1;
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -