Está en la página 1de 59

Wavelets de Haar

Rafael Molina Depto de Ciencias de la Computacin e IA. Universidad de Granada


Transformada de Haar Rafael Molina 1

Contenidos
1. 2. 3. Introduccin La Transformada de Haar
1. 1. 2. 3. La Transformada de Haar de nivel 1 Conservacin de la Energa Transformada de Haar, niveles mltiples Justificacin de la Conservacin de la Energa

Conservacin y Compactacin de la Energa

4. 5. 6.

Wavelets de Haar Anlisis Multiresolucin


1. Anlisis Multiresolucin, mltiples niveles

Compresin de Seales Bibliografa


Rafael Molina 2

Transformada de Haar

I. Introduccin
La wavelet de Haar es la forma ms simple de wavelet. Este tipo de wavelet est relacionado con una operacin matemtica llamada la transformada de Haar que sirve adems como prototipo para otro tipo de transformaciones wavelets. Una caracterstica muy importante de la transformada de Haar es su sencillez y su fcil clculo manual. En este tema veremos como la transformada de Haar puede utilizarse para comprimir audio.
Transformada de Haar Rafael Molina 3

II. La transformada de Haar


En estos temas vamos a trabajar fundamentalmente con seales discretas que normalmente expresaremos de la forma

f = ( f1 , f2 , . . . , f N )
donde N es un nmero positivo par (la longitud de f) Al igual que todas las transformadas wavelets, la transformada de Haar descompone una seal discreta f en dos subseales que tienen tamao N/2. Una subseal contiene la tendencia, la otra las fluctuaciones.
Transformada de Haar Rafael Molina 4

Comencemos con la primera tendencia

a1 = (a1 , a2 , . . . , aN/2 )
Sus elementos se calculan como pares de medias multiplicados luego por la raz cuadrada de dos, o dicho de otra forma, sumamos los dos valores y dividimos por la raz cuadrada de dos

a1 a2
y en general

am

f1 + f2 = 2 f3 + f4 = 2 f2m1 + f2m = 2 m = 1, 2, . . . , N/2


Rafael Molina 5

Transformada de Haar

Veamos un ejemplo. Supongamos que

f = (4, 6, 10, 12, 8, 6, 5, 5)


Entonces la primera tendencia viene dada por

a = (5 2, 11 2, 7 2, 5 2)
La otra subseal se llama la primera fluctuacin

d1 = (d1 , d2 , . . . , dN/2 )
Sus elementos se calculan como pares de diferencias medias y multiplicados luego por la raz cuadrada de dos o dicho de otra forma, restamos los dos valores y dividimos por la raz cuadrada de dos.
Transformada de Haar Rafael Molina 6

d1 d2
y en general

dm

Supongamos de nuevo que

f1 f2 = 2 f3 f4 = 2 f2m1 f2m = 2 m = 1, 2, . . . , N/2

f = (4, 6, 10, 12, 8, 6, 5, 5)


Entonces la primera fluctuacin viene dada por

d1 = ( 2, 2, 2, 0)
Transformada de Haar Rafael Molina 7

II.1 La Transformada de Haar, nivel 1


La transformada de Haar se realiza a varios niveles. El primer nivel es la aplicacin H1 definida por

H1 : f (a1 |d1 )
que transforma una seal discreta f en su primera tendencia a1 y su primera fluctuacin d1. Para el ejemplo anterior

H1 : (4, 6, 10, 12, 8, 6, 5, 5) (5 2, 11 2, 7 2, 5 2| 2, 2, 2, 0)


Transformada de Haar Rafael Molina 8

La aplicacin H1 anterior tiene inversa (y esto es muy importante). Su inversa aplica (transforma) la seal (a1|d1) en la seal original mediante la frmula siguiente aN/2 + dN/2 aN/2 dN/2 a 1 + d1 a 1 d 1 , ,..., , f= 2 2 2 2 En otras palabras, como

am

f2m1 + f2m dm 2 m = 1, 2, . . . , N/2

