linq1210 发表于 2006-6-6 18:09

[求助]这个程序如何改?好心人都进来看看

下面这个lms算法怎么改成RLS算法,其他参数都不变,帮我改改算法部分吧,毕业设计用。万分感谢。。。祝愿所有进来看的人永远幸福!
function=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=;
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,
=gngauss(0,sigma);
end;
y=y+noise;
estimated_c=;
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)) ;

suffer 发表于 2006-6-7 09:17

我贴了两个RLS你参考一下吧
http://forum.vibunion.com/thread-16214-1-1.html

suffer 发表于 2006-6-7 09:18

高斯噪声可以用randn实现的
页: [1]
查看完整版本: [求助]这个程序如何改?好心人都进来看看