Anda di halaman 1dari 9

Laboratorio de Procesamiento Digital de Señales

Docente: Ing. Roger Guachalla Narváez xoroger@yahoo.es

PRACTICA 08: Introducción a los filtros digitales


1. Objetivos:
Conocer las características fundamentales de los filtros digitales
Realizar filtros básicos con la tarjeta Arduino UNO

2. Fundamento Teórico

Filtros análogos y digitales

En el procesamiento de señales, la función de un filtro es remover partes no deseadas de la señal, como ser ruido randómico, o extraer
partes útiles de la señal, tales como los componentes que están dentro de un rango de frecuencias.

El siguiente diagrama de bloques ilustra la idea básica:

Existen dos tipos principales de filtros, analógicos y digitales. Son bastante diferentes en su implementación física y en la manera en que
trabajan.

Un filtro análogo usa circuitos electrónicos analógicos como ser resistencias, capacitores y amplificadores operacionales para producir
el efecto de filtrado requerido. Tales circuitos de filtrado son ampliamente usados en aplicaciones como ser la reducción del ruido,
mejoramiento de la señal de video, ecualizadores gráficos en sistemas de alta fidelidad, etc.

Existen técnicas estándar bien establecidas para el diseño de los de filtros analógicos para un requerimiento dado. En todos los pasos, la
señal que está siendo filtrada es un voltaje o corriente eléctrica que es un análogo directo de la cantidad física involucrada (por ejemplo
una señal de sonido o video).

Un filtro digital utiliza un procesador digital para realizar cálculos numéricos en valores muestreados de la señal. El procesador podría
ser un computador de propósito general como ser un PC, o un circuito integrado especializado DSP (Digital Signal Processor).

La señal de entrada analógica debe ser primero muestreada y digitalizada usando un conversor análogo digital ADC. Los números
binarios resultantes, que representan los valores muestreados sucesivos de la señal de entrada, son transferidos al procesador, el cual
realiza cálculos numéricos sobre estos. Estos cálculos típicamente involucran multiplicaciones de los valores de entrada por constantes y
sumas de los productos. Si es necesario, los resultados de estos cálculos, son sacados a través de un conversor digital a análogo DAC
para convertir la señal a la forma analógica.

Note que un filtro digital, la señal está representada por una secuencia de números, en vez de un voltaje o corriente. El siguiente
diagrama muestra la configuración básica de tal sistema:
Ventajas del uso de filtros digitales
La siguiente lista muestra algunas de las ventajas principales de los filtros digitales sobre los filtros análogos:

1. Un filtro digital es programable, es decir su operación está determinada por un programa guardado en la memoria del
procesador. Esto significa que filtro digital puede ser fácilmente cambiado sin afectar el hardware. Un filtro analógico puede ser
cambiado solamente rediseñando el circuito del filtro.

2. Los filtros digitales son fácilmente diseñados, probados e implementados en un computador de propósito general usando
software específico.

3. Las características de los circuitos de filtros analógicos (particularmente aquellos que contienen componentes activos) son
sujetos a cambios en el tiemp y son dependientes de la temperatura. Los filtros digitales no sufren de estos problemas, son
extremadamente estables con respecto al tiempo y a la temperatura.
4. Contrariamente a los filtros analógicos, los filtros digitales pueden manejar señales de baja frecuencia con precisión. A medida
que la velocidad en la tecnología DSP continúa incrementándose, los filtros digitales están siendo aplicados a señales de alta
frecuencia en el dominio de RF, que en el pasado estaban exclusivamente reservadas a la tecnología analógica.

5. Los filtros digitales son mucho más versátiles en su habilidad para procesar señales de distintas maneras, esto incluye la
habilidad de algunos tipos de filtros digitales para adaptarse a los cambios en las características de la señal.

6. Los procesadores DSP rápidos pueden manejar combinaciones complejas de filtros en paralelo o cascada (serie), haciendo que
los requisitos de hardware sea relativamente simples y compactos en comparación con la circuitería analógica equivalente.

Operación de filtros digitales


En esta sección, desarrollaremos la teoría básica de la operación de los filtros digitales. Esto es esencial para un entendimiento de cómo
se diseñan y usan los filtros digitales.

Supóngase que la señal que vamos a digitalizar tiene la forma de onda de voltaje descrita por la función:
V = x(t)
Donde t es el tiempo.

