Anda di halaman 1dari 116

UNAD

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA Escuela de Ciencias Bsicas Tecnologa e Ingeniera

Procesamiento de Seales Digitales Indira Cassaleth Garrido

TABLA DE CONTENIDO

UNIDAD 1
CAPITULO 1. Sistemas LTI Introduccin. Propiedades de los sistemas discretos Respuesta al impulso Transformada de Fourier CAPITULO 2. Transformada Discreta de Fourier Secuencia y sistemas Introduccin discretos Propiedades Ejercicio de aplicacin CAPITULO 3. Correlacin se Seales en tiempo discreto Introduccin Correlacin Autocorrelacin

UNIDAD 2
CAPITULO 4. Filtros Digitales IIR Introduccin. Terminologa y clasificacin Filtros IIR Diseo de Filtros Analgicos (Butterworth, Chevyshev I y II, elpticos).

Diseo de Digitales

Filtros Diseo de Filtros IIR con MATLAB


CAPITULO 5. Filtros FIR (Filtros de Respuesta Infinita) Introduccin Filtros FIR Tcnicas de diseo

Mtodo del muestreo de frecuencia Diseo de Filtros FIR con MATLAB

UNIDAD 3
CAPITULO 6. Aplicaciones Diferenciadores Transformacin de Hilbert Filtros Pasatodo, Peine y Notch Ejercicios de implementacin con MatLab Aplicaciones de los Deteccin de Bordes filtros digitales CAPITULO 7. Procesamiento digital de imagenes Introduccin Etapasfundamentales en el procesamiento de imagen Teora de colores oponentes de Hering Reconocmiento de forma Procesado de imgenes en MatLab Procesado digital de audio

UNIDAD 1

SECUENCIA Y SISTEMAS DISCRETOS

Se empezar recordando que un sistema digital es cualquier dispositivo destinado a la generacin, transmisin, procesamiento o almacenamiento de seales digitales. Una seal digital corresponde a magnitudes fsicas limitadas a tomar slo unos determinados datos o valores discretos. La palabra digital proviene de la misma fuente que la palabra digito ( en latn significa dedo), por el uso para contar en valores discretos y no continuos como en los sistemas analgicos.

Entre las aplicaciones del procesamiento digital de seales se tienen: Eliminar el eco en las lneas de comunicaciones. Mejoramiento de imgenes en equipos de diagnstico mdico. Diseo e implementacin de LAN Inalmbricas. Reconocimiento de Voz. Reproductores digitales de audio. Sistemas de control digital en motores, bombas, sistemas de refrigeracin, Modems inalmbricos, Inversores industriales. Procesos de automatizacin de fbricas. Analizar sistemas geoestacionarios El procesamiento digital de seales es utilizado en muchos campos incluyendo biomedicina, sonar, radar, sismologa, procesamiento de msica, voz e imgenes. A continuacin se describe algunos ejemplos de diferentes sistemas digitales sumulados en MatLab

V .3 4 M ode m Da ta Tr a ns m is s ion
Re (u ) Im (u ) S co p e 1 E n a b l e si g n a l 1 Ca l l m odem A WG N 1 A WG N ch a n n e l E n a b l e si g n a l 2 A n swe r m odem

E rro r m e te r

Re l o a d d a ta

Di sp l a y p a ra m e te rs

Figura 1. Diagrama de un sistema de transmisin de datos

Ungerboeck Trellis Code Modulation

Sca to vec converter Rd wksp

Demux Convl en
2

Mux

Vec to sca converter

MPSK

AWGN

MPSK

Error meter

-3 z Sca to vec converter


3 2

Demux 2 Convl de

Mux

Vec to sca converter

Generating tran_func

Figura 2. Diagrama de un sistema de modulacin

Root Loc us of a Random S y s tem 1

0.5 Im ag A x is

-0.5

-1 -3

-2

-1 Real A x is

Figura 3. Sistema de diagrama de la raices de un sistema


O UTP UT #1 10 5 0 -5 -10

10

15

20

25 INP UT #1

30

35

40

45

50

1 0.5 0 -0.5 -1 0 5 10 15 20 25 30 35 40 45 50

Figura 4. Transformada de Fourier Discreta

1 O riginal 0 -1 0 0.25 0.5 M odulated 0.75 1 1.25 1.5 1.75 1 0 -1 0 0.05 0.1 0.15 0.2 0.25

0.5

1.5

Dem odulated

0.5

1 Tim e (S ec onds )

1.5

Figura 5. Respuesta de modulacin y demodulacin de una seal senoidal

Figura 6. Filtracin de seales

CAPITULO 1. Sistemas LTI

Introduccin. La abreviatura LTI proviene del trmino en ingls (Linear Time-Invariant). Los sistemas LTI hacen referencia a los sistemas que son lineales y al mismo tiempo invariantes en el tiempo. Los sistemas LTI tienen la caracterstica de cumplir las siguientes propiedades.

Entrada X(t) LTI

Salida Y(t)

X(t-to)

LTI

Y(t-to)

Figura 7. Sistemas LTI Los sistemas LTI son subconjuntos de los sistemas lineales, estos obedecen al principio de superposicin. En la siguiente figura, se puede observar el efecto de aplicar el tiempo invariante a la definicin de sistema lineal del sistema anterior. Entrada X1(t) LTI Salida Y1(t)

X2 (t)

LTI

Y2(t)

Aplicando el principio de superposicin se tiene:

Entrada X1(t-t1)+ X2(t-t2) LTI

Salida Y1(t-t1)+ Y2(t-t2)

Figura 8. Principio de superposicin Propiedades de los sistemas discretos Los sistemas discretos son aquellos que trabajan con seales discretas. Se debe recordar que un sistema es una transformacin aplicada a una seal de entrada

x(n) , para obtener una seal de salida y (n) ; a esta transformacin se le conoce
con el nombre de funcin de transferencia (T). En la siguiente figura se muestra el diagrama de bloques de un sistema discreto.

Entrada x(n) T

Salida y(n) = T [x(n)]

Figura 9. Diagrama de bloques de un sistema discreto Se pueden definir las funciones de transferencia para los sistemas discretos ms caractersticos con su correspondiente diagrama de bloques. Desplazamiento temporal

Descrito por el siguiente comportamiento matemtico:

y ( n ) = x ( n n0 )

Entrada x(n) T

Salida y(n) = T [x(n)]

Si T = n + n0 , entonces es un adelantador Si T = n n0 , entonces es un retardor En diagramas de bloques, otra forma de representar a T es por Z, as:

Entrada x(n) Z-1

Salida y(n) = x(n-1)

Figura 10. Representacin grfica de un retardador

Entrada x(n) Z

Salida y(n) = x(n+1)

Figura 11. Representacin grfica de un adelantador

Multiplicador

Descrito por el siguiente comportamiento matemtico:

y ( n ) = a . x ( n)

Entrada x(n) x

Salida y(n) = a. x(n)

a Figura 12. Diagrama de un multiplicador Modulador

Descrito por el siguiente comportamiento matemtico:

y (n) = x(n).cos( w0 n)

Entrada x(n) x

Salida

y (n) = x(n).cos( w0 n) cos(w0 n)

Figura 13. Diagrama de un mudulador Acumulador Descrito por el siguiente comportamiento matemtico: y (n) =

k =

x(k )

Media Mvil

Descrito por el siguiente comportamiento matemtico: y (n) =

M 1 x( n k ) 2M + 1 k = M

Ejemplo: Describa mediante diagrama de bloques la siguiente ecuacin discreta

y ( n) = y (n 1) +

1 1 x (n) + x( n 1) 2 3

Donde x (n) es la seal de entrada y y (n) es la seal de salida.

Solucin Salida
+ +

Entrada x(n)

1/3 z
-1

z-1 1/2

y(n)

Figura 14. Diagrama de bloques de una ecuacin discreta A continuacin se describen las propiedades fundamentales que se tienen en cuenta en los sistemas discretos. Memoria Un sistema en tiempo discreto se denomina esttico o sin memoria si su salida en cualquier instante n depende a lo sumo de la muestra de entrada en ese mismo instante, pero no de muestras pasadas o futuras de la entrada. En cualquier otro caso, se dice que el sistema es dinmico o con memoria. Es decir, su respuesta al impulso es la forma:

h( n) = cons tan te . ( n)
Los siguientes sistemas son sistemas sin memoria, ya que no se necesita de ninguna muestra pasada o futura para calcular la seal.

y ( n) = 5 x ( n) y ( n) = 5 x 2 ( n) + 2 x ( n )
A diferencia de los siguientes sistemas que son sistemas dinmicos o con memoria ya que requieren de una muestra para calcular la salida actual.

y ( n ) = 5 x ( n 2) y ( n) = 3 x ( n 1) + 2 x ( n)
Causalidad Se dice que un sistema es causal si la salida del sistema en cualquier instanten depende slo de las entradas presentes y pasadas de la seal de entrada (por ejemplo, x(n), X(n-1), x(n-2)...); pero no de las muestras futuras de la seal (por ejemplo, x(n+1), X(n+2), x(n+3)...). Si un sistema no satisface esta condicin se dice que el sistema es no causal. Los siguientes sistemas son sistemas causales, ya que la salida depende slo de las entradas presentes y pasadas de la seal.

y ( n) = 2 x( n) x( n 1) y ( n) =
k =

x (k )

A diferencia de los siguienetes sistemas que son sistemas no causales ya que requieren de una muestra futura de la seal.

y ( n) = x (n 2 ) + 1 y ( n) = 3 x ( n 1) + 2 x (n + 5)
Para un sistema causal se ha de cumplir que:

h( n) = 0, Para todo n < 0

Estabilidad Un sistema arbitrario en reposo se dice de entrada acotada-salida acotada (BIBO, bounded input_ bounded output), si y slo si toda entrada acotada produce una salida acotada. El acotamiento de las secuencias de entrada x(n) , para obtener una seal de salida y (n) ; produce la existencia de un par de nmeros finitos Mx y My, tales que:

x(n) M x < y (n) M y <


para todo n. Si la secuencia de entrada x (n) produce una salida no acotada( es decir, infinita), el sistema se clasifica como inestable.

Respuesta al impulso Si se tiene una seal de entrada x (n) , esta se puede expresar como la suma de impulsos unitarios. Es decir,

x ( n) =

k =

x ( k ) (n k )

donde k representa el atraso del impulso unitario. Ejemplo: una secuencia de duracin finita x (n) esta dada por

x( n) = {2,3,0,1}
Exprese esta seal como la suma ponderada de impulsos unitarios Solucin: Para desarrollar este ejercicio lo primero que se realiza es graficar la secuencia , ubicando el cero en el valor que indica la flecha asi:
Funcion original, x(n)
3

2.5

Amplitud

1.5

0.5

0 -1

-0.5

0.5

1.5

2 Figura 15. Grfica de la funcin x ( n) = { ,3,0,1}

Se puede observar que n = -1, 0,1,2. Para n = 1, la secuencia x (n) tiene valor de cero. Por tanto, slo se requiere tres impulsos en los puntos k =-1, 0,1. Por tanto, x (n) se expresa como:

x( n) = 2 ( n + 1) + 3 ( n) + 1 ( n 2)
Supngase un sistema discreto lineal, que es excitado con la funcin impulso

(k ) , y cuya salida es la respuesta al impulso h(k ) , tal como el de la figura 15.


Si ese mismo sistema se excita con la funcin impulso, retrasada en figura 16 debido a que el sistema es invariante en el tiempo.
Funcion impulso unitario, d(k)
1 0.9 0.8 0.7 0.6 2 1.5 1 0.5 0

, la salida

debe ser la misma respuesta al impulso retrasada en , asi como se muestra en la

R espuesta al impulso, h(k)

Amplitud

0.5 0.4 0.3 0.2 0.1 0 -2

