• Viernes 17 de Mayo de 2024, 02:24

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Niad

Páginas: [1]
1
Matlab / Re: Algoritmo Lms
« en: Viernes 30 de Junio de 2006, 01:32 »
Hola Cleo, muchas gracias por el archivo esta muy bien y sobre todo manejan un algoritmo muy sencillo.

Sobre los otros algoritmos no he encontrado algo, pero por lo que he leído el LMS es el más sencillo de todos además de que es un método bastante bueno. También he leído que se puede realizar la cancelación en el dominio de la frecuencia utilizando Fourier, esa sería otra opción, aunque la verdad no tengo información de como implementarlo.

Saludos!  :)

 :hola:

2
Matlab / Re: Algoritmo Lms
« en: Miércoles 21 de Junio de 2006, 01:30 »
Hola, muchas gracias por responder.

allisap voy a checar lo que me indicas, la razón por la que Wj lo asigno a Wi es para que vayan cambiando los coeficientes del filtro adaptativo, pero si tienes razón Wj en todo caso también debe de depender de n.

cleo, si me interesa lo que estas realizando, te agradecería mucho si puedes pasarme el código. El código con el que estoy trabajando es en el dominio del tiempo. En cuanto a los algoritmos para cancelación de eco los que conozco son: LMS, NLMS (LMS Normalizado), APA (Affine Projection Algorithm) y RLS (Recursive Least Square) la verdad no he intentado de implementar los demás, sólo he trabajado con el LMS.

Nuevamente muchas gracias!  :hola:

3
Matlab / Algoritmo Lms
« en: Domingo 18 de Junio de 2006, 04:24 »
Hola a todos!, es la primera vez que escribo aquí, y bueno mi duda es la siguiente:
Estoy haciendo un programa sobre reducción de eco, utilizando el algoritmo LMS para realizar la reducción, el código que llevo hasta ahorita es el que dejo a continuación, mi duda es en la parte donde se realiza la convolución de los pesos del filtro con la señal con eco, por lo que he leido de teoría, no necesamiente deben de ser de la misma longitud, mi duda es entonces porque no realiza esa operación? De antemano agradezco a los que contesten y se tomen unos momentos para leerlo.

Gracias  :hola:


%%Codigo%%%
 
fo=3e2;
wo=2*pi*fo;
ws=(2*pi*fo)/(8*fo);

n=0:0.1:9;
S=sin(ws*n);

alfa=[0.9 0.7];
ret=[10 20];
m=length(ret);
he=zeros(1,ret(m));
he(1)=1;
for i=1:m
    he(ret(i)+1)=alfa(i);
end

eco=conv(S,he);


N=7;
Wi=[zeros(1,(N*2))]';
Wi(1)=1;
for i=1:length(eco);
    for j=1:length(eco);
        Fi(i,j)=eco(i)*eco(j);
    end;
end;


for n=1:200;
    D=sin(ws*n);
    A=eig(Fi);mu=1/(50*max(A));
    Yjp(n)=Wi(n)'*eco(n); Ej=D-Yjp;
    Wj=Wi(n)+(2*mu*Ej*eco(n));
    Wi=Wj;
end

Páginas: [1]