Programación Específica > Matlab
Transformar Señal Del Tiempo A La Frecuencia
cleo:
Hola, quisiera saber si alguien puede decirme si la siguiente transformación la estoy haciendo correctamente.
Tengo un vector en el dominio del tiempo que representa el comportamiento de un filtro de longitud h[1, 1024], es decir, un vector de 1024 coeficientes. Lo quiero visualizar en el dominio de la frecuencia y lo hago mediante:
H=abs(fft(h));
plot(H)
El caso es que como el vector es sólo de 1024 coeficentes la gráfica de H también llega sólo hasta 1024 en la frecuencia ¿Es lógico que el filtro sólo llegue hasta 1024 Hz? Me gustaría saber el comportamiento del filtro para todas las frecuencias
Adjunto el resultado que obtengo ¿el eje 'y' viene en Hercios o ese valor tendria que multiplicarlo por la frecuncia de muestreo que he utilizado?
Gracias
allisap:
hola :hola:
La respuesta en frecuencia no la puedes ver con abs, por que solo te da la magnitud de un valor complejo, la respuesta en frecuencia la puedes visualizar con freqz si tu filtro es digital y tienes los coeficientes en Z (aunque 1024 me parecen muchos coeficientes para un filtro :unsure: )
o con freqs si tu filtro es analogico y esta definido por funciones en S.
cleo:
Hola, muchas gracias por tu respuesta. La señal de entrada al filtro es una señal muestreada a 8KHz, por lo que utilizaría freqz, pero en la version matlab 6.5 que tengo introduzco 'help freqz' y 'help freqs' y me dice que no las encuentra ¿Puedo descargar las funciones de algun sitio?
Yo creia que con abs podias ver el módulo de la respuesta en frecuencia de la tranformada... <_<
Respecto a lo de los coeficientes quizas tengas razón diciendo que son muchos. Estoy trabajando con un cancelador de ecos y para ello he utilizado el algoritmo lms (least mean square, creo que es en inglés), no sé si lo conoces. La 'h' de la que quiero saber la respuesta en frecuencia sería la caracterización de mi canal (en mi caso representa la habitación donde hago las pruebas de sonido de cancelación de ecos). De todas formas estoy probando con distintas cantidades de coeficentes para comprobar si un aumento de estos mejora los resultados.
Un saludo y gracias de nuevo :rolleyes:
Diodo:
Hola
Mira a ver si tienes instalados los toolbox necesarios, creo que el de freqz es "signal proccessing toolbox" , yo tengo la version 6.5 y si me viene la funcion freqz
Respecto a la respuesta en frecuencia, yo he usado freqz para obtener la respuesta de un filtro de 1D , en imagenes (2D) no se por que motivo, he usado abs(fft2(filtroM)), quizas no haya un freqz para el caso de filtros matriciales.
Tambien puedes usar la herramienta fvtool para estudiar la respuesta en frecuencia del filtro
http://www.mathworks.com/access/helpdesk/h...nal/fvtool.html
salu2 :hola:
cleo:
HOla, he buscado y no tengo ese toolbox, es q la version que tengo me la bajé gratuita de internet y por eso quizas no esta muy completa ¿Me podrias dar el archivo de la función freqz en concreto o necesito toda la carpeta? ¿Don de puedo conseguirlo? Gracias
Navegación
[#] Página Siguiente
Ir a la versión completa