Amplitud
-1.5 -1 -0.5 0 0.5 1 1.5 2

-0.5 -1 -1.5 -2 -2.5 -3 -2

-1.5

-1

-0.5

0.5

1.5

D )XQFLQLPSXOVR

unitario

b) Respuesta al impulso, h(k)

Figura 16. Solucin grfica de la ecuacin

x(n) = 2 (n +1) +3 (n) +1 (n 2)

a) Funcin impulso unitario, b) Respuesta al impulso, h(k)

Funcion impulso unitario, d(k-1)


1 0.9 0.8 0.7 0.6

Amplitud

0.5 0.4 0.3 0.2 0.1 0 -1

-0.5

0.5

1.5

2.5

a) Funcin impulso unitario


R espuesta al impulso, h(k-1)
2 1.5 1 0.5 0

(n 1)

Amplitud

-0.5 -1 -1.5 -2 -2.5 -3 -1

-0.5

0.5

1.5

2.5

b) Respuesta al impulso, h(k-1) Figura 17. Solucin grfica de la ecuacin al retraso del impulso a) Funcin impulso unitario

(n 1) ,

b) Respuesta al impulso, h(k-1)

Nota: Ms adelante se seguir trabajando con esta temtica

Transformada de Fourier
La Transformada de Fourier se encarga de transformar una seal del dominio del tiempo, al dominio de la frecuencia, de donde se puede realizar su antitransformada y volver al dominio temporal. Un ejemplo de representacin en frecuencia, puede ser cuando se observa un ecualizador de un equipo de sonido. Las barras que suben y bajan, indican las diferentes componentes frecuenciales de la seal sonora que se escuchan. Esto, se realiza a travs de un proceso de integracin que realiza precisamente la transformada de Fourier de la forma ms rpida posible (FFT, o Fast Fourier Transform). El trabajo con la seal en frecuencia, no solo sirve como informacin, sino que se puede modificar, de forma que es ampliamente utilizada en filtros, procesado de la imagen y el sonido, comunicaciones (modulaciones, lneas de transmisin, etc.) y otro tipo de aplicaciones ms curiosas: estadstica, deteccin de fluctuaciones en los precios, anlisis sismogrfico, etc. Serie de Fourier para seales peridicas

La Serie de fourier busca poner cualquier funcin x(t) como un sumatorio de senos y cosenos, esto es, como un sumatorio de

e jkw0t

puesto que cualquier funcin Para una seal

senoidal se puede expresar en forma de exponencial compleja. peridica definimos el desarrollo en serie de Fourier como:

x (t ) =

k =

a e
k

jkw0t

De la anterior ecuacin se puede observar que al variar los valores de k se tendra una funcin peridica de periodo:

T=

2 w0

Para determinar cuales son los coeficientes del desarrollo en serie de Fourier se realiza:

T0

x(t ).e
0

j n w0 t

dt =

T0

0 k =

a .e
k

j ( n k ) w0 t

dt = ak . e j ( nk ) w0 t dt
k = 0

T0

= T0 an ak = 1 T0

<T0 >

x(t ).e

j k w0 t

dt

Serie de Fourier para seales discretas peridicas

La serie de Fourier discreta es una modificacin de la serie de Fourier tradicional, pero sustituyendo las integrales por sumatorias de las muestras, y el periodo ahora en vez de ser T ser N, siendo N un nmero entero, de forma que se define la serie de Fourier discreta como:

x[n ] =

n =

a e
k

jkt

donde 2 = N
Se cumplir ahora que fundamental. Para obtener los coeficientes del desarrollo en serie de Fourier se debe obtener

x[n ] = x[n + N ] ,

debido que N es el periodo

ak de la siguente forma: 1 N

ak =

x[n].e

j k n

Ejercicio: Determine el espectro de la seale X(n), la cual es periodica de periodo N= 4 y cuya secuencia se encuentra expresada como:

x(n) = 1,1,0,0 ,

j 2kn / 4 1 3 ck = x ( n ) e 4 n =0

k= 0,1,2,3
j k / 2 1 ck = (1 + e ) 4

Se comienza a evaluar la funcin para k= 0,1,2,3. Para ello se se tiene:


j 2 0 n / 4 j 2 0 n / 4 j 2 0 n / 4 j 2 0 n / 4 1 + x (1)e + x ( 2) e + x(3)e c0 = ( x ( 0) e ) 4 1 c0 = ( x (0) * 1 + x (1) * 1 + x ( 2) * 0 + x (3) * 0) 4 1 1 c0 = ( x (0) + x(1)) = (1 + 1) 4 4

c0 =

1 2

c1 =
c3 =

1 (1 j ) 4
1 (1 + j ) 4

el modulo y la fase del espectro son

c0 = c1 =

1 2 2 4

c2 = 0
c3 = 2 4 c0 = tan 1 (b / a )

Recuerde que la fase se calcula como

c0 = 0 c1 =

c2 = indefinido
c3 =

CAPITULO 2. Transformada Discreta de Fourier

Introduccin La transformada discreta de Fourier es una herramienta matemtica muy importante y se ha utilizadoo en diferentes campos como aplicaciones en ptica, acstica, fsica cuntica, teora de sistemas, tratamiento de seales, reconocimiento de voz, probabilstica, sistemas de comunicaciones, etc. La transformada de Fourier se emplea con seales aperidicas a diferencia de la serie de Fourier. Las condiciones para poder obtener la transformada de Fourier son (Condiciones de Dirichlet): La seal debe ser integrable, es decir:

x(t ) dt <

Debe presentar un nmero mximo de discontinuidades. La transformada de Fourier es una particularizacin de la transformada de Laplace con S=jw (siendo w=2*pi*f), y se define as:

x( ) = x(t ).e j t dt

De igual forma, se puede definir su antitransformada asi:

1 x(t ) = 2

x( ).e j t d

Apartir del desplazamiento de la funcin impulso y sabiendo que

(t t 0 ) e j t0
Y ademas, que la transformada de Fourier tiene la propiedad de dualidad:

x(t ) F X ( ) X (t ) F 2 .x( )
Se obtiene que:

e j t F 2 ( 0 )
Por tanto, se puede calcular la transformada de Fourier de cualquier seal peridica x(t) de potencia media finita, de la siguiente forma

1 T

x(t ) dt <

Ya que

x(t ) = =

k =

a e
k

jkw0 t

F ak e jkw0t k =

k =

F e

jkw0 t

}= a 2 (w kw )
k 0 k =

Luego para una x(t) peridica se cumple que:

Propiedades de la DFT
La DFT presenta las siguientes propiedades Linealidad
X3(n)

= ax1(n)+bx2(n) , Si long [x1(n)]=N1 y long [x2(n)]=N2

X3(k) = aX1(k)+bX2(k) entonces

long[x3(n)]=max{N1,N2} Periodicidad x(n) y X(k) son peridicas con perodo N.

Simetra Si x(n) <--->X(k) entonces x*(n) <--->X*(-k)=X*(N-k) Para seales REALES: x(n)=x*(n) y X(k)=X*(N-k) Re[X(k)] es una funcin par Im[X(k)] es una funcin impar |X(k)| es una funcin par Fase[X(k)] es una funcin impar

CAPITULO 3. Correlacin se Seales en tiempo discreto

Introduccin La correlacion es una operacin matemtica que permite cuantificar el grado de similitud entre dos seales aunque no haya evidencia de parentesco entre ellas. En la descripcin y anlisis de seales la correlacion se utiliza en multiples aplicaciones como: la geologa, la economa, la estimacin de retardos en sonar y radar, la sincronizacin en comunicaciones digitales, reconocimiento de patrones de voz e imgenes, el anlisis de entornos acsticos, el anlisis de imgenes satelitales,etc.

Correlacin La correlacin de dos funciones reales es una operacin de similares caractersticas a la convolucin con la salvedad de que no se girarg alrededor del origen los valores de una de las funciones. La expresin matemtica para esta operacin es:

f ( x )  g ( x ) = h( x ) =

f ( x) g ( x + z )dz

Bajo las mismas condiciones que se establecen en la convolucin en el caso discreto, la expresin de la correlacin de funciones discretas reales es

f ( x )  g ( x ) = f (m) g ( x + m)
m =0

M 1

para x = 0,1,..., M 1 . De manera similar se pueden transcribir las expresiones de la correlacin en el caso bidimensional. De forma paralela a como existe un teorema de convolucin ahora podemos enunciar un Teorema de Correlacin, que nos dice como se calcula la correlacin entre dos funciones a partir de las TF de dichas funciones. El teorema establece que la TF de la correlacin entre dos funciones es igual al producto de la transformada fourier conjugada de una de ellas por la otra. Es decir,

F {f ( x)  g ( x)}= F (u ) G (u ) donde F (u ) = T (u ) i I (u )
Al igual que la convolucin, la correlacin es una operacin basica del procesamiento de imgenes digitales. La correlacin es la operacin bsica en los procesos de bsqueda de patrones por emparejamiento. Por tanto, disponer de algoritmos que calculen de una forma eficiente estas operaciones es del mayor inters. Cuando la operacin de correlacin se realiza entre dos secuencias X y Y, la corelacin recibir el nombre de correlacion cruzada. Cuando la correlacin se realiza entre la misma secuencia, es decir, cuando x(n)=y(n), la correlacin se

denomina autocorrelacin. A continuacin se describir dos ejemplos relacionados con la correlacin cruzada y la autocorrelcin de secuencias.

Determine la correlacin cruzada

xxy (l )

de la secuencias

x( n) = ...,0,0,2,1,3,7,1,2,3,0,0,... , y ( n) = ...,0,0,1,1,2,2, 4,1,2,5,0,0,...

En la primera parte se realiza las graficas de las funciones:


F uncion x(n)
7 6 5 4 3

Amplitud

2 1 0 -1 -2 -3 -4

-3

-2

-1

F uncion y(n)
5

Amplitud

-1

-2 -4

-3

-2

-1

Solucin. Aplicando el concepto para l = 0

rxy (0) =

n =

x ( n) y ( n )

La secuencia producto de esta operacin es:

rxy (0) = { + (1* 2) + (1* 1) + (2 * 3) + (2 * 7) + (4 *1) + (1* 2) + (2 * 3) + (5 * 0) + ...} ...


dando como resultado

vo = { 0,0,2,1,6,14,4,2,6,0,0,...} ...,

La suma para todos los valores de n es

rxy (0) = 7
F uncion r(0)
7

Amplitud

0 -4

-3

-2

-1

Para as, obtener la primera respuesta en l=o.

rxy (0) = 7 rxy (1) = 13

r xy ( 0 ) = 18

rxy (3) = 16 rxy (4) = 7 rxy (5) = 5

rxy (6) = 3 rxy (l ) = 0


rxy (l ) = 7
Para l<0, desplazamos y(n) hacia la izquierda con relacin a x(n) l muestras, calculamos la secuencia producto vl(n)= x(n)y(n-l), y sumamos todos los valores de dicha secuencia producto. As los v se obtendrn los valores de correlacin cruzada.

rxy (1) = 0
rxy (2) = 33 rxy ( 3) = 14

rxy ( 4) = 36

rxy ( 5) = 19

rxy (6) = 9
rxy (7) = 10

rxy (l ) = 0, l 8
Por tanto la correlacin cruzada entre x(n) e y(n) es

rxy (l ) = 10,9,19,36,14,33,0, 7,13,18,16,7,5,3

Como se puede observar el cero de la funcin esta representada en el valor de 7, que fue el primer valor calculado para l=0. Aplicando los mismos conceptos de la correlacin se puede determinar la autocorrelacin de una seal. Determine la Autorrelacin

xxx (l )

de la secuencia

x(n) = ...,0,0, 1,2,3,0,0,... ,


En la primera parte se realiza la grafica de la funcin. Es de recordar que para la autocorrelacin es la funcin x(n) la que se auto multiplica y desplaza. Asi:

Funcion x(n)
2 1.5 1 0.5 0

Amplitud

-0.5 -1 -1.5 -2 -2.5 -3

0.2

0.4

0.6

0.8

1.2

1.4

1.6

1.8

n Funcion x1(n)
2 1.5 1 0.5 0

Amplitud

-0.5 -1 -1.5 -2 -2.5 -3

0.2

0.4

0.6

0.8

1.2

1.4

1.6

1.8

Realizando las operaciones en l=0 tenemos

... rxx (0) = { + (1*1) + (2 * 2) + (3 * 3) + ...} rxx (0) = 14

Al realizar los desplazamientos de la funcin x1(n) se tiene:

rxy (1) = 13
rxx (1) = 4 rxx (2) = 3 rxx (1) = 4 rxx (2) = 3
Los resultados de la autocorrelacin son mostrados a continuacin
F uncion autocorrelacion x(n)
14 12 10 8

Amplitud

6 4 2 0 -2 -4 -2

-1.5

-1

-0.5

0.5

1.5

UNIDAD 2
DISEO DE FILTROS DIGITALES Introduccin El filtro digital se emplea en el procesado de seales para la eliminacin de las partes no deseadas de la misma. Las cuales pueden ser la disminucin de ruido o la eliminicacin de alguna frecuencia determinada. Los filtros pueden ser analgicos o digitales. En los filtros analgicos se emplean componentes discretos tales como condensadores, resistencias, condensadores, amplificadores operacionales, etc. Un filtro digital emplea un procesador digital que efectua operaciones matemticas en valores muestreados En general el proceso de filtrado consiste en el muestreo digital de la seal de entrada, el procesamiento considerando el valor actual de entrada y considerando las entradas anteriores. El ltimo paso es la reconstruccin de la seal de salida. En general la mecnica del procesamiento es: Tomar las muestras actuales y algunas muestras anteriores (que previamente haban sido almacenadas) para multiplicadas por unos coeficientes definidos. Tambin se podra tomar valores de la salida en instantes pasados y multiplicarlos por otros coeficientes. Finalmente todos los resultados de todas estas multiplicaciones son sumados, dando una salida para el instante actual.

Capitulo 4. Filtros digitales IIR

Terminologa y clasificacin Tipos de filtros Hay varios tipos de filtros as como distintas clasificaciones para estos filtros: De acuerdo con la parte del espectro que dejan pasar y que atenan hay:

Filtros pasa alto. Filtros pasa bajo. Filtros pasa banda.


o o o o o o o

Banda eliminada. Multibanda. Pasa todo. Resonador. Oscilador. Filtro peine (Comb filter). Filtro ranura o filtro rechaza banda (Notch filter).

De acuerdo con su orden:


o o

Primer orden Segundo orden , etc

De acuerdo con el tipo de respuesta ante entrada unitaria:


o

FIR (Finite Impulse Response)

o o

IIR (Infinite Impulse Response) TIIR (Truncated Infinite Impulse Response)

De acuerdo con la estructura con que se implementa:


o o o

Laticce Varios en cascada Varios en paralelo

En el presente curso nos centraremos en los filtros de acuerdo con el tipo de respuesta ante la entrada unitaria o impulso unitario.

IIR es una sigla en ingls que representa Infinite Impulse Response o Respuesta infinita al impulso. Se trata de un tipo de filtros digitales en el que, como su nombre indica, si la entrada es una seal impulso, la salida tendr un nmero infinito de trminos no nulos, es decir, nunca vuelve al reposo. La salida de los filtros IIR depende de las entradas actuales y pasadas, y adems de las salidas en instantes anteriores. Esto se consigue mediante el uso de realimentacin de la salida.

yn = b0 xn + b1 xn1 + ... + bN xn N a1 y n1 a2 yn2 ... aM ynM

Donde a y b son los coeficientes del filtro. El orden es el mximo entre los valores de M y N. Aplicando la transformada Z a la expresin anterior:

H ( z) =

b z
k k =0 N k =1

1 ak z k

Hay numerosas formas de implementar los filtros IIR. La estructura afecta a las caractersticas finales que presentar el filtro como la estabilidad. Otros parmetros a tener en cuenta a la hora de elegir una estructura es el gasto computacional que presenta. En la igura 18 se representa el modelo de una estructura de un filtro IIR.

Figura 18. Estructura de un filtro IIR http://es.wikipedia.org/wiki/Archivo:IIR-filter.png Polos y ceros Este tipo de filtros presenta polos y ceros que determina la estabilidad y la causalidad del sistema. Cuando todos los ceros estn en el interior de la circunferencia unidad se dice que es fase mnima. Si todos estn en el exterior es fase mxima. Si algn polo est fuera de la circunferencia unidad el sistema es inestable. Diseo de filtros IIR Las formas habituales de disear este tipo de filtros son: * Indirecta (a partir de prototipos analgicos) Impulso invariante Aproximacin de derivadas Transformacin bilineal * Directa Aproximacin de Pad Aproximacin de mnimos cuadrados Caractersticas

Diseo de Filtros IIR con MATLAB


Uno de los softwares ms importantes a nivel del procesamiento de seales es el software MatLab, el cual permite brindarle informacin rpida y precisa de los sistemas diseados tanto en forma anloga como en forma digital. Dentro de los trabajos desarollados en el curso se explicaran los filtros mas practicos y de fcil implementacin. Filtro butterworth En Matlab se puede encontrar la instruccin Butter , este comando disea filtros Butterwoth pasa-bajas, pasa-altas, pasa-bandas y rechaza bandas tanto en forma digital como analgica. Este filtro se caracteriza por una respuesta plana en la banda de transicin. El parmetro del filtro esta descrito en MatLab de la siguiente forma [B,A] = butter(N,Wn) donde B y A son los coeficientes del numerador y del denominador respectivamente, en orden decreciente de un filtro de Butterworth digital. N es el orden del filtro (calculado previamente) y Wn es la frecuencia de corte. El valor de Wn debe estar normalizado con la frecuencia de Nyquist. Para disear un filtro pasobajas Wn es un escalar entre (0,1). La pasa banda es (0,Wn) y el rechaza banda es (Wn,1). Para disear un filtro de pasoalto, el comando a escribir es: [B,A] = butter(N,Wn,high)

en donde Wn es un escalar. Por ejemplo: Disear un filtro butter de segundo orden con frecuencia de corte de 300Hz. Para este ejercicio implementamos en MatLab con las especificaciones anteriormenete mostradas: [b,a]=butter(2,300/500,'high') Para conocer los valores de los coeficientes a y b, simplemente se colocan las variables en la barra de trabajo y seoprime enter. El software inmediatamente le mostrar los valorescorrespondientes alas variables.

b= 0.2066 -0.4131 0.2066

a= 1.0000 0.3695 0.1958

como se puede observar el filtro genero en a y b los coeficientes del proceso de filtrado. Ahora es necesario representar este resultado en los componentes en magnitud y fase, como se describen a continuacin.

freqz(b,a,128,1000)
0 M agnitude (dB ) -20 -40 -60 -80 -100

50

100

150

200

250

300

350

400

450

500

F requenc y (Hz ) 200 P has e (degrees ) 150 100 50 0

50

100

150

200

250

300

350

400

450

500

F requenc y (Hz )

Como se puede observar que al llegar a 300Hz se encuentra el primer polo y se empieza a atenuar las frecuencias arriba de ste punto. De la misma forma en la grfica de fase se puede ver que tiene una respuesta lineal. Realizando el mismo sistema cambindolo a orden 10 tenemos [b,a]=butter(10,300/500,'high') b= Columns 1 through 7 0.0005 -0.0050 0.0225 -0.0599 0.1049 -0.1259 0.1049

Columns 8 through 11 -0.0599 0.0225 -0.0050 0.0005

a= Columns 1 through 7 1.0000 1.9924 3.0195 2.8185 2.0387 1.0545 0.4144

Columns 8 through 11

100 M agnitude (dB ) 0 -100 -200 -300 -400

50

100

150

200

250

300

350

400

450

500

F requenc y (Hz ) 200 P has e (degrees ) 0 -200 -400 -600 -800

50

100

150

200

250

300

350

400

450

500

F requenc y (Hz )

Al compararlo con el ejercicio anterior se puede evidenciar que el polo del sistema se precisa a los 300 Hz a medida que el orden del filtro aumenta. Para analizar los filtros pasabanda y rechaza banda se analizara en primera instancia el filtro pasabanda. Se debe recordar que los filtros pasabanda tienen la caracterstica de dejar pasar las frecuencias en la banda estipulada y rechazar las frecuencias que no se encuentren dentro de las especificadas. De igual forma, los filtros rechaza banda rechazan las frecuencias en la banda estipulada y permitirn pasar las otras frecuencias. A manera de ejemplo se pide disear por medio de software MatLab un filtro pasabanda con frecuencias entre los 100 y 200Hz, de orden cuatro. La nomenclatura del software le permite disear el butter de la siguiente forma: [B,A] = butter(N,[W1 W2]) Es decir, Wn es en este caso un vector que especifica las frecuencias de la banda pasante. Tambien la respuesta del filtro variar deacuerdo a la aplicacin en donde se requiera y el orden del filtro estipulado. n=4; Wn=[100 200]/500; [b,a]=butter(n,Wn,'bandpass'); freqz(b,a,128,1000)

50 M agnitude (dB ) 0 -50 -100 -150 -200

50

100

150

200

250

300

350

400

450

500

F requenc y (Hz ) 0 P has e (degrees ) -200 -400 -600 -800

50

100

150

200

250

300

350

400

450

500

F requenc y (Hz )

Al observar la respuesta en magnitud y fase se evidencia que la respuesta plana del filtro se encuentra entre los 100 y 200Hz. Realicemos el mismo ejemplo para un filtro rechazabanda n=4; Wn=[100 200]/500; [b,a]=butter(n,Wn,'stop'); freqz(b,a,128,1000);

0 M agnitude (dB ) -50 -100 -150 -200

50

100

150

200

250

300

350

400

450

500

F requenc y (Hz ) 0 P has e (degrees ) -200 -400 -600 -800

50

100

150

200

250

300

350

400

450

500

F requenc y (Hz )

La respuesta plana del sistema nos indica la frecuencia que el filtro deja pasar.

Filtro Chebyshev

Como pudo observarse para frecuencias de cercanas a las de corte la respuesta del filtro Butterworth no es aceptable, especialmente si el filtro es de orden bajo. Los filtros Chebyshev poseen mejor respuesta para este tipo de frecuencias pero

presentan un rizado (RIPPLES) en la banda pasante, es decir, en la respuesta plana del filtro. En MatLab se encuentran el filtro Chebyshev de tipo I y II. El Chebyshev de tipo I presenta el rizado en la banda pasante y el Chebyshev de tipo II, presenta el rizado en la banda de rechazo. Ambos tipos se pueden implementar tanto en filtros Chebyshev anlogos como digitales. Una de las caractersticas fundamentales del filtro tipo I es que la frecuencia de corte Wn (la cual es la frecuencia a la cual la respuesta de magnitud del filtro es igual a Rp decibelios) osicla entre 0 y 1, donde 1 corresponde a la mitad de la frecuencia de muestreo (frecuencia de Nyquist). Si Wn es un vector de dos elementos el filtro se vuelve un filtro pasa banda de 2*n. Ejemplo: Para los datos muestreados a 1000Hz, disear un filtro Chevyshev tipo I paso baja de noveno orden con 0.5 dB de rizado en la banda pasante y frecuencia de corte de 300 Hz. % Programa que permite analizar el comportamiento del filtro Cheby [b,a] = cheby1(9,0.5,300/500); freqz(b,a,512,1000); Siguiendo la estructura dada por MatLab se obtiene la siguiente respuesta del filtro Cheby de tipo I.

0 M agnitude (dB ) -100 -200 -300 -400

50

100

150

200

250

300

350

400

450

500

F requenc y (Hz ) 0 P has e (degrees ) -200 -400 -600 -800 -1000

50

100

150

200

250

300

350

400

450

500

F requenc y (Hz )

Analizando la respuesta del filtro se puede observar el comportamiento del filtro en la parte plana de la banda pasante y la atenuacin que sufre a partir de la frecuencia de corte de 300 Hz. Ahora se disear un filtro Chebyshev tipo II pasabaja de noveno orden de atenuacin de la banda de rechazo de 20dB por debajo de la banda pasante y frecuencia de corte de 300Hz, cuyos datos estn muestreados a una frecuencia de 1000Hz. % Programa que permite analizar el comportamiento del filtro cheby2 [b,a] = cheby2(9,20,300/500); freqz(b,a,512,1000); Se puede observar los valores generados en b y a

b= Columns 1 through 7 0.2957 1.6448 4.7316 8.9479 12.1138 12.1138 8.9479

Columns 8 through 10 4.7316 a= Columns 1 through 7 1.0000 3.7380 8.0423 11.6797 12.3844 9.7817 5.7220 1.6448 0.2957

Columns 8 through 10 2.3861 0.6459 0.087x4

0 M agnitude (dB ) -20 -40 -60 -80

50

100

150

200

250

300

350

400

450

500

F requenc y (Hz ) 100 P has e (degrees ) 0 -100 -200 -300 -400

50

100

150

200

250

300

350

400

450

500

F requenc y (Hz )

Como se haba mencionado anteriormente el filtro presente un rizado en la banda de rechazo de Rs decibelios por debajo del valor pico de la banda pasante. Ahora se realizar un diseo de un Cheby tipo II de banda pasante de quinto orden con banda pasante de 100 a 200 Hz y adems se deber dibujar la respuesta al impulso del filtro. % Programa que permite analizar el comportamiento del filtro cheby2 n=5; r=20; Wn=[100 200]/500 [b,a]= cheby2(n,r,Wn); freqz(b,a,512,1000);

0 M agnitude (dB ) -100 -200 -300 -400

50

100

150

200

250

300

350

400

450

500

F requenc y (Hz ) 400 P has e (degrees ) 200 0 -200 -400

50

100

150

200

250

300

350

400

450

500

F requenc y (Hz )

Se sigue observando el rizado del filtro en las bandas de rechazo y se muestra los picos mximos y mnimos arrojados por el filtro en la grafica de la fase, los cuales estn comprendidos en la banda pasante de 100 a 200 Hz. Para dibujar la respuesta al impulso del filtro se realiza a travs del siguiente comando. [y,t] = impz(b,a,101); stem(t,y);

0.2

0.15

0.1

0.05

-0.05

-0.1

-0.15

-0.2

10

20

30

40

50

60

70

80

90

100

Filtos Elpticos Los filtros elpticos tienen la propiedad de ofrecer caractersticas rolloff ms abruptas que los filtros Butterworth y Chebyshev, pero son equirrizados tanto en la banda pasante como en la banda de rechazo. Los filtros elpticos cumplen especificaciones de funcionamiento con un orden ms bajo que cualquier otro filtro. Para datos muestreados a 1000 Hz, disear un filtro eliptico pasa bajos de sexto orden con una frecuencia de corte de 300 Hz, 3 dB de rizado en la banda pasante y 50 dB de rizado en la banda de rechazo. % Programa que permite analizar el comportamiento del filtro elptico

[b,a]= ellip(6,3,50,300/500); freqz(b,a,512,1000);

n=12; Rp=0.5; Rs=20; Wn=[100 200]/500 [b,a]= ellip(n,Rp,Rs,Wn); [y,t]= impz(b,a,101); stem(t,y);

0 M agnitude (dB ) -20 -40 -60 -80 -100

50

100

150

200

250

300

350

400

450

500

F requenc y (Hz ) 200 P has e (degrees ) 0 -200 -400 -600

50

100

150

200

250

300

350

400

450

500

F requenc y (Hz )

0.2

0.15

0.1

0.05

-0.05

-0.1

-0.15

-0.2

10

20

30

40

50

60

70

80

90

100

Realicemos el mismo ejercicio para un filtro elptico pasa altos de orden 12 con frecuencia de corte de 200 Hz.

% Programa que permite analizar el comportamiento del filtro elptico n=12; Rp=0.5; Rs=20;

Wn=[200]/500 [b,a]= ellip(n,Rp,Rs,Wn,'high'); freqz(b,a,512,1000); figure [y,t]= impz(b,a,101); stem(t,y);

20 M agnitude (dB ) 0 -20 -40 -60 -80

50

100

150

200

250

300

350

400

450

500

F requenc y (Hz ) 400 P has e (degrees ) 300 200 100 0 -100

50

100

150

200

250

300

350

400

450

500

F requenc y (Hz )

0.6 0.5 0.4 0.3 0.2 0.1 0 -0.1 -0.2 -0.3 -0.4

10

20

30

40

50

60

70

80

90

100

La grafica muestra una respuesta ms plana en la banda pasante debido al aumento del orden del filtro.

Requerimientos y especificaciones de filtrado. El objetivo de diseo de un filtro es producir una alteracin dependiente de la frecuencia sobre una secuencia de datos. Otras especificaciones ms precisas marcan el rizado de la banda de paso (Rp), el rechazo a la banda atenuada (Rs) y la anchura de la banda de transicin (Ws - Wp). Una de las ventajas de los filtros IIR es que al tener ceros y polos es necesario un menor nmero de coeficientes para realizar un determinado filtrado. Dentro de los inconvenientes encontramos que la presencia de polos puede producir inestabilidades, ellos no garantizan que la fase de su funcin de transferencia sea

lineal y adems, la implementacin hardware es ms compleja que en el caso de filtros FIR.

Capitulo 5. Filtros FIR (Filtros de Respuesta Infinita)

FIR es un acrnimo en ingls para Finite Impulse Response o Respuesta finita al impulso. Se trata de un tipo de filtros digitales en el que, como su nombre indica, si la entrada es una seal impulso, la salida tendr un nmero finito de trminos no nulos. Para obtener la salida slo se basan en entradas actuales y anteriores. Su expresin en el dominio n es:

En la expresin anterior N es el orden del filtro, que tambin coincide con el nmero de trminos no nulos y con el nmero de coeficientes del filtro. Los coeficientes son bk.

La salida tambin puede expresarse como la convolucin de la seal de entrada x (n) con la respuesta impulsional h (n):

Aplicando la transformada Z a la expresin anterior:

Estructura La estructura bsica de un FIR es:

Figura 19. Estructura de ul filtro FIR http://es.wikipedia.org/wiki/FIR En la figura 19 los trminos  son los coeficientes y los T son retardos.

Pueden hacerse multitud de variaciones de esta estructura. Hacerlo como varios filtros en serie, en cascada, etc. Estos filtros tienen todos los polos en el origen, por lo que son estables. Los ceros se presentan en pares de recprocos si el filtro se disea para tener fase lineal

Los filtros FIR tienen la gran ventaja de que pueden disearse para ser de fase lineal, lo cual hace que presenten ciertas propiedades en la simetra de los coeficientes. Este tipo de filtros tiene especial inters en aplicaciones de audio. Adems son siempre estables.

Diseo de filtros FIR Hay tres mtodos bsicos para disear este tipo de filtros:

Mtodo de las ventanas. Las ms habituales son:


o o o o o o

Ventana rectangular Ventana de Barlett Ventana de Hanning Ventana de Hamming Ventana de Blackman Ventana de Kaiser

Muestreo en frecuencia. Rizado constante (Aproximacin de Cheby y algoritmo de intercambio de Remez). Mnimos Cuadrados

Los filtros FIR tienen la desventaja de necesitar un orden mayor respecto a los filtros IIR para cumplir las mismas caractersticas. Esto se traduce en un mayor gasto computacional. La tcnica de ventaneo se basa en a la respuesta de un filtro aplicarle la ventana deseada por medio de una multiplicacin de sus ecuaciones, la ventana hace que en el filtro real diseado se tengan menos variaciones de transicin o supresin y con esto se logre y filtrado ms efectivo.

Funciones de MATLAB para realizar filtros FIR De la forma ms interesantes de entender las aplicaciones de las tcnicas de ventaneo es realizar las prcticas a travs del software MatLab. La Funcin FIR1 >> B = fir1(N,Wn,type,window); Disea un filtro FIR pasobajo de orden N (longitud N+1) y frecuencia de corte Wn (normalizada con respecto a la frecuencia de Nyquists, 0 <Wn < 1). Se pueden especificar otro tipo de filtros de la misma forma que con los filtros IIR mediante el parmetro type. Por ejemplo, se disear un filtro rechazabanda diselpara un filtro parabanda: >> B = fir1(N,[W1 W2],'stop'); Por defecto la funcin FIR usa la ventana de Hamming. Otro tipo de ventanas pueden tambin especificarse: >> B = fir1(N,Wn,bartlett(N+1)); >> B = fir1(N,Wn,'high',chebwin(N+1,R));

La Funcin FIR2 >> B = fir2(N,F,M,window);

Disea un filtro FIR utilizando el mtodo del muestreo frecuencial. Los parmetros de entrada es el orden del filtro N, la (longitud N+1) y dos vectores F y M que especifican la frecuencia y la magnitud, de forma que plot(F,M) es una grfica de la respuesta deseada del filtro.

Se pueden indicar saltos bruscos en la respuesta frecuencial duplicando el valor de la frecuencia de corte. F debe estar entre 0 y 1, en orden creciente, siendo el primer elemento igual a 0 y el ltimo 1. El parmetro window indica el tipo de ventana a utilizar. Por defecto, usa la ventana de Hamming. >> B = fir2(N,F,M,bartlett(N+1)); Se pueden especificar ms parmetros en esta funcin, >> B = fir2(N,F,M,npt,lap,window); La funcin fir2 interpola la respuesta frecuencial deseada (F,M) con n puntos (por defecto, npt=512). Si dos valores sucesivos de F son iguales, se crea una regin de lap puntos alrededor de este punto (por defecto, lap=25). Funcin FIRLS >> B = firls(N,F,M); Diseo de filtros FIR usando la minimizacin del error por mnimos cuadrados. Los argumentos de entrada son el orden del filtro N, y dos vectores F y M, cuyo formato difiere de los anlogos en la funcin fir2. El filtro obtenido es la mejor aproximacin a (F,M) por mnimos cuadrados

Dentro de las Ventajas de los filtros FIR estn: Pueden disearse con fase perfectamente lineal. Son incondicionalmente estables. Implementacin hardware es sencilla Dentro del los Inconvenientes de los filtros FIR se encuentra que es necesario un gran nmero de coeficientes para conseguir las prestaciones que dara un filtro IIR de orden mucho menor.

Analisis de Filtros por medio del software MatLab


A continuacin se desarrollaran una serie de filtros practicos que permitirn aprender los procesos de diseo y los conceptos fundamentales que lo encierran. En esta primera parte se utilizar la funcin fir1, la cual ya se explico anteriormente, se podrn observar la importancia del orden de los filtros y al mismo tiempo el tipo del filtro. % Ejercicios de la funcin FIR1 Disear un filtro de orden 4, basabajos. Determinar el espectro en magnitud y fase del filtro. N=4; Wn=100/1000; B = fir1(N,Wn,'stop'); freqz(B);title('filtro FIR1, de orden 4. Pasa Bajo');

0 M agnitude (dB )

-10

-20

-30

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Norm aliz ed A ngular Frequenc y ( rads /s am ple) filtro F IR1, de orden 4. P as a B ajo 0 P has e (degrees ) -100 -200 -300 -400

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Norm aliz ed A ngular Frequenc y ( rads /s am ple)

