You are on page 1of 30

29/12/2013 1

Filtros Digitales
Lino Evgueni Coria Mendoza
iteso.mx/~lcoria
lcoria@iteso.mx
lcoria@iteso.mx
iteso.mx/~lcoria
Filtros Digitales 2
Qu es un filtro?
Es un dispositivo (hardware o software) que se
aplica a un conjunto de datos ruidosos para
poder extraer informacin sobre una cantidad de
inters.
En el rea de las seales, el filtrado es un
proceso mediante el cual se modifica el
contenido espectral de una seal.

lcoria@iteso.mx
iteso.mx/~lcoria
Filtros Digitales 3
Tipos de filtros
Filtros analgicos:
Pasivos: resistores y
capacitores.
Activos: adems utilizan
op-amps.


Filtros digitales:
FIR (no recursivos)
IIR (recursivos)

h[n] = {-0.0045 -0.0043 0.0127
0.0744 0.1722 0.2496
0.2496 0.1722 0.0744
0.0127 -0.0043 -0.0045}
lcoria@iteso.mx
iteso.mx/~lcoria
Filtros Digitales 4
Filtrado analgico y digital
lcoria@iteso.mx
iteso.mx/~lcoria
Filtros Digitales 5
Conversin Analgica a Digital
Cmo se hace la conversin:
Se toman algunas muestras de la seal.
Cada muestra se codifica con N bits (cuantizacin).
lcoria@iteso.mx
iteso.mx/~lcoria
Filtros Digitales 6
Teorema de muestreo de Nyquist
Para recuperar una seal debe cuidarse la frecuencia de
muestreo Fs:
mx
2F Fs >
lcoria@iteso.mx
iteso.mx/~lcoria
Filtros Digitales 7
Ejemplos de muestreo y
cuantizacin
Calidad telefnica:
8,000 muestras/segundo
8 bits por muestra
Monoaural

Calidad de CD:
44,100 muestras/segundo
16 bits por muestra
Estreo

lcoria@iteso.mx
iteso.mx/~lcoria
Filtros Digitales 8
Espectros de una seal continua
y de su versin discreta
La seal analgica debe tener un ancho de banda
limitado (se obtiene va prefiltrado).
El espectro de una seal discreta es peridico (2t) y por
ello slo nos preocupamos por la regin -t<est.
lcoria@iteso.mx
iteso.mx/~lcoria
Filtros Digitales 9
Filtro = Convolucin
Convolucin en el tiempo: Multiplicacin en la frecuencia:
| | | | | |

=
=
k
k n h k x n y
( ) ( ) ( )
e e e j j j
e H e X e Y =
lcoria@iteso.mx
iteso.mx/~lcoria
Filtros Digitales 10
Filtro FIR
Finite Impulse Response
La salida es una
combinacin lineal de los
valores presente y
pasados de la seal de
entrada.
Se trata de un filtro no
recursivo.
Tiene memoria finita.
lcoria@iteso.mx
iteso.mx/~lcoria
Filtros Digitales 11
Filtro IIR
Infinite Impulse Response
La salida es una
combinacin lineal de los
valores presente y
pasados de la entrada, as
como de los valores
pasados de la salida.
Se trata de un filtro
recursivo.
Tiene memoria infinita.
lcoria@iteso.mx
iteso.mx/~lcoria
Filtros Digitales 12
Matlab hace nuestra vida fcil...
... pero es
importante
ver algunos
principios
de diseo
antes de
dar clics.
lcoria@iteso.mx
iteso.mx/~lcoria
Filtros Digitales 13
Filtro Pasabajas Ideal
En el tiempo

