Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Wavelets.
Pablo Faundez, e-mail: pfaundez@fci.uach.cl ,Alvaro Fuentes, e-mail: afuentes@fci.uach.cl
Profesor Patrocinante: Pedro Reumay, Instituto de Matemticas UACH.
AGRADECIMIENTOS
Esta va dedicada a mi gran amigo Pablo Jimenez, por esas largas noches de conversacin en Valdivia,
que me ayudaron a comprender las pginas que vienen a continuacin.
RESUMEN
Este trabajo constituye principalmente una introduccin a la teora de wavelets. Para poder abordar este
tema de una forma ms fcil se comienza con una base matemtica para luego dar una explicacin general de los conceptos sobre las series de Fourier, Transformada de Fourier, DFT y FFT. Posteriormente
se introduce wavelets como una herramienta alternativa al anlisis de Fourier para el procesamiento de seales. El marco terico de esta nueva herramienta se desarrolla explicando las propiedades
matemticas y utilizando como ejemplo la Haar wavelet que corresponde al sistema wavelet ms simple. Ya con un entendimiento bsico de wavelets se presenta el anlisis multi-resolucin dentro del cual
se desarrolla la transformada Discreta de Wavelets en conjunto con el desarrollo de algoritmos para la
transformada rpida de wavelets. Por ltimo se presenta una aplicacin de esta herramienta en la reduccin de ruido a travs de mtodos estadsticos y adems se plantea un mtodo acstico o auditivo
para el mismo propsito.
ABSTRACT
This thesis is mainly an introduction to wavelets theory applied to digital signal processing of acoustics signals. To aboard this subject in a comprehensible manner, the thesis begins with the relevant
mathematicalbackground and a general explanation about the concepts of the Fourier theory (Fourier
series, Fourier Transform, Discrete Fourier transform and Fast Fourier transform). Latter we introduce wavelets as an alternative tool of the Fourier analysis. The mathematical theory of this relatively
new digital signal processing tool is developed trough the explanations of its properties and using as
an example the simplest wavelet system, the Haar wavelet. At this point, with a basic knowledge of
wavelets, the multi-resolution analysis (MRA) is presented together with an explanation of the Discrete Wavelet Transform (DWT) and the development of computational algorithms to implement the
Fast Wavelet transform (FWT). Finally an application of this tool in de-noising of acoustic signals is
presented through statistic methods.
OBJETIVOS GENERALES
1. Desarrollar de una manera clara y didctica la teora matemtica de wavelets.
2. Describir las bases para el diseo de algoritmos con el fin de implementar wavelets en ambientes
computacionales.
3. Presentar una aplicacin de wavelets orientada a resolver un problema de tipo acstico.
OBJETIVOS ESPECIFICOS
1. Describir la teora de wavelets tanto en el dominio continuo como en el dominio discreto teniendo
como base la teora de Fourier.
2. Demostrar de manera clara que para ciertos tipos de seales y/o aplicaciones la transformada de
wavelets presenta un mejor desempeo que la transformada de Fourier.
3. Implementar el uso de algoritmos que realicen la transformada Discreta de Wavelets utilizando
el Software MATLAB 5.3 y comprobar su uso mediante seales obtenidas de forma ficticia y de
forma real.
4. Describir la utilizacin de wavelets en el proceso de reduccin de ruido de alta frecuencia sobre
una seal creada en forma artificial.
5. Utilizar el proceso de reduccin de ruido sobre una seal real con un alto nivel de ruido de fondo
e individualizar o aislar la seal deseada.
ndice de Tablas
6.1
6.2
6.3
6.4
f (t) = t2
73
75
81
83
ndice de Figuras
3.1
(a) Funcin seno de perodo T=2 ; (b) Funcin coseno de perodo T=2 . . . . . . . . . . . . . .
32
3.2
33
3.3
3.4
34
35
3.5
(a) Seal original; (b) Descomposicin en series de Fourier, la amplitud de cada onda es lo que representa
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
3.6
3.7
39
40
3.8
43
3.9
Transformada Discreta de Fourier de la onda cuadrada ilustrada en la figura (1.8). Para la obtencin de
la transformada de Fourier.
= 64 datos
de entrada
. . . . . . . . . . . . . . . .
44
datos de entrada . . . . . . . . . . . . . . . . . . . .
46
4.1
50
4.2
(a) Representacin de la seal x(t) ; (b) Contenido espectral de la seal obtenido mediante la transfor-
=8
4.3
51
(a) Representacin de la seal x1 (t) ; (b) Contenido espectral de la seal obtenido mediante la FFT, se
observa que las amplitudes de ambas componentes han disminuido a la mitad de su valor real . . . . .
52
4.4
Representacin tiempo - frecuencia con buena resolucin en tiempo y mala resolucin en frecuencia. . .
53
4.5
4.6
Representacin tiempo - frecuencia con buena resolucin en frecuencia y mala resolucin en tiempo. . .
53
54
4.7
Se observa el proceso de escalamiento y traslacin, para una escala grande la wavelet ocupa un mayor
segmento de la seal y por lo tanto tiene mejor resolucin en frecuencia mientras que para una escala ms
pequea el intervalo de tiempo bajo el que se analiza la seal es menor, lo que implica mayor resolucin
en tiempo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.8
56
Funcin Wavelet Mexican Hat y Morlet con sus respectivas Transformadas de Fourier (grficos de la
izquierda). Se observa como cumplen con la condicin de admisibilidad al tener un rpido decaimiento
4.9
58
58
NDICE DE FIGURAS
6.1
67
6.2
69
6.3
En esta figura apreciamos que la aproximacin realizada por la funcin de escalamiento es bastante
. . . . . . . . . . . . . . . . . . . . . . . . . . .
6.4
73
En esta figura se presenta una clara mejora en la resolucin de la representacin de la funcin cuadrtica,
debido que j;k (t)en 1 esta definida en un intervalo de tiempo mas pequeo que en 0 . . . . . . . . .
76
6.5
Funcin wavelet en W0 como combinacin lineal de las funciones escalamiento que expanden V1 y V0 . .
79
6.6
. . . . . . . . . . . . .
81
6.7
83
7.1
87
7.2
. . . . . . . . . . .
88
7.3
Espacios wavelet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
88
7.4
90
7.5
Al lado izquierdo vemos la representacin de una funcin mediante el sistema Haar en distintos espacios
Vj , y al lado derecho vemos representados estos espacios por la parte sombreada del diagrama. De abajo
7.6
92
Al lado izquierdo vemos el detalle de una funcin, obtenido mediante el sistema Haar en distintos espacios Wj , y al lado derecho vemos representados estos espacios por la parte sombreada del diagrama. De
abajo hacia arriba tenemos desde el espacio W1 hasta el W6 .
7.7
. . . . . . . . . . . . . . . . . . .
93
(a) Seal original; (b) Modelamiento de sampleos digitales mediante la funcin Haar escala con una
longitud de N
= 24 ;
98
101
7.8
Descomposicin wavelet donde el dos con la flecha hacia abajo representa la operacin de subsampleo.
7.9
Reconstruccin Wavelet donde el dos con la flecha hacia arriba representa la operacin de supsampleo. . 103
7.10 (a) Estructura de una descomposicin multiresolucin; (b) Vector - DWT obtenido de la descomposicin. 104
7.11 Estructura de una reconstruccin multiresolucin. . . . . . . . . . . . . . . . . . . . . . . . . 104
7.12 Se observa la aplicacin del algoritmo sobre una seal de longitud N
= 8
cientes de aproximacin y (b) los coeficientes wavelet. Ambos procesos se realizan en forma paralela. . 106
que conforman
el vector - DWT. Observar que 0 < k < 2 con k slo como nmero entero. . . . . . . . . . . . . . 109
j
Efecto del umbral duro y suave aplicado sobre un conjunto de coeficientes. . . . . . . . . . . . . . 113
8.2
Seal que representa un efecto doppler con un nivel de ruido bastante notable (1024 muestras). . . . . 115
NDICE DE FIGURAS
8.3
Descomposicin wavelet realizada con la Daubechies 2 (Lado izquierdo); Coeficientes obtenidos de-
. . . . . . . . . . . . . . . . . . 115
Seal reconstruida utilizando los coeficientes wavelet procesados mediante umbral suave. . . . . . . . 117
spus de haber sido comparados con el umbral (Lado derecho).
8.4
8.5
Comparacin visual entre la seal original y la seal reconstruida. El porcentaje de energa conservado
fue de 93,8 %. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
8.6
Seal correspondiente a vibraciones de un motor rotatorio (Arriba); Seal despus de haber sido procesada (Abajo). Para una visualizacin ms clara, slo los primeros 2500 sampleos se graficaron. . . . . 118
8.7
Coeficientes de descomposicin wavelet obtenidos utilizando la Daubechies 4 (lado derecho); Coeficientes Wavelet obtenidos despus de haber sido comparados con el umbral seleccionado (Lado izquierdo).119
8.8
8.9
. . . . . . . . . . . . . . . . . . . . . . . . . . 124
8.13 Arriba: Transformada Continua Wavelet de la seal original; Abajo: Transformada Continua Wavelet
de la reconstruccin con los espacios d2, d3 , d43 y d44 . Ambas representaciones fueron obtenidas
utilizando la wavelet Morlet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
ndice General
1 Introduccin
10
2 Base Matemtica.
12
2.1
12
2.2
18
2.3
22
2.4
29
3 Teora de Fourier
31
3.1
Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
3.2
Series de Fourier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
3.2.1
33
La Transformada de Fourier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
35
3.3.1
Propiedades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
3.4
40
3.5
44
3.5.1
44
3.5.2
45
3.3
48
48
4.1.1
49
54
55
4.2.1
5 Sistemas Wavelet.
5.1
59
59
5.1.1
59
5.1.2
Funcin escala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
61
NDICE GENERAL
5.1.2.1
9
Caractersticas de una funcin escala. . . . . . . . . . . . . . . . . .
62
Funcin Wavelet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
65
6 Wavelet Haar
6.1 Funcin Haar Escala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.1.1 Relacin ortogonalidad y normalidad . . . . . . . . . . . . . . . . . . . . . .
67
67
75
5.1.3
6.2
7 Anlisis Multi-Resolucin
7.1
7.2
7.3
78
82
85
Principios de Multi-Resolucin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Transformada Discreta Wavelet (DWT) . . . . . . . . . . . . . . . . . . . . . . . . .
Transformada rpida Wavelet (FWT) y banco de filtros . . . . . . . . . . . . . . . . .
85
91
97
7.3.1
7.3.2
Representacin de seales . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Descomposicin de seales unidimensionales (Anlisis) . . . . . . . . . . . .
97
98
7.3.3
7.3.4
8 Aplicaciones
111
8.1 Anlisis de transientes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
8.2
8.3
8.4
8.3.1
8.3.2
8.3.3
Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
A Referencias Internet
131
134
A Wavelet Daubechies
142
Captulo 1
Introduccin
A fines del siglo XIX comenzaba a gestarse el inicio de la teora matemtica que posteriormente sera
utilizada en el procesamiento digital de seales. Un matemtico francs llamado Joseph Fourier estableca que una seal o funcin poda ser representada como la suma, posiblemente infinita, de series
de senos y cosenos (o en forma equivalente como exponenciales complejas). Este postulado sigui
evolucionando hasta los das de hoy donde la teora de Fourier, ms conocida como la transformada de
Fourier, es ampliamente utilizada en la resolucin de problemas cientficos e ingenieriles en diferentes
campos tales como fsica cuntica, ptica, electrnica, astronoma, acstica y muchos otros.
Desde un punto de vista ms ingenieril o fsico la transformada de Fourier puede ser descrita como
un fenmeno fsico ms que como una herramienta matemtica. Las seales pueden ser interpretadas
como una combinacin lineal de ondas harmnicas o tonos puros por lo que se observa de una manera casi intuitiva que la seal en un instante de tiempo es reemplazada por la suma de varios tonos
puros. De acuerdo con esto la transformada de Fourier utiliza dos funciones bases, las cuales son
seno y coseno, para poder expandir o representar una seal o funcin en trminos de ellas. Estas funciones tienen ciertas caractersticas como su suavidad (trmino utilizado para describir funciones que
no poseen pendientes abruptas o discontinuidades), no son localizables en el tiempo (su dominio es de
[-1; 1]), representacin individual de una frecuencia, entre otras, lo que hace que esta transformada
sea extremadamente til en el anlisis de fenmenos peridicos, de tiempo invariante o estacionarios,
anlisis espectral de una seal en el tiempo, que corresponden a tpicos de gran importancia en el
campo de la Ingeniera Acstica.
Sin embargo, ciertas seales cuya amplitud vara en forma rpida y abrupta en el tiempo o seales
cuyo contenido de frecuencia es variable de un instante de tiempo a otro, las cuales son ms conocidas
como seales no estacionarias, no son analizadas a fondo mediante la transformada de Fourier, debido
a ciertas limitaciones de este anlisis en el campo tiempo - frecuencia. Es en estos trminos de anlisis
donde entra en juego una nueva herramienta matemtica llamada wavelet o T ransformada wavelet:
La transformada wavelet es el resultado de un gran nmero de investigaciones y constituye una
10
11
tcnica de anlisis reciente. Inicialmente un geofsico francs llamado Jean Morlet1 [STR89] [TOR98]
investigaba un mtodo para modelar la propagacin del sonido a travs de la corteza terrestre. Como
alternativa a la transformada de Fourier, Morlet utiliz un sistema basado en una funcin prototipo,
que cumpliendo ciertos requerimientos matemticos y mediante dos procesos denominados dilatacin
o escalamiento y translacin, formaba un set de bases que permitan representar las seales de propagacin con la misma robustez y versatilidad que la transformada de Fourier, pero sin sus limitaciones.
La simplicidad y elegancia de esta nueva herramienta matemtica fue reconocida por un matemtico
francs llamado Yves Meyer [HEI99] [STR89] [DEV91] quien descubri que las wavelets formaban
bases ortonormales de espacios ocupados por funciones cuyo cuadrado es integrable, lo que traducido
al lenguaje del procesamiento de seales, corresponde a funciones o seales cuyo contenido energtico
es finito. En este momento ocurri una pequea explosin de actividad en este rea, ingenieros e investigadores comenzaron a utilizar la transformada de wavelet para aplicaciones en diferentes campos
tales como astronoma, acstica, ingeniera nuclear, deteccin de terremotos, compresin de imgenes,
reconocimiento de voz, visin humana, neurofisiologa, ptica, resonancia magntica, radar, etc.
El trmino wavelet se define como una pequea onda o funcin localizable en el tiempo, que
visto desde una perspectiva del anlisis o procesamiento de seal puede ser considerada como una
herramienta matemtica para la representacin y segmentacin de seales, anlisis tiempo - frecuencia,
y fcil implementacin de rpidos algoritmos computacionales.
Las caractersticas propias de la transformada wavelet nos otorgan la posibilidad de representar
seales en diferentes niveles de resolucin, representar en forma eficiente seales con variaciones de
peak abruptos, analizar seales no estacionarias permitindonos saber el contenido en frecuencia de
una seal y cuando estas componentes de frecuencia se encuentran presentes en la seal. Estos tpicos
constituyen el foco principal del desarrollo de esta tesis, la cual pretende entregar una visin terica y
prctica del uso de esta herramienta en el plano general del procesamiento digital de seales y de como
puede resultar de utilidad en la resolucin de problemas relacionados con el campo de la Acstica.
Morlet, J., Grossmann, A., Descompostion of Hardy functions into square Integrable wavelets of constant shape, SIAM
Journal Math. Annual, 15, 1986, pp. 723-736.
Captulo 2
Base Matemtica.
En este captulo se definirn algunos objetos matematicos necesarios para la sustentacin de la definicin de las funciones wavelet como base de los espacios de funciones lineales de cuadrado integrable
L2 (<):
13
Ejemplo 1. El espacio de n-tuples, K n : Sea K cualquier cuerpo, y sea V el conjunto de todos los
n-tuples x = (x1 ; x2 ; x3 :::; xn ) de escalares xi 2 K . Si y = (y1 ; y2 ; y3 ; :::; yn ) con yi 2 K , la suma de
x e y se define por
x + y = (x1 + y1 ; x2 + y2 ; :::; xn + yn )
K se prueban
(cA)ij = cAij
Ejemplo 3. El espacio de funciones de un conjunto en un cuerpo. Sea K cualquier cuerpo, y sea
S cualquier conjunto no vacio. Sea V el conjunto de todas las funciones f : S ! K . La suma de dos
vectores f y g de V es el vector f
+ g : S ! K definida por
2V
14
v = c1 v1 + ::: + cn vn =
n
X
i=1
ci v
Las matrices simtricas forman un subespacio del espacio de las matrices n n sobre K .
Ejemplo 6. Una matriz A, cuadrada n n, sobre el cuerpo C de los nmeros complejos es Hermtica
(o autoadjunta) si Ajk = Akj para todo j; k , donde el super-rayado indica conjugacin compleja. Una
x + iy
x iy w
z
1
A
donde x,y,z,w, son nmeros reales. El conjunto de todas las matrices Hermticas no es un subespacio
!0
Ejemplo 7. El subconjunto
subespacio nulo de V .
V , llamado
15
Teorema 3.
= hS i el subespacio generado por S , entonces W contiene toda la combinacin lineal de vectores de S , de la forma x = c x + c x + ::: + cm xm . As W contiene el conjunto
L de todas las combinaciones lineales de vectores de S . Por otra parte S L y L es no vacio. Si x e y
2 L entonces y = k: y + ::: + knyn, y (x + y) = mi (ci)xi + nj kj yj 2 L.
Por lo tanto S L W ) L = \W tal que S W .
Demostracin.
Sea W
1 1
=1
=1
S V se dice linealmente
dependiente si existen vectores distintos x1 ; x2 ; :::; xn de S y escalares c1 ; c2 ; :::; cn de K , no todos
nulos, tales que c1 x1 + c2 x2 + ::: + cn xn = 0.
Un conjunto que no es linealmente dependiente se dice linealmente independiente. Como consecuencia de esta definicin se tiene que:
Definicin 6. Base de un espacio vectorial. Sea V un espacio vectorial sobre K . Una base de V es
16
Definicin 7. Transformacin lineal. Sean V y W dos espacios vectoriales sobre el cuerpo K . Una
funcin T
T (cx + y ) = c(T x) + T y ; y 2 V y 8c 2 K:
K un cuerpo y sea V el espacio vectorial de las funciones polinomios de grado k.
Sea D : V ! V definida por (Df )(x) = c1 + 2c2 x + ::: + kck xk 1 . Entonces D es una transformacin
Ejemplo 8. Sea
lineal.
Ejemplo 9. Sea < el cuerpo de los nmeros reales y sea V el espacio de todas las funciones continuas
R
de < en <. Se define T : V ! V por (T f )(x) = 0x f (t)dt . Entonces T es una transformacin lineal.
La funcin T f es continua y tiene primera derivada continua. La linealidad de las integraciones es una
de sus propiedades fundamentales.
Definicin 8. Espacio nulo y rango de una transformacin lineal. Sean V y W dos espacios
vectoriales sobre el cuerpo K y sea T : V ! W una transformacin lineal. El espacio nulo de T es el
Teorema 5. Sean V y W dos espacios vectoriales sobre el cuerpo K y sea T : V ! W una transformacin lineal. Si dimV < 1, entonces rango(T ) + nulidad(T ) = dimV . Si V es un espacio
vectorial sobre el cuerpo K , una transformacin lineal F
[a; b] < y sea C ([a; b]) el espacio de las funciones reales continuas sobre [a; b].
L(g ) =
Z b
g (t)dt
17
Sea
= dimV .
= fv ; v ; :::; vng una base de V . Para cada i existe un funcional lineal nico fi en V , tal que
1
Teorema 6. Sea V (K ) un espacio vectorial con dimV = n y sea = fv1 ; v2 ; :::; vn g una base de
V . Entonces existe una nica base dual = ff1 ; f2 ; :::; fn g de V tal que fi (vj ) = ij . Para cada
funcional lineal f sobre V se tiene
n
X
v=
n
X
f
y para cada vector v
i=1
f (vi )fi
2 V se tiene
i=1
fi (v )vi
Ejemplo 12. Sea V el espacio vectorial de todas las funciones polinomios de < en <que tienen grado
2. Sean t ; t ; t
1
Li (p) = p(ti )
Entonces L1 ; L2 ; L3 son funcionales lineales sobre V . Estos funcionales son l.i. , y como dimV =
3, estos forman una base de V . La base fp1 ; p2; p3g de V tal que fL1 ; L2 ; L3g es su dual debe satisfacer
Li (pj ) = pj (ti ) = ij
Estas funciones polinomios son
p1 (x) =
18
Si T es un operador lineal en V tal que: (i) es uno a uno y (ii) aplica V sobre V , se dice que T es regular
o invertible. En este caso T 1 es lineal y T (T 1 )(x) = T 1 (T (x)) = x.
Definiciones:
1. Sea
(F T )x = F (T x); x 2 X
FT
X = Y = Z.
Entonces
2 L(X; Z ).
Observemos que
3. Para T 2 L(<n ; <m ); se define la norma kT kde T como el extremo superior de todos los nmeros
jT xj, donde x vara en <n con jxj 1.
Adems, si
es tal que
19
Ejemplo 13.
1. En K n se define el producto interno cannico sobre x = (x1 ; x2 ; :::; xn ) e y
hx; yi =
Cuando K
= <, hx; yi =
Pn
j =1
n
X
j =1
xj yj = xy
xj yj .
2. Sea
la funcin traza
3. Sea V el espacio vectorial de las funciones continuas de valor complejo en el intervalo unitario,
0 t 1. En V se define el producto interno
hf; gi =
Z 1
0
f (t)g (t)dt
En el caso real
hx; yi = 14 kx + yk
1 kx yk
4
20
En el caso complejo
hx; yi = 14 kx + yk
1 kx yk + i kx + iyk
4
4
2
4 kx iyk
2 V y 8c 2 K tenemos:
S es un conjunto ortogonal siempre que todos los pares distintos de S sean ortogonales. Un conjunto
ortonormal es un conjunto ortogonal S tal que
kxk = 1; 8x 2 S
Ejemplo 14.
1. El vector cero es ortogonal a todo vector de V y es el nico vector con esa propiedad.
2. La base cannica en <n o C n es un conjunto ortonormal con respecto al producto interno cannico (pic).
3. El vector (x; y ) es ortogonal a (
4. Sea
hf; gi =
Z 1
0
f (x)g (x)dx
21
p
p
2cos(2nx) y gn(x) = 2sin(2nx), entonces el conjunto de funciones f1; f ; g ; f ; g ; :::g
1
6. Si
6= 0, entonces h = g
hf;gi
hf;f i f es ortogonal a f , y con
se obtiene tomando ai
es directa.
Demostracin. [DET75]
22
<n, el espacio de n-tuples de nmeros reales, al espacio de sucesiones infinitas de nmeros reales. Si
x = (x ; x ; :::) e y = (y ; y ; :::) son sucesiones infinitas de nmeros reales , diremos que x = y
si xi = yi 8i 2 @. El conjunto de estas sucesiones forma un espacio vectorial con la adicin y
1
multiplicacin por un escalar conocidas. Pretendemos tener un producto interno en espacio, luego
tenemos que restringir las sucesiones en alguna forma. Deseamos definir el producto interno
hx; yi = x y + x y + ::: =
1 1
xi yi
2 2
i=1
kxk =
i=1
!1
xi
Como ahora estamos tratando con sucesiones infinitas, para asegurar la convergencia restringiremos
P
2
las sucesiones a aquellas tales que 1
i=1 xi < 1. Como se ha impuesto una restriccin, es necesario
verificar los axiomas de espacio vectorial. Slo verificaremos cerradura de la suma.
Si
i=1
, consideremos
x2i < 1 y
i=1
yi2 < 1
, tenemos que
2 jxiyij xi + yi
2
, y entonces
i=1
(xi + yi) 2
2
i=1
x2i + 2
i=1
yi2 < 1
La verificacin de los otros axiomas se hace por clculo directo. Para el producto interno tenemos
23
que
jxiyij 12 xi + yi
y entonces
i=1
jxiyij 12
i=1
x2i +
11y
2i i
X
=1
i=1
xi yi
converge absolutamente. Las cinco propiedades del producto interno son fciles de verificar. As
mostramos que el conjunto de sucesiones es un espacio vectorial real con producto interno.
Consideremos el conjunto infinito de vectores (ei ), tenemos que x
infinita de vectores, as que debemos definir lo que entendemos por convergencia de una de tales series.
Sea xn el vector de la suma parcial xn
0
kxn xk =
1 xi ei . Entonces
i=1
i=n+1
11
2
xi
2A
! 0 cuando n ! 1
i=1
x2i
converge.
Definicin 11. Si V es un espacio de dimensin infinita con un producto interno, entonces fv1 ; v2 ; :::g
es una base ortonormal si:
1.
2. la serie
Definicin 12. Si
fxng1n
=1
lim kxn xm k = 0 ; n; m ! 1
24
, o en otra forma, si
Demostracin.
P
< 1g, con un producto interno hx; y i = 1
i=1 xi yi ,
[DET74]
hf; gi =
Solucin.
Z 1
1
f (x)g (x)dx
h1 (x)h1 (x)dx = 1 ) c =
p1
2
h1 (x)h2 (x)dx = 0 )
Z 1
1
axp+ b
dx = 0;
2b = 0
y considerando que b = 0 en h2
Z 1
1
h2 (x)h2 (x)dx = 1 )
Z 1
1
a2 x2 dx = 1 )
2a = 1
3
2
p
3
a= p :
2
Ahora consideremos una funcin cuadratica
h3 (x) = rx2 + kx + l
Las constantes r; k; l se determinan desde las tres condiciones
Z 1
1
Z 1
1
Z 1
1
Z 1
1
h1 (x)h3 (x)dx = 0 )
Z 1
1
h3 (x)h3 (x)dx = 1
h1 (x)h3 (x)dx = 0
h2 (x)h3 (x)dx = 0
Z 1
1
rx2 +pkx + l
p p
2r + 2l = 0
dx =
3
p
p
3
p x(rx + kx + l)dx = p3 k = 0
2
2
2
As,
r=
3l
l2
Entonces
Z 1
1
(3x
1) dx = 85 l = 1
2
p
5
l= p :
2 2
25
1
h (x) = p ;
2
1
p
3
h (x) = p x;
2
26
h3 (x) =
5(3xp 1)
2 2
2
Este proceso se puede continuar indefinidamente. En el n-simo paso hay n constantes por determinar de n 1 condiciones de ortogonalidad ms una condicin de normalizacin. El polinomio general
es
hn =
2n 1 P (x)
2 n
1
Pn (x) =
1 dn (x
2nn! dxn
1)n
ak fk
ak = hg; fk i
El error cuadrtico mnimo es
En2 (g ) = kg k2
n
X
k =1
jak j
Pn
k =1
n
X
, luego
n
X
k =1
jak j . De donde
k =1
jak j kgk
2
jak j
27
Ejemplo 15. Determine la mejor aproximacin cuadrtica media de jxjpor un polinomio de grado 4
sobre el intervalo [
Solucin.
hn (x) =
2n + 1 P (x)
2 n
Como todo polinomio de grado n puede expresarse como una combinacin lineal de los primeros
n polinomios de Legendre, sigue que la mejor aproximacin cuadrtica media de jxjde grado n sobre
[ 1; 1] es
n
X
sn (x) = ak hk (x)
k =1
donde
Z 1
ak =
jxj hk (x)dx
a2k+1 = 0 y a2k = 2
s
1
1 5 (3x
h (x) = p ; h (x) =
2 2
2
0
De aqui
Z 1
0
xh2k (x)dx
30x + 3)
1
1 5 ; a = p1
a =p ; a =
4 2
2
8 2
0
s4 (x) =
1 + 5 (3x
2 16
3 (35x
1) 128
30x + 3)
2
E42 =
Z 1
1
jxj dx
2
1 + 5 + 1 = 2 85 = 1
2 32 128 3 128 384
28
1 = 1p
768 16 3
e4 = p
Sean dos funciones f (t); g (t) 2 L2 [a; b] (conjunto de funciones reales cuyo cuadrado es integrable
en el intervalo [a; b]). El producto interno de dos funciones se define como:
Z t
2
t1
f (t):g (t)dt
Dos funciones reales f (t) y g (t) se dicen ortogonales entre s, si su producto interno es:
Z t
2
f (t):g (t)dt = 0
t1
conjunto son ortogonales entre s, y la norma de cada uno de ellos es igual a uno. Esto puede ser
expresado como:
< vm ; vn >= mn
Similarmente, un conjunto de funciones
ortonormal si:
k (t) ; k
Z t
2
t1
k (t):l (t)dt = 0
t1
(k (t)) dt = 1
2
Z t
2
t1
k (t):l (t)dt = kl
Solucin.
7; 3] >= 3 7 + 7 3 = 0
29
lo que prueba la ortogonalidad entre estos dos vectores. Ahora debemos obtener una base ortonormal a partir del conjunto anterior.
7; 3]; [ 7; 3] >= 7 7 + 3 3 = 40
ninguna de estas bases cumple con tener norma igual a uno, pero si expresamos ambos vectores
como una combinacin lineal de otros vectores, de la forma
L (<), entonces
2
30
< g (t); fk (t) >= a 1 < f 1(t); fk (t) > +::: + ak < fk (t); fk (t) > +::: + a1 < f1 (t); fk (t) >
pero como sabemos que el conjunto de funciones fk es ortogonal, slo uno de los infinitos productos
internos de la parte derecha de la ecuacin sera no nulo
ak =
(2.1)
g (t)fk (t)dt
as el producto interno entre la funcin g (t) con la funcin base fk (t) nos entrega el correspondiente
coeficiente ak .
Si reemplazamos (2.1) en
g (t) =
obtenemos
k Z
g (t) =
ak fk (t)
k Z
con a; t 2 R
(2.2)
ecuacin que nos entregara de vuelta la seal original g (t). Esto es el fundamento del teorema de
Parseval, que dice que la norma de la energa puede ser particionada en trminos de la expansin de
coeficientes ak [BUR98], lo que se expresa matemticamente como sigue
Z
jg(t)j dt =
2
k Z
jak j
Entonces se deduce que cualquier seal de energa finita puede ser descompuesta en un conjunto de
coeficientes asociados a una funcin base.
Captulo 3
Teora de Fourier
3.1 Introduccin
Un proceso fsico puede ser descrito en el dominio del tiempo mediante valores representados por una
cantidad f como funcin del tiempo. Tambin es posible describir el mismo proceso en el dominio de
la frecuencia mediante una serie de amplitudes representadas por F como funcin de la frecuencia. La
transformada de Fourier es una herramienta con la capacidad de representar este proceso, o cualquier
otro, tanto en el dominio del tiempo como en el dominio de la frecuencia. Esto hace que la Transformada de Fourier sea ampliamente utilizada en aplicaciones en el campo de la ciencia e ingeniera.
f (t) =
a0
2 + fancos(nt) + bn sen(nt)g
X
(3.1)
es denominada serie trigonomtrica. Esta serie toma el nombre de serie de Fourier cuando es posible
obtener todos los coeficientes an y bn mediante una integracin de la funcin f (t) de la siguiente manera
1
a =
Z 2
an =
Z 2
0
f (t)dt
(n = 0; 1; 2; :::)
f (t)cos(nt)dt
31
(n = 0; 1; 2; :::)
(3.2)
32
Figura 3.1: (a) Funcin seno de perodo T=2 ; (b) Funcin coseno de perodo T=2
bn =
Z 2
f (t)sen(nt)dt
(n = 0; 1; 2; :::)
La obtencin de los coeficientes de la forma en que se expresa la ecuacin (3.2) es posible gracias
a la ortogonalidad existente entre las funciones cosenos y seno y entre si mismas para valores de n
diferentes. Lo anterior se puede resumir de la siguiente manera
sen(nt)cos(mt)dt = 0
0 sen(nt)cos(mt)dt = 0
R 2
0 sen(nt)sen(mt)dt = 0
R 2
0 cos(nt)cos(mt)dt = 0
R 2
0
R 2
n 6= m
n=m
n 6= m
n 6= m
(3.3)
Adems es necesario cumplir con la condicin de que la norma de la funcin analizada sea integrable y esa integral sea finita, es decir,
Z 2
0
f (t + T )
jf (t)j < 1
(3.4)
= 2, lo cual no necesariamente debe ser) ya que las funciones de expansin seno y coseno son
peridicas. El intervalo [0; 2 ] fue seleccionado debido a que corresponde al perodo de las funciones
T
seno y coseno.
Ejemplo
Aproximar la funcin f (t) = t utilizando (3.2)
33
N=2
N=4
N=8
2
N=16
Figura 3.2: Expansin de f (t) = t en series de Fourier para N=2, N=4, N=8 y N=16.
Solucin
a0 = 1 02 tdt = 2
R
an = 1 02 tcos(nt)dt = 0 (n = 1; 2; 3; :::)
R
bn = 1 02 tsen(nt)dt = n2 (n = 1; 2; 3; :::)
R
f (t) =
34
Esto nos permite dividir la funcin o seal en una parte par e impar como sigue
(3.5)
(3.6)
donde
E (t) = 21 [ a2
O(t) = 12 [ a2
+
+
1 fancos(nt) + bn sen(nt)g + a0
1
2
P1
fancos(nt) + bnsen(nt)g a0
P
(3.7)
(a)
(b)
(3.8)
Con lo que obtenemos dos nuevas series las que conoceremos como serie cosenoidal de Fourier y
serie senoidal de Fourier respectivamente.
Supongamos ahora que tenemos una funcin
figura (3.3). Utilizaremos dos maneras tiles a travs de las cuales obtendremos una extensin peridica
de perodo 2 de dicha funcin, como se ilustra en la figura (3.4). Se puede observar que la expansin
35
an =
Z
0
f (t)cos(nt)dt
(3.9)
De manera anloga la funcin de la figura (3.4b), contendr slo trminos senoidales por lo que
podemos aproximar esta funcin mediante (3.8b), donde
2
bn =
Z
0
f (t)sen(nt)dt
(3.10)
Adems, como consecuencia de que una funcin sea par o impar, los coeficientes se calculan integrando sobre la mitad del perodo de la funcin y multiplicando por 2, en vez de integrar sobre el
intervalo completo, lo que en trminos de clculo puede ahorrar tiempo en forma considerable.
36
1
f (t)ei!t dt
1
F (! ) =
(3.11)
f (t) =
1
F (! )e
1
i!t
d!
(3.12)
(3.13)
f (t) = F0 + F1 e
i!t
+F e
2
i2!t
+F e
3
i3!t
f (t) =
Fn e
in!t
(3.14)
(3.15)
Estas funciones exponenciales pueden ser referidas como las funciones bases de la transformada
de Fourier, y debido a su propiedad de ortogonalidad1, es posible obtener los valores o coeficientes Fn
como trminos de semejanza entre la seal original y la funcin exponencial
R t +T
0
Fn = R tt +T
0
0
t0
Fn =
1
f (t)e
ein!t e
Z t +T
0
t0
in!t
dt
dt
in!t
f (t)e
in!t
dt
(3.16)
(3.17)
La relacin entre esta propiedad y la obtencin de los coeficientes ser explicada de manera ms detallada en los
prximos captulos
37
Figura 3.5: (a) Seal original; (b) Descomposicin en series de Fourier, la amplitud de cada onda es lo que representa la
transformada de Fourier.
Aunque matemticamente la funcin exponencial resulta ms fcil de manipular, de aqu en adelante trabajaremos con las funciones seno y coseno ya que desde un punto de vista fsico, resulta ms
fcil comprender el paso de la seal del dominio del tiempo al dominio de la frecuencia y en forma
inversa. Por lo tanto, es posible realizar una transformacin de (3.15) a la siguiente forma
f (t) =
a0
2 + fancos(n!t) + bn sin(n!t)g
X
(3.18)
an = Re[Fn ]
bn = Im[Fn ]
De esta ecuacin podemos decir que la funcin en el dominio del tiempo ha sido representada como
una combinacin linear de todas las componentes de frecuencia presentes en la seal f (t), donde los
coeficientes an y bn representan la cantidad de energa que aporta cada componente de frecuencia a la
seal original como se puede observar en la figura (3.5).
3.3.1 Propiedades
Algunas propiedades fundamentales de la transformada de Fourier son:
f (at) ,
1 F (! )
jaj a
(3.19)
38
1 f ( t ) , F (b!)
jbj b
f (t t0 ) , F (! )ei!t
(3.21)
f (t)e
(3.20)
, F (! ! )
i!0 t
(3.22)
Teorema de la convolucin
(3.23)
Corr(f; h) = 11 f ( + t)h(t)d
Corr(f; h) , F (! )H (! )
(3.24)
Teorema de la correlacin
R
Teorema de Parseval, que dice que la energa de la seal es siempre la misma sin depender de si
se encuentra en el dominio del tiempo o en el dominio de la frecuencia
Energia T otal =
Z 1
1
2
j
f (t)j dt =
j
F (! )j2 d!
1
1
Ejemplo
Obtener la Transformada de Fourier de la siguiente funcin (ver figura (3.6))
8
<
f (t) = :
1
0
< t < T2
caso contrario
T
Solucin
Debemos reemplazar la funcin en (3.11)
F (! ) =
1ei!t dt
(3.25)
39
F (! ) =
F (! ) =
ei!
ei!t
i!
e
i!
i! T2
ei!
i! T2
= 2isen( 12 !T )
sen( 12 !T )
F (! ) = T
1
!T
2
(
La multiplicacin de
F (! ) por
T
T
= T sinc(!T )
sinc(!T ), que es muy utilizada en textos y tutoriales referidos al procesamiento digital de seales(
figura (3.7)). Como se ilustra en la figura (3.7) la transformada de Fourier de una onda cuadrada
muestra que la energa de la seal se concentra en !
trasladamos a las frecuencias altas.
= 0.
40
sampleo de f (t) y F (nws ), donde ws = 2fs (fs es la frecuencia con la que se realizan los sampleos)
corresponde al n - simo sampleo de F (w ), y adems definimos a N como el nmero de sampleos de
la seal o longitud de la seal, podemos reescribir la Transformada de Fourier, de una seal de perodo
N
X1
k =0
fk e
n; k = 0; 1; 2; :::; N
i2kn
N
ya que
fk = f (k
y
T
)
N
^ Ts = NT
(3.26)
^ ws = 2T
Fn = F (nws )
Notar que Fn+N
41
(3.27)
ei2k = 1
8k 2 Z
Por lo tanto Fn tiene perodo N al igual que fk . De esta manera podemos decir que el conjunto de
coeficientes (Fn )n=0;1;2;:::;N 1 es denominado la Transformada Discreta de Fourier (DFT) de los valores
sampleados (fk )k=0;1;2;:::;N 1.
Ahora bien, si tenemos los coeficientes
similar a (3.26), de la siguiente manera
fk =
N
X1
n=0
Fn e
i2kn
N
(3.28)
f
donde obviamente N
6
6
6
6
6
6
4
f0
f1
f2
f3
3
7
7
7
7
7
7
5
(3.29)
= 4.
F0 = [f0 e
i
F1 = [f0 e
i
F2 = [f0 e
i
F3 = [f0 e
4
2 0 1
4
2 0 2
4
2 0 3
4
+ f ei
+ f ei
+ f ei
+ f ei
1
1
1
1
2 0 0
4
2 1 1
4
2 1 2
4
2 1 3
4
+ f ei
+ f ei
+ f ei
+ f ei
2
2
2
2
2 0 0
4
2 2 1
4
2 2 2
4
2 2 3
4
+ f ei ]
+ f ei ]
+ f ei ]
+ f ei ]
3
3
3
3
2 0 0
4
2 3 1
4
2 3 2
4
2 3 3
4
(3.30)
42
F0 = [f0 + f1 + f2 + f3 ]
F1 = [f0 + f1 fcos( 2 ) + isen( 2 )g + f2 fcos( ) + isen( )g + f3 fcos( 32 ) + isen( 32 )g]
F2 = [f0 + f1 fcos( ) + isen( )g + f2 fcos(2 ) + isen(2 )g + f3 fcos(3 ) + isen(3 )g]
F3 = [f0 + f1 fcos( 32 ) + isen( 32 )g + f2 fcos(3 ) + isen(3 )g + f3 fcos( 92 ) + isen( 92 )g]
(3.31)
que mediante el clculo de los senos y cosenos podemos resumir nuestro set de ecuaciones a
F0 = [f0 + f1 + f2 + f3 ]
F1 = [f0 + f1 (i) + f2 ( 1) + f3 ( i)]
F2 = [f0 + f1 ( 1) + f2 + f3 ( 1)]
F3 = [f0 + f1 ( i) + f2 ( 1) + f3 (i)]
(3.32)
F0
F1
F2
F3
3
7
7
7
7
7
7
5
32
6
6
6
6
6
6
4
7
7
7
7
7
7
5
1 1 1 1
= 1 i 1 i
1 1 1 1
1 i 1 i
6
6
6
6
6
6
4
f0
f1
f2
f3
3
7
7
7
7
7
7
5
(3.33)
A esta nueva matriz la denominaremos matriz de F ourier . A simple vista esta matriz no parece
de mucha utilidad ya que sus componentes no se comportan siguiendo algn patrn (lo que es indispensable en la elaboracin de algn algoritmo computacional). Sin embargo, si dejamos de la misma
forma la primera columna y la primera fila y nos concentramos en el nmero complejo i, podremos
observar que el resto de los componentes de la matriz de Fourier es posible escribirlos como potencias
de i, ya que el tipo de valores que entrega i para un intervalo de exponentes de 1 hasta 4 se repite en
forma peridica
i=
1 i = 1 i = i i =1
2
Por lo tanto podemos reescribir nuestra nueva matriz de Fourier [STR93] de la forma
2
6
6
6
6
6
6
4
F0
F1
F2
F3
3
7
7
7
7
7
7
5
1
= 1
1
1
6
6
6
6
6
6
4
1 1 1
(i) (i) (i)
(i) (i) (i)
(i) (i) (i)
2
32
7
3 7
7
7
6 7
7
5
9
6
6
6
6
6
6
4
f0
f1
f2
f3
3
7
7
7
7
7
7
5
(3.34)
De esta nueva matriz se observa que sus columnas son ortogonales entre ellas (consecuencia de la
43
= 64
datos de entrada
ortogonalidad entre el seno y el coseno), por lo que su inversa es igual a su transpuesta conjugada2, de
tal manera que teniendo los coeficientes de Fourier podemos reconstruir la seal original de la siguiente
forma
2
6
6
6
6
6
6
4
f0
f1
f2
f3
3
7
7
7
7
7
7
5
32
1 1
1
1
= 14 1 ( i) ( i) ( i)
1 ( i) ( i) ( i)
1 ( i) ( i) ( i)
6
6
6
6
6
6
4
7
3 7
7
7
6 7
7
5
9
6
6
6
6
6
6
4
F0
F1
F2
F3
3
7
7
7
7
7
7
5
(3.35)
El punto importante aqu es que ambas matrices tienen la misma forma con la nica diferencia de
un cambio de signo. Por lo tanto si nosostros podemos realizar la transformada rpidamente tambin
podemos obtener la inversa en forma rpida entre los coeficientes y los valores de la funcin.
Este resultado se puede expandir a una matriz de N por N ya que los Fn siguen el mismo tipo de
Fn =
fk =
PN
1
k =0
P
N 1
1
n=0
N
fk WNkn
Fn WN kn
(3.36)
La matriz de Fourier es completa, es decir, todos sus elementos son distintos cero. Por lo tanto, el
nmero de multiplicaciones que se deben realizar para la obtencin de la DFT de una seal de longitud
N , es de N 2 multiplicaciones. Se deben evaluar N trminos de series de Fourier sobre N puntos. En
las figuras (3.8 y 3.9) se observa una representacin sampleada de la funcin o seal definida en el
ejemplo 1.2, y su respectiva DFT.
2
Esto puede ser corroborado consultando cualquier texto o libro de Algebra Lineal, por ej. STRANG, G., Introduction
to Linear Algebra, Wellesley - Cambridge Press, 1998.
44
Figura 3.9: Transformada Discreta de Fourier de la onda cuadrada ilustrada en la figura (1.8). Para la obtencin de la
DFT se realizaron 4096 operaciones de multiplicacin.
WNk+
WNk+N
= WNk Simetria
= WNk P eriodicidad
(3.37)
seal donde el nmero de sampleos N es una potencia de 2. El principio de la FFT se basa en el mtodo
denominado divide y conquista [PRO98], ya que divide la seal de N puntos en dos secuencias de
datos de
N
2
Para mayor informacin sobre otros tipos de algoritmos FFT se recomienda consultar el libro Tratamiento Digital de
Seales de John Proakis y Dimitris Manolakis [PRO98], disponible en el Instituto de Acstica.
45
Fn = Nk=01 fk WNkn
N
P
PN
Fn = k=01 f2k WN2kn + k=01 f2k+1 WN(2k+1)n
P
como WN2kn
(3.38)
= W Nkn, entonces
2
Fn =
PN
2
k =0
PN
(3.39)
Fne denota el n
esimo componente de la transformada de longitud N2 proveniente de los componentes pares de la seal original fk , mientras que Fno es la transformada de Fourier de longitud N2
correspondiente a los componentes impares de la seal fk . Por lo tanto se ha disminuido el nmero de
2
operaciones de multiplicacin de N 2 a 2 N2 .
El punto interesante es que este proceso es recursivo ya que podemos volver a diezmar las seales
f2k y f2k+1 de tal manera que las transformadasde Fourier que se obtengan sean de longitud N4 , re2
ducindose el nmero de operaciones de N2 a 4 N4 . Por lo tanto, para una seal donde N = 2r ,
el proceso de diezmado se puede repetir r = log2 N veces, ya que en este punto la transformada de
2
N
2
operaciones de
multiplicacin. De esta manera el algoritmo FFT de diezmado de tiempo logra reducir el nmero de
multiplicaciones de N 2 a N2 log2 N .
Otro punto importante reside en el orden de la secuencia de entrada despus de que han sido diez-
madas (r 1) veces. Supongamos una seal con una longitud N = 8 como se observa en la figura
(3.10). Si representamos estos datos en su forma binaria nos daremos cuenta que podemos obtener la
secuencia de los datos de entrada diezmados leyendo la representacin binaria de k en forma inversa.
En resumen, el algoritmo de diezmado de tiempo se realiza en dos partes:
1. Inversin binaria de los datos de entrada.
2. Operaciones de multiplicacin y suma sobre los datos invertidos, entregando los datos de salida
en orden natural.
46
=8
datos de entrada
Fn =
PN
PN
fk WNkn +
k =0
PN
PN
k= N
2
fk WNkn
(3.40)
nN
como Wk 2
= ( 1)n , entonces
Fn =
2
X h
k =0
fk + (
1)k fk
N
+
2
W kn
(3.41)
En este momento diezmamos la secuencia Fn en sus muetras pares e impares respectivamente, con
lo que obtenemos
F2n =
PN
fk + fk+ N W Nkn
nh
i
o
PN
F2n+1 = k=01 fk fk+ N WNn W Nkn
2
k =0
N
2
2 1
(3.42)
= WN .
2
h1k h= fk + fk+iN
h2k = fk fk+ N WNn
2
entonces
n = 0; 1; :::;
k = 0; 1; 2; :::;
(3.43)
F2n =
PN
F2n+1 =
fk1 W Nkn
k =0
PN
2
47
k =0
fk W Nkn
2
(3.44)
Este procedimiento tambin es recursivo de tal manera que pueden volver a diezmarse las DFTs de
puntos a DFTs de N4 puntos. El proceso completo implica log2 N etapas de diezmado, donde para
cada diezmado implica N2 multiplicaciones. Por lo tanto, al igual que el diezmado de tiempo, el clculo
de la DFT de N puntos por medio del algoritmo FFT de diezmado de frecuencia, requiere N2 log2 N
N
2
multiplicaciones [PRO98].
En resumen, el algoritmo de diezmado de tiempo se realiza en dos partes:
1. Operacin de multiplicacin y suma sobre los datos de entrada en orden natural.
2. Inversin binaria de los datos de salida (Transformada).
Captulo 4
Analisis Tiempo - Frecuencia
4.1 La Transformada corta de Fourier (STFT) 1
Como ya es sabido, la transformada de Fourier constituye una herramienta mediante la cual podemos
obtener informacin sobre como est distribuida la energa de una seal a travs de sus distintas componentes de frecuencia, es decir, podemos conocer todas las componentes de frecuencia existentes en
la seal y sus respectivos aportes energticos. Todo lo anterior se puede resumir diciendo que la transformada de Fourier tiene una perfecta resolucin en frecuencia lo que la hace una herramienta muy
til para el anlisis de seales estacionarias . Sin embargo, ella no puede ser aplicada con el objeto de
obtener informacin precisa de cuando o donde las diferentes componentes de frecuencia se encuentran
en la seal como es el caso de seales quasi - estacionarias o no estacionarias cuyo contenido espectral
vara con el tiempo. En otras palabras, la transformada de Fourier posee una muy pobre resolucin en
tiempo.
En un esfuerzo por resolver el problema de resolucin en tiempo de la transformada de Fourier, Denis Gabor (1946) adapt la transformada utilizando un procedimiento llamado ventanamiento2 . Este
procedimiento consiste en dividir una seal x(t) en pequeos segmentos a travs del tiempo de tal manera que podamos asumir que para cada segmento la seal es estacionaria y as calcular la Transformada
de Fourier clsica para cada porcin de la seal.
La forma de dividir la seal se realiza mediante lo que llamaremos una funcion tiempo ventana
h(t) cuyo ancho o soporte corresponde a la longitud de cada segmentacin de la seal. Con la funcin
ventana encuadramos la seal alrededor de un instante de tiempo y calculamos su transformada de
Fourier, luego trasladamos la funcin ventana hasta que no se sobrepone con la anterior cubriendo una
nueva porcin de la seal a la que volvemos a calcular su transformada de Fourier. Este proceso es
repetido hasta que se ha cubierto la totalidad de la seal.
1
2
48
49
ST F T (t; ! ) =
1
x(t)h (
1
t)e
1
x(t)h(t
1
)e
i!t
dt
(4.1)
h(t) como una funcin ventana de valores slo reales no complejos de tal
manera que h( t) = h (t) entonces (4.1) nos queda
y si consideramos a
ST F T (t; ) =
it
dt
(4.2)
que calcula el producto interno entre la seal y la funcin tiempo-ventana trasladada y modulada.
De acuerdo con las propiedades de la transformada de Fourier de translacin en tiempo y frecuencia
h(t t0 ) , H (! )ei!t
h(t)e
i!0 t
, H (! ! )
0
ST F T (t; ) =
ib Z
2
1
X (t)H (!
1
)ei ! dt
(4.3)
eit h(t )
en (4.2) localiza la seal x(t) cerca de t = , la correspondiente funcin frecuencia-ventana
eib
2 H (!
)e
i !
funcin frecuencia-ventana H (! ).
50
(4.4)
Como podemos observar en la figura (4.2) la transformada de Fourier nos entrega una resolucin
perfecta en frecuencia de dicha seal, como era de esperarse. Ahora, supongamos que tenemos otra
seal x1 (t) con las mismas componentes de frecuencia sobre el mismo intervalo de tiempo, pero con la
diferencia que las primeras 5 centsimas de segundo contienen a la frecuencia de 250 Hz y las otras 5
3
51
Figura 4.2: (a) Representacin de la seal x(t) ; (b) Contenido espectral de la seal obtenido mediante la transformada
rpida de Fourier
centsimas de segundo restante contienen a la frecuencia de 500 Hz, lo que se define como
8
<
frecuencias existentes de la seal pero con una amplitud igual a la mitad de la amplitud real debido a
que cada componente de frecuencia se encuentra slo la mitad del tiempo de anlisis de la seal como
se ilustra en la figura (4.3). Esta informacin errnea se debe a que la transformada de Fourier, como
se expres en un principio, no puede determinar en que momento dentro de la seal se encuentra una
respectiva componente de frecuencia. Debido a esto vamos a volver a analizar la seal de (4.5)con
la transformada corta de Fourier (STFT), y la funcin tiempo - ventana utilizada ser una funcin
gaussiana simple de la forma
h(t ) = e
2
a2 (t )
(4.6)
donde a es el factor que controla el ancho o soporte de h. El primer anlisis para un valor de a = 20
se ilustra en la figura (4.4). Al ser angosta la ventana utilizada podemos observar que la resolucin en
el tiempo es buena ya que se diferencia claramente la posicin en el tiempo de cada componente de
52
Figura 4.3: (a) Representacin de la seal x1 (t) ; (b) Contenido espectral de la seal obtenido mediante la FFT, se observa
que las amplitudes de ambas componentes han disminuido a la mitad de su valor real
frecuencia. Sin embargo, la resolucin en frecuencia es bastante pobre ya que para cada componente se
observa un ancho de banda amplio lo que impide una deteccin precisa del valor real de la frecuencia
existente en el intervalo de tiempo donde se encuentra. El segundo anlisis se efecta para un valor de
a = 250 y se ilustra en la figura (4.5). Este aumento de a significa que nuestra funcin tiempo - ventana
es ms ancha y por lo tanto hemos mejorado nuestra resolucin en frecuencia ya que el ancho de banda
de cada componente ha disminuido permitindonos identificar claramente cada frecuencia. Por otro
lado la resolucin en tiempo se ha empobrecido producto de la mejora en la resolucin en frecuencia ya
que no se observa una clara separacin de la ubicacin de cada componente en su respectivo intervalo
de tiempo.
Mediante este ejemplo se ha podido demostrar el problema implcito de resolucin de la STFT lo
que crea la interrogante Es posible que la funcin ventana tenga un soporte dinmico y no esttico?, es
decir, una funcin ventana que tenga la capacidad de cambiar su soporte en forma automtica dependiendo del contenido espectral del segmento de la seal analizado, ya que una situacin ideal de anlisis
sera tener una buena resolucin en tiempo para frecuencias altas y una buena resolucin en frecuencia
frente a contenido de frecuencias bajas. Para la resolucin de este problema existe una herramienta
matemtica denominada la transformada continua wavelet que fue desarrollada como una alternativa
de anlisis frente a la STFT, el desarrollo terico y prctico de esta herramienta constituye el foco
principal de la siguiente seccin.
Figura 4.4: Representacin tiempo - frecuencia con buena resolucin en tiempo y mala resolucin en frecuencia.
Figura 4.5: Representacin tiempo - frecuencia con buena resolucin en frecuencia y mala resolucin en tiempo.
53
54
La transformada continua wavelet intenta expresar una seal x(t)continua en el tiempo, mediante
una expansin de trminos o coeficientes proporcionales al producto interno entre la seal y diferentes
versiones escaladas y trasladadas de una funcin prototipo (t) ms conocida como wavelet madre.
Asumiendo que tanto la seal como la nueva funcin (t) son de energa finita, entonces podemos
definir
1
CW T (a; b) = p
a
1
x(t)
1
( t a b )dt
(4.7)
CW T (a; b) =
1p
2 a
1
X (! ) (a! )e
1
i!b
dt
(4.8)
Como se puede observar (4.7) y (4.8) arriba han aparecido dos nuevas variables a y b. La variable
a controla el ancho o soporte efectivo de la funcin , y la variable b nos da la ubicacin en el dominio
del tiempo de .
Ahora bien, para que este anlisis sea posible y adems para poder lograr una perfecta recon-
55
(0) = 0
(4.9)
(t), lo que nos dar el grado de resolucin con el cual estemos analizando la seal.
Por definicin
la Transformada Continua Wavelet es mas una representacin tiempo - escala que una representacin
tiempo - frecuencia. En particular, para valores pequeos de a la CWT obtiene informacin de x(t) que
est esencialmente localizada en el dominio del tiempo mientras que para valores grandes de a la CWT
obtiene informacin de X (! ) que est localizada en el dominio de la frecuencia. En otras palabras,
para escalas pequeas la CWT nos entrega una buena resolucin en el dominio del tiempo mientras que
para escalas grandes la CWT nos entrega una buena resolucin en el dominio de la frecuencia. Cuando
a cambia, tanto la duracin como el ancho de banda de la wavelet cambian pero su forma se mantiene
igual. En lo anteriormente dicho se encuentra la diferencia principal entre la CWT y la STFT, ya que
la primera ocupa ventanas de corta duracin para altas frecuencias y ventanas de larga duracin para
bajas frecuencias mientras que la STFT ocupa una sola ventana con la misma duracin tanto para altas
frecuencias como para bajas frecuencias.
Aunque la CWT trabaja con el trmino escala en vez de frecuencia, es posible mediante una constante c > 0 realizar un cambio de variable de una escala a a una frecuencia ! de la forma
c
(4.10)
a
donde c recibe el nombre de constante de calibracion en unidades de frecuencia (tal como Hz).
Con este cambio de variable podemos observar que la CWT localiza tanto la seal x(t) en el dominio
del tiempo como su espectro X (! ) en el dominio de la frecuencia en forma simultnea.
a!!=
56
Figura 4.7: Se observa el proceso de escalamiento y traslacin, para una escala grande la wavelet ocupa un mayor
segmento de la seal y por lo tanto tiene mejor resolucin en frecuencia mientras que para una escala ms pequea el
intervalo de tiempo bajo el que se analiza la seal es menor, lo que implica mayor resolucin en tiempo.
57
(t) sobre el intervalo de tiempo en el que se haya definido x(t). Un punto importante es que la funcin
wavelet se traslada cubriendo toda la seal para cada valor de a, es decir, si la escala escogida es
pequea habrn ms traslaciones de que si la escala escogida es grande, esto se esquematiza en la
figura (4.7). Por lo tanto, la variable
dominio del tiempo.
( at ) ha sido trasladada en el
La continuidad de la CWT reside en que tanto la variable de escala como la variable de traslacin
varan en forma continua. Sin embargo, en trminos de clculo computacional es imprescindible discretizar la transformada, y la suposicin ms lgica es que tanto los valores de escala como traslacin
sean discretos. Adelantndonos un poco a lo que es la Transformada Discreta Wavelet, la forma ms
comn de discretizar los valores de a y b es utilizar una red didica[BUR98] [CHU97], es decir, a = 2 j
y b = k2
con j; k
t b
a
a; b 2 R; a 6= 0
(4.11)
j
2j t k
j;k (t) = 2
2
j; k 2 Z
(4.12)
58
Figura 4.8: Funcin Wavelet Mexican Hat y Morlet con sus respectivas Transformadas de Fourier (grficos de la izquierda). Se observa como cumplen con la condicin de admisibilidad al tener un rpido decaimiento a medida que la frecuencia
tiende a 0.
Figura 4.9: Diferencia tiempo - frecuencia v/s tiempo -escala entre la STFT y la CWT.
Captulo 5
Sistemas Wavelet.
En este captulo estudiaremos los sistemas wavelets de primera generacin. Definiremos la funcin escala y la wavelet, daremos exigencias para estas y demostraremos sus propiedades. Luego analizaremos
el sistema Haar, probaremos que es un buen sistema wavelet y dejaremos ver ventajas y desventajas
de esta wavelet, que es la ms antigua y simple de todas.
j; k 2 Z
(t) = 2 j (2j t k)
2
(5.1)
La wavelet madre (t), trae siempre asociada consigo una funcin escala (t). Con estas dos
funciones podremos aproximar cualquier funcin o seal f (t) 2 L2 (R), mediante una de las funciones
o mediante ambas, de la forma
f (t) =
XX
cj;k (t) +
XX
dj;k (t)
(5.2)
60
1. Un sistema wavelet puede describirse de una manera amigable, como un conjunto de ladrillos
(que para cada sistema pueden tener diferente forma) que sirven para reconstruir o representar
una seal o funcin. Este conjunto es una expansin bi-dimensional, que suele ser una base para
alguna clase de seal de una o ms dimensiones. En otras palabras, si el set de expansin esta
dado por f
j;k
XX
dj;k (t)
(5.3)
61
(t) 2 L2 (R), una funcin escala, que trasladada y escalada genera una familia de funciones
fj;k(t) jj; k 2 Z g definida como:
Sea
j; k 2 Z
(5.4)
f (t) =
con
k Z
(5.5)
1
jf (t)j;k(t)j dt
1
esta ltima ecuacin se demuestra multiplicando vectorialmente (5.5) por j;k (t) , lo que nos entrega:
< f (t); j;k (t) >= cj; 1 < j; 1(t); j;k (t) > +:::+cj;k < j;k (t); j;k (t) > +:::+cj; 1 < j;1(t); j;k (t) >
pero como veremos luego, la funcin escala debe cumplir con ciertos requisitos, y uno de ellos es ser
ortonormal, por lo que slo uno de los productos puntos de la ecuacin anterior es distinto de cero
(< j;k (t); j;k (t) >= 1), lo que nos entrega
f (t) 2 Vj , f (2t) 2 Vj +1
lo que se demuestra como sigue
f (t) 2 Vj
62
,
f (t) = k2Z cj;k j;k (t)
,
f (2t) = k2Z cj;k j;k (2t)
, f (2t) k2Z cj;k 2 j (2j t k)
, f (2t) = k2Z cpj;k 2 j (2j t k)
, f (2t) = k2Z cpj;k 2 j j ;k (t)
,
f (2t) 2 Vj
P
P
+1
+1
2
+1
+1
2
+1
+1
8j 2 Z; fVj Vj g
+1
3. La funcin (t) tiene soporte compacto. Esto es, existe un subconjunto del dominio de (t)
donde esta no es cero, i.e. sup fg = fx 2 Z j(x) 6= 0g.
La normalidad exigida en la condicin 1 se demuestra como:
kj;k(t)k =
=
=
=
=
=
1 2 2j 2 2 (2j t k) dt
1
qR
1 2j 2 (u) 1 du
1
2j
qR
1 2 (u)du
1
k(t)k
con
u = 2j t k
du = 2j dt
2 Z tengamos:
8
<
l) = :
1 k=l
0 k=
6 l
63
La condicin 2 nos dice que los subespacios Vj incluyen ms funciones de L2 (R) a medida que j
crece.
8j 2 Z; fVj Vj g , (t) 2 Vj
(5.6)
+1
Demostracin.
ple.
00
f (t) 2 Vj , f (t) =
k=
cj;k 2 (2j t k)
j
(m0 ) =
n Z
con
2(2m0 k)
h(n)
m0 = 2j t k
1
) f (t) =
k=
, f (t) =
cj;k 2
k=
cj;k
2h(n)(2(2j t k) n)
n=
n=
2 j h(n)(2j t 2k n)
+1
2
+1
sea m = 2k + n
) f (t) =
k=
cj;k
m=
2 j h(m 2k)(2j t m)
+1
2
+1
, f (t) =
2 j cj;kh(m 2k)(2j t m)
+1
2
1 m= 1
k=
64
+1
debido a que, como veremos ms tarde, slo un nmero finito de trminos en la sumatoria son
distintos de cero, intercambiamos sumatorias en la ultima expresin
, f (t) =
m=
, f (t) =
sea
2 j (2j t m)
+1
2
m=
j +1:m(t)
cj +1;m =
k=
f (t) =
+1
m=
k=
k=
cj;k h(m
cj;k h(m
cj;k h(m
2k)
2k)
2k)
cj +1;m j +1:m(t)
) f (t) 2 Vj
+1
lo que implica que existen coeficientes fh(n)gn2Z , tal que (t) puede ser expresada en trminos de
una suma de (2t) ajustada y trasladada como
(t) =
k Z
h(n)
2(2t k)
(5.7)
llamada ecuacin bsica de recursin o ecuacin de escala, donde (t) tiene soporte compacto sobre
0 t N 1, los coeficientes h(n) pueden ser una secuencia de nmeros reales o complejos,
p llamados
coeficientes de funcin escala (o filtro de escalamiento o vector de escalamiento) y la 2 mantiene la
normalidad de la funcin escala en V1 .
Proposicin 2. Si (t) es una funcin escala como se define en (5.7), que tiene soporte compacto
sobre 0 t N 1 y f(2t k )jk 2 Z ges base ortonormal para V1 , entonces h(n) tambin tiene
soporte compacto sobre 0 t N 1, por lo que la mxima longitud de la secuencia h(n) es N:
65
Mostraremos que
2h(n) =
1
(t)(2t
1
n)dt
<0yn>N
1, entonces quedara
1
(t)(2t
1
n)dt =
1 X
p
h(k) 2(2t
1 k 2Z
k)(2t n)dt
como por hiptesis (t)tiene soporte compacto, slo finitos coeficientes son no nulos, por lo que
podemos intercambiar la sumatoria con la integral
Z
1 X
p
h(k) 2(2t
1 k2Z
k Z
h(k)
k)(2t n)dt =
1
(2t
1
k Z
p
h(k) 2
k)(2t n)dt =
k Z
1
(2t
1
h(k)
k)(2t n)dt
p
p
2(k n) = h(n) 2
Wj = Spank2Z f
j;k
(t)g
con
j;k
1
j;k (t)
1
j;k
(t)dt = 0
(t) = 2 j (2j t k)
2
y adems
V1 = V0
W0
j; k 2 Z
j; k; l 2 Z
Vj son
66
f (t) =
la funcin bsica wavelet
De este modo la funcin
k Z
dj;k
j;k
(t)
00
k Z
(5.8)
Captulo 6
Wavelet Haar
Comenzaremos este captulo desarrollando la teora wavelet en tiempo continuo para la wavelet Haar,
esto es, descompondremos una funcin continua f (t) 2
la reconstruiremos en diferentes grados de resolucin.
(t) = :
1 si 0 t < 1
0 el resto:
(6.1)
68
8
<
1 si t = k t < k + 1 = t
0 caso contrario:
k (t) = (t k) = :
k2Z
(6.2)
^ 2 L (R)
2
(6.3)
k2Z
ck k (t)
(6.4)
1 si t = m t < m + 1 = t
0 caso contrario:
m (t) = (t m) = :
(6.5)
entonces el producto punto entre (6.2) y (6.5) debe ser cero para cumplir con la condicin de ortogonalidad, es decir
Z
k (t)m (t)dt = 0
(6.6)
con k 6= m
esto es fcilmente demostrable ya que (6.2) y (6.5) estn definidas en distintos intervalos de tiempo,
entonces tenemos
Z
k (t)m (t)dt =
Z t
2
t1
k (t)m (t)dt +
Z t
4
t3
k (t)m (t)dt
(6.7)
69
Z t
2
t1
1 0dt +
Z t
4
t3
0 1dt = 0
k (t) con k
(6.8)
Z t
2
t1
k (t)k (t)dt
(6.9)
= (k + 1) k = 1
(6.10)
t1
2
1
Ejemplo 1
Representar la funcin f (t) = t2 con t 2 [
[ 3; 2].
Solucin
Representaremos la funcin continua f (t) = t2 , como una combinacin lineal de la forma
70
1) + c (t 2)
2
(6.11)
< t2 ; (t + 3) >=< c 3 (t + 3); (t + 3) > +:::+ < c2 (t
(6.12)
(6.13)
como demostramos anteriormente, k (t)es ortogonal, por lo que todos los productos puntos de la
parte derecha de (6.13) sern cero, excepto < c 3 (t + 3); (t + 3) >
3+1
(6.14)
(6.15)
2
3
(6.16)
) c =
3
) c =
3
2
3
Z 3
3
t2 (t + 3)dt
t2 (t + 3)dt +
Z 3
2
t2 (t + 3)dt
(6.17)
71
) c =
2
3
t2 dt +
"
t3
) c = 3
3
Z 3
2
t2 0dt
(6.18)
) c = 6:3
(6.19)
ahora calcularemos c
1) + c (t 2) = (t + 2)
2
< t2 ; (t + 2) >=< c 3 (t + 3); (t + 2) > +:::+ < c2 (t
(6.20)
(6.21)
2+1
(6.22)
(6.23)
= c [ 1 + 2] = c
2
) c =
Z 3
) c =
2
2
3
t2 (t + 2)dt +
(6.24)
t2 (t + 2)dt
1
1
2
t2 (t + 2)dt +
(6.25)
Z 3
1
t2 (t + 2)dt
72
) c =
2
2
3
t2 0dt +
1
2
"
t3
) c = 3
2
t2 dt +
Z 3
1
t2 0dt
) c = 2:3
(6.27)
del clculo de estos dos coeficientes queda claro que cualquier coeficiente
como
Z
(6.26)
t2
t1
f (t)dt
siempre que f (t) 2 L2 (R) y k (t) sea ortonormal. Calcularemos entonces los coeficientes restantes
ocupando (6.28)
Z 1 1
1
t (t + 1) =
2
"
t3
#0
(6.29)
1
= 0:3
(6.30)
c0 = 0:3
(6.31)
c1 = 2:3
(6.32)
c2 = 6:3
(6.33)
de escalamiento, debemos ser capaces de crear una nueva familia de funciones, que adems de tener
las capacidad de trasladarse, puedan tambin ser escaladas para lograr as una mejor resolucin. Nos
73
coeficiente
c 3
c 2
c 1
c0
c1
c2
valor obtenido
6.33
2.33
0.33
0.33
2.33
6.33
Figura 6.3: En esta figura apreciamos que la aproximacin realizada por la funcin de escalamiento es bastante burda,
debido al espacio en que trabajamos.
74
1 si t = kj t < jk = t
0 caso contrario:
1
1+
2
(6.34)
(6.35)
Ejemplo 2
Representar la funcin f (t) = t2 con t 2 [
Solucin
Para representar esta funcin trabajaremos en el espacio 1 , o lo que es lo mismo, j
t2 =
5
X
k= 6
= 1.
ck (2t k)
de manera anloga al ejemplo 1 (revisar desde la ecuacin (6.12) a (6.19)) tenemos que
2:5
3
c 6 dt
=2
2:5
3
t2 dt
75
coeficientes
valores obtenidos
7.58
5.08
3.08
1.58
0.58
0.08
0.08
0.58
1.58
3.08
5.08
7.58
c 6
c 5
c 4
c 3
c 2
c 1
c0
c1
c2
c3
c4
c5
Tabla 6.2: Coeficientes de reconstruccin para f (t) = t2 , utilizando utilizando la funcin de escalamiento en 1 .
= [ t3 ]
3
2:5
3
= 7:583
los dems coeficientes sern calculados de la misma forma, estos son mostrados en la tabla (6.2)
en la figura (6.4) se muestra la reconstruccin de f (t) = t2 usando j;k (t)en 1
Z t
2
t1
t2 =
(6.36)
k+1
2j
2
1
= 21j
(6.37)
76
Figura 6.4: En esta figura se presenta una clara mejora en la resolucin de la representacin de la funcin cuadrtica,
debido que j;k (t)en 1 esta definida en un intervalo de tiempo mas pequeo que en 0 .
queda demostrada entonces la no normalidad de esta familia de funciones, por lo tanto debemos
encontrar una constante que nos permita hacer estas funciones ortonormales, entonces, para j multipliquemos las funciones base por un nmero cualquiera rj
Z t
2
t1
rj2
2j
rj2
2j = 1
rj = 2
j
2
si t = kj t < jk = t
j;k (t) = 2 (2 t k) =
0 caso contrario:
j
1+
2
(6.38)
77
entonces de ahora en adelante cuando hagamos referencia a j;k (t), estaremos hablando de (6.38)
Una importante propiedad de la funcin de escalamiento j;k (t), es que puede ser representada por
una combinacin lineal de ella misma, trasladada y escalada. Si elegimos j = 1, y de acuerdo con ()
obtenemos que
p
p
) (t) = h(1) 2(2t) + h(2) 2(2t 1)
(6.39)
se escogen 1;0 (t) y 1;1 (t) ya que necesitamos cumplir con el intervalo de tiempo en que est
definida (t), esto es, 1;0 (t)esta definida en t 2 [0; 0:5) y 1;1 (t) esta definida t 2 [0:5; 1), como se
muestra en (6.34).
Calculemos h(1) y h(2)
h(1) =
) h(1) = 2
2 (t):(2t)dt
Z
0:5
0
1 1dt +
Z 1
0:5
1 0dt
p
) h(1) = 2 [t] = 22 = p12
p
h(2) =
0:5
0
Z 1
2 (t)(2t 1)dt
) h(2) = 2
0:5
0 1dt +
Z 1
0:5
1 1dt
p
) h(2) = 2 [t] = 22 = p12
p
1
0:5
entonces tenemos que la funcin bsica de escalamiento puede ser representada por s misma, escalada y trasladada, como sigue
1)
(6.40)
78
ocupa el espacio V0 . Sin embargo, las caractersticas de una seal pueden ser mejor descritas, no
incrementado el tamao del espacio de las funciones escalamiento, sino definiendo un espacio Wj de
funciones levemente diferentes a las funciones escalamiento, que representen la diferencia que existe
entre un espacio Vj y un espacio Vj +1 , tal que
Vj +1 = Vj Wj
(6.41)
por lo que ya estamos en condiciones de decir que el espacio W0 corresponde al complemento del
espacio V0 en el espacio V1 .
Ahora bien, la funcin que expande el espacio W0 se conoce como funcin wavelet, y se define de
la forma
(t) =
8
>
>
>
<
>
>
>
:
1 si 0 t
1 si t 1
0 caso contrario
1
2
1
2
(6.42)
sobre el intervalo [0; 1]como una combinacin lineal de las funciones de escalamiento que expanden el
espacio V1 de la siguiente manera
p
p
(t) = h (1) 2(2t) + h (2) 2(2t 1)
(6.43)
p
p
de tal manera que al realizar el producto interno de (6.43) por 2(2t) y luego por 2(2t 1),
1
h1 (1) =
y
h1 (2) =
Z 1
2
Z 1
1
2
(t)dt
(6.44)
(t)dt
(6.45)
1
2
h1 (1) = h1 (2) = p
(6.46)
(t).
Como ya sabemos que los espacios V0 y V1 son ortogonales y por lo tanto cualquier espacio Vj
con j = 0; 1; 2; ::: tambin lo es, entonces el espacio W0 al ser el complemento de V0 en V1 es
79
Figura 6.5: Funcin wavelet en W0 como combinacin lineal de las funciones escalamiento que expanden V1 y V0 .
ortogonal. Por lo tanto, al igual que con la funcin escalamiento, es posible obtener una representacin
de la diferencia que existe entre aproximar una seal con un nivel de resolucin j y aproximar la
misma seal con un nivel de resolucin j + 1, mediante el producto interno de esta seal con un set
de funciones que expandan el espacio Wj donde j ser elegido de acuerdo al grado de aproximacin
que se desee.La propiedad de ortogonalidad de W0 y por ende de la funcin wavelet (t), puede ser
demostrada en forma anloga a como se demostr con la funcin de escalamiento. Si nos definimos la
funcin wavelet como
(t) =
8
>
>
>
<
>
>
>
:
1 si k t k +
1 si k + t k + 1
0 caso contrario
1
2
1
2
k2Z
(6.47)
^ 2 L (R)
2
que corresponde a la misma funcin pero desplazada en el tiempo por una constante k , y nos
definimos de la misma forma otra funcin m (t) con m > k ,entonces realizando el producto punto
entre ellas de la forma
<
Z m+1
(t) m (t)
(6.48)
0 m (t) = 0 m; k 2 Z
(6.49)
obtenemos que
<
Z k +1
k (t) 0dt +
Z m+1
80
Ejemplo 3
Aproximar la funcin
funcin escalamiento.
f (t)
=t
sobre el intervalo
Solucin
La primera aproximacin la haremos en W0 de tal manera que las funciones wavelet de este espacio
ser de la forma k (t) = (t k ) con k 2 [ 3; 2), y por lo tanto
f (t) = d
(t + 3) + d
(t + 2) + d
(t + 1) + d (t) + d (t 1) + d (t 2)
t2 = d
(t +3)+ d
(t +2)+ d
< t2 ; (t + 3) >=< d
(t + 3) con (6.50)
(6.50)
(6.51)
(6.52)
entonces, como demostramos anteriormente que k (t)es ortogonal, todos los productos puntos de
la parte derecha de (6.52) sern cero, excepto < d1 (t + 3); (t + 3) > , por lo tanto
Z
< t2 ; (t + 3) >=
Z
3+1
3
que para
t2 (t + 3) =
(t + 3) = 1 nos queda
Z
para
3+1
1
3+ 2
(t + 3) = 1
Z
2
1
3+ 2
3+1
3
(t + 3) (t + 3)dt
(t + 3) (t + 3)dt
(6.53)
(6.54)
t2 dt =
d+3
(6.55)
t2 dt =
(6.56)
y para (t) = 0 la solucin es trivial. La resolucin de las integrales de (6.55) y (6.56) nos entregan
dos coeficientes, los cuales son
d+3 =
91 = 7:58
12
61 = 5:08
= 12
(6.57)
81
Coeficientes
d 3
d 2
d 1
d0
d1
d2
Valores Obtenidos
2.5
1.5
0.5
-0.5
-1.5
-2.5
Tabla 6.3: Coeficientes obtenidos para la representacin de la seal t2 con la Haar Wavelet en el espacio W0 .
Figura 6.6: Aproximacin de la seal t2 mediante las funcin wavelet del espacio W0 .
donde d+ y d representan los coeficientes obtenidos debido a la parte positiva de la funcin wavelet
haar y la parte negativa de la funcin wavelet haar respectivamente (figura (6.2)).
Realizando el clculo de los otros coeficientes en forma anloga, observamos sus resultados en la
tabla (6.3) y en la figura (6.6).
Ejemplo 4
Aproximar la funcin f (t)
de j
= 1.
=t
con t
j;k
Solucin
Representar esta funcin t2 para j = 1, significa que obtendremos una aproximacin de ella en el
subespacio V1 , por lo tanto la representacin de f (t) = t2 mediante la combinacin lineal de 1;k (t),
82
queda
t2 = d
(2t + 6) + d
(2t + 5) + d
(6.58)
el clculo de los coeficientes se realiza de forma anloga al ejemplo anterior (ver (6.51), (6.52) y
(6.53)), de tal manera que nuestro primer coeficiente lo podemos expresar como
Z
1
3+ 2
que para
(2t + 6) =
Z
3
1
3+ 4
y para
3+ 1
2
t2 dt =
(6.59)
d+6
(2t + 6) = 1
Z
3+ 1
2
3+ 1
4
t2 dt =
Mediante la resolucin de las integrales de arriba obtenemos los respectivos valores de los coeficientes d+6 y d 6
d+6 = 8:27
= 6:9
(6.60)
El resto de los coeficientes se calcula en forma anloga, obtenindose al final una cantidad de 12
coeficientes (tabla (6.4)) que corresponden al doble de coeficientes obtenidos en el ejemplo anterior. La
representacin de la funcin original a travs de estos coeficientes puede observarse en la figura (6.7).
(6.61)
entonces como sabemos que (6.61) debe dar 1 para que (t) y (2t) sean ortonormales, el valor
p
de r0 debe ser 2 y el valor de r1 debe ser 2. Adems, podemos observar que es posible escribir r1 en
83
Coeficientes
d 6
d 5
d 4
d 3
d 2
d 1
d0
d1
d2
d3
d4
d5
Valores Obtenidos
1.37
1.13
0.87
0.63
0.37
0.13
-0.13
-0.37
-0.63
-0.87
-1.13
-1.37
Tabla 6.4: Coeficientes obtenidos para la representacin de la seal t2 con la Haar Wavelet en el espacio W1 .
84
p p
= 2 2. Por lo tanto para un subespacio Wj podemos establecer que
p p p
p
rj = 2 2 2:::hasta la j esima multiplicacion por 2
trmino de r0 de la forma r1
es decir
rj = 2
(t) = 2 (2j t k) =
j
j;k
con
j;k
8
>
>
>
<
>
>
>
:
2 j si kj t kj + j
2 j si kj + jk t k j
0 caso contrario
2
2 +1
j;k
(t)g
1
2 +1
+1
2
(6.62)
(6.63)
donde j;k (t) es la funcin wavelet base trasladada y escalada, y Wj es un subespacio de L2 (R) generado por (6.62).
Captulo 7
Anlisis Multi-Resolucin
7.1 Principios de Multi-Resolucin
El anlisis multi-resolucin consiste bsicamente en aproximar una funcin f (t) en distintos niveles de
resolucin ff1 (t); f2 (t); f3 (t); :::g, lo que nos entrega una descomposicin multi-escala de la forma:
f (t) = f0 (t) +
j 0
gj (t)
donde cada gj (t) = fj +1 (t) fj (t) representa el error en que se incurre al aproximar
mediante fj (t), o lo que es lo mismo, la fluctuacin entre dos niveles sucesivos de resolucin.
En este anlisis empleamos una funcin
fj +1 (t)
Esta funcin esta bien localizada tanto en tiempo como en frecuencia, y translaciones y escalamientos
de ella misma, generan una base f j;k (t)jj; k 2 Z g, que expande gj (t) como:
gj (t) =
k Z
dj;k
j;k
(t)
::: V
o
V V V V ::: L
1
Vj Vj +1
85
8j 2 Z
86
V 1 = f0g ;
V1 = L2
As el espacio que contiene las seales de ms alta resolucin contiene tambin las de ms baja
resolucin.
Debido a la definicin de
[BUR98]
lo que nos asegura que los elementos de un espacio son simplemente versiones escaladas de los
elementos del siguiente espacio. Como una forma prctica de mostrar esta propiedad representaremos
la funcin escala de Haar mediante versiones escaladas y trasladadas de ella misma. As tenemos que
(t) = h(0)
p
2(2t) + h(1) 2(2t 1)
(7.1)
donde
h(0) =
Z 1
2
(t)
2(2t)dt
p
2 = p1
h(0) =
2
2
h(1) =
Z 1
1
2
(t)
2(2t 1)dt
p
2 = p1
h(1) =
2
2
entonces (7.1) queda como
1)
lo que nos muestra que la funcin de escala se puede representar por una versin de ella misma
87
funcin f (t), como se muestra en la figura (7.2). No obstante una mejor representacin de la seal
es obtenida, no mediante el aumento de j , si no que al definir un nuevo espacio Wj , llamado espacio
Vj Wj = Vj +1
Esta residencia de los espacios wavelet en los espacios de escalamiento se muestra en la figura(7.3),
donde podemos apreciar que dentro del espacio V3 se encuentran contenidos W2 , V2 , V1 y V0 , o dicho
V3 = V0 W0 W1 W2
Figura 7.2: Representacin de la funcin sin(t), por la funcin escala en distintos espacios.
88
89
Lo que se puede hacer extensible a todos los espacios siguientes, por ejemplo
L2 = V0 W0 W1 W2 :::
V0 es el espacio inicial, expandido por la funcin escala (t k), y los espacios Wj nos
irn entregando informacin ms detallada de la seal a medida que j crece. La escala que se use
donde
para expandir el espacio inicial ser una decisin del ingeniero, dependiendo su eleccin del anlisis
que se realize y de la seal en cuestin. As podemos representar nuestro espacio L2 partiendo de una
resolucin ms alta, como j = 8, lo que nos entregara
L2 = V8 W8 W9 :::
De esta manera podemos tomar una escala negativa para el espacio inicial, como j
L2 = ::: W
W W W :::
= 1, donde
(7.2)
Como podemos ver en (7.2) hemos representado el espacio L2 solo con espacios wavelet, lo que
nos lleva a la siguiente ecuacin
V0 = W 1 ::: W
Esto nos muestra de nuevo que podemos escoger cualquier resolucin para nuestro espacio inicial.
En la figura (7.4) vemos proyecciones de una funcin en diferentes espacios wavelet. Ah se puede
observar que a partir del espacio W3 los coeficientes wavelet se concentran en puntos donde la funcin
tiene pendiente distinta de cero. Esto se debe a que los wavelet detectan los cambios de la funcin,
el detalle, que como veremos ms tarde se obtiene de la resta de dos muestras sucesivas de la funcin
discreta, por lo que en los puntos donde la pendiente es ms suave, la resta tendera a cero, junto con la
amplitud del coeficiente wavelet.
La funcin que expande el espacio Wj es la wavelet madre j;k (t). Como W0 V1 , la funcin
wavelet (t) puede ser representada por una suma de funciones escala, escaladas y trasladadas, de la
forma
(t) =
(t) =
h1 (n)
(t), ya que V0
h(n)
n2Z
2(2t n);
(7.3)
2(2t n);
n2Z
(7.4)
Figura 7.4: Proyeccin de una funcin en diferentes espacios wavelet, usando el sistema Haar.
90
91
Esta ltima ecuacin es la ecuacin de recursin que vimos en el capitulo 5 en (5.7), los coeficientes
1)nh(1 n)
h1 (n) = (
1)nh(N 1 n)
Una funcin pertenecer a el espacio Wj si puede ser representada por la funcin prototipo de una
wavelet madre de la forma
(t) = 2 j (2j t k)
(7.5)
j
donde 2j es la escala de t, k es la traslacin en t y 2 mantiene constante la norma de la wavelet en diferj;k
entes escalas. Como podemos observar, la variable j nos dir en que espacio wavelet esta trabajando
nuestra funcin madre. Esto es anlogo para la funcin escala.
En la figura (7.5) podemos ver ms claramente como mejora la resolucin de una representacin al
cambiar a un espacio escala ms grande o de ms alta resolucin. El detalle en los distintos espacios
wavelet se muestra en la figura (7.6).
f (t) =
0 1
2jX
cj ;k j ;k (t) +
0
k =0
j
N
X1 2X1
j =j0 k =0
djk
jk
(t)
j; k 2 Z +
(7.6)
cj ;k son los coeficientes de escala, dj;k son los coeficientes wavelet y j0 nos entrega el
espacio inicial VJ que ser el espacio de menor resolucin, y dependiendo de este j0 es que el resto
de los ndices seguirn corriendo. 2N es la longitud de la seal f (n). Esta longitud limitar el nivel
Donde
de descomposicin de una seal, ya que no tiene sentido representar una seal que se encuentra en un
espacio Vjn en el mismo espacio.
92
Figura 7.5: Al lado izquierdo vemos la representacin de una funcin mediante el sistema Haar en distintos espacios Vj ,
y al lado derecho vemos representados estos espacios por la parte sombreada del diagrama. De abajo hacia arriba tenemos
desde el espacio V0 hasta el V6 .
93
Figura 7.6: Al lado izquierdo vemos el detalle de una funcin, obtenido mediante el sistema Haar en distintos espacios
Wj , y al lado derecho vemos representados estos espacios por la parte sombreada del diagrama. De abajo hacia arriba
tenemos desde el espacio W1 hasta el W6 .
94
Desarrollaremos ahora la DWT para el sistema Haar, como una forma de hacer ver la dificultad de
realizar este clculo a mano, y luego entraremos en la teora de banco de filtros que aliviar en forma
sustancial el trabajo realizado.
3
Tomemos la funcin f (t) = sen(t), la cual al ser sampleada a una frecuencia de 22 [Hz ]se transforma en la funcin por tramos
de la funcin escalamiento y la wavelet haar, funciones que utilizaremos para descomponer y luego
reconstruir la seal f (t).
La wavelet ms antigua y simple, la Haar y su funcin de escalamiento, estn definidas de la siguiente forma:
8
(7.7)
8
<
1 si 0 t < 1
0 el resto:
(7.8)
(t) = 2 j= (2j t k)
(7.9)
(7.10)
(t) = :
con
jk
2)
2 (2t) + d
11
entonces tenemos
(t) = 1 si 0 t < 1
(t) = 1 si 0 t < 0:5
1si0:5 t < 1
8
<
:
8
<
8
<
(4t) =
8
<
:
1 si 0 t < 0:125
1si0:125 t < 0:25
=0:
1 si 0 t < 0:25
1si0:25 t < 0:5
20
(7.11)
95
8
<
(4t 2) =
8
<
:
8
<
7
7
7
7
7
7
7
7
1
7
2
7
7
7
7
7
1
7
2 7
7
7
5
1
2
6
6
6
6
6
6
6
6
j0 6
2 6
6
6
6
6
6
6
6
6
4
p12
=2
p
1 p2 0
1 p2 0
1 p2 0
2 p0
1
1 0 p2
1 0
p2
1 0
p2
1 0
2
1
1
1
1
1
1
1
1
2
2
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
2
2
32
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
4
C00
d00
d10
d11
d20
d21
d22
d23
3
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
5
(7.12)
donde los componentes de cada fila de la matriz 8x8 representan los valores de 00 (t) y jk (t) en el
mismo orden en que aparecen en (7.11) , y cada fila representa cada uno de los intervalos de tiempo en
que la funcin f (t) esta descompuesta, i.e ; en la fila 1 tenemos el valor de cada uno de los coeficientes
en t 2 [0; 0:125], esto es, e.g, 20 (t) = 2(2=2) (22 t 0) = 2 (2t 0) = 2 en t 2 [0; 0:125]. Ahora este
mismo coeficiente en la fila 2 es 20 (t) = 2 en t 2 [0:125; 0:25], y en todas las otras filas 20 = 0, ya
Ahora que tenemos la ecuacin matricial (7.13) podemos obtener el valor de los coeficientes que
nos ayudarn a reconstruir la seal original.
2
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
4
c00
d00
d10
d11
d20
d21
d22
d23
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
5
6
6
6
6
6
6
6
6
6
16
6
6
6
6
6
6
6
6
4
j0
=2 A
2
7
7
7
7
7
7
7
7
1
7
2
7
7
7
7
7
1
7
2 7
7
7
5
1
2
p12
(7.13)
c00
d00
d10
d11
d20
d21
d22
d23
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
4
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
4
96
= 0, as tenemos que
0
0:6036
0:1768
0:1768
0:1768
0:0732
0:1768
0:0732
3
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
5
(7.14)
Hemos logrado aqu descomponer la seal discreta hasta ser representada slo por un coeficiente
escala o de aproximacin, y el resto slo coeficientes wavelet. Esto ser de gran importancia en la
limpieza y compresin de seales, como lo veremos en el captulo siguiente.
Ahora que conocemos el procedimiento para calcular los coeficientes, descompondremos la seal
para distintos espacios iniciales Vj0 :
para j0
=1
2
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
4
para j0
=2
2
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
4
para j0
=3
c10
c11
d10
d11
d20
d21
d22
d23
c20
c21
c22
c23
d20
d21
d22
d23
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
4
= p12
0:4268
0:4268
0:1768
0:1768
0:1768
0:0732
0:1768
0:0732
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
4
= p21p2
3
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
5
0:1768
0:4268
0:1768
0:4268
0:1768
0:0732
0:1768
0:0732
(7.15)
3
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
5
(7.16)
c30
c31
c32
c33
c34
c35
c36
c37
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
4
= p p1 p
2 2 2
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
4
0
p2
8
2 =
0
p2
8
2
97
7
7
7
2
7
7
7
7
7
1
7
2
7
7
7
7
7
1
7
2 7
7
7
5
1
2
p1
(7.17)
Queda claro que al acercar el espacio inicial Vj0 a el espacio Vjm en el cual reside la seal original,
estaremos disminuyendo los coeficientes wavelet, hasta llegar a representar la seal original solo
con coeficientes escala. Como podemos observar la ltima descomposicin nos entregar una
reconstruccin perfecta de la seal original, debido a que fue representada slo con funciones
escala pertenecientes al espacio al cual pertenece la seal original.
El gran tamao de los clculos matemticos hace necesario buscar una manera eficiente de realizar la
DWT, es por eso que debemos conocer la teora de banco de filtros que nos guiar a la obtencin de la
transformada rpida wavelet (FWT).
[BUR98] [CHU97]
(Uj2Z Vj ) = L (R)
2
(7.18)
98
Figura 7.7: (a) Seal original; (b) Modelamiento de sampleos digitales mediante la funcin Haar escala con una longitud
de N
= 24 ;
es posible aproximar f tan cerca como se desee mediante un modelo fn 2 Vn con n 2 R, de tal
manera que este modelo lo podemos representar como una combinacin lineal de funciones escala
fn (t) =
cn;k 2 (2nt k)
n
2
(7.19)
donde los coeficientes escalares cn;k son los encargados de representar la seal en el dominio discreto o digital. De hecho, la importancia de la representacin de seales mediante funciones escala es
que los algoritmos diseados para la transformada discreta wavelet se aplican a datos de entrada que
han sido modelados mediante una funcin escala, es decir, son aplicados sobre el set de coeficientes
fcn;k ; k 2 Z g
(7.20)
Uno de los mtodos ms efectivos para realizar este modelamiento es la interpolacion [CHU97]
que consiste en que los coeficientes cn;k sean escogidos de tal manera que fn (t) concuerde con la
representacin discreta f ( 2kn ) para t = 2kn , es decir
fn (
k
)
=
f( n) k 2 Z
2
2
n
(7.21)
De esta forma se logra lo que se denomina una representacin didica de la seal [BUR98], ya que
el intervalo de tiempo dado para cada sampleo est controlado por una potencia de 2. En otras palabras,
un modelo fn de una seal anloga f correspondera a un set de valores discretos cuya longitud ser de
N = 2n.
99
mediante funciones escala solamente (apropiadas para un anlisis multi-resolucin), es posible escribir
fn como
fn = fn
+ gn
(7.22)
dado que
Vn
Vn ^ Wn Vn
(7.23)
Vn = Vn
Wn
(7.24)
fn
2 Vn
^ gn 2 Wn
(7.25)
dn
en trminos de cn;k . Utilizando (7.19) y (7.21) podemos representar una seal unidimensional
de energa finita mediante los coeficientes cn;k como
1;k
f (t) =
cn;k 2 (2nt k)
n
(7.26)
clculo de cn 1;k y dn 1;k se realiza a travs del producto interno de la seal con la funcin escala y
wavelet respectivamente
cn
dn
1;k
1;k
=< f (t);
1
n 1
f (t)2 2 (2n 1 t
1
n 1;k
(t) >= 2
1
f (t)
1
k)dt
(7.27)
(2n t k)dt
(7.28)
De la ecuacin bsica de recursin (5.7) podemos obtener una representacin tanto para (2n
como para (2n 1 t k )
(2n 1 t k) =
(2n t k) =
h(p)
2(2nt 2k p)
h1 (p)
2(2nt 2k p)
t k)
(7.29)
(7.30)
100
cn
dn
1
X
f (t) h(m
1
m
(7.31)
1
X
f (t) h1 (m
1
m
(7.32)
;k =< f (t);
;k (t) >=
n 1
cn
dn
1;k
=< f (t);
n 1;k
(t) >=
h(m
m
X
h1 (m
2k)
2k )
1
n
f (t)2 2 (2nt
1
m)dt
(7.33)
1
n
f (t)2 2 (2nt
1
m)dt
(7.34)
Podemos observar que en las ecuaciones (7.33) y (7.34), las integrales son idnticas y corresponden
al coeficiente cn;m , de tal manera que hemos logrado establecer la representacin de los coeficientes
escala y wavelets en un nivel de resolucin ms bajo en trminos de los coeficientes escala en un nivel
de resolucin ms alto
cn
1;k
dn
1;k
h(m
2k)cn;m
(7.35)
h1 (m
2k)cn;m
(7.36)
La operacin realizada por (7.35) y (7.36) corresponde a una convolucin discreta [CHU97]. La
secuencia de entrada dada por cn;k es convolucionada con h y h1 para obtener por una lado una representacin ms suave de la seal original caracterizada por los coeficientes escala cn 1;k , y por otro
lado el detalle de la seal representado por los coeficientes wavelet
reescribir (7.26) de la forma
f (t) =
cn
1;k
2 n (2n t k) +
2
dn
1;k
2n
dn
1;k
(2n t k)
1
(7.37)
El hecho de que los coeficientes escalares representen la forma general de la seal original y los
coeficientes wavelets el detalle se debe a que los coeficientes h y h1 actan como filtros digitales.
101
Figura 7.8: Descomposicin wavelet donde el dos con la flecha hacia abajo representa la operacin de subsampleo.
de 1024 datos tambin. Para resolver este problema, una vez realizada la convolucin discreta sobre
el set de datos de entrada se aplica una operacin denominada subsampleo2 que realiza un diezmado
de la seal original, es decir, toma una seal xn y produce una salida yn = x2n , descargando todos
los valores de ndice impar. Una descripcin esquemtica de lo anteriormente expuesto se ilustra en la
figura (7.8).
f (t) =
cn
X
1;m
h(p)2 (2nt
n
2
2m p) +
dn
X
1;m
h1 (p)2 (2n t
n
2
2m p)
(7.38)
1
f (t)(2nt
1
k)dt =
+
como
cn;k
cn
dn
1;m
1;m
h(p)2
h1 (p)
n
2
1
(2nt
1
1
(2nt
1
1 f (t)(2nt
1
102
2m p)(2nt k)dt
2m p)(2nt k)dt
(7.39)
2 Z g es ortonormal,
cn;k =
cn
X
1;m
h(p) (k
(2m p)) +
cn
X
1;m
dn
X
1;m
h1 (p) (k
(2m + p))
(7.40)
= 2m p
cn;k =
h(p) (k
q) +
dn
X
1;m
h1 (p) (k
q)
(7.41)
y como
(k
8
<
q) = :
1 si k = q
0 si k 6= q
entonces finalmente
cn;k =
cn
1;m
h(2m k) +
dn
1;m
h1 (2m k)
(7.42)
103
Figura 7.9: Reconstruccin Wavelet donde el dos con la flecha hacia arriba representa la operacin de supsampleo.
teora pueden repetirse en forma infinita con la salvedad que el proceso de sntesis depende del anlisis.
Obviamente en la prctica estos procesos no pueden repetirse en forma infinita, siendo el nivel de
resolucin de la seal original el que pone el lmite. Una explicacin ms detallada puede expresarse de
la siguiente manera: Supongamos una seal con una longitud N = 2n , en el anlisis dividimos la seal
original en una aproximacin y un detalle correspondientes al primer nivel de descomposicin, luego la
aproximacin de longitud igual a 2n 1 es nuevamente dividida obteniendo una nueva aproximacin y
detalle correspondientes a un segundo nivel de descomposicin. Este procedimiento se vuelve a repetir
hasta que la aproximacin y el detalle estn representados por un slo coeficiente, es decir, tienen una
longitud de 1 = 20 , lo que significa que el nmero de iteraciones posibles de realizar es de n = log2 N .
De esta forma se obtiene un vector de longitud N que contiene un slo trmino encargado de representar
la forma general de la seal (coeficiente escala) y todos los otros trminos con informacin sobre el
detalle obtenido en los diferentes niveles de descomposicin (coeficientes wavelets) como se ilustra en
la figura (7.10). A este conjunto de coeficientes se le denomina V ector
DW T .
La sntesis por su lado toma la aproximacin y el detalle, aumenta su longitud al doble mediante el
supsampleo y realiza la convolucin discreta con los respectivos filtros, obtenindose como resultado
una mejor aproximacin a la seal correspondiente al primer nivel de reconstruccin. Lgicamente el
nmero de veces que se realiza este proceso hasta llegar nuevamente a la seal original depende del
grado de descomposicin al que se lleg en el anlisis, como se observa en la figura (7.11).
Ejemplo
A modo de ejemplo mostraremos una descomposicin y reconstruccin utilizando la Haar wavelet.
Como vimos en el captulo 6, los coeficientes h y h1 corresponden a
104
Figura 7.10: (a) Estructura de una descomposicin multiresolucin; (b) Vector - DWT obtenido de la descomposicin.
105
1
2
h(0) = h(1) = p
h1 (0) =
p1 h (1) = p1
2
2
1
Como la aproximacin est relacionada con un promedio y el detalle con diferencias, entonces de
acuerdo con (7.35) y (7.36) podemos obtener nuestra primera descomposicin de la forma
cJ
1;k
dJ
1;k
(7.43)
(7.44)
2 +1
2 +1
donde los cJ son los coeficientes correspondientes a la seal original, es decir, los datos de entrada.
En otras palabras J es el nivel de resolucin ms alto con el cual se puede trabajar y N = 2J es la
longitud de la seal original. De esta forma, supongamos una seal con una longitud N = 8 = 23
definida como Y = f2; 4; 1; 6; 4; 5; 1; 3g. Aplicando el algoritmo de descomposicin se puede ver en
la figura (7.12) como se realiza la convolucin discreta entre los filtros h y h1 con la seal original
y el posterior subsampleo de tal forma que se obtienen dos set de coeficientes, uno encargado de la
aproximacin a la seal original y el otro encargado del detalle, ambos de longitud 4. El paso siguiente
es mantener el detalle y volver aplicar el algoritmo a los coeficientes de aproximacin dando como
resultado una nueva aproximacin ms general y un nuevo detalle, ambos de longitud 2. Este proceso
se puede repetir una vez ms ya que tanto la longitud de la nueva aproximacin como del nuevo detalle
ser igual a 1.
Para reconstruir la seal a partir de los coeficientes escala y wavelet pertenecientes al primer nivel
de descomposicin observamos que si sumamos y restamos (7.43) y (7.44) obtenemos las expresiones
1
2
cJ;2k = p (cJ
cJ;2k
= p1 (cJ
2
1;k
+ dJ
1;k
dJ
1;k
1;k
(7.45)
(7.46)
permitindonos una reconstruccin perfecta de la seal. Las ecuaciones arriba tambin pueden ser
deducidas a partir de (7.42). En la figura (7.13) se puede ver como se realiza el proceso de supsampleo
y posterior convolucin para reconstruir la seal en forma perfecta mediante la suma de los coeficientes
de reconstruccin escala y wavelet como se ilustra en la figura (7.14).
106
Figura 7.12: Se observa la aplicacin del algoritmo sobre una seal de longitud N = 8 para obtener (a) Los coeficientes
de aproximacin y (b) los coeficientes wavelet. Ambos procesos se realizan en forma paralela.
107
108
Figura 7.14: La suma de las reconstrucciones obtenidas de los coeficientes escala y wavelet nos entrega la seal original.
Hasta el momento se ha realizado slo una descomposicin y reconstruccin. Sin embargo, el
objetivo principal de un anlisis wavelet es obtener el vector - DWT ya que es este el que contiene informacin til para la aplicacin de esta herramienta en diferentes campos del procesamiento de seales
tales como compresin, limpieza de ruido, deteccin de singularidades, deteccin de comportamiento
comportamientos similares, etc. Tanto el proceso de descomposicin en forma iterativa como el de
reconstruccin se observan en la figura (7.15) y (7.16) respectivamente.
109
Figura 7.15: Anlisis multiresolucin de Y = f2; 4; 1; 6; 4; 5; 1; 3g y obtencin de los coeficientes dj;k que conforman el
vector - DWT. Observar que 0 < k < 2j con k slo como nmero entero.
110
Captulo 8
Aplicaciones
Ya en este punto hemos desarrollado un completo marco terico sobre wavelets por lo que estamos en
condiciones de aplicarlo al procesamiento de seales acstica. Wavelets ha sido aplicado a una gran
cantidad de problemas relacionados con el procesamiento de seales: deteccin [SAP98], compresin
[TAM99], clasificacin, limpieza de Ruido [SAP95], anlisis de transientes, anlisis tiempo - frecuencia
[PED99], en variadas disciplinas tales como medicina, estadstica, acstica, sismologa, criminologa,
robtica, etc. El desarrollo de este captulo se centrar en otorgar una explicacin general de algunas
aplicaciones (quizs las con mayor investigacin y/o cobertura) donde se utilize wavelets.
8.1.1 Biomedicina
Debido a la naturaleza no estacionaria de la mayora de las seales biolgicas, wavelet ha tenido un gran
xito en el campo de la Ingeniera Biomdica. En este campo la transformada wavelet ha sido utilizada
para el anlisis de electrocardiogramas con el objeto de poder diagnsticar desrdenes cardiovasculares,
tambin ha sido utilizada en electroencefalogramas para el diagnstico de desrdenes neurofisiolgico,
tales como deteccin seizure o anlisis de potencial evocado para la deteccin de la enfermedad de
Alzheimer [POL97]. Wavelet ha sido tambin utilizada en la deteccin de microcalcificaciones en
mamogramas y el procesamiento de tomografas e imgenes de resonancia magntica1 .
1
111
8.2. COMPRESIN
112
8.2 Compresin
La base o principio en la utilizacin de wavelets en compresin es aprovechar que los coeficientes en
los espacios Wj son pequeos si la seal analizada se comporta en forma suave y grandes si la seal
a analizar vara en forma notoria. Esto sugiere que pueden eliminarse o hacerse cero los coeficientes
pequeos y la seal sintetizada o reconstruda no variar mucho.
Existen tres pasos fundamentales en el proceso de compresin con wavelets:
1. Proyectar la seal original a un subespacio multi-resolucin
grande.
Vn con un n lo suficientemente
113
Figura 8.1: Efecto del umbral duro y suave aplicado sobre un conjunto de coeficientes.
b
R(f;f
)=
E
fb f
N
(8.1)
La eleccin del umbral ptimo ha sido un tema estudiado por varios investigadores [SAP95] tales
como Donoho y Johnstone [DON92] los cuales se basan principalmente en parmetros estadsticos
como la desviacin estndar, desviacin media absoluta, etc.
114
T el valor
jdij < T ) di = 0
(8.2)
jdij T ) di = di
(8.3)
2. Umbral Suave: Si el valor absoluto del coeficiente es mayor que el umbral seleccionado, se
modifica el coeficiente restando el umbral a su valor absoluto, en caso contrario se iguala el
coeficiente a cero al igual que el umbral duro. En otras palabras, sea
establecido y di los coeficientes wavelet, entonces
jdij < T ) di = 0
(8.4)
jdij T ) di = signo(di)(jdij T )
(8.5)
= T lo cual no ocurre
=
jdJ
j 0:6745
n
1;k
(8.6)
ya que los coeficientes wavelet en este nivel son, con unas pocas excepciones, esencialmente puro
ruido. El tipo de umbral seleccionado se calcul de acuerdo con la siguiente frmula:
= 2log(N )
(8.7)
115
Figura 8.2: Seal que representa un efecto doppler con un nivel de ruido bastante notable (1024 muestras).
Figura 8.3: Descomposicin wavelet realizada con la Daubechies 2 (Lado izquierdo); Coeficientes obtenidos despus de
haber sido comparados con el umbral (Lado derecho).
116
realizaremos con una seal artificial correspondiente a un efecto doppler con ruido, como se observa en
la figura (8.2), compuesta de 1024 muestras lo que nos permite realizar hasta diez descomposiciones.
La funcin wavelet madre a utilizar ser la Daubechies 2 (ver apndice) y la descomposicin se realizar
hasta el quinto nivel. La secuencia de trabajo se resume de la siguiente manera:
1. Clculo del nivel de ruido
= 0:93
= 3:47
E = 3; 5%
7. Obtencin del porcentaje de energa retenido
P ER =
js1j = 93; 8%
jsj
117
Figura 8.4: Seal reconstruida utilizando los coeficientes wavelet procesados mediante umbral suave.
Figura 8.5: Comparacin visual entre la seal original y la seal reconstruida. El porcentaje de energa conservado fue
de 93,8 %.
118
Figura 8.6: Seal correspondiente a vibraciones de un motor rotatorio (Arriba); Seal despus de haber sido procesada
(Abajo). Para una visualizacin ms clara, slo los primeros 2500 sampleos se graficaron.
entreg un valor de 0:01 lo que caus la eliminacin total de los primeros 4 niveles de descomposicin,
dejando slo algunos coeficientes wavelet pertenecientes al quinto nivel de descomposicin como se
observa en la figura (8.7). El error cuadrtico medio y el porcentaje de energa retenido fueron de:
E = 6:33x10
4%
P ER = 99:9%
Se observa para este caso que el nivel de ruido de la seal es totalmente identificable y notoriamente
diferenciable del comportamiento suave de la seal. Si obtenemos los espectros de Fourier tanto de la
seal real como de la seal limpia (figura (8.8)), nos podemos dar cuenta que despus de la aplicacin
del mtodo, se mantienen las componentes de frecuencia con mayor contenido energtico, que para el
caso corresponden a frecuencias bajas, eliminndose las componentes de frecuencia que portan menos
energa. Esto nos lleva a pensar que el mtodo elimina ruido de alta frecuencia ya que mantiene
el comportamiento suave de la seal el cual est asociada a componentes de baja frecuencia. Este
supuesto genera casi en forma autmatica la inquietud :- Que ocurre si el ruido es de baja frecuencia
119
Figura 8.7: Coeficientes de descomposicin wavelet obtenidos utilizando la Daubechies 4 (lado derecho); Coeficientes
Wavelet obtenidos despus de haber sido comparados con el umbral seleccionado (Lado izquierdo).
y la seal que queremos obtener es de alta frecuencia?.
8.3.3.2 Tratamiento de seales reales obtenidas al aire libre.
Con el fin de tratar seales reales al aire libre y analizar la inquietud nacida del caso anterior, se obtuvo
un set de datos correspondiente a sonidos de pjaros con alto nivel de ruido de fondo proveniente de
faenas constructoras, paso de vehculos y ruidos caractersticos de la urbe. Esta seal se ilustra en la
figura (8.9). Los datos fueron tomados utilizando un micrfono condensador omnidireccional Audio Technica y un Dat Porttil Tascam DA - P1, a una tasa de muestreo de 44.1 KHz, una cuantizacin de
16 Bit y utilizando un canal del Dat.
El objetivo de este tratamiento se centr en aislar el trinar de los pjaros del ruido de fondo utilizando un anlisis multi-resolucin con la wavelet Daubechies 4 (ver apndice). Se realizaron hasta cinco
niveles de descomposicin los que se ilustran en la figura (8.10). Mediante una percepcin auditiva
de la seal original nos dimos cuenta que el sonido de los pjaros estaba compuesto por frecuencias
notoriamente ms altas que el ruido de fondo. Como el mtodo explicado en la seccin anterior asume
que el ruido en una seal es de componentes de alta frecuencia, se procedi a restar a la seal original
el resultado obtenido de la limpieza, lo que como pensbamos nos entreg el sonido de los pjaros
ms componentes de ruido de alta frecuencia (Hiss). La percepcin auditiva de esta nueva seal no fue
120
satisfactoria ya que subjetivamente cambiaba el espectro del sonido de los pjaros. Repetimos la experiencia cambiando el umbral en los distintos espacios wavelet lo que no nos entreg mejores resultados
auditivos que el anterior. Debido a esto se decidi aplicar otro criterio para lograr nuestro objetivo.
El nuevo criterio fue escuchar cada espacio wavelet y seleccionar aquellos espacios en los cuales el
sonido de los pjaros fuera ms claro y ntido. Mediante este mtodo se conserv el espacio d2 y d3,
eliminndose en su totalidad los coeficientes correspondientes a los espacios d1 y d5, que no aportaban
componentes de frecuencia en el rango buscado.
El espacio d4, adems de ruido, contena cierta informacin de inters, por lo que se decidi hacer
una nueva descomposicin sobre este espacio, la que se realiz utilizando la wavelet Daubechies 6 (ver
apndice) en cinco niveles. Esta descomposicin, que se ilustra en la figura (8.11), nos permiti aislar
ms componentes pertenecientes al trinar de los pjaros, debido a que estas se concentraron auditivamente en dos espacios, correspondientes al d43 y al d44 . El primero de estos espacios contena slo
componentes de inters, mientras que el segundo adems de contener componentes de inters presentaba ruido. Al reconstruir la seal con los espacios d2, d3 y d43 logramos una buena aislacin del cantar
de los pjaros, pero perdimos algunas frecuencias que se encuentran en el espacio d44 . Al reconstruir
la seal con los espacios d2, d3 , d43 y d44 conservamos prcticamente todas las componentes de frecuencia del cantar de los pjaros, pero incluimos un poco de ruido. La diferencia en las componentes
121
componentes de frecuencias bajas, trabajo que podra haber sido realizado por un filtro pasa altos al
momento de grabar o por un ecualizador en un proceso post - grabacin. Ms nuestro punto de vista es
tomar el anlisis Wavelet como una alternativa a estos procedimientos, alternativa que ha probado su
eficacia y potencialidad.
122
123
124
Figura 8.12: Transformada de Fourier de las reconstrucciones de la seal original. En rojo: mediante los espacios d2,
d3y d43 . En azul: mediante d2, d3, d43 y d44 .
125
Figura 8.13: Arriba: Transformada Continua Wavelet de la seal original; Abajo: Transformada Continua Wavelet de la
reconstruccin con los espacios d2, d3 , d43 y d44 . Ambas representaciones fueron obtenidas utilizando la wavelet Morlet.
8.4. CONCLUSIONES
126
8.4 Conclusiones
1. Hay que dejar en claro que Wavelet no ha aparecido como la herramienta que desplaza a la
Transformada de Fourier (TF), sino ms bien como una herramienta que puede complementarse
con la TF, o ser una correcta o no correcta eleccin dependiendo del tipo de seal a analizar o de
la aplicacin en la cual se desee utilizar.
2. Las funciones bases ocupadas por Fourier son el seno y coseno cuyo soporte es infinito. Las funciones bases de wavelet son versiones dilatadas y trasladadas de una funcin de soporte compacto
(o finito), llamada wavelet madre, denotada comnmente por .
3. Las bases de Wavelet, al ser muchas y muy distintas, se adaptan muy bien a diversas aplicaciones y tipos de seal, dando incluso la posibilidad de crear una nueva base para una aplicacin
especifica o para un determinado tipo de seal.
4. En el anlisis de seales no estacionarias la transformada de Fourier no es ptima ya que aunque
entrega una informacin completa del contenido espectral de la seal, no es capaz de localizar en
el tiempo las componentes de frecuencia.
5. La transformada corta de Fourier permite hacer un anlisis tiempo - frecuencia de seales no estacionarias, ya que segmenta la seal utilizando una funcin tiempo - ventana (ventana Cuadrada,
Hanning, etc) y calcula la transformada de Fourier sobre cada segmento. El problema reside en la
rigidez del ancho de la ventana que se mantiene fijo durante el anlisis de la totalidad de la seal
y por lo tanto calcula con la misma resolucin tanto frecuencias bajas como frecuencias altas.
6. La transformada Wavelet depende de dos variables, una encargada del escalamiento de la funcin
wavelet a y otra encargada de la traslacin de la funcin wavelet b.
7. Mediante las variables de escalamiento y traslacin la transformada Wavelet es capaz de hacer
un anlisis tiempo - frecuencia con una resolucin variable, es decir, utiliza ventanas de diferente
ancho durante el anlisis de la seal.
8. Un conjunto de versiones dilatadas y trasladadas, tanto de una funcin escala como de una
funcin wavelet , ambas pertenecientes al espacio L2 , son capaces de aproximar cualquier seal
unidimensional cuyo contenido energtico sea finito.
9. La funcin escala es la encargada de analizar el comportamiento general de la seal, mientras
que la funcin wavelet se encarga de analizar el comportamiento del detalle de la seal.
8.4. CONCLUSIONES
127
10. La ortonormalidad de las bases empleadas, tanto en el anlisis de Fourier como en el anlisis
Wavelet, es una propiedad esencial (excepto para la CWT), debido a que convierte el clculo de
los coeficientes en una tarea rpida y sencilla.
11. La obtencin de los coeficientes escala como de los coeficientes wavelet se realiza mediante el
producto interno entre las versiones dilatadas y trasladadas de la funcin escala y wavelet con
la seal a analizar. De esta forma el coeficiente obtenido representa el grado de correlacin que
existe entre la funcin escala y wavelet con la seal en un intervalo finito en el espacio del tiempo.
12. La transformada discreta wavelet discretiza (valga la redundancia) las variables de escalamiento
y traslacin. Una discretizacin de la forma a = 2j y b = 2j k genera un sistema wavelet de
funciones base ortonormales por ej. Haar wavelet, Daubechies wavelet.
13. Mediante la transformada discreta wavelet es posible generar un anlisis multiresolucin sobre
una seal discreta. Un anlisis multiresolucin corresponde a un proceso iterativo de convoluciones entre la seal discreta y coeficientes que actan tanto como filtro pasa-bajo y filtro pasabanda de tal manera que la seal discreta es descompuesta obtenindo informacin sobre las
caractersticas generales de la seal y sobre las caractersticas del detalle de la seal en forma
separada.
14. Al tener una seal discreta con 2j muestras, podremos realizar una descomposicin wavelet en j
niveles de resolucin, obteniendo as j 1 espacios wavelet y un espacio escala.
15. La forma de trabajo de la transformada discreta Wavelet permite una fcil implementacin computacional mediante el diseo de rpidos algoritmos para el clculo de los coeficientes.
16. Debido a que los coeficientes wavelet son los encargados del detalle de la seal, estos son de
valores pequeos. Esto sugiere que pueden eliminarse o hacerse cero los coeficientes cercanos a
cero y la seal reconstruda no variar mucho, es decir, el error de aproximacin entre la seal
reconstruda y la original ser mnimo. Esta sencilla idea ha sido la base sobre la cual wavelet ha
encontrado importantes aplicaciones en la compresin de seales y eliminiacin de ruido.
17. Los espacios wavelet se comportan como filtros, pudiendose ver cada espacio como un intervalo
de frecuencias, as, se puede implementar un software que entregue un ecualizador grfico de j
bandas, al realizar un anlisis wavelet con j descomposiciones.
Bibliografa
[BRA93] BRADLEY, J. BRISLAWN, C. HOPPER, T., The FBI Wavelet/Scalar Quantization Standart
for Gray-scale Fingerprint Image Compression, Technical Report LA-UR-93-1659. Los Alamos
National Lab. N.M. 1993.
[BUR98] BURRUS, C. S., GOPHINATH, R., GUO, H., Introduction to Wavelet and Wavelet Transforms, Prentice Hall, New Jersey, 1998.
[CHU97] CHUI, C. K., Wavelets: A Mathematical Tool for Signal Processing, SIAM, Filadelfia, 1997.
[COD92] CODY, M., The Fast Wavelet Transform beyond Fourier Transform, Dr. Dobbs Journal,
Abril 1992.
[DAV89] DAVIS, H. F., Fourier Series and Orthogonal Functions, Dover Publications Inc., New York,
1989.
[DEV91] DEVORE, R., LUCIER, B., Wavelets, In Acta Numerica 1, Univeersidad de Cambridge,
1991, pp. 1-56.
[DON92] DONOHO, D. L., De - Noising by Soft - Thresholding, Departamento de Estadstica, Universidad de Stanford, 1992.
[EDW91] EDWARDS, T., Discrete Wavelet Transform: Theory and Implementation, Universidad de
Stanford, 1991.
[GRA95] GRAPS, A., An Introduction to Wavelets, IEEE Computer Society, Vol. 2, No 2, 1995.
[HEI99] HEIL, C. E., WALNUT, D. F., Continuous and Discrete Wavelet Transforms, SIAM Review,
Vol. 31, No 4, Diciembre 1989, pp. 628 - 666.
[KAI94] KAISER, G., A Friendly Guide to Wavelets, Birkhuser, Boston, 1994.
[NUM-REC] Numerical Recipes in C: The Art of Scientific Computing, Universidad de Cambridge,
1992 - 1998, pp. 496 - 521.
128
BIBLIOGRAFA
129
[PED99] PEDERSEN, F., Introduction to Joint Time Frequency Analisis, Departamento de Tecnologa
y Comunicacin, Universidad de Aulburg, Dinamarca, 1999.
[POL96] POLIKAR, R., The Wavelet Tutorial, Centro de Computacin, Universidad Estatal de Iowa,
U.S.A, 1996.
[POL97] POLIKAR, R.,GREER, M. H.,UDPA, L., KEINERT, F., Multiresolution Wavelet Analysis of ERPs for the Detection of Alzheimers Disease, Proceedings-19th International ConferenceIEEE/EMBS, Chicago, I.L. USA, 1997, pp 1301-1304.
[POL99] POLIKAR, R., The Story of Wavelets, Proceedings, IMACS/IEEE, 1999, pp. 5481-5486.
[PRO98] PROAKIS, J. G., MANOLAKIS, D. G., Tratamiento Digital de Seales, Prentice Hall,
Madrid, 1998.
[SAP95] SAPATINAS, T., POWELL, K. J., BAILEY, T. C., KRZANOWSKI, W. J., Application of
Wavelets to the pre - processing of Underwater Sounds, Departamento de Estadstica Matemtica e
Investigacin Operacional, Universidad de Exeter, Estadstica y Computacin (5), 1995, pp. 265 273.
[SAP98] SAPATINAS, T., POWELL, K. J., BAILEY, T. C., KRZANOWSKI, W. J., Signal Detection
in Underwater Sound Using Wavelets, Journal of the American Statistical Association, 1998, Vol.
93, No 441, pp. 73 - 83.
[STR89] STRANG, G., Wavelets and dilation equations: A brief introduction, SIAM Rev. 31(4), 1989,
pp. 614 - 627.
[STR93] STRANG, G., Wavelet Transform versus Fourier Transform, American Mathematical Society, Vol. 8, No 2, Abril 1993, pp. 288 - 305.
[STR94] STRANG, G., Wavelets, American Scientist, Vol. 82, Abril 1994, pp. 250 - 255.
[TAM00] TAMARA, V.,Compresin de seales empleando Wavelet, Tesis de pregrado, Departamento
de Matemticas. Universidad de los Andes, Santaf de Bogot, 2000.
[TOR97] TORRENCE, C., COMPO, G., A Practical Guide to Wavelet Analysis, American Metereological Society, Vol. 79, No 1, Enero 1998, pp. 61 - 78.
[TFT96] AUGER, F., FLANDRIN, P., GONALVS, P., LEMOINE, O., Time Frequency Toolbox
Tutorial: for use with Matlab, Centro Nacional de Investigacin Cientfica, Francia, 1995 - 1996.
[UED95] UEDA, M., LODHA, S., Wavelets: An Elementary Introduction and Examples, Centro de
Ingeniera Informtica, Universidad de California, Santa Cruz, Enero 1995.
BIBLIOGRAFA
130
[VID94] VIDAKOVIC, B., MLLER P., Wavelets For Kids, Instituto de Estadstica, Universidad de
Duke, 1994.
[WAV96] MISITI, M., MISITI, Y., OPPENHEIM, G., POGGI, J. M., Wavelet Toolbox: for use with
Matlab, Mathworks, Inc., 1996.
Apndice A
Referencias Internet
LA
T ESIS :
1. http://www.stats.bris.ac.uk/pub/reports/Wavelets/WavByTop.html
Informacin til sobre procesamiento de seales digitales mediante wavelets, con ejercicios en
Matlab.
6. http://www.cosy.sbg.ac.at/uhl/wav.html
132
11. http://www.prosoniq.com
Informacin sobre wavelet y Fourier, con tpicos tales como: anlisis de frecuencia, wavelets
didicas y filtrado discreto, entre otros.
13. http://www.spd.eee.strath.ac.uk/interact/fourier/fft.html
Lista de direcciones online dedicadas a diferentes aplicaciones que utilizan tanto teora de Fourier
como de wavelets.
18. http://www.amara.com/current/wavelet.html
Completa pgina con links a software, libros, papers, dedicados tanto a teora como aplicaciones de
wavelets.
19. http://www.mame.syr.edu/faculty/lewalle/tutor/tutor.html
Tutorial de Wavelets.
20. http://sepwww.stanford.edu/public/docs/pvi/toc_html/index.html
Pgina de Ingrid Daubechies, cuyo campo de inters se focaliza en el anlisis tiempo - frecuencia
utilizando wavelets.
24. http://www-stat.stanford.edu/donoho/
Pgina de Dave Donoho, cuya principal campo de investigacin es limpieza de ruido utilizando
mtodos estadsticos en conjunto con wavelets.
25. http://www.ukc.ac.uk/IMS/statistics/people/T.Sapatinas/
Pgina de Teophanis Sapatinas, cuyas reas de inters son: Teora y aplicacion de wavelets en el
anlisis estadstico de seales de tiempo, Utilizacin de wavelets en el procesamiento de seal e
133
imgen.
26. http://www-dsp.rice.edu/harry/
Wavelets y procesamiento digital de seales.
27. http://euclides.uniandes.edu.co/wavelets/
Pgina de la Universidad de los Andes, Colombia, con informacin terica sobre wavelets.
28. http://www.public.iastate.edu/rpolikar/WAVELETS/WTtutorial.html
Prctico tutorial wavelet.
Apndice B
Rutinas programadas en MATLAB
Rutinas para Matlab utilizadas tanto para descomposicin como reconstruccin de seales utilizando
el sistema Wavelet Daubechies:
%*************************************************
% subsampleo(X) elimina todos los coeficientes de
% ndice impar pertenecientes al vector X. Disminuyendo
% la longitud de X a la mitad o a la mitad menos 1/2,
% dependiendo si la longitud original es par o impar.
%
% VER supsampleo
%*************************************************
function a=subsampleo(x)
if (nargin == 0)
error(Debes ingresar los datos de entrada);
end
[s1 s2]=size(x);
if s1 > s2
x=x
end
ls=length(x);
a=x(:,2:2:ls);
%*************************************************
% supsampleo(X) inserta ceros entre los coeficientes
% del vector X, aumentando la longitud del vector al
% doble ms uno.
134
135
%
% VER subsampleo
%*************************************************
function y=supsampleo(x)
if (nargin == 0)
error(Debes ingresar los datos de entrada);
end
[s1 s2]=size(x);
if s1 > s2
x=x
end
ls=2*length(x)+1;
y=zeros(1,ls);
y(2:2:ls)=x;
%*********************************************************************
% Rutina que mantiene parte de un vector. V=keep(S,N)
% crea un vector V de longitud N, extrayendo en forma
% alternada elementos de ambos extremos del vector S.
%**********************************************************************
function v=keep(s,n)
if (nargin == 0)
error(Debes ingresar los datos de entrada);
end
lsh=length(s)./2;
n1=floor(n./2);
if mod(n,2)==0
v=s(lsh-n1+1:1:lsh+n1);
else
v=s(lsh-n1:1:lsh+n1);
end
%***********************************************************************
% Rutina que realiza el primer nivel de descomposicin
% de una seal utilizando el sistema Wavelet Daubeuchies.
% SINTAXIS: [ca1 cd1]=analisisdb(X,M), donde X es la seal
136
% de entrada, y M es un entero positivo que especifica el
% sistema Daubeuchies utilizado.
% M puede tomar los siguientes valores:
%
[1,2,3,4,5,6,7,8]
%
% VER sintesisdb
%************************************************************************
function [c,d]=analisisdb(x,m)
if (nargin == 0)
error(Debes ingresar los datos de entrada);
end
tx=size(x);
if tx(1)>1
x=x;
end
switch m
case 1
filtro_escala=[1./sqrt(2) 1./sqrt(2)]; %Filtro Pasabajo de Descomposicin
filtro_wavelet=[-1./sqrt(2) 1./sqrt(2)]; %Filtro Pasaalto de Descomposicin
case 2
load daub2.dat; s=daub2;
filtro_escala=s(1,:);
filtro_wavelet=s(2,:);
case 3
load daub3.dat; s=daub3;
filtro_escala=s(1,:);
filtro_wavelet=s(2,:);
case 4
load daub4.dat; s=daub4;
filtro_escala=s(1,:);
filtro_wavelet=s(2,:);
case 5
load daub5.dat; s=daub5;
filtro_escala=s(1,:);
filtro_wavelet=s(2,:);
case 6
137
load daub6.dat; s=daub6;
filtro_escala=s(1,:);
filtro_wavelet=s(2,:);
case 7
load daub7.dat; s=daub7;
filtro_escala=s(1,:);
filtro_wavelet=s(2,:);
case 8
load daub8.dat; s=daub8;
filtro_escala=s(1,:);
filtro_wavelet=s(2,:);
otherwise
errargt(mfilename,argumento no vlido,msg); error(*);
end
%Clculo de los coeficientes de aproximacin
c=subsampleo(conv(x,filtro_escala));
%Clculo de los coeficientes de detalle
d=subsampleo(conv(x,filtro_wavelet));
%************************************************************************
% Rutina que realiza la reconstruccin de la seal
% original a partir del primer nivel de descomposicin
% de una seal utilizando el sistema Wavelet Daubeuchies.
% SINTAXIS: [C D]=sintesisdb(ca,cd,M), donde ca y cd son
% los coeficientes de aproximacin y detalle respectivamente,
% y M es un entero positivo que especifica el sistema Daubechies
% utilizado para la reconstruccin.
% M puede tomar los siguientes valores:
%
[1,2,3,4,5,6,7,8]
%
% VER analisisdb
%************************************************************************
function [C,D]=sintesisdb(ca,cd,m)
if (nargin == 0)
error(Debes ingresar los datos de entrada);
end
138
%Insercin de ceros entre los coeficientes de aproxiamcin (supsampleo)
Ctemp=supsampleo(ca);
%Insercin de ceros entre los coeficientes de detalle (supsampleo)
Dtemp=supsampleo(cd);
switch m
case 1
filtro_escala=[1./sqrt(2) 1./sqrt(2)]; %Filtro Pasabajo de Descomposicin
filtro_wavelet=[1./sqrt(2) -1./sqrt(2)]; %Filtro Pasaalto de Descomposicin
case 2
load daub2.dat; s=daub2;
filtro_escala=s(3,:);
filtro_wavelet=s(4,:);
case 3
load daub3.dat; s=daub3;
filtro_escala=s(3,:);
filtro_wavelet=s(4,:);
case 4
load daub4.dat; s=daub4;
filtro_escala=s(3,:);
filtro_wavelet=s(4,:);
case 5
load daub5.dat; s=daub5;
filtro_escala=s(3,:);
filtro_wavelet=s(4,:);
case 6
load daub6.dat; s=daub6;
filtro_escala=s(3,:);
filtro_wavelet=s(4,:);
case 7
load daub7.dat; s=daub7;
filtro_escala=s(3,:);
filtro_wavelet=s(4,:);
case 8
load daub8.dat; s=daub8;
filtro_escala=s(3,:);
filtro_wavelet=s(4,:);
139
otherwise
errargt(mfilename,argumento no vlido,msg); error(*);
end
lf=length(filtro_escala);
%Reconstruccin de la aproximacin
Ctemp=conv(Ctemp,filtro_escala);
C=Ctemp(:,lf:1:length(Ctemp)-lf+1);
%Reconstruccin del detalle
Dtemp=conv(Dtemp,filtro_wavelet);
D=Dtemp(:,lf:1:length(Dtemp)-lf+1);
%***************************************************************
% Rutina que realiza una descomposicin multinivel
% sobre una seal unidimensional utilizando el sis% tema Wavelet Daubechies.
% SINTAXIS: [C L]=dbdesc(X,M,N), donde X es la seal de
%
[1,2,3,4,5,6,7,8]
%****************************************************************
function [c,l]=dbdesc(x,m,n)
if (nargin == 0)
error(Debes ingresar los datos de entrada);
end
if ((round(n)-n)=0)
error(N debe ser un nmero entero);
end
tx=size(x);
if tx(1)>1
x=x;
end
c=[];
l=[length(x)];
for i=1:n
140
[x d]=analisisdb(x,m); %Proceso de descomposicin
c=[d c];
l=[length(d) l];
end
c=[x c]; %Matriz wavelet
%**********************************************************************
% Rutina que realiza una reconstruccin multinivel
% sobre una seal unidimensional utilizando el sis% tema Wavelet Daubechies.
% SINTAXIS: S=dbdesc(C,L,M), donde C corresponde a
%
[1,2,3,4,5,6,7,8]
%**********************************************************************
function s=dbrec(c,l,m);
if (nargin == 0)
error(Debes ingresar los datos de entrada);
end
switch m
case 1
filtro_escala=[1./sqrt(2) 1./sqrt(2)]; %Filtro Pasabajo de Descomposicin
filtro_wavelet=[1./sqrt(2) -1./sqrt(2)]; %Filtro Pasaalto de Descomposicin
case 2
load daub2.dat; s=daub2;
filtro_escala=s(3,:);
filtro_wavelet=s(4,:);
case 3
load daub3.dat; s=daub3;
filtro_escala=s(3,:);
filtro_wavelet=s(4,:);
case 4
load daub4.dat; s=daub4;
filtro_escala=s(3,:);
141
filtro_wavelet=s(4,:);
case 5
load daub5.dat; s=daub5;
filtro_escala=s(3,:);
filtro_wavelet=s(4,:);
case 6
load daub6.dat; s=daub6;
filtro_escala=s(3,:);
filtro_wavelet=s(4,:);
case 7
load daub7.dat; s=daub7;
filtro_escala=s(3,:);
filtro_wavelet=s(4,:);
case 8
load daub8.dat; s=daub8;
filtro_escala=s(3,:);
filtro_wavelet=s(4,:);
otherwise
errargt(mfilename,argumento no vlido,msg); error(*);
end
s=c(1:l(1)); %Coeficientes escala de la ltima descomposicin
ld=1;
for i=1:(length(l)-1)
ld=l(i)+ld;
%
% Reconstruccin de
d=c(ld:ld-1+l(i));
% las descomposiC=keep(conv(supsampleo(s),filtro_escala),l(i+1)); % ciones.
D=keep(conv(supsampleo(d),filtro_wavelet),l(i+1)); %
s=C+D;
%
ld=ld-(l(i+1)-l(i));
%
end
Apndice A
Wavelet Daubechies
Tabla con los coeficientes filtros de descomposicin y reconstruccin correspondientes a la Familia
Wavelet Daubechies (1-8).
Daubechies 1
Daubechies 2
Daubechies 3
Daubechies 4
14.14213e-001
4.82962e-001
3.32670e-001
2.30377e-001
14.14213e-001
8.36516e-001
8.06891e-001
7.14846e-001
2.24143e-001
4.59877e-001
6.30880e-001
-8.54412e-002 -1.87034e-001
3.52262e-002
3.08413e-002
3.28830e-002
-1.05974e-002
10
11
12
13
14
15
142
143
n
Daubechies 5
Daubechies 6
Daubechies 7
Daubechies 8
1.60102e-001
1.11540e-001
7.78520e-002
5.44158e-002
6.03829e-001
4.94623e-001
3.96539e-001
3.12871e-001
7.24308e-001
7.51133e-001
7.29132e-001
6.75630e-001
1.38428e-001
3.15250e-001
4.69782e-001
5.85354e-001
7.75714e-002
9.75016e-002
7.13092e-002
4.72484e-004
-6.24149e-003
2.75228e-002
8.06126e-002
1.28747e-001
3.33572e-003
5.53842e-004
-1.65745e-002 -4.40882e-002
10
4.77725e-003
1.25509e-002
1.39810e-002
11
-1.07730e-003
4.29577e-004
8.74609e-003
12
-1.80164e-003 -4.87035e-003
13
3.53713e-004
-3.91740e-004
14
6.75449e-004
15
-1.17476e-004