Como se puede apreciar este tipo de filtro presenta una cada muy sueve y no presenta rizado en su decaimiento. Tambien se debe analizar que es necesario normalizar la frecuencia angular para cumplir que 0<Wn<1. Ahora, se observar el mismo filtro pero realizando un aumento en el orden del filtro. N=6; Wn=100/1000; B = fir1(N,Wn,'stop'); freqz(B);title('filtro FIR1, de orden 6. Pasa Bajo');

0 M agnitude (dB ) -20 -40 -60 -80 -100

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Norm aliz ed A ngular Frequenc y ( rads /s am ple) filtro F IR1, de orden 6. P as a B ajo 0 P has e (degrees ) -100 -200 -300 -400 -500

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Norm aliz ed A ngular Frequenc y ( rads /s am ple)

N=10; Wn=100/1000; B = fir1(N,Wn,'stop'); freqz(B);title('filtro FIR1, de orden 10. Pasa Bajo');

0 M agnitude (dB ) -20 -40 -60 -80 -100

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Norm aliz ed A ngular Frequenc y ( rads /s am ple) filtro F IR1, de orden 10. P as a B ajo 0 P has e (degrees ) -100 -200 -300 -400 -500

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Norm aliz ed A ngular Frequenc y ( rads /s am ple)

N=4; Wn=100/1000; B = fir1(N,Wn,'high'); freqz(B);title('filtro FIR1, de orden 4. Pasa alto');

0 M agnitude (dB ) -0.5 -1 -1.5 -2 -2.5

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Norm aliz ed A ngular Frequenc y ( rads /s am ple) filtro F IR1, de orden 4. P as a alto 0 P has e (degrees ) -100 -200 -300 -400

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Norm aliz ed A ngular Frequenc y ( rads /s am ple)

N=6; Wn=100/1000; B = fir1(N,Wn,'high'); freqz(B);title('filtro FIR1, de orden 4. Pasa alto');

0 M agnitude (dB ) -1 -2 -3 -4

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Norm aliz ed A ngular Frequenc y ( rads /s am ple) filtro F IR1, de orden 6. P as a alto 0 P has e (degrees )

-200

-400

-600

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Norm aliz ed A ngular Frequenc y ( rads /s am ple)

N=10; Wn=100/1000; B = fir1(N,Wn,'high'); freqz(B);title('filtro FIR1, de orden 10. Pasa alto'); % Filtro Rechaza banda

2 M agnitude (dB ) 0 -2 -4 -6 -8

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Norm aliz ed A ngular Frequenc y ( rads /s am ple) filtro F IR1, de orden 10. P as a alto 0 P has e (degrees ) -200 -400 -600 -800 -1000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Norm aliz ed A ngular Frequenc y ( rads /s am ple)

N=6; Wn=[60 80]/1000; B = fir1(N,Wn,'stop');title('filtro FIR1, de orden 6. Pasabanda. con Ventana Hamming'); freqz(B)

0.8 M agnitude (dB ) 0.6 0.4 0.2 0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Norm aliz ed A ngular Frequenc y ( rads /s am ple) filtro F IR1, de orden 6. Rec haz a banda. c on V entana Ham m ing 0 P has e (degrees )

-200

-400

-600

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Norm aliz ed A ngular Frequenc y ( rads /s am ple)

h=fir1(30,.2,hamming(31)); title('filtro FIR1, de orden 30. Pasabanda. con Ventana Hamming'); freqz(h)

0.8 M agnitude (dB ) 0.6 0.4 0.2 0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Norm aliz ed A ngular Frequenc y ( rads /s am ple) filtro F IR1, de orden 6. Rec haz a banda. c on V entana Ham m ing 0 P has e (degrees )

-200

-400

-600

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Norm aliz ed A ngular Frequenc y ( rads /s am ple)

h=fir1(30,.2,boxcar(31)); freqz(h); title('filtro FIR1, de orden 30. Pasabanda. con Ventana Boxcar');

50 M agnitude (dB ) 0 -50 -100 -150

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Norm aliz ed A ngular Frequenc y ( rads /s am ple) filtro F IR1, de orden 30. P as abanda. c on V entana B ox c ar 0 P has e (degrees ) -200 -400 -600 -800

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Norm aliz ed A ngular Frequenc y ( rads /s am ple)

figure h=fir1(30,.2,bartlett(31)); freqz(h);title('filtro FIR1, de orden 30. Pasabanda. con Ventana Bartlett');

0 M agnitude (dB ) -10 -20 -30 -40 -50

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Norm aliz ed A ngular Frequenc y ( rads /s am ple) filtro F IR1, de orden 30. P as abanda. c on V entana B artlett 0 P has e (degrees )

-1000

-2000

-3000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Norm aliz ed A ngular Frequenc y ( rads /s am ple)

h=fir1(30,.2,chebwin(31,02)); freqz(h); title('filtro FIR1, de orden 30. Pasabanda. xxxx con Ventana Chebwin'); %Hfir1=abs(freqz(h));

50 M agnitude (dB )

-50

-100

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Norm aliz ed A ngular Frequenc y ( rads /s am ple) filtro F IR1, de orden 30. P as abanda. Con V entana Chebwin 0 P has e (degrees ) -200 -400 -600 -800

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Norm aliz ed A ngular Frequenc y ( rads /s am ple)

% Generar en una sola figura lo una seal

N=46; Fs=11020; Fy=Fs/2; Rfir1= fir1(N,[30 3500]/Fy); Rfir2= fir2(N,[0 10 30 3500 3600 Fy]/Fy,[0 0 1 1 0 0]); Rfirls= firls(N,[0 10 30 3500 3600 Fy]/Fy,[0 0 1 1 0 0]); Rremez= remez(N,[0 10 30 3500 3600 Fy]/Fy,[0 0 1 1 0 0]); F=0:10:5000; Hfir1=abs(freqz(Rfir1,1,F,Fs)); Hfir2=abs(freqz(Rfir2,1,F,Fs));

Hfirls=abs(freqz(Rfirls,1,F,Fs)); Hremez=abs(freqz(Rremez,1,F,Fs)); semilogy(F,Hfir1,'r',F,Hfir2,'b',F,Hfirls,'g',F,Hremez,'m'), Se tiene la siguiente no menclatura generada por MatLab r: rojo b: azul g: verde m: magenta

10

10

10

-2

10

-4

10

-6

10

-8

500

1000

1500

2000

2500

3000

3500

4000

4500

5000

Esta ltimo ejemplo, se puede evidenciar las respuestas de los filtros por ejemplo el filtro firls tiene respuesta muy plana en su banda de paso, a diferencia del filtro remez que presenta un rizado muy notorio en la banda de paso.

Comandos MATLAB utilizados para generar los filtros

% Ventana RECTANGULAR M =15; N = [-M:M]; hn = -wc/pi*sinc(N*wc/pi); hn(M+1) = 1-wc/pi;

% Ventana HANN M =32; N = [-M:M]; hn = -wc/pi*sinc(N*wc/pi); hn(M+1) = 1-wc/pi; hn = hn.*hanning(2*M+1)0; % ventaneo

% Ventana HAMMING M =32; N = [-M:M]; hn = -wc/pi*sinc(N*wc/pi); hn(M+1) = 1-wc/pi; hn = hn.*hamming(2*M+1)0; % ventaneo

% Ventana BLACKMANN M =48; N = [-M:M]; hn = -wc/pi*sinc(N*wc/pi); hn(M+1) = 1-wc/pi; hn = hn.*blackman(2*M+1)0; % ventaneo

% Ventana KAISER [M,wn,Beta] = kaiserord([ws/pi,wp/pi],[0,1],[0.01 0.01]) N = [-M:M]; hn = -wc/pi*sinc(N*wc/pi); hn(M+1) = 1-wc/pi; hn = hn.*kaiser(2*M+1,Beta))0;

% Filtro con transicin suave; M = ceil((4*pi/(wp-ws)-1)/2); M = M+4; % aumentar M para cumplir las especs. N = [-M:M]; P = 2;0.624*(wp-ws)*2*M

http://www.ingelec.uns.edu.ar/pds2803/Materiales/Cap12/12-Cap12.pdf

CONCEPTOS EN TORNO AL TRATAMIENTO DE IMGENES

UNIDAD 3 APLICACIONES DE LOS FILTROS DIGITALES Aplicaciones de los filtros digitales Capitulo 6. Aplicaciones
Algunas de las aplicaciones ms importantes de los filtros digitales encontramos: Diferenciadores Transformacin Hilbert Filtros Peine Filtros Noctch

A continuacin se describirn algunas de estas aplicaciones En el procesamiento de seales, un filtro comb (o peine) se produce al sumarle a la seal original una versin retrasada en el tiempo de s misma, causando as interferencia constructiva y destructiva. La respuesta en frecuencia de un filtro comb consiste en una serie de picos regularmente espaciados, cuya figura se asemeja a la de un peine (comb, en ingls). Los filtros comb se pueden identificar de acuerdo al tipo de seal sumada a la entrante. Si slo depende de los valores previos en la entrada se denomina feedforward o filtro FIR (de Finite Impulse Response: respuesta a impulso finita), y si depende slo de los valores previos de la salida se llama feedback o filtro IIR (respuesta a impulso infinita). Se pueden implementar en un dominio temporal discreto o contnuo; este artculo se basar en implementaciones en tiempo discreto; las propiedades de los filtros en el dominio temporal contnuo son muy similares.

La estructura general de un filtro comb feedforward es descripta por la siguiente ecuacin recurrente:

donde K es el tamao del retraso (medido en muestras), y . HV XQ IDFWRU GH escalamiento aplicado a la seal retrasada. Si tomamos la transformada Z en ambos lados de la ecuacin, obtenemos:

Podemos entonces definir la funcin de transferencia de la siguiente manera:

Respuesta en frecuencia

Para obtener la respuesta en frecuencia de un sistema temporalmente discreto expresado en el dominio complejo Z, hacemos la sustitucin z = ej. Para nuestro filtro comb FIR tenemos:

Uno de los parmetros de inters es su respuesta en magnitud, ignorando la fase. sta queda definida como:

En el caso de un filtro FIR es:

Ntese que el trmino (1 + .2) es constante, con lo que el trmino 2.FRV K) vara peridicamente. Por lo tanto la respuesta en magnitud de un filtro FIR es peridica. Los grficos a la derecha muestran la respuesta en magnitud para varios valores
GH

.GHPRVWUDQGRHVWDSHULRGLFLGDG$OJXQDVSURSLHGDGHVLPSRUWDQWHV

La respuesta peridicamente decae hasta un mnimo local (conocido a veces como notch), y luego crece hasta un mximo local (tambin conocido como peak). Los niveles mximos y mnimos estn siempre equidistantes de 1. Cuando como cero. El mximo de los valores positivos de . FRLQFLGH FRQ HO Pnimo de los valores
QHJDWLYRVGH

, el mnimo tiene amplitud 0. En este caso el mnimo es conocido

.\YLFHYHUVD

Los filtros comb son utilizados en una variedad de aplicaciones de procesamiento de seales. Algunas de ellas son: Filtros comb integradores en cascada (Cascaded Integrator-Comb -CIC-), comnmente usados para lograr un efecto anti-alias durante la interpolacin y las operaciones de diezmado(dsp) que cambian la frecuencia de muestreo de un sistema en el tiempo discreto. Filtros comb en 2 dimensiones y 3 dimensiones son implementados en hardware (y ocasionalmente software) para decodificadores de la norma televisiva NTSC. Los filtros trabajan reduciendo artefactos como el Dot crawl (ingls). Efectos de audio, incluyendo eco y flanging. Por ejemplo, si el retraso definido es de unos pocos milisegundos, un filtro comb puede ser usado para modelar el efecto de una onda estacionaria acstica dentro de una cavidad cilndrica. Obtenido de "http://es.wikipedia.org/wiki/Filtro_comb" Diferenciadores En esta seccin se aprender a utilizar la funcin firls y su aplicacin como diferenciador. N representa el orden de cada filtro. Tambien se debe observar que se realiza un barrido para una frecuencia de corte normalizada Fc. Se puede ir variando estos valores y analizar cual es el comportamiento del filtro. Desde el punto de vista de los circuitos anlogos se puede entender un circuito diferenciador como aque que se trata de un circuito constituido por una capacidad C y una resistencia R (circuito RC), el cual acta como un filtro pasivo para altas frecuencias, debido a que no intervienen elementos amplificadores, como

transistores o circuitos integrados, este tipo de filtro atena las bajas frecuencias segn la formula emprica de la derecha:

Este circuito se utiliza para detectar flancos de subida y bajada en una seal, provocando una mayor diferenciacin en los flancos de entrada y salida de la seal que, es donde la variacin con el tiempo (t) se hace ms notoria. Estas zonas de la seal son adems las que corresponden a las altas frecuencias, mientras que las zonas planas estn compuestas por frecuencias ms bajas. Aplicacin del filtro en MatLab. % Disear un diferenciador con un frecuencia de corte normalizada % para Fc= 0.4 Fc=0.4; N1=30; N2=20; N3=10; R1=firls(N1,[0 0.3 0.4 0.5]*2,[0 0.4 0 0]*2*pi,'differentiator'); R2=firls(N2,[0 0.3 0.4 0.5]*2,[0 0.4 0 0]*2*pi,'differentiator');

R3=firls(N3,[0 0.3 0.4 0.5]*2,[0 0.4 0 0]*2*pi,'differentiator'); [H1,W1]= freqz(R1,1,500); [H2,W2]= freqz(R2,1,500); [H3,W3]= freqz(R3,1,500); plot(W1/(2*pi), abs(H1),'r',W2/(2*pi), abs(H2),'g',W3/(2*pi), abs(H3),'b');

2.5

1.5

0.5

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

0.5

figure

Fc=0.4; N1=30; N2=20; N3=10; R1=remez(N1,[0 0.3 0.4 0.5]*2,[0 0.4 0 0]*2*pi,'differentiator'); R2= remez(N2,[0 0.3 0.4 0.5]*2,[0 0.4 0 0]*2*pi,'differentiator'); R3= remez (N3,[0 0.3 0.4 0.5]*2,[0 0.4 0 0]*2*pi,'differentiator'); [H1,W1]= freqz(R1,1,500); [H2,W2]= freqz(R2,1,500); [H3,W3]= freqz(R3,1,500); plot(W1/(2*pi), abs(H1),'r',W2/(2*pi), abs(H2),'g',W3/(2*pi), abs(H3),'b');

2.5

1.5

0.5

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

0.5

figure Fc=0.04; N1=30; N2=20; N3=10; N4=5; R1=firls(N1,[0.04 0.4]*2,[1 1],'hilbert'); R2=firls(N2,[0.04 0.4]*2,[1 1],'hilbert'); R3=firls(N3,[0.04 0.4]*2,[1 1],'hilbert'); R4=firls(N4,[0.04 0.4]*2,[1 1],'hilbert');

[H1,W1]= freqz(R1,1,500); [H2,W2]= freqz(R2,1,500); [H3,W3]= freqz(R3,1,500); [H4,W4]= freqz(R4,1,500); plot(W1/(2*pi), abs(H1),'r',W2/(2*pi), abs(H2),'g',W3/(2*pi), abs(H3),'b',W4/(2*pi), abs(H4),'y');hold;

1.4

1.2

0.8

0.6

0.4

0.2

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

0.5

Capitulo 7: Procesamiento de imagenes

El trmino imagen se refiere a una distribucin bidimensional de intensidad de luz f(x,y), donde x y y representan las coordenadas espaciales y el valor de f en un punto cualquiera (x,y) es proporcional al brillo de la imagen en ese punto.

Una

imagen digital es una imagen f(x,y) que se ha discretizado tanto en las

coordenadas espaciales como en el brillo. Una imagen digital en grises puede considerarse como una matriz cuyos ndices de fila y de columna identifican un punto de la imagen y el valor del correspondiente elemento de la matriz indica el nivel de gris en ese punto.

Modelo de imagen simple


El trmino imagen se refiere a una funcin bidimensional de la luz y la intensidad, la que se indica por f(x,y), donde el valor o amplitud de f en las coordenadas espaciales (x,y) da la intensidad (iluminacin) de la imagen en este punto. Puesto que la luz es una forma de energa, f(x,y) debe ser estrictamente mayor que cero y finita, es decir:

0 < f (x, y ) < Las imgenes que se perciben en las actividades visuales cotidianas provienen normalmente de la luz reflejada por los objetos. La naturaleza bsica de f(x,y) puede estar caracterizada por dos componentes segn la cantidad de luz procedente de la fuente sobre la escena. De forma apropiada, reciben el nombre de componentes de iluminacin y reflectancia, y se indican por i(x,y) y r(x,y) respectivamente. Las funciones i(x,y) y r(x,y) se combinan, como producto, para dar f(x,y )

f (x, y ) = i (x, y ) r (x, y )


donde

0 < i (x, y) <


y

0 < r (x, y) <1


La ecuacin r

(x, y)

indica que la reflectancia est acotada entre 0 (absorcin

total) y 1 (reflexin total). La naturaleza de i(x,y) esta determinada por la fuente de luz y r(x,y) est determinada por las caractersticas de los objetos de la escena.

En el procesamiento de imgenes, la informacin se extrae a partir de fotos, las cuales pueden ser electrnicas tomadas de una escena, textos impresos e ilustraciones, est compuesta de un nmero finito de elementos que tienen una particular localizacin y valor y se denominan elementos pictricos o ms comnmente, pxeles. A los pxeles se les asigna un valor tonal como matices de gris o un cdigo en binario (unos para blancos y ceros para negros) como se observa en la figura 6. Adems se tiene en cuenta el valor del pxel segn su representacin. Los dgitos binarios bits para cada pixel se almacenan en una secuencia y con frecuencia se los reduce a una representacin matemtica (comprimida). Luego la computadora interpreta y lee los bits para producir una versin analgica para su visualizacin.

Figura 20. Valores del pixel

. Disponible en: http://www.library.cornell.edu/preservation/tutorial-spanish/toc.html. Los pxeles se pueden ver de una forma individual aumentando la imagen por medio de zoom o ampliando su resolucin. La resolucin es la capacidad de distinguir los detalles. La profundidad de bits es determinada por la cantidad de bits utilizados para definir cada pxel. Cuanto mayor sea la profundidad de bits, mayor ser la cantidad de tonos que pueden ser representados. Una imagen a

escala de grises est compuesta por pxeles representados por mltiples bits de informacin, que tpicamente varan entre dos a ocho bits pero pueden ser ms. En el procesamiento de la imagen es importante reducir el tamao del archivo de imagen para su almacenamiento, tratamiento y transmisin. Todas las tcnicas de compresin abrevian la cadena de cdigo binario en una imagen sin comprimir, a una forma de abreviatura matemtica, basada en complejos algoritmos. Los mtodos para mejorar una imagen se pueden dividir en dos campos diferentes: mtodos en el dominio de la frecuencia y mtodos en el dominio espacial. Los primeros se basan en modificar la transformada de Fourier de la imagen y los segundos se basan en manipulaciones directas sobre los pxeles de la imagen.

Etapas fundamentales en procesamiento de imgenes


El tratamiento digital de imgenes comprende un amplio rango de hardware y software y recursos tcnicos necesarios para llevar a cabo las etapas fundamentales del procesamiento de una imagen. (Vase la Figura 20 ).

La primera etapa del proceso es la adquisicin de imgenes, es decir, la adquisicin de una imagen digital. Para ello se necesita un sensor de imgenes y la posibilidad de digitalizar la seal producida por el sensor. Si la salida de la cmara no est todava en forma digital, se emplea un convertidor anlogo-digital para digitalizarla.

Figura 20 . Etapas del procesamiento de imgenes.

Una vez que se ha obtenido la imagen digital, la siguiente etapa consiste en el preprocesamiento de dicha imagen. La funcin bsica del preprocesamiento es la de mejorar la imagen de forma que se aumenten las posibilidades de xito en los procesos posteriores.

Segmentacin: Es una operacin cuyo objetivo es agrupar reas de la imagen que tengan caractersticas similares dentro de entidades distintas para poder llegar a distinguir los objetos del fondo. Tiene una gran importancia para operaciones posteriores y requiere una serie de pasos de manipulacin que generarn una nueva imagen en la cual solo se observa el rea. La segmentacin de una imagen es un proceso de extraccin de objetos insertados en la escena capturada. La agrupacin de los pxeles se hace cuando tienen criterios similares, como la luminancia, el color, los bordes, las texturas, los movimientos. Una vez que la imagen ha sido dividida, estar definida por un conjunto de objetos. La informacin

estar preparada para el reconocimiento e interpretacin de la imagen. Para la segmentacin de las imgenes se usan tres conceptos bsicos: Similitud: Los pxeles agrupados del objeto deben ser similares respecto algn criterio (nivel de gris, color, borde, textura, etc.). Conectividad: Los objetos corresponden a reas de pxeles con conectividad. Las particiones corresponden con regiones continuas de pxeles. Discontinuidad: Los objetos tienen formas geomtricas que definen unos contornos. Estos bordes delimitan unos objetos de otros. Proceso de Binarizacin: Consiste en el paso de una imagen cromtica o monocromtica (escala de grises), a una imagen binaria mediante la conversin de pixeles con un nivel de gris comprendido entre 0 y 255 para imgenes monocromticas en pixeles de valores 0 1. Para ello debe fijarse un criterio de conversin, la llamada regla de binarizacin, basada en un intervalo crtico de tonos de gris. Cuando se mueve dentro del intervalo, los valores sern pasados a 1, fuera de ste, sern pasados a 0. Extraccin de caractersticas: Consiste en distinguir un objeto del otro, para ello se realiza mediante las caractersticas que identifican al objeto. Algunas de las caractersticas que se pueden utilizar son el rea, el dimetro y el permetro etc. Filtros: Las imgenes, una vez salen del dispositivo de captacin, no suelen permitir una segmentacin fcil. Ello puede suceder por diferentes motivos. Por ejemplo, la existencia de ruido de fondo hace confundir manchas con objetos o por la existencia de mrgenes difusos en los objetos y en ocasiones por existir un contacto entre objetos. Por estos motivos es necesario procesar la imagen mediante filtros antes de la binarizacin. El procedimiento se basa en la aplicacin

de operaciones aritmticas que producen cambios en la intensidad de luz en cada punto, en funcin del valor de los pixeles adyacentes. As, un filtro provocara cambios dependientes del entorno de los puntos. Hay distintos filtros y cada uno de ellos consigue un efecto particular sobre las imgenes. Existen varias clases de filtros atendiendo a los efectos que se consiguen al aplicarlos; dentro del desarrollo del software se utiliz el gaussiano, el laplaciano y de erosin-dilatacin debido a las caractersticas que presentan las cuales fueron las adecuadas. Filtros de erosin-dilatacin: Su utilizacin busca eliminar el contacto entre objetos. Esto se consigue tras una operacin consecutiva de erosin y dilatacin. La erosin, es el resultado de la aplicacin de la llamada regla de erosin: un pixel "blanco" (generalmente de objeto) pasa a "negro" si en su entorno inmediato existe al menos un pixel "negro". La erosin produce una disminucin del tamao de los objetos por prdida de pxeles marginales. La dilatacin, es el resultado de la aplicacin de la regla de dilatacin: un pixel "negro" (generalmente de fondo) pasa a "blanco" si en su entorno inmediato existe al menos un pixel "blanco". La dilatacin produce un aumento en el tamao de los objetos por adicin de pixeles marginales. La aplicacin consecutiva de un proceso de erosin y dilatacin, produce muy poco cambio en el tamao de los objetos y la prdida de los puntos de contacto entre ellos siempre que stos sean pequeos. Filtros Gaussianos: La imagen de salida est basada en una media local del filtro de entrada donde los coeficientes se ajustan a una gaussiana dependiente.

