function Jav=canecoele(mu,N,M,nite); % ejemplo cancelador de ecos electrico % generamos datos A y B % % N ... orden del filtro simulador del eco y del filtro adaptativo % M ... numero de muestras de la seņal % nite. numero de iteraciones para sacar promedios % % La salida es la SNR % Jav=zeros(M,1); n=0:N-1; c=-5/3*0.5.^n+8/3*(4/5).^n; for m=0:nite-1 r=rand(M,1)-0.5; i=find(r>0); r(i)=1; i=find(r<0); r(i)=-1; x=r; r=rand(M,1)-0.5; i=find(r>0); r(i)=1; i=find(r<0); r(i)=-1; s=r; z=filter(4/5,[1 -3/5],s); v=randn(M,1); u=v+z; % generamos el eco y=filter(c,1,x); py=mean(y.^2); pu=mean(u.^2); u=u./(sqrt(1000))*sqrt(py/pu); sr=y+u; nord=N; a0=zeros(N,1); [A,E] = lms(x,sr,mu,nord,a0); Jav=Jav+(E-u).^2./mean(u.^2); end Jav=Jav./nite;