Vous êtes sur la page 1sur 116

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA

UNAD

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
A WG N

Ca l l
m odem

A n swe r
m odem

E n a b l e si g n a l 1

A WG N
ch a n n e l

E n a b l e si g n a l 2

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

Demux

converter

Convl en

Rd wksp

MPSK

Mux

Vec to sca
converter

AWGN

MPSK

Error
meter

-3
z
Sca to vec
converter

Demux 2

Mux
Convl de

Vec to sca

Generating

converter

tran_func

Figura 2. Diagrama de un sistema de modulacin

Root Loc us of a Random S y s tem


1

Im ag A x is

0.5

-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

30

35

40

45

50

30

35

40

45

50

INP UT #1
1
0.5
0
-0.5
-1
0

10

15

20

25

Figura 4. Transformada de Fourier Discreta

O riginal

1
0
-1

0.5

1.5

0
0.25
M odulated

0.5
0.75
1
1.25
1.5

Dem odulated

1.75
1

0.05

0.1

0.15

0.2

0.25

0
-1

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

Salida

X(t)

LTI

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)

X2 (t)

Salida
LTI

Y1(t)

LTI

Y2(t)

Aplicando el principio de superposicin se tiene:

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

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

LTI

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)

Salida
T

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

Salida

x(n)

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)

Salida
Z-1

y(n) = x(n-1)

Figura 10. Representacin grfica de un retardador

Entrada
x(n)

Salida
Z

y(n) = x(n+1)

Figura 11. Representacin grfica de un adelantador

Multiplicador

Descrito por el siguiente comportamiento matemtico:

Entrada
x(n)

y ( n ) = a . x ( n)

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

a
Figura 12. Diagrama de un multiplicador
Modulador

Descrito por el siguiente comportamiento matemtico:

Entrada
x(n)

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

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) =

x(k )

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

1/3

Entrada

-1

x(n)

z-1

y(n)

1/2

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) =

x (k )

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) =

x ( k ) (n k )

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

Figura 15. Grfica de la funcin x ( n) = {2,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

, la salida

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


figura 16 debido a que el sistema es invariante en el tiempo.
Funcion impulso unitario, d(k)

R espuesta al impulso, h(k)

0.9

1.5

0.8

0.7

0.5
0

Amplitud

Amplitud

0.6
0.5
0.4
0.3

-0.5
-1
-1.5

0.2

-2

0.1

-2.5

0
-2

-1.5

-1

-0.5

0.5

1.5

-3
-2

-1.5

D )XQFLQLPSXOVR

-1

-0.5

0.5

1.5

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

Amplitud

0.6
0.5
0.4
0.3
0.2
0.1
0
-1

-0.5

0.5

1.5

2.5

a) Funcin impulso unitario

(n 1)

R espuesta al impulso, h(k-1)


2
1.5
1
0.5

Amplitud

0
-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

senoidal se puede expresar en forma de exponencial compleja.

Para una seal

peridica definimos el desarrollo en serie de Fourier como:

x (t ) =

a e

jkw0t

k =

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

j n w0 t

T0

dt =

a .e
k

0 k =

j ( n k ) w0 t

T0

k =

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

= T0 an
ak =

1
T0

x(t ).e

j k w0 t

dt

<T0 >

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 ] =

a e

jkt

n =

donde
2
=
N
Se cumplir ahora que

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

debido que N es el periodo

fundamental.
Para obtener los coeficientes del desarrollo en serie de Fourier se debe obtener

ak de la siguente forma:

ak =

1
N

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 =

1
(1 j )
4

c3 =

1
(1 + j )
4

el modulo y la fase del espectro son

c0 =

1
2

c1 =

2
4

c2 = 0
c3 =

2
4

Recuerde que la fase se calcula como

c0 = 0
c1 =

c2 = indefinido
c3 =

c0 = tan 1 (b / a )

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:

F
x(t )
X ( )
F
X (t )
2 .x( )

Se obtiene que:
F
e j t
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 ) =

a e

jkw0 t

jkw0 t

k =

F e

F ak e jkw0t
k =

k =

}= a 2 (w kw )
k

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) ,

X3(k) = aX1(k)+bX2(k)
Si long [x1(n)]=N1 y long [x2(n)]=N2
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

M 1

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

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

Amplitud

3
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) =

x ( n) y ( n )

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

Amplitud

0
-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

1.4

1.6

1.8

n
Funcion x1(n)
2
1.5
1
0.5

Amplitud

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

0.2

0.4

0.6

0.8

Realizando las operaciones en l=0 tenemos

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


rxx (0) = 14

1.2

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

Amplitud

8
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

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

Primer orden

Segundo orden , etc

De acuerdo con el tipo de respuesta ante entrada unitaria:


o

FIR (Finite Impulse Response)

IIR (Infinite Impulse Response)

TIIR (Truncated Infinite Impulse Response)

De acuerdo con la estructura con que se implementa:


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:

b z

H ( z) =

k =0
N

1 ak z k
k =1

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)

M agnitude (dB )

0
-20
-40
-60
-80
-100

50

100

150

200

250

300

350

400

450

500

350

400

450

500

F requenc y (Hz )

P has e (degrees )

200
150
100
50
0

50

100

150

200

250

300

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