El Filtro Laplaciano calcula la segunda derivada que a partir de la expresin del operador Laplaciano se puede aproximar:

2 f 2 f + f (x + 1, y) + f (x 1, y) + f (x, y + 1) + f (x, y 1) 4 f (x, y) x2 dy2


Filtros detectores de bordes: Realizan otro tipo de operaciones con los datos, pero siempre con el resultado de enfatizar los bordes que rodean a un objeto en una imagen, para hacerlo ms fcil de analizar. Estos filtros tpicamente crean una imagen con lneas blancas y negras rodeando los bordes de los objetos y caractersticas de la imagen. La figura 21, muestra imgenes filtradas con deteccin de bordes utilizando filtros Gaussiano y Laplaciano. Imagen binaria (figura 21a), filtro gaussiano canny (figura 21b), filtro laplaciano log (figura 21c).

Figura 21 . Imagen binaria y filtros a) b) c)

Iluminacin: Las fuentes de luces no son iguales, dentro de estas se tienen: luz ambiente, fuentes de luz direccionales, fuentes de luz puntuales, fuentes de luz puntuales tipo spot que son aquellas en las cuales el haz de luz es puntual. Por lo tanto, cuando se hable del color o intensidad de una fuente o de un objeto, se

entender que es un vector de cuatro elementos, donde cada elemento ser un valor entre 0 y 1.

Los tres primeros indicarn el porcentaje de rojo (R), verde (G) y azul (B), definiendo el color, y el cuarto un factor de transparencia, denominado normalmente canal alpha (A): Color = (R, G, B, A) R : Red = Rojo; G : Green = Verde; B : Blue = Azul; A : Alpha = Transparencia Una buena iluminacin es importante en la toma de imgenes que luego sern procesadas. Eligiendo la tcnica adecuada de iluminacin se puede lograr un aumento en la confiabilidad del sistema y en su tiempo de respuesta. El ser humano usa un amplio rango de seales, obtenidas a partir del color, la perspectiva, el sombreado, y las experiencias individuales. La percepcin visual depende de la capacidad humana de realizar juicios. Sin embargo, un sistema de visin artificial no tiene una experiencia de base para comparar, todo debe estar especficamente definido. Problemas simples como encontrar una forma o definir un borde, se vuelven tareas complicadas de definicin en la visin artificial. Para reducir el nmero de variables, el sistema de visin debe trabajar con la mejor imagen que sea posible. sistema virtual. Una buena imagen es aquella que tiene el mayor contraste donde las reas de inters se destacan del fondo facilitando la tarea del

Figura 8. Fuente de luz puntual tipo spot

Disponible en: http://www.inmensia.com/articulos/raytracing/luces.html

La ltima etapa del proceso incluye el reconocimiento e interpretacin.

El

reconocimiento es el proceso que asigna una etiqueta a un objeto basndose en la informacin proporcionada por sus descriptores. La interpretacin implica asignar significado a un conjunto de objetos reconocidos. Aunque en este punto no se ha tratado explcitamente la presentacin de la imagen, es importante recordar que la visin de los resultados del procesamiento de imgenes puede realizarse a la salida de cada una de las etapas. Se observa que no todas las aplicaciones del procesamiento de imgenes necesitan la complejidad de interacciones implcitas. Numerosas aplicaciones prcticas se realizan mediante las funciones correspondientes al camino exterior visible en las etapas del procesamiento digital de imgenes. De hecho, en algunos casos ni siquiera son necesarios todos esos mdulos.

Teora de colores oponentes de Hering


Aunque el proceso seguido por el cerebro humano para percibir el color es un fenmeno psicofisiolgico que todava no se ha llegado a entender

completamente, la naturaleza fsica del color se puede expresar en una base formal corroborada por los resultados experimentales y tericos.

Bsicamente los colores que los seres humanos percibimos en un objeto estn determinados por la naturaleza de la luz reflejada por el objeto. La luz visible est formada por una banda de frecuencias relativamente estrecha del espectro electromagntico. Un cuerpo que refleje una luz relativamente equilibrada en todas las longitudes de onda aparece como blanco para el observador. Sin embargo, un cuerpo que tiene una mayor reflectancia en una determinada banda del espectro visible aparece como coloreado (Vase la Figura 22).

Figura 22. Diagrama de cromaticidad.

En el Siglo IXX el fisilogo Ewald Hering deriv por medio del anlisis de la visin subjetiva humana del color la idea de colores oponentes. Esta idea expona el

hecho de que ciertos colores no son percibidos juntos, no se mezclan. Nunca veremos amarillos azulosos o rojos verdosos. En la visin humana el detector amarillo siempre se encuentra inactivo cuando el detector azul est activo y viceversa. Una situacin similar ocurre con las neuronas correspondientes al rojo y verde (vase la Figura 23).

. Figura 23. Ilustracin del comportamiento de las celdas detectoras ante la presencia de colores oponentes.

Se defini as mismo un tercer par de colores oponentes, blanco y negro. Aunque este par de sensaciones son opuestas por naturaleza, no son oponentes como el azul y amarillo o el verde y rojo. La sensacin intermedia del gris es una mezcla de blanco y negro. La razn para esto es que la comparacin entre estos colores no es funcin de su longitud de onda sino de su energa. El blanco y el negro dependen de la absorcin luminosa y para el blanco o gris puro esta absorcin debe ser relativamente igual.

Actualmente se ha estandarizado la concepcin de color propuesta por YoungHelmholtz segn la cual todos los colores se ven como combinaciones variables de los denominados tres colores primarios, rojo (R) , verde (G) y azul (B), aunque tambin otros modelos de color han sido propuestos con la intencin de facilitar la especificacin de los colores de una forma normalizada y aceptada

genricamente, aparte del conocido modelo RGB, los ms utilizados son YIQ (luminancia, fase y cuadratura) y HSI ( tono, saturacin e intensidad).

En los problemas de procesamiento que involucran el tratamiento de imgenes a color real el modelo HSI es ampliamente utilizado ya que la componente de intensidad est desacoplada de la informacin cromtica, y las componentes de saturacin mantienen una alta relacin con la manera como el ser humano percibe el color. Sin embargo el caso especfico planteado en este proyecto consiste en la segmentacin de regiones partiendo del aislamiento de sus longitudes de onda, buscando disminuir efectos de distorsin en la percepcin de color producidos por variaciones de iluminacin, por lo tanto es ms conveniente buscar un modelo que permita mantener relaciones lineales con las componentes de colores primarios y as mismo asle la componente de intensidad de la componentes de color.

Partiendo del modelo estandarizado RGB es posible mediante una sencilla matriz de transformacin llegar al modelo de Hering. Despreciando entonces la componente Negro-Blanco (B-W), se adquiere toda la informacin cromtica de las componentes restantes Rojo-Verde (R-G) y Azul- Amarillo (B-Y) [7]. Transformacion

Conversin de los niveles de gris. Para obtener una imagen que pueda ser tratada por el computador es preciso someter la imagen a un proceso de discretizacin tanto en las coordenadas como en la intensidad, a este proceso se le denomina digitalizacin. La digitalizacin consiste en la descomposicin de la imagen en una matriz de m*n puntos, donde cada punto tiene un valor proporcional a su color. Cada elemento en que se divide la imagen recibe el nombre de "pxel" (picture element). La resolucin espacial de la imagen viene dada por el nmero de pxeles que tiene la imagen. Cuanto mayor sea este nmero mayor va a ser la resolucin. La resolucin cromtica depende del nmero de bits que se utilice para almacenar el valor de un pxel. Si se utiliza un bit se puede tener nicamente dos valores (0, 1) (blanco y negro), si se utiliza 4 bits el nmero posible de niveles de gris ser de 16 y si se utiliza 8 bits el nmero de niveles de gris posibles es de 256. Una transformacin adecuada de los niveles de gris puede mejorar sensiblemente la calidad de una imagen cuando sta es observada por una persona. Transformaciones geomtricas. Las transformaciones geomtricas son una serie de cambios en la imagen que tienen dos objetivos bsicos: Correccin de la perspectiva y reconstruccin tridimensional de los objetos de una escena. Transformacin del histograma. El histograma es una representacin grafica que permite obtener, informacin del contenido de una imagen. En el histograma el eje de las abscisas representa los niveles de gris y el de ordenadas, el nmero de pixeles de cada nivel. En ciertas escenas, como las que suelen aparecer en entornos industriales, el histograma

puede ser suficiente para separar objetos dentro de una imagen, con lo que se facilita considerablemente la etapa de interpretacin. Sin embargo, no siempre es factible sacar tanta informacin al histograma. En muchas aplicaciones, su manipulacin slo permite aumentar/disminuir el contraste de la imagen y el margen dinmico de los niveles de gris. Sus efectos son evidentes para un observador humano. Filtrado espacial y frecuencial. No es fcil decidir si estas operaciones, son absolutamente vitales en un sistema de visin por computador, pertenecen o no a la etapa de simple preprocesamiento, dada la gran modificacin que puede suponer respecto a la imagen original. Para evitar esta ambigedad, se considera que el filtrado es procesamiento previo cuando la transformacin operada sobre la imagen sea pequea. El filtrado espacial acta sobre los niveles de gris de los pxeles de la imagen. El filtrado frecuencial se basa en trabajar con la transformada discreta de Fourier de la imagen (una operacin costosa en tiempo y en memoria de computador) a la que se aplica un filtro bidimensional. En general, las operaciones de segmentacin de una escena, as como el nmero de clases de regiones y objetos a distinguir, dependern ntimamente de la propia escena y de la informacin que se busque dentro de la imagen. Las tcnicas de segmentacin, ya estn orientadas a objetos o agrupaciones de objetos, se pueden dividir en tres grupos: El primer grupo es la aplicacin de umbrales de nivel de gris, el segundo es la agrupacin por rasgos comunes, y el ltimo es la extraccin de bordes. La aplicacin de umbrales se basa en el empleo del histograma. Bsicamente, consiste en distinguir objetos individuales dentro de una escena a partir de sus