Esta señal es muestreada en intervalos de tiempo h (el intervalo de muestreo). El valor muestreado en un tiempo t = ih es:

Por lo tanto los valores digitales transferidos desde el conversor ADC al procesador pueden ser representados por la secuencia:

Correspondientes a los valores de la forma de onda de la señal en:


t = 0, h, 2h, 3h, ...
donde t=0 es el instante en el cual el muestreo comienza.

En el tiempo t = nh (donde n es un entero positivo), los valores disponibles al procesador, guardados en memoria, son:

Note que los valores muestreados xn+1, xn+2 etc. no están disponibles, porque no han sucedido aún.

La salida digital del procesador al DAC consiste de la secuencia de valores:

En general, el valor de yn se calcula de los valores x0, x1, x2, x3, ... , xn. La forma en que los valores „y’ son calculados a partir de los valores
„x’ determina la acción de filtrado de un filtro digital.

Ejemplos de filtros digitales simples


Los siguientes ejemplos ilustran las características esenciales de los filtros digitales.

1. Filtro de ganancia unidad:


Cada valor de salida yn es exactamente el mismo que el valor de entrada correspondiente xn:

Este es un caso trivial en el cual el filtro no tiene efecto sobre la señal de entrada.

2. Filtro de ganancia simple:

Donde K = constante

El filtro aplica un factor de ganancia K a cada valor de entrada.

Si K > 1, el filtro es un amplificador. Si K está entre 0 y 1, es un atenuador. K < 0 corresponde a un filtro inversor. El filtro de
ganancia unidad es un caso especial donde K = 1.

3. Filtro de retardo:

El valor de salida en el tiempo t = nh es simplemente el valor de entrada en el tiempo t = (n-1)h, es decir la señal está retardada
por un tiempo h:

Nótese que, como se asume que el muestreado comienza en tiempo t = 0, el valor de entrada x-1 en t = -h está indefinido. Es
usual tomar este valor (y cualquier otro valor de x previo a t = 0) como cero.

4. Filtro de diferencia de dos términos

El valor de salida en t = nh es igual a la diferencia entre la entrada actual xn y la entrada previa xn-1:

Es decir la salida es el cambio en la entrada sobre el intervalo de muestreo más reciente h. El efecto de este filtro es similar al de
un circuito análogo diferenciador.

5. Filtro promedio de dos términos

La salida es el promedio aritmético de las entradas actual y previa:


Este es un tipo simple de filtro pasa bajo y tiende a suavizar las variaciones de alta frecuencia en una señal.
6. Filtro promedio de tres términos:

Este filtro es similar al ejemplo previo ya que el promedio se toma del valor actual y de los dos valores previos:

Al igual que antes, x-1 y x-2 se inicializan en cero

7. Filtro de diferencia central:

Este filtro es similar en su efecto al ejemplo (4). La salida es igual a la mitad del cambio en la señal de entrada sobre los dos
intervalos de muestreo previos:

Orden de un filtro digital


El orden de un filtro digital es el número de entradas previas (guardadas en la memoria del procesador) usadas para calcular la salida
actual.

Por lo tanto:
1. Los ejemplos (1) y (2) son filtros de orden cero ya que la salida actual yn depende solamente de la entrada actual xn y no de
ninguna entrada previa
2. Los ejemplos (3), (4) y (5) son todos de primer orden ya que se requiere una entrada previa (xn-1) para calcular la salida yn
3. En los ejemplos (6) y (7), dos entradas previas (xn-1 y xn-2) se requieren de tal forma que estos filtros son de segundo orden
Los filtros pueden ser de cualquier orden desde cero hacia arriba.

Coeficientes de los filtros digitales


Todos los ejemplos de filtros digitales dados arriba puede ser escritos de la siguiente forma general:

Orden cero:
Primer orden:
Segundo orden:

Expresiones similares pueden ser desarrolladas para filtros de cualquier orden.

Las constantes a0, a1, a2,… que aparecen en estas expresiones se denominan coeficientes del filtro. Son los valores de estos coeficientes
que determinan las características de un filtro en particular.

La siguiente tabla da a los valores de los coeficientes de cada uno de los filtros mostrados anteriormente:

Filtros recursivos y no-recursivos


Para todos ejemplos de filtros digitales discutidos hasta el momento, la salida actual (yn) se calcula enteramente que la entrada actual y la
entradas previas (xn, xn-1, xn-2,...). Éste tipo de filtros se denominan no-recursivos.

Un filtro recursivo es aquel en el que, además de usar valores de entrada actual y valores previos, también se requieren valores de salida
previos. Estos valores deben ser almacenados en la memoria del procesador.

Estos filtros también se denominan retroalimentados, y se refieren al hecho de que una salida previamente calculada ingresa nuevamente
par el cálculo de una nueva salida. Por lo tanto la expresión para un filtro recursivo contiene no solamente los términos que involucran
los valores de entrada (xn, xn-1, xn-2, ...) sino también términos de salida (yn-1, yn-2, ...)

A partir de esta explicación, podría parecer que los filtros recursivos requieren más cálculos computacionales, ya que existen términos de
salida previa y también términos de entradas previos en la expresión del filtro. En realidad, el caso es generalmente inverso: para lograr
una característica de respuesta de frecuencia usando un filtro recursivo generalmente se quiere un orden del filtro bastante inferior (y por
lo tanto menos términos a ser evaluados por el procesador) que un filtro no-recursivo equivalente. Esto se demostrará luego.

Nota:
Algunos textos prefieren una terminología alternativa llamando a los filtros no-recursivos, filtros FIR (Finite Impulse
Response) y a los filtros recursivos, IIR (Infinite Impulse Response).

Estos términos se refieren a las distintas respuestas al impulso de ambos tipos de filtros. La respuesta al impulso de un filtro
digital es la secuencia de salida del filtro cuando un impulso unitario se aplica a la entrada. (Un impulso unitario es una
secuencia de entrada muy simple consistente en un único valor de 1 en tiempo t=0, seguida de ceros en todas los instantes de
muestreo subsecuentes).
Un filtro FIR es aquel cuya respuesta al impulso tiene una duración finita. Un filtro IIR es aquel cuya respuesta al impulso
teóricamente continúa para siempre debido a la retroalimentación. El término IIR no es muy preciso porque las verdaderas
respuestas al impulso, para casi todos los filtros IIR, se reducen virtualmente a cero en un tiempo finito. Aun así estos dos
términos se usan ampliamente.

Ejemplo de un filtro recursivo


Un ejemplo simple de un filtro digital recursivo está dado por:

En otras palabras, el filtro determina la salida actual (yn) sumando la entrada actual (xn) a la salida previa (yn-1):

Note que y-1 (al igual que x-1) están indefinidos, y usualmente toman el valor cero.

Consideremos el efecto de este filtro en más detalle. Si en cada una de las expresiones de arriba sustituimos por yn-1el valor dado por la
expresión previa, obtenemos lo siguiente:

Por lo tanto podemos ver que yn, la salida en el tiempo t = nh, es igual a la suma de la entrada actual xn y todas las entradas previas.
Entonces este filtro suma o integra los valores de entrada, es así que tiene un efecto similar al de un circuito integrador análogo.

Este ejemplo demuestra una característica importante y útil de los filtros recursivos: la economía computacional con la cual los valores
de salida son calculados, comparados con un filtro equivalente no-recursivo. En este ejemplo, cada salida está determinada simplemente
por la adición de dos números. Por ejemplo, para calcular la salida en el tiempo t = 10h, el filtro recursivo usa la expresión:

Para lograr el mismo efecto en un filtro no recursivo (es decir sin usar valores de salida previos guardados en la memoria) se requiere la
siguiente expresión:

Esto requeriría muchas más operaciones de adición así como muchos valores adicionales almacenados en memoria.

Orden de un filtro digital recursivo (IIR)


El orden de un filtro digital fue definido anteriormente como el número de entradas previas que han sido guardadas para poder generar
una salida dada. Esta definición es apropiada para los filtros no-recursivos (FIR), los cuales solamente usan entradas actuales y previas
para calcular la salida actual. En el caso de los filtros recursivos la definición puede ser extendida como sigue:

El orden de un filtro recursivo es el número mayor de entradas previas o de valores de salidas, requeridas para calcular la
salida actual.

Esta definición puede ser usada de manera general: se aplica tanto a filtros FIR como IIR.

Por ejemplo, el filtro recursivo discutido anteriormente, dado por la expresión:


Se clasifica como de primer orden, debido a que usa un valor de salida previo (yn-1), aunque no se requieren entradas previas.

En la práctica, los filtros recursivos usualmente requieren el mismo número de entradas y salidas previas. Por lo tanto, un filtro recursivo
de primer orden generalmente requiere una entrada previa y una salida previa, mientras que un filtro de segundo orden requiere dos
entradas previas y dos salidas previas y así sucesivamente para los demás casos.

