Está en la página 1de 13

INSTITUTO TECNOLÓGICO DE MORELIA

PROCESAMIENTO DE SEÑALES

PRÁCTICA 5. DISEÑO DE FILTRO IIR


PASABAJAS

PRESENTAN:

DULCE GUADALUPE GARCÍA BEDOLLA


SALVADOR SORIA SALGADO
PROFESORA:

DRA. ADRIANA DEL CARMEN TELLEZ ANGUIANO

MORELIA, MICHOACÁN
15 DE ENERO 2021
Contenido
INTRODUCCIÓN.............................................................................................................................3
MARCO TEÓRICO...........................................................................................................................3
Impulso invariante.........................................................................................................................4
PROGRAMA DESARROLLADO....................................................................................................5
Diseño por medio de Matlab..........................................................................................................5
Implementación del filtro en el MSP430........................................................................................5
RESULTADOS..................................................................................................................................9
CONCLUSIONES...........................................................................................................................12
Salvador.......................................................................................................................................12
Dulce............................................................................................................................................13
BIBLIOGRAFÍA.............................................................................................................................13
INTRODUCCIÓN.
En esta práctica de diseñará y se implementará un filtro digital (IIR) en un
microcontrolador MSP430, utilizando el método de invarianza al impulso visto en clase
para diseñarlo y observando su respuesta esperada en Matlab. De igual manera
obtendremos coeficientes, con el algoritmo desarrollado y con la ayuda del
microcontrolador implantaremos los coeficientes para el filtro digital y mediante un barrido
de frecuencias comprobaremos el funcionamiento de este.

MARCO TEÓRICO.
Un filtro es un proceso computacional o algoritmo mediante el cual una señal digital
(secuencia de muestras) es transformada en una segunda secuencia de muestras o señal
digital de salida.
Los filtros se utilizan mucho en todos los ámbitos del procesado de señal, más o menos
musicales, y son una componente esencial en toda cadena de comunicación. Constituyen la
base del procesado de señal, que puede aplicarse a señales de todo tipo (sonidos, imágenes,
vídeo, vibraciones sísmicas, etc.).
Podemos describir los filtros mediante una ecuación que relaciona una señal de entrada con
una señal de salida en el dominio digital. De esta manera, la salida del filtro se especifica
como un resultado de sumas, restas y multiplicaciones de muestras de entrada actuales y
anteriores. Dichas ecuaciones se denominan técnicamente ecuaciones lineales en
diferencias. Lineales significa que, si la entrada de un filtro es la suma de dos funciones
escaladas, la salida del filtro es igual a la suma escalada de las salidas del filtro para cada
una de dichas funciones.
Los filtros con respuesta impulsional infinita (IIR) se distinguen de los filtros FIR por la
presencia de una recursividad, la señal de salida del filtro se reinyecta a la entrada del
mismo, constituyendo un circuito recursivo o con feedback. Este método permite
implementar filtros con respuesta más compleja y con menos datos. Como inyectamos
constantemente energía en el circuito, la respuesta impulsional tiene una duración potencial
infinita, y de ahí le viene el nombre.

La ecuación típica de un filtro IIR se expresa de la siguiente manera:


N M
y ( n )=∑ bk x ( n−k ) −∑ a k y ( n−k )
k=0 k=1

Los filtros IIR son muy eficaces y pueden proporcionar pendientes de corte muy
pronunciadas. Por otro lado, al poseer características de realimentación (o feedback), tienen
tendencia a entrar en oscilación y en resonancia.
Impulso invariante.
En el método basado en la invarianza del impulso, el objetivo de diseñar un filtro IIR que
tenga respuesta al impulso unidad h( n) que sea la versión muestreada de la respuesta al
impulso del filtro analógico. Es decir,
h ( n ) =h ( nT ) , n=0,1,2 ,…
donde T es el intervalo de muestreo.
Tomando en cuenta que una señal continua en el tiempo x a (t) cuyo espectro es X a ( F) se
muestrea a una frecuencia F s=1/T muestras por segundo, el espectro de la señal
muestreada es la repetición periódica del espectro escalado F s X a ( F) de período F s.
Específicamente, la relación es

X ( f )=F s ∑ X a [ (f −k )F s ]
k=−∞

Donde f =F /F s es la frecuencia normalizada. Si la frecuencia de muestreo F ses menor que


dos veces la frecuencia más alta contenida en X a ( F) se produce aliasing.
Expresado en el contexto del muestro de la respuesta al impulso de un filtro analógico con
la respuesta en frecuencia H a ( f ), el filtro digital con la respuesta al impulso h(n)≡ ha (nT )
tiene la respuesta en frecuencia

H ( f ) =F s ∑ X a [ ( f −k )F s ]
k=−∞

O, lo equivalente,

H ( ω ) =F s ∑ H a [(ω−2 πk ) F s ]
k=−∞

O

1 2 πk
H ( ΩT )=
T