diferentes niveles de gris, para esto se pueden aplicar alguna de las siguientes formulas: g (x,y) = 1 0 g (x,y) = 1 0 g (x,y) = 1 0 si T I [\

en cualquier otro cas si T I [\

en cualquier otro caso si Ta


I [\ 7b

en cualquier otro caso

Si se conoce que los objetos tienen cierto intervalo. La seleccin del valor del umbral, se realiza generalmente a partir del histograma de la imagen. As si una imagen est compuesta de un objeto que aparece en la escena sobre un fondo, entonces es de esperar que el histograma sea bimodal, es decir, si por ejemplo el objeto es ms claro que el fondo, pues en el histograma aparecern dos picos, el ubicado en los valores de gris ms elevados correspondiente al objeto y otro pico para niveles de gris ms bajos, correspondientes al fondo. En la siguiente figura se muestra un histograma bimodal, en el cual el umbral se ubica entre los dos picos del histograma.

Figura 23. Histograma bimodal.

Fuente: Tratamiento digital de la imagen.

La seleccin automtica del umbral, es un problema difcil, debido a que el histograma no siempre es bimodal, en cuyo caso resulta necesario combinar la informacin espacial presente en la imagen, con la informacin referente al nivel de gris. A continuacin, se observa un ejemplo:

Figura 24. Histograma aproximadamente bimodal.

Fuente. Tratamiento digital de la imagen.

Para el caso del histograma aproximadamente bimodal, existen tcnicas de deteccin automtica del umbral, una de las cuales fu ideada por Otsu y se basa en la minimizacin de la varianza intra-grupo. En particular, el mtodo de Otsu, elige el umbral ptimo maximizando la varianza entre clases (between-class variance) mediante una bsqueda exhaustiva. Si bien hay diferentes mtodos para hallar un umbral, la mayora de ellos no dan buenos resultados cuando se trabaja con imgenes del mundo real debido a la presencia de ruido, histogramas planos o una iluminacin inadecuada. Por el contrario, el mtodo de Otsu es uno de los mejores mtodos de seleccin de umbral para imgenes del mundo real. Sin embargo, este mtodo usa una bsqueda exhaustiva para evaluar el criterio para maximizar la varianza entre clases. A medida que el nmero de clases de una imagen aumenta, el mtodo de Otsu necesita mucho ms tiempo para seleccionar un umbral multinivel adecuado. Para determinar el umbral de una imagen eficientemente. La importancia del mtodo de Otsu radica en que es automtico, es decir, no necesita supervisin humana ni informacin previa de la imagen antes de su procesamiento.

Descripcin del Mtodo de Otsu para un umbral ptimo. Una imagen es una funcin bidimensional de la intensidad del nivel de gris, y contiene N pxeles cuyos niveles de gris se encuentran entre 1 y L. El nmero de pxeles con nivel de gris i se denota como fi, y la probabilidad de ocurrencia del nivel de gris i en la imagen est dada por:

En el caso de la umbralizacin en dos niveles de una imagen (a veces llamada binarizacin), los pxeles son divididos en dos clases: C1, con niveles de gris [1, ...., t]; y C2, con niveles de gris [t+1, ...., L]. Entonces, la distribucin de probabilidad de los niveles de gris para las dos clases son:

Donde:

Tambin, la media para la clase C1 y la clase C2 es:

Sea T la intensidad media de toda la imagen. Es fcil demostrar que:

La extraccin de bordes es el mtodo ms empleado en la segmentacin de imgenes (salvo en robtica, donde con frecuencia es suficiente la aplicacin de umbrales). La efectividad, desde el punto de vista del reconocimiento de objetos, de una operacin cuyo resultado sea la obtencin de los bordes de un objeto, cual es la segmentacin, es evidente, puesto que la mayor cantidad de informacin se encuentra en los bordes. De hecho, la mayora de los objetos pueden reconocerse a partir de su forma, que est fijada por sus bordes. Los filtrados espaciales y frecuenciales, son precisamente operaciones de extraccin de bordes, aunque lo hagan con suavidad. De manera anloga, los extractores de bordes empleados en la fase de segmentacin pueden clasificarse en espaciales y frecuenciales. Algunos operadores que incluye la deteccin de bordes son: Operadores de gradiente, laplaciano observado en la siguiente figura. Operadores de gradiente.

Fuente: Introduccin al procesamiento de Imgenes.

Clculo de caractersticas y reconocimiento. Despus de segmentar una imagen, el conjunto resultante de pxeles segmentados se representa y describe normalmente en una forma adecuada para su posterior procesado por computadora. Bsicamente, el representar una regin implica dos posibilidades: Hacerlo en trminos de sus caractersticas externas (su contorno) o en trminos de sus caractersticas internas (los pxeles que

comprenden la regin). La eleccin de un esquema de representacin es, sin embargo, solamente una parte de la tarea de hacer los datos tiles para una computadora. El siguiente paso consiste en describir la zona en la representacin elegida. Por ejemplo, una regin se puede representar describiendo su contorno por medio de caractersticas tales como su longitud, la orientacin de una lnea recta que une puntos extremos, y el nmero de concavidades. Generalmente, se elige una representacin externa cuando el objetivo principal se centra en las caractersticas de forma y una representacin interna cuando el principal inters se centra en las propiedades de reflectividad, tales como color y textura. En cualquier caso, las caractersticas seleccionadas como descriptoras deberan ser tan insensibles como fuera posible a variaciones tales como cambios de tamao, traslacin y rotacin. Centroide. El centroide se halla sumando todas las posiciones en x y y de los pixeles de una regin y dividiendo los resultados entre el nmero de pixeles de cada regin. La ecuacin muestra como calcular el centroide de una regin, donde N es el nmero de pxeles que conforman el contorno y (Cx, Cy) el centroide del contorno.

Lados del contorno. A veces es til descomponer un contorno en lados. La descomposicin reduce la complejidad del contorno y simplifica as el proceso de descripcin. Esta solucin es particularmente atractiva cuando el contorno

presenta una o ms concavidades significativas que contienen informacin sobre la forma. En este caso el empleo del cerco convexo de la regin abarcada por el contorno es una poderosa herramienta para una descomposicin robusta del contorno.

El cerco convexo H de un conjunto arbitrario S es el conjunto convexo ms pequeo que contiene a S. El conjunto diferencia H-S se denomina deficiencia convexa D del conjunto S.

Para ver cmo se podran utilizar estos conceptos para dividir un contorno en lados significativos, considrese la figura xxx (a), que muestra un objeto (conjunto S) y su deficiencia convexa (regiones sombreadas). El contorno de la regin se puede dividir siguiendo el contorno de S y marcando los puntos en los que se hace una transicin hacia dentro o fuera de un componente de la deficiencia convexa.

La figura 25 (b) muestra el resultado en este caso. Obsrvese que, en principio, el esquema es independiente de la orientacin y el tamao de la regin.

Figura 25 (a) Una regin (S) y su deficiencia convexa (sombreada); (b) contorno dividido.

(a) Fuente: Tratamiento Digital de Imgenes

(b)

En la prctica los contornos digitales tienden a ser irregulares a causa de la digitalizacin, el ruido y las variaciones en la segmentacin. Estos efectos normalmente producen una deficiencia convexa que tiene componentes pequeos, insignificantes, esparcidos aleatoriamente sobre el contorno. Mejor que intentar evitar estas irregularidades en un proceso posterior, la prctica comn consiste en suavizar el contorno antes de su divisin. Hay varios modos de hacerlo, un mtodo es recorrer el contorno y reemplazar las coordenadas de cada pxel por las coordenadas medias de m de sus vecinos a lo largo del contorno. Esta solucin funciona para pequeas irregularidades pero lleva mucho tiempo y es difcil de controlar. Valores grandes de m pueden dar un excesivo suavizado, mientras que valores pequeos podran no ser suficientes en algunos lados del contorno. Una tcnica ms desigual es utilizar una aproximacin poligonal, antes de encontrar la deficiencia convexa de una regin. Independientemente del mtodo utilizado para el suavizado, la mayora de los contornos digitales de inters son simples polgonos (polgonos sin autointerseccin). Los conceptos del cerco convexo y su deficiencia son igualmente tiles para describir una regin completa, as como su contorno. Por ejemplo, la descripcin de una regin se podra basar en su rea y en la de su deficiencia convexa, en el nmero de componentes de la deficiencia convexa, en la situacin relativa de estos componentes, y as sucesivamente.

Anlisis de una imagen por medio de MatLab

Intens ity Trans form ation 1 A djus ted Im age

0.5

0.5

His togram

His togram

Fuente: toolboxes de MatLab de procesamiento de imagen

Para iniciar una practica en este modulo es necesario aprender y practicar algunas funciones bsicas del toolboxes de procesamiento de imgenes en MatLab. Para ello deber remitirse a la parte final del modulo donde encontraran una serie de links para el proceso de aprendizaje del software[1]. Lo primero que se realizara es leer una imagen cualquiera, es necesario tener en cuenta la extensin de la imagen[2] que se leera . Ejercicio: Realizar el proceso de captura y visualizacin de una imagen. Para ello deber abriri el editor de MatLab y desarrollar el siguiente cdigo

clc; clear all; close all; f=imread('flowers.tif'); % permite la lectura de una imagen figure imagesc (f); % permite la visualizacin de la imagen impixel % Este comando permite evaluar los valores de cada pixel en sus % componentes RGB title('imagen original'); % Permite etiquetar o nombrar las figurass en Matlab
im agen original

50

100

150

200

250

300

350 50 100 150 200 250 300 350 400 450 500

Pixval % Este comando genera la barra negra mostrada en la figura anterior, ella visualize el valor del pixel y su posicin en el espacio. Este tiene el concepto implcito de lo que se define como una imagen digital.

Aqu se ha marcado tres puntos al azar y el programa genera los valores de los componenetes en R, G B respectivaente. ans = 173 80 139 0

209 158 194 155 117

Ejercicio: Genere los componentes de una serie de pixeles a lo largo de una lnea dentro de la image. clc; clear all; close all; f=imread('flowers.tif'); figure imagesc (f); impixel % se genera una base de datos que contemplan los valores de los pixels % en RGB a lo largo de la trayectoria marcada. title('imagen original'); %end

im agen original 300

250

200

150

100

50

50

100

150

200

250

300

350

Dis tanc e along profile

% Planos para los diferentes colores Como la imagen esta formada por tres planos fundamentales en RGB, es necesario separar los planos para obtener informacin de los atributos de la imagen. Para ello se siguen las siguientes instrucciones, recuerde que es necesario haber ledo la imagen previamente. f=imread(imagen.ext) R=double(squeeze(f(:,:,1))); G=double(squeeze(f(:,:,2))); B=double(squeeze(f(:,:,3))); figure,

subplot (2,2,1);imagesc(f);colormap;title('imagen original'); subplot (2,2,2);imagesc(R);colormap;title('imagen plano rojo'); subplot (2,2,3);imagesc(G);colormap;title('imagen plano verde'); subplot (2,2,4);imagesc(B);colormap;title('imagen plano azul');

im agen original

im agen plano rojo

100 200 300 100 200 300 400 500

100 200 300 100 200 300 400 500

im agen plano verde

im agen plano az ul

100 200 300 100 200 300 400 500

100 200 300 100 200 300 400 500

% Contribucion de planos (modificacin) A=uint8(cat(2,R*0.9,G*0.9,B*0)); figure,imagesc(A); pixval % Cambio de planos

YIQ = rgb2ntsc(f); Y=double(squeeze(YIQ(:,:,1))); I=double(squeeze(YIQ(:,:,2))); Q=double(squeeze(YIQ(:,:,3))); subplot (2,2,1);imagesc(f);colormap;title('imagen ORIGINAL'); subplot (2,2,2);imagesc(Y);colormap;title('imagen plano LUMINANCIA'); subplot (2,2,3);imagesc(I);colormap;title('imagen plano CUADRATURA'); subplot (2,2,4);imagesc(Q);colormap;title('imagen plano FASE');

im agen O RIG INA L

im agen plano LUM INA NCIA

100 200 300 100 200 300 400 500

100 200 300 100 200 300 400 500

im agen plano CUA DRA TURA

im agen plano F A S E

100 200 300 100 200 300 400 500

100 200 300 100 200 300 400 500

figure x= linspace(0,1,200)'* ones(1,200); HSV= cat (3,x,x',x'); p= hsv2rgb(HSV); imagesc(p); H= double(squeeze(p(:,:,1))); S= double(squeeze(p(:,:,2))); V= double(squeeze(p(:,:,3))); figure, subplot (2,2,1);imagesc(H);colormap; subplot (2,2,2);imagesc(S);colormap; subplot (2,2,3);imagesc(V);colormap; [1]. http://www.monografias.com/trabajos5/matlab/matlab.shtml#intro [2].http://www.electron.frba.utn.edu.ar/materias/950454/archivos/matlab_trabajo_con_imagenes.pdf [3]. http://www.isa.umh.es/asignaturas/iarp/practicas/P_6/PRACTICA6.pdf

Anda mungkin juga menyukai