desktop

Filtro pasabanda para audio con matlab

Que tal, pues quisiera pedirles su ayuda con un proyecto que estoy realizando para procesamiento de señales, creo que es algo no muy complicado pero soy nuevo en esto. Lo que estoy haciendo es que por medio de matlab, le de un archivo de audio en formato .wav y este filtre la señal entregandome por separado la voz de hombre y de mujer.

Lo que estaba pensando hacer es diseñar dos filtros para el rango de frecuencias tanto de la voz masculina como para la femenina. Estoy usando la transformadorrmada rápida de fourier, pero no se que pasa que mi señal desaparece.

Este es el código que estoy usando:

%definir la banda de paso en frecuencia normalizada
Wn=[0.3,0.8];

%Obtener los coeficientes de los polinomios A y B
%usando un filtro Butterworth de orden 1 y la
%banda de paso calculada anteriormente
[A,B] = butter(1,Wn);

%Leer el archivo a procesar
[y,fs,nbits]= wavread('G:\Sounds\uno.wav');

%Aplicar la transformadorrmada rapida de Fourier
Y_trans=fft(y);

%Filtrar la señal
y1=filter(B,A,Y_trans);

Y_filtrada=ifft(y1);

%Graficar la señal obtenida
plot(Y_filtrada);grid;

%Reproducir la señal filtrada:
sound(Y_filtrada,fs);

Alguna sugerencia de que podría haber hecho mal?

De antemano les agradezco su ayuda
 
Atrás
Arriba