Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Wavelets de Haar
Wavelets de Haar
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
4. 5. 6.
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
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
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
Transformada de Haar
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
d1 = ( 2, 2, 2, 0)
Transformada de Haar Rafael Molina 7
H1 : f (a1 |d1 )
que transforma una seal discreta f en su primera tendencia a1 y su primera fluctuacin d1. Para el ejemplo anterior
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
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
(5 2, 11 2, 7 2, 5 2| 2, 2, 2, 0)
se transforma en
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
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.
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
Transformada de Haar
Rafael Molina
15
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
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
Ef = 42 + 62 + . . . + 52 = 446
La energa de la tendencia
a = (5 2, 11 2, 7 2, 5 2)
vale
vale
Transformada de Haar
d = ( 2, 2, 2, 0) Ed1 = 2 + 2 + 2 = 6
Rafael Molina 18
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
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
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)
(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
g (x)
= +
(0 < x < 1)
1.5
-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
1.5
a2 1
d2 1
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
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
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
Transformada de Haar
Rafael Molina
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
= = . . .
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
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)
= = . . .
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
2 Vm
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
Observemos que si aplicamos repetidamente la suma y multiplicacin por un escalar podemos escribir f = ( f 1 , f2 , . . . , f N )
= + = +
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
f
donde
A 1 + D1
primera seal detalle
= =
D1
A1 D1
= =
Transformada de Haar
m = 1, 2, . . . , N/2
A1 D1
= =
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
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
y como
A1 D1
obtenemos
= =
D1
Transformada de Haar
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
= =
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
D2
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
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)
= = +
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)
A3
A4 Original
Transformada de Haar Rafael Molina 51
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
-4
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
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) = + +
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
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