f2 m 1 f 2 m = 2 m = 1, 2, . . . , N/2

a 1 + d1 f1 = 2 a 1 d1 f2 = 2 Transformada de Haar

a 2 + d2 f3 = 2 a 2 d2 f4 = 2 Rafael Molina

y as sucesivamente
9

Puede comprobarse fcilmente que

(5 2, 11 2, 7 2, 5 2| 2, 2, 2, 0)
se transforma en

(4, 6, 10, 12, 8, 6, 5, 5)


que era nuestra seal original

Cules son las grandes ventajas de realizar la transformacin de Haar?.


Transformada de Haar Rafael Molina 10

Todas las ventajas de realizar esta transformacin, que sern ms prominentes en la transformaciones de Daubechies que veremos en el captulo siguiente se basan en: Rasgo de Pequeas Fluctuaciones: Las magnitudes de los valores de la subseal de fluctuacin son frecuentemente significativamente menores que las magnitudes de la seal original

Observa que este rasgo se cumple con el ejemplo que hemos desarrollado, veamos ahora otro ejemplo.

Transformada de Haar

Rafael Molina

11

A la izquierda tenemos la representacin de la seal

g (x) = 20x2 (1 x)4 cos(12 x)


0

En el intervalo [0,1)
1

-1 0 0.5 1

A la derecha tenemos la representacin de 1 nivel de su transformada de Haar. La tendencia est representada en [0,0.5) y la fluctuacin en [0.5,1)
Transformada de Haar

-1 0 0.5 12 1

Rafael Molina

De la transformacin de Haar de nivel 1 es claro que: 1. la parte de las fluctuaciones est cercana al cero y, 2. la seal original se parece bastante a la tendencia aunque reducida en su tamao a la mitad.

Observa que si el muestreo es rpido, si tenemos en cuenta que dm g(t2m1 ) g(t2m ) = 2

esperamos que estos valores sean cercanos a cero. Por la misma razn g(t2m1 ) + g(t2m ) 2g (t2m ) am = 2
Transformada de Haar Rafael Molina 13

El Rasgo de Pequeas Fluctuaciones es importante, entre otras razones, por su aplicacin a compresin. En nuestro ejemplo podramos pensar en transmitir slo la subseal de tendencia y luego realizar la transformada de Haar inversa (considerando cero las fluctuaciones). Tendramos una aproximacin de la seal original y puesto que su longitud es la mitad podramos decir que alcanzamos el 50% de compresin. Veremos con posterioridad estos conceptos con ms detenimiento.

Transformada de Haar

Rafael Molina

14

III. Conservacin y Compactacin de la Energa


Vamos ahora a discutir las dos propiedades ms importantes de la transformada de Haar de nivel 1: 1. Conserva la energa de la seal. 2. Compacta la energa de la seal.

Transformada de Haar

Rafael Molina

15

III.1 Conservacin de la Energa


Recordemos que la energa de una seal f se define como
2 2 2 Ef = f 1 + f2 + . . . + fN

Para nuestro ejemplo inicial

f = (4, 6, 10, 12, 8, 6, 5, 5)


Su energa vale Si consideramos su transformacin Haar de nivel 1

Ef = 42 + 62 + . . . + 52 = 446
2, 2, 2, 0)

