📄 lsl01.m
字号:
clear
close all
clear;
close all
N=1024;
M=100;
K=3;
a1=1.558;
a2=-0.81;
kf=zeros(K,N);
kb=zeros(K,N);
w1=zeros(M,N);
w2=zeros(M,N);
ef=zeros(K,N);
eb=zeros(K,N);
delta=zeros(K,N);
dd=10;
epf=dd*ones(K,N);
epb=dd*ones(K,N);
gma=ones(K,N);
u=0.002;
for m=1:M
x= randn(1,N);
xu(1)=x(1);
xu(2)=a1*xu(1)+x(2);
for n=3:N
xu(n)=x(n)+a1*xu(n-1)+a2*xu(n-2);
end
for n=2:N
eb(1,n)=xu(n-1);
ef(1,n)=xu(n-1);
epb(1,n)=epf(1,n-1)+xu(n-1)^2;
epf(1,n)=epf(1,n-1)+xu(n-1)^2;
gma(1,n)=1;
for k=2:K
delta(k,n)=delta(k,n-1)+eb(k-1,n-1)*ef(k-1,n)/gma(k-1,n);
ef(k,n)=ef(k-1,n)-delta(k,n)*eb(k-1,n-1)/epb(k-1,n-1);
eb(k,n)=eb(k-1,n-1)-delta(k,n)*ef(k-1,n)/epf(k-1,n);
epf(k,n)=epf(k-1,n)-delta(k,n)^2/epb(k-1,n-1);
epb(k,n)=epb(k-1,n-1)-delta(k,n)^2/epf(k-1,n);
gma(k,n-1)=gma(k-1,n-1)-eb(k-1,n-1)^2/epb(k-1,n-1);
kf(k,n)=delta(k,n)/epf(k-1,n);
kb(k,n)=delta(k,n)/epb(k-1,n-1);
end
w1(m,n)=kb(2,n)-kf(2,n)*kb(3,n);
w2(m,n)=kb(3,n);
end
end
we1=zeros(1,N);
we2=zeros(1,N);
for n=1:N
for m=1:M
we1(n)=we1(n)+w1(m,n);
we2(n)=we2(n)+w2(m,n);
end
wee1(n)=we1(n)/M;
wee2(n)=we2(n)/M;
end
plot(w1(1,:),'r')
hold on
plot(w2(1,:),'b')
plot(wee1,'m')
plot(wee2,'k')
legend('w1(n)','w2(n)','E[w1(n)]','E[w2(n)]')
hold off
axis([0,1024,-1,2])
title('权系数变化曲线')
xlabel('n');
ylabel('w(n)');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -