You are on page 1of 13

U.T.N.

- Facultad Regional Paraná

Técnicas Digitales III

Gustavo A. Yarce

Paraná - Entre Ríos


2010
2 Gustavo A. Yarce
Índice general

1. Diseño de Filtros 5
1.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2. Diseño de una filtro digital IIR con Matlab 7


2.1. Filtro IIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3. Diseño de filtros FIR con Matlab 11


3.1. Filtro FIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2. Diseño . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3
Capítulo 1

Diseño de Filtros

1.1. Introducción
Los filtros son sistemas que se diseñan principalmente para eliminar ciertas
componentes no deseadas de una señal. Generalmente estas componentes no
deseadas se describen en función de sus contenidos en frecuencias. Un filtro ideal
permite el paso de ciertas frecuencias sin modificarlas y elimina completamente
otras; esto en la realidad no se puede lograr con exactitud ya que no existen
componentes tan precisos en el mercado razón por lo que se tienen aproximaciones.
El intervalo de frecuencias que deja pasar el filtro se le denomina banda de paso y
todas las frecuencias que elimina se le llama banda de supresión.

Podemos darnos cuenta que la tendencia actual es la migración de la tecnología


analógica a la digital, en este caso el filtrado digital ofrece varias ventajas con
respecto a los filtrados analógicos:

El ancho de banda de un filtro digital esta limitado por la frecuencia de


muestreo, mientras que en un filtro analógico, este parámetro depende de las
características de los componentes físicos.

Se pueden implementar tanto en software como en hardware.

Se conocen usualmente dos tipos de filtros que se eligen según las necesidades
y la naturaleza del problema. Estos filtros se les conocen como FIR e IIR.

5
6 Gustavo A. Yarce

En el diseño de un filtro digital se siguen los siguientes pasos;

1. Determinar la especificaciones del filtro

2. Decidir qué tipo de filtro se ha de utilizar

3. Elegir el método de diseño y determinar los coeficientes del mismo

4. Implementar el filtro resultante

Los filtros ideales pueden tener cuatro tipos de respuesta:

Pasa-baja

Pasa-alta

Pasa-banda

Elimina-banda

Estos filtros se caracterizan por tener transición abruptas en la respuesta en


frecuencia que se traducen en respuestas impulsionales infinitas y no causales: así
no pueden obtenerse en la practica. El objetivo será diseñar filtros que se aproximen
a esta respuesta ideal. En lugar de tener transiciones abruptas y bandas de
transición nulas obtendremos respuestas en frecuencias con transiciones graduales.
Capítulo 2

Diseño de una filtro digital IIR con


Matlab

2.1. Filtro IIR

Un filtro digital se obtiene a partir de un filtro analógico normalizado pasa-


bajos(con una frecuencia de corte igual a 1), luego se desnormaliza este modelo
analógico, en función de la frecuencia de corte deseada y luego se transforma este
resultado al dominio digital.

Para el diseño de un filtro analógico normalizado de Buterworth de orden n


utilizamos la función buttap(n), y cheb1ap(n,rp) para un Chebychev donde rp es
el valor del ripple(expresado en decibeles) que deseamos para la banda de pasante.

El segundo paso es la transformación en frecuencia del modelo normalizado


analógico pasabajos. Matlab permite llevar el mismo con lp2lp(num,den,wo) a
pasabajos, lp2hp(num,den,wo) a pasaaltos, lp2bp(num,den,wo,Bw) a pasabanda y
con lp2bs(num,den,wo,Bw) a supresor de banda donde num y den son el numerador
y denominador de la función cuyos polos y ceros obtuvimos anteriormente, wo es
la frecuencia corte. En el caso del pasabanda y el supresor de banda es igual a:

wo = w1 · w2

7
8 Gustavo A. Yarce

Bw = w2 − w1

En el tercer caso utilizamos la función bilinear(num,den,fs,fc), logrando con


esta transformar la función de transferencia al dominio del tiempo discreto, y
obtener así, los valores de los coeficientes que nos permitan formar la ecuación
recursiva, para procesar la señal. La frecuencia de muestreo es fs y fp es la
frecuencia de corte del filtro.

Ejemplo de programa básico para el calculo de un filtro pasabajos digital de


Butterworth de orden n:

clc
n=input(’Ingrese el orden del filtro n= ’);
[z,p,k]=buttap(n);
[num,den]=zp2tf(z,p,k);
hn=tf([num],[den])
fc=input(’Ingrese la frecuencia de corte fc= ’);
wc=2*pi*fc;
[numt,dent]=lp2lp(num,den,wc);
ht=tf([numt],[dent])
fs=input(’Ingrese la frecuencia de muestreo fs= ’);
[numd,dend]=bilinear(numt,dent,fs,fc);
hiir=tf([numd],[dend],fs)

Para un filtro de orden 2 y frecuencia de corte fc = 500Hz y una frecuencia de


muestreo igual fs = 2500Hz

0,2066z 2 + 0,4131z + 0,2066


hiir(z) =
z 2 − 0,3695z + 0,1958
La ecuación de recurrencia queda:

y(n) = 0,2066·x(n)+0,4131·x(n−1)+0,2066·x(n−2)+0,3695·y(n−1)−0,1958·y(n−2)
Técnicas Digitales III 9

También se dispone de la función “buttord”(cheb1ord), la cual proporciona


el orden del filtro a diseñar según las especificaciones.
Otra función es “filter(num,den,x)”, esta permite comprobar el filtro diseñado,
proporcionando numerador, denominador del filtro digital y la señal de entrada al
filtro “x”.
10 Gustavo A. Yarce
Capítulo 3

Diseño de filtros FIR con Matlab

3.1. Filtro FIR


Los filtros de respuesta finita al impulso (FIR finite impulse response) tienen
la ventaja de ser utilizados con facilidad y poseer fase lineal para una respuesta
al impulso par o impar, a esta propiedad se le llama simetría. Otra de las
características que debe de tener un filtro FIR es que debe ser causal, esto significa
que debe tener un retrazo hacia los positivos y no debe existir señal en frecuencias
negativas.

Existen tres técnicas de diseño de filtros FIR que son de gran importancia:

1. La técnica de ventanas.

2. La técnica de muestreo en frecuencia.

3. La técnica de diseños con rizado uniforme.

La técnica de ventaneo se basa en a la respuesta de un filtro aplicarle la ventana


deseada por medio de una multiplicación de sus ecuaciones, la ventana hace que
en el filtro real diseñado se tengan menos variaciones de transición o supresión y
con esto se logre y filtrado más efectivo.

11
12 Gustavo A. Yarce

3.2. Diseño
Existen varios métodos para diseñar in filtro digital no recursivos. El principal
se basa en tratar de determinar la respuesta en frecuencia del filtro para luego
determinar los coeficientes del filtro mediante la transformada inversa de Fourier.
1. Proceso de Diseño de Filtros FIR por este método:

a) Normalización de frecuencias por la frecuencia de muestreo.


b) Conversión de especificaciones a la de un Prototipo de Filtro Pasabajo.
c) Truncamiento de la respuesta a impulso de un filtro ideal h[n] =
2FC sin c(2nFC ) a hN [n] de longitud N. El orden del filtro es N-1.
d ) Seleccionar una ventana w[n] de N puntos para obtener hw [n] =
hN [n] · w[n]
e) Convertir del prototipo de filtro Pasabajo al filtro deseado hF [n].
f ) Retrasar hF [n] para asegurarse que el filtro es causal.

Matlab dispone de una función fir1, la cual da los coeficientes del filtro pasabajo
buscado

b = f ir1(N, WN , ventana(N + 1))


Donde WN corresponde a la frecuencia de corte del filtro digital. Este valor
debe estar entre 0 y 1, correspondiendo a 1 la mitad de la frecuencia de muestreo.
Algunas de las ventanas que se pueden utilizar son:
1. Boxcar
2. Bartlett
3. Hamming
4. Hanning
5. Blackman
La ventana por defecto es la ventana de Hamming. Se dispone también para el
calculo de filtros pasaaltos,

b = f ir1(N, WN , ventana(N + 1),0 high0 )


Para un pasabanda,

b = f ir1(N, [w1 − w2 ], ventana(N + 1))


Técnicas Digitales III 13

clc
N=input(’Ingrese orden del filtro N= ’);
fc=input(’Ingrese frecuencia de corte fc= ’);
fm=input(’Ingrese frecuencia de muestreo fm= ’);
wn=fc/(fm/2);
b=fir1(N,wn,boxcar(N+1));
a=1;
hfir=tf([b],[a],fm)

Por ejemplo si se desea obtener los coeficientes para un filtro pasabajos de orden
10 y frecuencia de corte de 1000Hz y una frecuencia de muestreo de 12000Hz, y se
lo hace pasar por una ventana Boxcar.

0,02711z 10 + 0,05868z 9 + 0,09035z 8 + 0,1174z 7 + 0,1355z 6


+0,1419z 5 + 0,1355z 4 + 0,1174z 3 + 0,09035z 2 + 0,05868z + 0,02711

You might also like