M agnitude (dB )

100
0
-100
-200
-300
-400

50

100

150

200

250

300

350

400

450

500

350

400

450

500

F requenc y (Hz )

P has e (degrees )

200
0
-200
-400
-600
-800

50

100

150

200

250

300

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)

M agnitude (dB )

50
0
-50
-100
-150
-200

50

100

150

200

250

300

350

400

450

500

350

400

450

500

F requenc y (Hz )

P has e (degrees )

0
-200
-400
-600
-800

50

100

150

200

250

300

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);

M agnitude (dB )

0
-50
-100
-150
-200

50

100

150

200

250

300

350

400

450

500

350

400

450

500

F requenc y (Hz )

P has e (degrees )

0
-200
-400
-600
-800

50

100

150

200

250

300

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.

M agnitude (dB )

0
-100
-200
-300
-400

50

100

150

200

250

300

350

400

450

500

350

400

450

500

F requenc y (Hz )

P has e (degrees )

0
-200
-400
-600
-800
-1000

50

100

150

200

250

300

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

1.6448

0.2957

a=
Columns 1 through 7
1.0000

3.7380

8.0423 11.6797 12.3844

Columns 8 through 10
2.3861

0.6459

0.087x4

9.7817

5.7220

M agnitude (dB )

0
-20
-40
-60
-80

50

100

150

200

250

300

350

400

450

500

350

400

450

500

F requenc y (Hz )

P has e (degrees )

100
0
-100
-200
-300
-400

50

100

150

200

250

300

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);

M agnitude (dB )

0
-100
-200
-300
-400

50

100

150

200

250

300

350

400

450

500

350

400

450

500

F requenc y (Hz )

P has e (degrees )

400
200
0
-200
-400

50

100

150

200

250

300

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);

M agnitude (dB )

0
-20
-40
-60
-80
-100

50

100

150

200

250

300

350

400

450

500

350

400

450

500

F requenc y (Hz )

P has e (degrees )

200
0
-200
-400
-600

50

100

150

200

250

300

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);

M agnitude (dB )

20
0
-20
-40
-60
-80

50

100

150

200

250

300

350

400

450

500

350

400

450

500

F requenc y (Hz )

P has e (degrees )

400
300
200
100
0
-100

50

100

150

200

250

300

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

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');

M agnitude (dB )

-10

-20

-30

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

0.9

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


filtro F IR1, de orden 4. P as a B ajo

P has e (degrees )

0
-100
-200
-300
-400

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

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');

M agnitude (dB )

0
-20
-40
-60
-80
-100

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

0.9

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


filtro F IR1, de orden 6. P as a B ajo

P has e (degrees )

0
-100
-200
-300
-400
-500

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

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');

M agnitude (dB )

0
-20
-40
-60
-80
-100

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

0.9

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


filtro F IR1, de orden 10. P as a B ajo

P has e (degrees )

0
-100
-200
-300
-400
-500

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

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');

M agnitude (dB )

0
-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

0.9

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


filtro F IR1, de orden 4. P as a alto

P has e (degrees )

0
-100
-200
-300
-400

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

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');

M agnitude (dB )

0
-1
-2
-3
-4

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

0.9

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


filtro F IR1, de orden 6. P as a alto

P has e (degrees )

-200

-400

-600

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

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

M agnitude (dB )

2
0
-2
-4
-6
-8

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

0.9

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


filtro F IR1, de orden 10. P as a alto

P has e (degrees )

0
-200
-400
-600
-800
-1000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

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)

M agnitude (dB )

0.8
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

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)

M agnitude (dB )

0.8
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

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');

M agnitude (dB )

50
0
-50
-100
-150

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

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

P has e (degrees )

0
-200
-400
-600
-800

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

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');

M agnitude (dB )

0
-10
-20
-30
-40
-50

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

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

P has e (degrees )

-1000

-2000

-3000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

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));

M agnitude (dB )

50

-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

P has e (degrees )

0
-200
-400
-600
-800

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

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));

0.9

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

10

10

10

-2

-4

-6

-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

CONCEPTOS EN TORNO AL TRATAMIENTO DE


IMGENES

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

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

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

como cero.
El mximo de los valores positivos de . FRLQFLGH FRQ HO Pnimo de los valores
QHJDWLYRVGH

.\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

figure

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

0.5

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

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');

0.25

0.3

0.35

0.4

0.45

0.5

[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.

Una buena imagen es aquella que tiene el mayor

contraste donde las reas de inters se destacan del fondo facilitando la tarea del
sistema virtual.

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

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

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) =

g (x,y) =

g (x,y) =

si

T I [\

en cualquier otro cas

si

en cualquier otro caso

si

en cualquier otro caso

T I [\

Ta

I [\ 7b

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)

(b)

Fuente: Tratamiento Digital de Imgenes

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

His togram

0.5

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

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

100

200

200

300

300
100

200

300

400

500

100

im agen plano verde

100

200

200

300

300
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

300

400

500

im agen plano az ul

100

100

200

100

200

300

400

500

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

100

200

200

300

300
100

200

300

400

500

100

im agen plano CUA DRA TURA

100

200

200

300

300
200

300

400

500

300

400

500

im agen plano F A S E

100

100

200

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

Vous aimerez peut-être aussi