Filtro rechaza bandas por método Hamming
Introducción
Cuando se estudia más acerca de los filtros, en particular sobre los filtros digitales, es posible observar que las funciones matemáticas que se utilizan para hacer una descripción completa de su funcionamiento, son discretas y por lo tanto, la metodología recomendada para tratar estas señales está dada por la transformada Z o la transformada discreta de Fourier.
Para el caso de esta práctica se utilizara un filtro rechaza bandas para eliminar una frecuencia (ruido) en una señal, aplicándose a una señal de audio, con esto se logrará revisar una importante aplicación de un filtro rechaza bandas, que además de esto se utilizara el método Hamming ya utilizado en prácticas anteriores.
En el procesamiento de señales, una respuesta de impulso del filtro finito o filtro FIR (Inglés Finite Impulse filtro de respuesta o filtro FIR) es un filtro cuya respuesta de impulso es de duración finita.
Objetivos
Diseñar un filtro rechazabanda por el método de la ventana de Hamming.
Utilizar la tarjeta de adquisición DSP para filtrar información.
Marco teórico
Los FIR (Finite Impulse Response) son filtros digitales en auge gracias a las implementaciones posibles debido al avance de la tecnología.
Los filtros FIR pueden disenarse con la tecnica de enventaneo (incluyendo, entre otras, ventana rectangular, Hamming, Hannig y Kaiser) y la tecnica de rizado constante que utiliza el algoritmo de Parks-McClellan Se pueden disenar con esta aplicacion filtros pasa bajas, pasa altas, pasa banda y rechaza banda; especificando parametros de diseno como atenuaciones en la banda de paso y rechazo, frecuencias de corte, orden y maximo rizado permitido. Ademas se pueden disenar filtros introduciendo los coeficientes de la funcion de transferencia H(z) [1].
Los filtros FIR tienen la gran ventaja de que pueden diseñarse para ser de fase lineal, lo cual hace que presenten ciertas propiedades en la simetría de los coeficientes. Este tipo de filtros tiene especial interés en aplicaciones de audio. Además son siempre estables [2].
Ventana de Hamming
R.W.Hamming observó las respuestas de las ventanas uniforme y de Von Hann, detectando que sus lóbulos laterales generalmente tienen signos opuestos, Figura 3.1, de esta forma razonó que la amplitud de los lóbulos laterales se podrían reducir más si se diseñaba una ventana que fuese mezcla de ambas.
Figura 3.1: Funcion de la ventana de Hamming.
La ecuación para la ventana de Hamming está dada por:
Wn={ 0 n>M2*A*cos π*nM +B n>M
Criterio de diseño
Para un valor de M dado, determinar los parámetros A y B que minimizan la amplitud del máximo lóbulo lateral, (criterio mini-max). Estos valores son dados en la Figura 3.2.
Figura 3.2: Ejemplo de función.
Para valores pequeños de M ( M disminuye) se requiere una ventana de Hamming que se parece mas a una ventana uniforme (B se aproxima a uno). Cuando M aumenta, B se hace más pequeño y A mayor, en este caso la ventana se parece más a una ventana de Von Hann.
La respuesta de la ventana de Hamming es muy parecida a la de Von Hann aunque tiene lóbulos laterales más pequeños. La ventaja de la ventana de Hamming frente a la de Von Hann es porque genera un menor rizado y región de transición [3].
Por ejemplo, para encontrar los coeficientes de una ventana de Hamming, para un filtro de paso de banda de 25 puntos (M=12). En la figura 3.2 se encuentra el nº de puntos para el filtro requerido son: A = 0.235 y B = .53. Por lo tanto la ventana se define de la siguiente forma:
Wn={ 0 |n|≤130.47cos pi.n12 +0.53 |n|≤12
Filtro rechaza bandas
También llamado elimina banda y para algunas situaciones filtro Notch, deja pasar todas las frecuencias excepto una única banda, la cual está definida por B, como se indica en la Figura 3.3.
Figura 3.3: Respuesta en frecuencia de un filtro rechaza banda.
La función de transferencia se obtiene haciendo la sustitución indicada a continuación:
Se define el factor de calidad Q, el cual mide la selectividad del filtro (un Q muy alto indica que el filtro es muy selectivo con banda de paso muy pequeña) como:
La ganancia será la amplitud de la función de transferencia a la frecuencia 0=2*1. Note que 0 corresponde a la media geométrica, pues está en escala logarítmica [4].
Matlab
Es un programa de matemáticas asistidas por un ordenador, se emplean en cálculos científicos y de ingeniería tales como Robótica, Probabilidades, Estadísticas, Redes neuronales, Finanzas u otras, siendo referente en el desarrollo de sistemas para redes eléctricas inteligentes, dispositivos de monitorización de la salud, redes móviles LTE y un sin número de aplicaciones.
Esta herramienta incorpora un gran número de funciones generales y otras más especializadas en su caja de herramientas (toolboxes), que son paquetes específicos adicionales formados por un conjunto de funciones que pueden ser utilizadas en la cual se podrá desarrollar multitud de análisis Con este software podemos trabajar con varios tipos de datos tales como polinomios, matrices, escalares, vectores y booleanos, siendo estos elementos reales o complejos [5].
Material y equipo
Material
Protoboard.
OPAMP LM741
Resistencias de diferentes valores.
Equipo
Tarjeta de procesamiento de señales TMS320C6713
Equipo de cómputo con Matlab 2007
Generador de funciones
Osciloscopio digital
Fuente de potencia de dos canales.
Desarrollo
En esta práctica se realizó el diseño de un filtro pasa bandas por el método de la ventana de Hanning.
Las características del filtro son las siguientes:
fc1=2.4KHz
fc2=2.7KHz
∆f1=100Hz
∆f2=100Hz
∆f=200Hz
fs=8kHz
Atenuación de rechazo: >50dB
Se requiere determinar los coeficientes dados por ℎ(𝑛), el coeficiente del filtro ℎ𝐷(𝑛) y el coeficiente de la ventana 𝑊(𝑛).
Obtención de los coeficientes para el filtro por medio de Matlab
Para la adquisición de coeficientes se utiliza la plataforma Matlab, se realiza un código que obtiene el número de iteraciones, coeficientes de filtro y coeficiente de la ventana.
Antes de comenzar, se obtiene 𝛥𝑓′ y N. Para 𝛥𝑓′ se realiza la siguiente operación:
∆f'=∆ffs=2008000=0.025
Para obtener N se realiza:
N=3.1∆f'=3.10.025=124
Cuando N es número par, se debe redondear a impar, debido a que existe el valor 0. El código implementado para obtener los coeficientes se muestra a continuación:
El programa imprime los valores de los coeficientes, estos se guardan en un archivo de texto, que serán utilizados para la segunda parte de la práctica.
Implementación de tarjeta con el filtro
Para implementar el filtro en la tarjeta de adquisición se utiliza el programa code composer. En este compilador se agregan los coeficientes del filtro que se diseñó previamente en Matlab.
Para la inyección de las señales se utilizó un circuito sumador implementado con un amplificador operacional en modo sumador inversor.
Figura 5. 1. Circuito sumador.
Las frecuencias f1 y f2 se variarán para observar el comportamiento del filtro.
En la figura 5.2 se puede ver cómo se insertan los coeficientes obtenidos por Matlab en Code Composer para implementar el filtro FIR en lenguaje C.
Figura 5. 2. Compilador de Code composer.
Resultados
La figura 6.1 muestra la gráfica de los coeficientes obtenidos por Matlab.
Figura 6. 1. Grafica de coeficientes.
En la Figura 6.2 se muestra la respuesta del filtro con f1=3KHz y f2=1.2kHz. Ya que ninguna de las dos frecuencias están dentro de la banda de rechazo, podemos ver las dos señales en la salida del filtro aun sumadas.
Figura 6. 2. Señales fuera de la banda de rechazo.
En la Figura 6.3 se ve la señal con f1=2.6kHz que se encuentra dentro de la banda de rechazo, por lo tanto, solo se puede observar en la salida la señal con frecuencia f2=1.2KHz.
Figura 6. 3. Señal con F1=2.6KHz en la banda de rezhazo.
Ahora en la Figura 6.4 podemos observar las dos señales dentro de la banda de rechazo con f1=f2=2.6KHz, por lo que no vemos señal alguna en la salida del filtro.
Figura 6. 4. Ambas señales dentro de la banda de rechazo, no se observan a la salida del filtro.
Conclusiones
El uso de filtros rechazo de banda permite separar las señales con las que se están trabajando y encontrar alguna información en específico. Esto simplifica el procesamiento de señales y datos.
La herramienta Matlab es bastante útil para encontrar los coeficientes necesarios para que el filtro funcione correctamente, para esto es necesario utilizar la mayor cantidad de decimales posibles, para evitar que algún redondeo resulte erróneo al momento de implementar el filtro en la tarjeta de adquisición. Esta práctica ha resultado efectiva para la comprensión y aplicación de un filtro rechazo de banda, por el método de la ventana de Hamming.
Comentarios
Publicar un comentario