Note que un filtro recursivo IIR debe ser, por definición, por lo menos de primer orden.

Coeficientes de los filtros digitales recursivos (IIR)


De la discusión anterior, podemos ver que un filtro recursivo es básicamente similar a un filtro no-recursivo con la adición de tener
términos extra que involucran las entradas previas (yn-1, yn-2 , etc.).

Un filtro recursivo de primer orden puede ser escrito en la forma general:

Note el signo menos delante del término “recursivo” b1yn-1, y el factor (1/b0) aplicado a todos los coeficientes. La razón para expresar el
filtro de esta manera es que permite reescribir la expresión de la siguiente forma simétrica:

En el caso de un filtro de segundo orden la forma general será:

La forma alternativa “simétrica” para esta expresión es:

Note la convención de los coeficientes de las entradas (las x) están denotados por a, mientras que los coeficientes de las salidas (las y)
están derrotados por b.

Función de transferencia de un filtro digital


En la última sección, usamos dos formas diferentes para expresar la acción de un filtro digital: una forma que muestra la salida yn
directamente y una forma “simétrica” con todos los términos de salida en un lado y los términos de entrada en el otro.

En esta sección, introducimos lo que se denomina la función de transferencia del filtro digital. Ésta función se obtiene de la forma
simétrica de la expresión del filtro, y nos permite describir un filtro por medio de una expresión compacta y conveniente. También
podemos usar la función de transferencia de un filtro para encontrar su respuesta de frecuencia.

Primero, introduciremos el operador de retardo denotado por el símbolo z-1.

Cuando se aplica a una secuencia de valores digitales, este operador entrega el valor previo de la secuencia. Por lo tanto el efecto es
introducir un retardo de un intervalo de muestreo.

Si aplicamos el operador z-1 a un valor de entrada (xn) obtenemos la entrada previa (xn-1):

Supongamos que tenemos la siguiente secuencia de entrada:


Entonces:

y así sucesivamente. Note que z-1 x0 sería x-1, el cual es desconocido (y usualmente se toma como cero).

De manera similar, aplicando el operador z-1 a una salida nos entrega la salida previa:

Si aplicamos el operador z-1 dos veces, se produce un retardo de dos intervalos de muestreo:

Adoptaremos la siguiente convención:

Es decir el operador z-2 representa un retardo de dos intervalos de muestreo:

Esta anotación puede ser extendida a retardos de tres o más intervalos de muestreo.

Usaremos ahora esta anotación en la descripción de un filtro digital. Considere, por ejemplo, un filtro general de segundo orden, dado en
su forma simétrica por la expresión:

Usaremos las siguientes identidades:

Sustituyendo estas expresiones en el filtro digital nos da:

Reordenando esta expresión, para darnos una relación directa entre la salida y la entrada, obtenemos:

Esta es la forma general de la función de transferencia para un filtro recursivo de segundo orden (IIR).

Para un filtro de primer orden, los términos en z-2 se omiten. Para filtros de orden superior a 2, términos adicionales que involucren
potencias más altas de z-1 son añadidos tanto al numerador como denominador de la función de transferencia.

Un filtro no-recursivo (FIR) tiene una función de transferencia más simple pues no contiene ningún término en el denominador. El
coeficiente b0 usualmente se toma igual a 1, y todos los otros coeficientes b son cero. La función de transferencia para un filtro de
segundo orden FIR puede ser expresada de la siguiente forma:

Por ejemplo, el filtro promedio de tres términos, definido por la expresión:

Puede ser escrito usando la anotación del operador z-1 como:


Y la función de transferencia para este filtro será:

La forma general de la función de transferencia para un filtro recursivo de primer orden puede ser escrito como:

Consideremos, por ejemplo, el filtro simple recursivo de primer orden que discutimos anteriormente:

Para encontrar la función de transferencia para este filtro, re-escribimos la expresión del filtro usando el operador z-1:

Reordenando esta expresión nos da la función de transferencia como:

Como un ejemplo adicional, consideremos el filtro IIR de segundo orden:

Ordenando los términos de salida en la izquierda y los términos de entrada en la derecha para obtener la forma “simétrica” de la
expresión del filtro, obtenemos:

Y expresando esto en términos del operador z-1, nos da:

Por lo tanto la función de transferencia es:

Anda mungkin juga menyukai