En la frecuencia
lcoria@iteso.mx
iteso.mx/~lcoria
Filtros Digitales 14
Filtro Pasabajas con Ventana
Rectangular en el Tiempo
Se truncan los coeficientes de h[n] (multiplicar por una ventana rectangular)
Se desplazan hacia la derecha para que h[n] sea causal
lcoria@iteso.mx
iteso.mx/~lcoria
Filtros Digitales 15
Filtro Pasabajas con Ventana
Rectangular en la Frecuencia
lcoria@iteso.mx
iteso.mx/~lcoria
Filtros Digitales 16
Distintos Tipos de Ventanas
lcoria@iteso.mx
iteso.mx/~lcoria
Filtros Digitales 17
Filtro Pasabajas con Ventana
Triangular en el Tiempo
lcoria@iteso.mx
iteso.mx/~lcoria
Filtros Digitales 18
Filtro Pasabajas con Ventana
Triangular en la Frecuencia
lcoria@iteso.mx
iteso.mx/~lcoria
Filtros Digitales 19
Filtro Pasabajas con Ventana de
Hamming en el Tiempo
lcoria@iteso.mx
iteso.mx/~lcoria
Filtros Digitales 20
Filtro Pasabajas con Ventana de
Hamming en la Frecuencia
lcoria@iteso.mx
iteso.mx/~lcoria
Filtros Digitales 21
Cmo hacerlo en Matlab?
FIR1 FIR filter design using
the window method.

>> h = fir1(44,0.25,boxcar(45));
>> stem(0:44,h)
>> axis tight
>> xlabel('n')
>> ylabel('h[n]')

>> freqz(h)

lcoria@iteso.mx
iteso.mx/~lcoria
Filtros Digitales 22
Filtro Pasaaltas en Tiempo y
Frecuencia
>> h = fir1(44,0.75,'high',boxcar(45));
>> freqz(h)
lcoria@iteso.mx
iteso.mx/~lcoria
Filtros Digitales 23
Filtro Pasabanda en Tiempo y
Frecuencia
>> h = fir1(44,[0.25,0.75],boxcar(45));
>> freqz(h)
lcoria@iteso.mx
iteso.mx/~lcoria
Filtros Digitales 24
Filtro Rechazabanda en Tiempo y
Frecuencia
>> h = fir1(44,[0.25,0.75],'stop',boxcar(45));
>> freqz(h)
lcoria@iteso.mx
iteso.mx/~lcoria
Filtros Digitales 25
Aplicacin: Ecualizador
Seal original


Mayor ganancia en
pasabajas

Mayor ganancia en
1
er
pasabanda
lcoria@iteso.mx
iteso.mx/~lcoria
Filtros Digitales 26
En resumen:
Un filtro digital es un vector,
un arreglo de nmeros
(coeficientes).
La seal de salida es la
convolucin de la seal de
entrada con el filtro.
En frecuencia, el producto de
los espectros de la entrada y
el filtro nos dan el espectro de
la salida.

lcoria@iteso.mx
iteso.mx/~lcoria
Filtros Digitales 27
Filtros Adaptativos
El diseo de filtros se complica cuando no se
conoce por completo la informacin.
Una opcin interesante es el uso de un filtro
adaptativo, que es un dispositivo que se auto-
disea a travs de un algoritmo recursivo.
El filtro tiene condiciones iniciales y despus de
algunas iteraciones converge a la solucin
ptima.
lcoria@iteso.mx
iteso.mx/~lcoria
Filtros Digitales 28
Un filtro adaptativo tiene dos
procesos bsicos:
1. Un proceso de filtrado: se obtiene un dato de
salida en respuesta a datos de la entrada.
2. Un proceso adaptativo: se ajustan los
coeficientes del filtro de acuerdo a un
algoritmo.
Estos dos procesos trabajan de manera
interactiva.
lcoria@iteso.mx
iteso.mx/~lcoria
Filtros Digitales 29
Una Opcin: El Algoritmo LMS
Se parte de un filtro FIR.
La idea principal es minimizar el valor cuadrtico
medio del error (error = la diferencia entre la
respuesta deseada y la salida del filtro).
Se trata de un algoritmo simple pero con un buen
desempeo.
Principal desventaja: tasa de convergencia lenta.
lcoria@iteso.mx
iteso.mx/~lcoria
Filtros Digitales 30
LMS
1. Se obtiene la salida del filtro:

2. Se estima el error:

3. Se adaptan los coeficientes:
| | ] [ ] [ ' n x n w = n y
| | | | | | n y n d n e =
| | | | | | | | n e n x n w 1 n w + = +

You might also like