(a |d ) = (5 2, 11 2, 7 2, 5 2|
su energa vale
Transformada de Haar

E(a1 |d1 ) = 25 2 + 121 2 + . . . + 2 + 0 = 446


Rafael Molina

16

Conservacin de la Energa: La transformada de Haar de nivel 1 conserva la energa. Es decir, para cualquier seal f

E(a1 |d1 ) = Ef
Con posterioridad veremos la demostracin.

Aunque la conservacin de la energa es importante, es incluso ms importante estudiar como la transformada de Haar redistribuye la energa, llevndose la mayor parte a la subseal de tendencia.

Transformada de Haar

Rafael Molina

17

Recuerda de nuevo, para nuestro ejemplo inicial

f = (4, 6, 10, 12, 8, 6, 5, 5)


Su energa vale

Ef = 42 + 62 + . . . + 52 = 446
La energa de la tendencia

a = (5 2, 11 2, 7 2, 5 2)
vale

Ea1 = 25 2 + 121 2 + 49 2 + 25 2 = 440


mientras que la del detalle o fluctuacin
1

vale
Transformada de Haar

d = ( 2, 2, 2, 0) Ed1 = 2 + 2 + 2 = 6
Rafael Molina 18

Observa que la energa de la tendencia corresponde a 440/446=98.7%

En otras palabras la transformada de Haar de nivel 1 redistribuye la energa de la seal de forma que la tendencia recoge el 98% de la energa (en nuestro ejemplo). Por razones obvias el principio recibe el nombre de compactacin de la energa.

Transformada de Haar

Rafael Molina

19

Normalmente se cumple el siguiente principio general (piensa cuando no se cumple)

Compactacin de la energa. La energa de la subseal tendencia a1 recoge un alto porcentaje de la energa de la seal transformada (a1|d1).
Transformada de Haar Rafael Molina 20

III.2 Transformada de Haar, niveles mltiples


Una vez que hemos realizado la transformada de Haar de nivel uno, es fcil repetir el proceso y calcular la transformada de Haar de varios niveles. Dada una seal f : 1. Calculamos su primera tendencia a1 y su primera fluctuacin d1, 2. El segundo nivel de la transformada de Haar se obtiene calculando: la segunda tendencia a2 y la segunda fluctuacin d2 de la primera tendencia a1
Transformada de Haar Rafael Molina 21

Por ejemplo, si sabamos que

f = (4, 6, 10, 12, 8, 6, 5, 5)


a = (5 2, 11 2, 7 2, 5 2) 1 d = ( 2, 2, 2, 0)
1

Para calcular la segunda tendencia, calculamos la tendencia de a1, es decir, a2

a2 = (16, 12)
y para calcular la segunda fluctuacin, calculamos la fluctuacin de a1, es decir d2 de modo que la descomposicin de Haar nivel 2 de f es
Transformada de Haar

d2 = (6, 2)

(a |d |d ) = (16, 12| 6, 2|
Rafael Molina

2, 2, 2, 0)

22

Si a partir de

(a |d |d ) = (16, 12| 6, 2|

2, 2, 2, 0)

Queremos calcular la descomposicin de Haar de nivel 3 tenemos

(a |d |d |d ) = (14 2|2 2| 6, 2|
Observa que

2, 2, 2, 0)

Ea2 Ea3

= 400 = 392

Casi el 90% de la energa (2/8 del tamao de la seal) Casi el 88% de la energa (1/8 del tamao de la seal)
Rafael Molina 23

Transformada de Haar

1.5

A la izquierda tenemos la funcin (4096 puntos)

g (x)

= +

(0 < x < 1)

50x(1 x)6 cos(12 x)

80(1 x)2 (2 x)8 sin(20 x) (1 < x < 2)

1.5

-1.5 0 A la derecha la descomposicin de Haar de nivel 2 de dicha funcin 2

-1.5 0
Transformada de Haar Rafael Molina 24

En la transparencia siguiente vamos a dibujar el: Perfil acumulado de la energa de una seal f que en cada punto representa

2 f1

Ef

2 f1

+ Ef

2 f2

2 f1

2 f2

2 f3

Ef

,...,1

Transformada de Haar

Rafael Molina

25

Fraccin acumulada de la Energa Total Seal 0 -1.5 2 0 0 2 0 -1.5 2 0 1 1

1.5

Transformada de Haar Rafael Molina 26

Haar con 2 niveles 1.5

III.3 Justificacin de la conservacin de la Energa


Vamos a terminar esta seccin justificando brevemente la conservacin de la energa de la transformada de Haar. Recuerda que

a2 1

d2 1

y en general Por tanto

f1 + f2 2

f1 f2 2

2 2 = f1 + f2

2 2 2 a2 + d = f + f m m 2m 1 2m

Transformada de Haar

PN/2

2 ( a k =1 k

d2 k)

Rafael Molina

PN

2 f k =1 k
27

IV. Wavelets de Haar


En esta seccin vamos a discutir la wavelet ms simple, la wavelet de Haar. Este tipo de wavelets nos servir para introducir las wavelets de Daubechies que son ms sofisticadas y aparecern en el tema siguiente.

Comenzamos discutiendo las wavelets de Haar de nivel uno. Estn definidas mediante 1 1 1 , , 0 , 0, . . . , 0 W1 = 2 2 Tienen energa uno y 1 1 1 0, 0, , , 0, 0, . . . , 0 W2 = son rpidas 2 2 fluctuaciones con . . media 0 . 1 1 1 0, 0, . . . , 0, , WN/2 = 2 2 28 Transformada de Haar Rafael Molina

Todas las wavelets anteriores son muy similares, son traslaciones por un nmero par de ceros de la wavelet W11 Con estos wavelets vemos ahora que podemos expresar las fluctuaciones de nivel 1 de la subseal de las secciones anteriores de una forma muy sencilla.

Recuerda que Producto escalar: el producto escalar f.g de las seales f=(f1,f2,,fN) y g=(g1,g2,,gN) se define mediante

f g = f1 g 1 + f 2 g 2 + . . . + f N g N
Transformada de Haar Rafael Molina 29

Utilizando la transformada wavelets de nivel uno podemos obtener la primera fluctuacin de la seal como producto escalar. Por ejemplo: f1 f 2 1 d1 = = f W1 2 1 1 Tiene valores y 2 2 En general tendremos en las posiciones 2m-1 y 2m
1 dm = f W m

m = 1, 2, . . . , N/2

recuerda que

dm
y por tanto
Transformada de Haar

f2m1 f2m m = 1, 2, . . . , N/2 2


dm 1 1 1 f2m1 + f2m = f Wm = 2 2
Rafael Molina 30

Tenemos la siguiente versin ms precisa del Rasgo de Pequeas Fluctuaciones. Propiedad 1. Si una seal f es (aproximadamente) constante sobre el soporte de una wavelet de nivel 1 de Haar, entonces el valor de la fluctuacin dk=f.Wk1 es aproximadamente cero.
El conjunto de ndices donde una seal es no nula recibir el nombre de soporte de la seal, por ejemplo, el soporte de (0,0,5,7,-2,0,2,0) incluye las posiciones 3,4,5 y 7. El soporte de la wavelets de Haar W21 son los ndices 3 y 4.
Transformada de Haar Rafael Molina 31

Adems de las fluctuaciones tambin podemos expresar la tendencia como producto escalar de la seal con algunas funciones elementales. Estas funciones elementales reciben el nombre de seales de Haar de escala y se definen como 1 1 1 , , 0 , 0, . . . , 0 V1 = 2 2 1 1 1 0, 0, , , 0, 0, . . . , 0 V2 = 2 2 . . . 1 1 1 0, 0, . . . , 0, , VN/2 = 2 2 Vm1 tiene valores
1 2

1 2

en las posiciones 2m-1 y 2m


32

Transformada de Haar

Rafael Molina

De la misma forma obtenemos


1 am = f Vm

m = 1, 2, . . . , N/2

Las seales de escala de Haar son muy similares a los wavelets de Haar, tienen energa 1 y su soporte es siempre dos ndices consecutivos. Sin embargo, en este caso la media, como ves, no es cero. Cmo extendemos las ideas anteriores a otros niveles? Por simplicidad restringiremos el estudio al segundo nivel. Las seales de escala de nivel 2 de Haar se definen como

Transformada de Haar

Rafael Molina

33

1 1 1 1 1 1 1 1 2 , , , , 0, 0, . . . , 0 = V1 V1 = + V2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 2 V2 = 0, 0, 0, 0, , , , , 0, 0, . . . , 0 = V3 + V4 2 2 2 2 2 2 . . . 1 1 1 1 1 1 1 1 2 0, 0, . . . , 0, , , , = VN 1 + VN VN/4 = 2 2 2 2 2 2 En general 1 1 1 1 2 Vm = V2m1 + V2m 2 2 Esta seales de escala son todas traslaciones mltiplos por cuatro unidades de tiempo de la primera seal de escala de segundo nivel, todas tienen energa 1 y su valor medio es . Adems la tendencia de segundo nivel cumple

Transformada de Haar

2 2 2 a2 = f V1 , f V2 , . . . , f VN/ 4
Rafael Molina

34

De la misma forma tenemos para los wavelets de Haar de segundo nivel


2 W1 2 W2

= = . . .

1 1 1 1 1 1 1 1 , , , , 0, 0, . . . , 0 = V1 V2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 0, 0, 0, 0, , , , , 0, 0 , . . . , 0 = V 3 V 4 2 2 2 2 2 2 1 1 1 1 0, 0, . . . , 0, , , , 2 2 2 2 1 1 1 1 = VN 1 VN 2 2

2 WN/ 4

En general

1 1 1 1 = V2m1 V2m 2 2 Estas wavelets son todas traslaciones mltiplos por cuatro unidades de tiempo de la primera wavelet de segundo nivel, todas tienen energa 1 y su valor medio es 0. Adems la fluctuacin de segundo nivel cumple
2 Wm
Transformada de Haar

2 2 2 d2 = f W 1 , f W2 , . . . , f WN/ 4
Rafael Molina

35

Observa que en la construccin de los vectores hemos estado haciendo lo siguiente. De


0 V1 0 V2

1 V1 1 V2

= = . . .

1 0 V1 + 2 1 0 V3 + 2

1 0 V2 2 1 0 V4 2

1 VN/ 2

1 0 1 0 VN VN + 1 2 2

= = . . . =

(1, 0, 0, . . . , 0) (0, 1, 0, 0, . . . , 0)

en general 1 0 1 0 1 Vm = V2m1 + V2m 2 2


1 W1 1 W2

= = . . .

0 VN

(0, 0, . . . , 0, 1)
1 WN/ 2

1 0 V1 2 1 0 V3 2

1 0 V2 2 1 0 V4 2

hemos construido
Transformada de Haar

en general 1 Wm =
Rafael Molina

1 0 1 0 VN VN 1 2 2

1 0 1 0 V2m1 V2m 2 2 36

Para el segundo nivel

2 Vm

1 1 1 1 V2m1 + V2m 2 2 1 1 1 1 V2m1 V2m 2 2

2 Wm

m=1,2,,N/4 y as sucesivamente
Transformada de Haar Rafael Molina 37

V. Anlisis Multiresolucin
En la seccin anterior discutimos como la transformada de Haar puede describirse como producto escalar con wavelets de Haar y seales de escala. Discutiremos ahora como la transformada de Haar inversa puede describirse tambin en trminos de estas mismas seales elementales. Veremos, por tanto, como:

Una seal puede sintetizarse comenzando por una seal de muy baja resolucin y aadirle detalles para crear versiones de mayor resolucin para terminar con la sntesis de la seal a la resolucin ms fina. Es el llamado anlisis multiresolucin (MRA) que es la base del anlisis wavelet.
Transformada de Haar Rafael Molina 38

Para hacer estas ideas precisas recordemos que dadas dos seales de la misma longitud

f g
Podemos calcular: La suma

= =

(f1 , f2 , . . . , fN ) (g1 , g2 , . . . , gN )

f +g f g

= =

( f 1 + g1 , f 2 + g2 , . . . , f N + gN ) ( f 1 g1 , f 2 g2 , . . . , f N gN )

La diferencia

La multiplicacin por una constante c

cf = (cf1, cf2, . . . , cfN )


Transformada de Haar Rafael Molina 39

Observemos que si aplicamos repetidamente la suma y multiplicacin por un escalar podemos escribir f = ( f 1 , f2 , . . . , f N )

= + = +

(f1 , 0, . . . , 0) + (0, f2 , . . . , 0) . . . + (0, 0, . . . , 0, fN ) f1 (1, 0, . . . , 0) + f2 (0, 1, . . . , 0) . . . + fN (0, 0, . . . , 0, 1)

Esta frmula que es muy natural nos permite expresar nuestra seal a partir de las seales elementales N
0 V1 0 V2

= = . . . =

(1, 0, 0, . . . , 0) (0, 1, 0, 0, . . . , 0)

mediante

f =

n=1

0 fi V i

0 VN

(0, 0, . . . , 0, 1)

Transformada de Haar

Rafael Molina

Desarrollo natural de una seal f en funcin de la base natural V01, V02, , V0N.
40

En la seccin anterior vimos como expresar la transformada de Haar de nivel 1 en trminos de las seales wavelets y de escala. Veremos ahora que tambin es posible expresar la inversa de la transformada de Haar de primer nivel en funcin de estas seales elementales. Esto conduce al primer nivel del MRA de Haar. Recuerda que tenamos aN/2 + dN/2 aN/2 dN/2 a1 + d1 a1 d1 , ,..., , f = 2 2 2 2 aN/2 aN/2 a1 a1 a2 a2 , , , ..., , = 2 2 2 2 2 2 dN/2 dN/2 d1 d1 d2 d2 , , , ,..., , + 2 2 2 2 2 2
Transformada de Haar Rafael Molina 41

que podemos reescribir como

f
donde

A 1 + D1
primera seal detalle

primera seal promedio


1

= =

D1

aN/2 aN/2 a1 a1 a2 a2 , , , ..., , 2 2 2 2 2 2 dN/2 dN/2 d1 d 1 d 2 d 2 , , , ,..., , 2 2 2 2 2 2


1 1 1 a1 V 1 + a2 V 2 + . . . + aN/2 VN/ 2 1 1 1 d1 W 1 + d2 W2 + . . . + dN/2 WN/ 2
Rafael Molina 42

que podemos reescribir como

A1 D1

= =

Transformada de Haar

y puesto que am = f Vm , tendremos


1 dm = f Wm

m = 1, 2, . . . , N/2

A1 D1

= =

1 1 1 1 1 1 (f V1 )V1 + (f V2 )V2 + . . . + (f VN/ ) V 2 N/2

1 1 1 1 1 1 (f W1 ) W1 + (f V2 )W 2 + . . . + (f WN/ ) W 2 N/2

Estas frmulas muestran que: 1. la seal promedio es una combinacin de las funciones de escala de Haar con los valores de la primera tendencia como coeficientes. 2. La seal de detalle es una combinacin de wavelets de Haar con los valores de las fluctuaciones como coeficientes.
Transformada de Haar Rafael Molina 43

Veamos un ejemplo. Consideremos la seal

f = (4, 6, 10, 12, 8, 6, 5, 5)


Sabamos que
1

y de las ecuaciones aN/2 aN/2 a1 a1 a2 a2 1 , , , ..., , A = 2 2 2 2 2 2 dN/2 dN/2 d1 d1 d2 d2 1 , , , ,..., , D = 2 2 2 2 2 2 obtenemos A1 = (5, 5, 11, 11, 7, 7, 5, 5)

a = (5 2, 11 2, 7 2, 5 2) 1 d = ( 2, 2, 2, 0)

D1
Obviamente
Transformada de Haar

= f

(1, 1, 1, 1, 1, 1, 0, 0) A 1 + D1
Rafael Molina 44

Si ahora queremos expresar A1 y D1 en funcin de las funciones de escala y wavelets, recordamos que

f = (4, 6, 10, 12, 8, 6, 5, 5)


a = (5 2, 11 2, 7 2, 5 2) 1 d = ( 2, 2, 2, 0)
= =
1 1 1 a1 V 1 + a2 V 2 + . . . + aN/2 VN/ 2 1 1 1 d1 W 1 + d2 W 2 + . . . + dN/2 WN/ 2

y como

A1 D1

obtenemos

= =

D1

1 1 1 1 5 2V1 + 11 2V2 + 7 2V2 + 5V4 1 1 1 1 2W2 2W2 + 2W3 + 0W4


Rafael Molina 45

Transformada de Haar

V.1 Anlisis Multiresolucin, varios niveles


Las ideas discutidas en la seccin anterior pueden extenderse a ms niveles, tantos como el nmero de veces que la longitud de la seal puede ser dividida por dos. El segundo nivel del MRA de una seal f significa expresar f como f = A 2 + D 2 + D1 donde A2 es la segunda seal media y D2 es la segunda seal de detalle. Si comparamos esta ecuacin con

f
obtenemos

= =

A 1 + D1 A2 + D2
46

A1
Transformada de Haar

Rafael Molina

La frmula anterior expresa que para calcular la segunda seal promedio A2 y la segunda seal de detalles D2, slo tenemos que realizar el primer nivel MRA de la seal A1. Por tanto tendremos

A2 D2

= =

2 2 2 2 2 2 (f V1 )V1 + (f V2 )V2 + . . . + (f VN/ ) V 4 N/4

2 2 2 2 2 2 (f W1 )W1 + (f W2 )W2 + . . . + (f WN/ ) W 4 N/4

Para la seal Como


2 V1 2 V2

f = (4, 6, 10, 12, 8, 6, 5, 5)

1 1 1 1 A2 = , , , , 0, 0, 0, 0 2 2 2 2 1 1 1 1 = 0, 0, 0, 0, , , , 2 2 2 2
Rafael Molina

1 1 1 1 , , , , 0, 0, 0, 0 = 16 2 2 2 2 1 1 1 1 + 12 0, 0, 0, 0, , , , 2 2 2 2 = (8, 8, 8, 8, 6, 6, 6, 6)
47

Transformada de Haar

De nuevo para la seal Teniendo en cuenta que

f = (4, 6, 10, 12, 8, 6, 5, 5)

D2

2 2 2 2 2 2 (f W1 )W1 + (f W2 )W2 + . . . + (f WN/ ) W 4 N/4


2 W1 2 W2

como

= =

1 1 1 1 , , , , 0, 0, 0, 0 2 2 2 2 1 1 1 1 0, 0, 0, 0 , , , , 2 2 2 2

D2

1 1 1 1 1 1 1 1 = 6 , , , , 0, 0, 0, 0 + 2 0, 0, 0, 0, , , , 2 2 2 2 2 2 2 2 = (3, 3, 3, 3, 1, 1, 1, 1)
Rafael Molina 48

Transformada de Haar

Lo que teniendo en cuenta que para

f = (4, 6, 10, 12, 8, 6, 5, 5)


hemos obtenido

A2
D2

(8, 8, 8, 8, 6, 6, 6, 6)

= (3, 3, 3, 3, 1, 1, 1, 1)

D1
y por tanto

(1, 1, 1, 1, 1, 1, 0, 0)

= = +

A 2 + D 2 + D1 (8, 8, 8, 8, 6, 6, 6, 6) + (3, 3, 3, 3, 1, 1, 1, 1) (1, 1, 1, 1, 1, 1, 0, 0)


Rafael Molina 49

Transformada de Haar

La frmula anterior ilustra la idea del MRA. La seal f se descompone como la suma de una seal de muy baja resolucin (A2), la primera suma complemente esta resolucin con detalle (D2), y la segunda suma aade ms detalle hasta obtener la seal original. En general si el nmero N de valores de la seal es divisible k veces por 2, entonces el MRA de k niveles es

f = A + D + ... + D + D

Transformada de Haar

Rafael Molina

50

g (x)

= +

(0 < x < 1)

50x(1 x)6 cos(12 x)

80(1 x)2 (2 x)8 sin(20 x) (1 < x < 2)

A3

con 1024 puntos A2 A5 A1

A4 Original
Transformada de Haar Rafael Molina 51

VI. Compresin de la Seal


En este tema hemos visto como la transformada de Haar puede utilizarse para localizar la energa de la seal en sus subseales ms cortas. Veamos como esta idea puede utilizarse para comprimir seales de audio y en general otros tipos de seales digitalizadas. Para ilustrar en este tema los principios generales de la compresin basada en wavelets examinaremos como la transformada de Haar puede usarse para comprimir algunas seales test.

Transformada de Haar

Rafael Molina

52

Consideremos la seal que se muestra en la pgina siguiente, consiste en 1024 puntos muestreados sobre el intervalo [0,20). Muchos de sus valores son constantes sobre intervalos largos y por eso es compresible utilizando la transformada de Haar, otras seales requerirn transformaciones wavelets ms sofisticadas. Pasos de la compresin basada en wavelets: 1. Realizar la transformada wavelets de la seal. 2. Hacer cero todos los valores transformados que sean insignificantes (menores que un umbral). 3. Transmitir slo los significativos. 4. En el receptor realizar la transformada inversa, asignando antes cero a los valores que no fueron transmitidos.
Transformada de Haar Rafael Molina 53

Energa acumulada, coeficientes ordenados Seal original 0 -1 5 10 15 20 2 -4 0


Rafael Molina Transformada de Haar

20 Reconstruccin con los 52 coeficientes de mayor energa 1 0 5 10 15 20 0 -4 -4


54

-4

Transformada de Haar, 10 niveles 0 5 10 15 20 -20 0 -20

Veamos los pasos anteriores con algn detenimiento. En la pgina anterior hemos realizado la transformada de Haar de nivel 10 de la seal original. Para elegir un umbral en el paso 2, primero ordenamos las magnitudes de la transformada de Haar en orden decreciente

L1 L2 L3 . . . LN
A continuacin calculamos el perfil de energa acumulada

L2 1 Ef

L2 1

+ Ef

L2 2

L2 1

L2 2 Ef

L2 3

,...,1
55

Transformada de Haar

Rafael Molina

Usando FAWAV vemos que


2 2 2 L2 + L + L + . . . L 1 2 3 51 = 0.999996 Ef

Adems como L51=0.3536, si elegimos este umbral tenemos casi el 100% de la energa de la seal. Como el tamao de la seal es N y tenemos N coeficiente en el paso 3 tendremos que transmitir el llamado significance map que es una hilera de tamao N de ceros y unos y nos dice que coeficientes son significativos (unos en la hilera). En el paso 4 insertamos ceros en la transformada en las posiciones no significativas y con los coeficientes transmitidos obtenemos, al calcular la transformada inversa, la aproximacin comprimida de la seal original.
Transformada de Haar Rafael Molina 56

Mientras que en este ejemplo hemos alcanzado una compresin de, podramos decir, 1024:51 es decir aproximadamente 20:1. Cuando la seal se complica la transformada de Haar no funciona igual de bien. En la pgina siguiente tenemos la representacin de la seal

f (x) = + +

40x2 (1 x)4 cos(12 x)[0 < x < 1)

En el intervalo [0,2) con 4096 puntos. Su versin comprimida cuando se conserva el 99.6% de la energa (se utilizan 322 coeficientes) se representa en la parte inferior izquierda. Compresin cercana a 12:1. Si queremos reproducir la seal al 99.99% de energa necesitaramos 1782 valores (aproximadfamente 2.3:1)
Transformada de Haar Rafael Molina

40(x 1)2 (2 x)8 cos(48 x)[1 < x < 2] 80(x 1)1 2[2 x]2 sin(80 x)[1 < x < 2]

57

Energa acumulada, coeficientes ordenados Seal original 0 0 1 1 2 0 0.99 0 1 2 2 -2 1.01 0 Reconstruccin con los el 99.6% de la energa 0 1 2 0 -11

Transformada de Haar Rafael Molina 58

Transformada de Haar, 12 niveles

2 11

Bibliografa
James S. Walker , A Primer on Wavelets and Their Scientific Applications, Chapman & Hall/CRC; 2 edition (January 29, 2008)

Transformada de Haar

Rafael Molina

59

También podría gustarte