|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
下面这个lms算法怎么改成RLS算法,其他参数都不变,帮我改改算法部分吧,毕业设计用。万分感谢。。。祝愿所有进来看的人永远幸福![em20]
function[gsrv1,gsrv2]=gngauss(m,sigma)
if nargin==0,
m=0;sigma=1;
else if nargin==1,
sigma=m;m=0;
end;
u=rand;
z=sigma*(sqrt(2*log(1/(1-u))));
u=rand;
gsrv1=m+z*cos(2*pi*u);
gsrv2=m+z*sin(2*pi*u);
end;
上面是高斯噪声函数,能不能用类似randn()来代替这个啊?
下面是LMS
echo on
N=500;
K=5;
actual_isi=[0.05 -0.063 0.088 -0.126 -0.25 0.9047 0.25 0 0.126 0.038 0.088];
sigma=0.01;
delta=0.115;
Num_of_realization=1000;
mse_av=zeros(1,N-2*K);
for j=1:Num_of_realization,
for i=1:N,
if (rand<0.5),
info(i)=-1;
else
info(i)=1;
end;
end;
y=filter(actual_isi,1,info);
for i=1:2:N,
[noise(i) noise(i+1)]=gngauss(0,sigma);
end;
y=y+noise;
estimated_c=[0 0 0 0 0 1 0 0 0 0 0];
for k=1:N-2*K;
y_k=y(k:k+2*K);
z_k=estimated_c*y_k.';
e_k=info(k)-z_k;
estimated_c=estimated_c+delta*e_k*y_k;
mse(k)=e_k^2;
end;
mse_av=mse_av+mse;
end;
mse_av=mse_av/Num_of_realization;
figure;
semilogy(abs(mse_av)) ;
|
|