k=−∞
[
H a (Ω−
T
) ]
El filtro digital con la respuesta en frecuencia H (ω) tiene la respuesta en frecuencia del
filtro analógico correspondiente si el intercalo de muestreo T se selecciona para que sea lo
suficientemente pequeño para impedir por completo o al menos para minimizar los efectos
de aliasing. Por lo que el método basado en la invarianza del impulso es inapropiado para
diseñar filtros pasa-altos y rechaza-banda debido al aliasing que resulta del proceso de
muestreo. Además, si tenemos en cuenta los prototipos analógicos, los filtros Chebyshev II
y los Elípticos presentarán peor comportamiento debido al rizado en la banda no pasante.
PROGRAMA DESARROLLADO.
Diseño por medio de Matlab.
Se diseño un filtro pasa-bajas, con una frecuencia de corte de la banda de paso 50 Hz, y una
frecuencia de muestreo de 256 Hz. Con el algoritmo desarrollado para este tipo de filtro, se
obtienen los 41 coeficientes del filtro que serán utilizados en la programación del
microcontrolador. Esta gráfica servirá de referencia para saber si el filtro implementado
funciona correctamente.

Figura 1. Filtro pasa-baja diseño por medio de Matlab.

Implementación del filtro en el MSP430.


A continuación, se muestra el código para la implementación del filtro en la MSP430.
Primero declaramos unas funciones para inicializar el ADC, el timmer, configuración de los
puertos y la configuración del reloj, después viene la declaración de los coeficientes
generados en Matlab, un arreglo donde se guardan los valores de entrada anteriores, la
variable valor_entrada donde se guarda el valor leído por el ADC, valor_salida donde se
guarda el resultado de la convolución del filtro y las variables de tipo char que nos
permitirá enviar la variable anterior al DAC.
En la siguiente parte se realiza la convolución de manera no recursiva de los coeficientes
del filtro diseñado y de los valores de la señal de entrada generada.
En un ciclo infinito es donde se realiza la convolución del filtro y el envío al DAC. Primero
se apaga el CPU, de esta forma, el proceso se realiza cada 256 Hz. El filtro consta de la
convolución aplicando la fórmula del filtro visto anteriormente y un registro de corrimiento
para mover los valores anteriores. Al final, solo es el código para enviar le dato al DAC. La
variable valor_salida se parte en dos porque solo se pueden enviar paquetes de 8 bits al
DAC y recordemos que manejamos 10 bits.

El código desarrollado fue en base al código desarrollado para el muestreo de señales,


tomando como variante la frecuencia de muestreo especificada para el tipo de filtro.
El código completo de muestra a continuación:
RESULTADOS.
Con el siguiente circuito, se realizaron las pruebas correspondientes, modificando
principalmente la frecuencia de la señal, así como la forma de la señal de entrada.

Figura 2. Circuito utilizado.


Figura 3. Especificaciones del generador de señales.

Figura 4. Funcionamiento del filtro con una señal senoidal de 5 Hz.


Figura 5.Funcionamiento del filtro con una señal senoidal de 9.5 Hz.

Figura 6. Funcionamiento del filtro con una señal senoidal de 10 Hz.


Figura 7. Funcionamiento del filtro con una señal senoidal de 20 Hz.

Figura 8. Funcionamiento del filtro con una señal cuadrada de 5 Hz.

CONCLUSIONES.

Salvador.
La implementación de filtros digitales es muy importante en la era actual, ya que ahorran
espacio y hacen a los sistemas mas eficientes. A treves de esta práctica pasamos por todo el
desarrollo de diseño de un filtro FIR. El método de obtención de los coeficientes es algo
realmente sencillo y la implementación en hardware tampoco es complicado, sin embargo,
se notaron algunos detalles. Por ejemplo, aunque el filtro fue diseñado para una frecuencia
de corte de 10 Hz, pero el 70% de la señal no se obtuvo a los 10 Hz sino aproximadamente
a los 9.5 Hz. Una manera de hacer mas eficiente el proceso es usar variables de tipo entero,
ya que el proceso con flotantes requiere más tiempo de procesamiento aunque eso quitaría
precisión.
Dulce.
Para lograr implementar un filtro digital tipo FIR, fue necesario hacer previamente el
diseño y el método empleado para diseñarlo fue por la ventana Hanning para un filtro pasa-
bajas. Para comprobar y obtener los coeficientes necesarios, se utilizó un algoritmo
desarrollado en Matlab. Al realizar las pruebas, las frecuencias menores a 10 Hz se logran
observar a la salida del microcontrolador con cierta atenuación a partir de 9 Hz por el hecho
de la frecuencia de corte no se encuentra en el punto exacto. Otro punto a rescatar, es que,
si por medio del generador metemos una señal cuadrada, la respuesta del filtro es como si la
señal de entrada fuera senoidal, esto es que, por la naturaleza del filtro, el filtro solo deja
pasar la fundamental y eliminando todos los armónicos que componen la señal cuadrada.
Para finalizar, hay que hacer hincapié que es sencillo implementar un filtro, cuando se tiene
su diseño previamente y usando la convolución no recursiva para en este caso filtros tipo
FIR.

BIBLIOGRAFÍA.
Willis J. Tompkins. Biomedical digital signal procesing.Prentice Hall. May0, 1993.
Alvarez C. Jesús. Implementación de fiiltros digitales tipo FIR en FPGA. Octubre, 2005
M. Martínez, L. Gómez, A. J. Serrano, J. Villa, J. Gómez. Diseño de filtros FIR. 2009
A. Téllez. Filtros FIR: Método de ventana. 2020

También podría gustarte