📄 lx_rls_eq2.m
字号:
data_len=500;
repeat=200;
lamta=1;
var_v=0.001;
delta=0.004;
rou=[2.9 3.1 3.3 3.5];
p=11;
tao=5;
for dif=1:4
E=zeros(repeat,488);
for repeat_n=1:repeat
data=2*binornd(1,0.5*ones(1,data_len))-1;
l=1;
for n=1:3
h(n)=0.5*(1+cos(2*pi*(n-2)/rou(dif)));
end
x=conv(data,h);
xi=x((length(h)+1):length(x)); %x[4]~x[502]
xn=xi+sqrt(var_v)*randn(length(xi),1)';
d=data((tao+1):data_len);
w=(zeros(1,p))';
P=eye(p) / delta;
for n=1:(length(xn)-p)
x1=xn(n:n+p-1)';
k=((1/lamta)*P*x1)/(1+(1/lamta)*x1'*P*x1);
e(n)=d(n)-w'*x1;
w=w+k*conj(e(n));
P=(1/lamta)*P-(1/lamta)*k*x1'*P;
end
E(repeat_n,:)=e;
end
Q(1:488,dif)=mean(E.^2)';
semilogy(Q);
set(gca,'xlim',[1 200]);
title('RLS算法学习曲线');
xlabel('迭代次数n');
ylabel('集平均平方误差');
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -