Lecture Notes For Math 485 PDF
Lecture Notes For Math 485 PDF
Lecture Notes For Math 485 PDF
Fritz Keinert
Carver 464
294-5223
keinert@iastate.edu
Contents
0-3
0-4 Math 485 Lecture Notes September 15, 1993
5.6. Bibliography 5-8
Chapter 6. Construction of Wavelets 6-1
6.1. Approach 1 6-2
6.2. Approach 2 6-3
6.3. Approach 3 6-3
6.4. Suggested Reading 6-5
6.5. Bibliography 6-5
Chapter 7. Designing Wavelets with Nice Properties 7-1
7.1. Basic Properties 7-1
7.1.1. In terms of {hk } 7-1
7.1.2. In terms of H(ξ) 7-1
7.1.3. In terms of h(z) 7-2
7.2. Choice of {gk } 7-3
7.2.1. In terms of H(ξ) 7-3
7.2.2. In terms of h(z) 7-4
7.2.3. In terms of {hk } 7-5
7.3. Other Desirable Properties 7-5
7.3.1. Compact Support 7-5
7.4. Symmetry 7-5
7.5. Vanishing Moments 7-6
7.5.1. Smoothness 7-8
7.6. Suggested Reading 7-9
7.7. Bibliography 7-9
Chapter 8. Daubechies Wavelets 8-1
8.1. Suggested Reading 8-4
8.2. Bibliography 8-4
Chapter 9. Other Topics 9-1
9.1. Signal Compression 9-1
9.2. Wavelet Packets 9-1
9.3. Biorthogonal Wavelets 9-3
9.4. Multi-Wavelets 9-4
9.5. Higher-dimensional Wavelets 9-4
9.6. Suggested Reading 9-4
9.7. Bibliography 9-4
Appendix A. Computer Information A-1
A.1. Finding a Machine A-1
A.2. Getting An Account A-1
A.3. Getting Help A-1
A.4. Finding Files For This Course A-2
A.5. Viewing Or Printing Files A-2
September 15, 1993 Fritz Keinert 0-5
A.6. Electronic Communication A-3
A.7. Matlab Documentation A-3
A.8. Producing Pictures from Matlab A-3
A.8.1. One-Dimensional Graphs A-3
A.8.2. Two-Dimensional Images A-3
A.9. Electronic Wavelet Resources A-4
Appendix B. Mathematical Background B-1
B.1. Vector Spaces B-1
B.2. Frames and Biorthogonal and Orthonormal Bases B-4
B.2.1. Orthonormal Bases B-4
B.2.2. Biorthogonal Bases B-5
B.2.3. Frames B-6
B.3. Fourier Series and Fourier Transform B-7
B.3.1. The Continuous Fourier Transform B-7
B.3.2. The Periodic Fourier Transform (or Fourier Series) B-8
B.3.3. The Discrete Fourier Transform B-8
B.3.4. The Fourier Transform of some basic functions B-9
B.3.5. Relationship between the Continuous and Periodic Fourier Transform B-10
B.3.6. Relationship between the Periodic and Discrete Fourier Transform B-12
B.4. Bibliography B-14
Appendix C. Wavelet Coefficients C-1
CHAPTER 0
0.5. Bibliography
[Chu92] Charles K. Chui, An introduction to wavelets, Wavelet Analysis and Its Applications, vol. 1, Aca-
demic Press, Boston, 1992.
[Dau92] I. Daubechies, Ten lectures on wavelets, CBMS-NSF Regional Conference Series in Applied Math-
ematics, vol. 61, SIAM, Philadelphia, 1992.
[(ed92] Charles K. Chui (ed.), Wavelets: A tutorial in theory and applications, Wavelet Analysis and Its
Applications, vol. 2, Academic Press, Boston, 1992.
[HBB92] F. Hlawatasch and G.F. Boudreaux-Bartels, Linear and quadratic time-frequency signal represen-
tations, IEEE Signal Proc. Mag. (1992), 21–67.
[JS] Björn Jawerth and Wim Sweldens, An overview of wavelet based multiresolution analyses, available
by anonymous ftp from maxwell.math.scarolina.edu as /pub/wavelet/papers/overview.ps.
[RV91] O. Rioul and M. Vetterli, Wavelets and signal processing, IEEE Signal Proc. Mag. 8 (1991), no. 4,
14–38.
0-1
CHAPTER 1
1.1. Transforms
A transform is a mapping which takes a function (or a sequence of numbers) and maps it into another
function (or sequence of numbers). Reasons for taking a transform include
• The values of the transform may give us some information on the original function, such as smooth-
ness, rate of decay, periodicity, etc.
• The transform of an equation may be easier to solve than the original equation.
• The transform of a vector may require less storage.
• We may want to apply some operation (such as smoothing) to the original function, and find that
it is easier to do on the transform side.
Most useful transforms are linear, one-to-one, and invertible. This means
• linear: We can pull out constants and transform the terms of a sum separately:
Here we assume that f, g are functions (or sequences), α, β are numbers, and T f is the transform
of f.
• one-to-one: If f, g are different functions (sequences), then their transforms T f, T g are different.
• invertible: There is an inverse transform T −1 which recovers f from T f.
I will use the word continuous transform to denote one that maps functions to functions. The word
“continuous” usually means something else in mathematics, but that should not cause any confusion in
this context. A discrete transform maps (finite or infinite) sequences to sequences. There are also some
semidiscrete transforms that relate functions with sequences.
Most continuous linear transforms have the form
Z
(T f)(ξ) = k(ξ, x)f(x) dx,
where the function k is called the kernel. If the kernel depends only on (ξ − x), not on ξ and x separately,
this is called a convolution (or filter, for the engineers):
Z
(T f)(ξ) = k(ξ − x)f(x) dx.
in general, or
X
(T f)i = ki−j fj
j
1-1
1-2 Math 485 Lecture Notes September 15, 1993
The Laplace Transform (continuous) is defined by
Z ∞
Lf(s) = e−st f(t) dt.
0
All these transforms are linear, one-to-one, and have an inverse. None of them is a convolution.
One way to interpret the values of a transform is to consider them as inner products of the original
function with various “test functions”.
Recall that if f, g are finite-dimensional real vectors, their inner product satisfies
hf, gi = kfk2 · kgk2 · cos θ,
where θ is the angle between f and g. (The inner product is defined in appendix B). Thus, hf, gi is large if f,
g are almost parallel, and small if f, g are close to perpendicular. If g has length 1, hf, gi can be interpreted
as the size of the component of f in direction g.
Now consider a discrete transform X
(T f)i = kij fj
j
Thus, a coefficient in the DFT of f roughly corresponds to the frequency component of f at the corre-
sponding frequency.
September 15, 1993 Fritz Keinert 1-3
1.2. The Wavelet Transform
This section illustrates one of the reasons for introducing the Continuous Wavelet Transform.
Suppose you want to analyze a time-varying signal. The Fourier Transform tells you what frequencies are
present in the signal.
Example: The data represents the number of sunspots recorded in the years 1700 through 1987 (taken
from [KMN89]). The Fourier Transform is complex. The plot shows the real and imaginary parts of the
FT, and the power spectrum (absolute value of FT). Choosing a frequency axis from 0 to 1 means that a
frequency ξ corresponds to a period of 1/ξ years. (The values in the second half of the FT represent negative
frequencies; for real data, this is just a complex conjugate mirror image of the values in the first half).
It is well known that sunspots have a cycle of about 11.2 years, which shows up as a distinct spike in the
FT (best seen in the power spectrum) around 1/11.2.
The Fourier Transform works well for periodic signals. However, it does not yield any information on time
localization of frequencies. Signals whose frequency content varies with time cannot be analyzed properly
this way.
Example: Consider the Fourier Transforms of two signals, both composed of two pure sin functions of
different frequencies. On the left, each frequency is present by itself for half of the interval. On the right,
the two frequencies are both present the entire time. The Fourier transforms show similar peaks.
1-4 Math 485 Lecture Notes September 15, 1993
different frequencies at different times different frequencies at the same time
This problem is of course related to the fact that all the “test functions” employed in the Fourier Transform
cover the entire interval. The Wavelet Transform, in contrast, employs localized test functions.
Taking a Wavelet Transform is equivalent to “testing” the original function with compressed and shifted
versions of a single wave form, the mother wavelet. Some sample wavelets are shown in the picture below.
Notice how the more compressed wavelets have smaller shifts, so it takes more of them to cover a given
interval.
Daubechies wavelet with 2 vanishing moments compressed by 2 compressed by 4
1 2 3 4 5 etc.
etc.
September 15, 1993 Fritz Keinert 1-5
shifted again compressed by 2, shifted again compressed by 4, shifted again
etc.
Example:
Haar wavelet
1 2 1 2
A more detailed explanation of what the wavelet transform means has to wait until later, but compare
regions 1 and 2 in the two transform pictures; they correspond to the main frequencies present. In the
1-6 Math 485 Lecture Notes September 15, 1993
Wavelet Transform, you can tell whether something is happening in the left or right half only, or in the
whole region.
1.4. Bibliography
[Chu92] Charles K. Chui, An introduction to wavelets, Wavelet Analysis and Its Applications, vol. 1,
Academic Press, Boston, 1992.
[Dau92] I. Daubechies, Ten lectures on wavelets, CBMS-NSF Regional Conference Series in Applied Math-
ematics, vol. 61, SIAM, Philadelphia, 1992.
[JS] Björn Jawerth and Wim Sweldens, An overview of wavelet based multiresolution analyses, available
by anonymous ftp from maxwell.math.scarolina.edu as /pub/wavelet/papers/overview.ps.
[KMN89] David Kahaner, Cleve Moler, and Stephen Nash, Numerical methods and software, Prentice Hall,
1989.
CHAPTER 2
Assume that f(t) is a complex-valued function on R which represents some signal (think of t as time).
The Fourier Transform (FT)
Z ∞
1
fˆ(ξ) = √ f(t)e−itξ dt
2π −∞
Z ∞
1
f(t) = √ fˆ(ξ)eitξ dξ
2π −∞
can be interpreted as writing f as a superposition of time-harmonic waves eitξ of frequency ξ. If fˆ is large near
some frequency, then f has a large component that is periodic with that frequency. The Fourier Transform
is discussed in more detail in appendix B. You should read the material there first.
This approach works well for analyzing signals that are produced by some periodic process (like sunspot
counts, pulsar brightness, weather patterns, etc.) However, in other applications, like speech analysis, we
would like to localize the frequency components in time as well, and the FT is not really suitable for that.
In this chapter, we will consider two methods that attempt to provide information on both time and
frequency: the Windowed Fourier Transform (WFT), also called Short Time Fourier Transform (STFT),
and the Continuous Wavelet Transform (CWT). Both of them map a function of one variable (time) into a
function of two variables (time and frequency). A large value of the transform near time t, frequency ξ is
interpreted as: the signal f contains a large component with frequency ξ near time t.
There is a lot more theory to both of these transforms than we will cover in this chapter, but our main
interest lies elsewhere.
Fix a function w ∈ L2 , the window function. w should be localized in time near t = 0, with a spread σ
(we will define “spread” more precisely later).
Typical choices are
w = χ[−1,1]
√
σ = 1/ 3
(recall that χS is the characteristic func-
tion of the set S, which has value 1 on the sigma
set, 0 otherwise).
2-1
2-2 Math 485 Lecture Notes September 15, 1993
1
w = √ e−t /2 (Gabor window)
2
2π
σ=1
sigma
(where the integrals are interpreted in a suitable sense, as with the FT).
Ψw f(a, b) can be interpreted as an inner product of f with the test function e−ibt w(t − a).
Note how the time resolution σ (related to the window width) is constant, independent of the frequency.
September 15, 1993 Fritz Keinert 2-3
2.2. The Continuous Wavelet Transform
Fix a function w ∈ L2 , the mother wavelet. Again, w should be localized near t = 0 to some resolution σ.
As will become apparent later, w should also have integral 0, and some “natural frequency” (i.e. ŵ should
be localized near some non-zero frequency ξ).
Example:
Remark: For any given w, µw and σw may or may not exist. We are only interested in w for which µw and σw are defined,
as well as µŵ and σŵ (the mean and uncertainty of the FT ŵ).
Remark: If w ∈ L2 , then w2 /kwk22 is a probability distribution, i.e. a non-negative function with integral 1. µw and σw are
simply the mean and standard deviation of this distribution, in the statistical sense.
µw measures where w is localized in time, and σw measures how spread out (or uncertain) this time
measurement is. µŵ localizes the frequency, and σŵ measures the uncertainty in frequency.
The Uncertainty Principle states that for any w
1
σw · σ̂w ≥ .
2
If a function is localized in time, it must be spread out in the frequency domain, and vice versa. The optimal
value of 1/2 is achieved if and only if w is a Gaussian distribution.
To visualize this, consider a hypothetical function F (t, ξ) over the time-frequency plane. F (t, ξ) represents
the component of f with frequency ξ at time t.
The uncertainty principle says that it makes no sense to try to assign pointwise values to F (t, ξ). All we
can do is to assign meaning to averages of F over rectangles of area at least 2. (The signal is localized in
time to [µ − σ, µ + σ], and likewise for frequency, so the rectangle has area (2σw ) × (2σŵ ).)
possible time-frequency windows
xi
t
September 15, 1993 Fritz Keinert 2-5
The uncertainty principle applies to both WFT and CFT, but in different ways. Let’s skip the subscript
from now on, and use the notation µ = µw , σ = σw , µ̂ = µŵ , σ̂ = σŵ .
If w has mean µ, uncertainty σ, then hf, wi contains information on f in [µ−σ, µ+σ]. Since hf, wi = hfˆ, ŵi,
it also contains information of fˆ in [µ̂ − σ̂, µ̂ + σ̂]. Thus, hf, wi represents the frequencies between µ̂ − σ̂ and
µ̂ + σ̂ that are present between times µ − σ and µ + σ.
For WFT, the test function is the shifted and modulated window
eibt w(t − a) = Eb Ta w,
which is localized near µ + a, with uncertainty σ. Its Fourier Transform is Tb E−aŵ, which is localized near
µ̂ + b, with uncertainty σ̂. Thus,
1 1
Ψw f(a, b) = √ hf, Eb Ta wi = √ hfˆ, Tb E−a ŵi,
2π 2π
All times and frequencies are resolved equally well (or equally bad). A discrete WFT (with equally spaced
time and frequency samples) gives a uniform tiling:
2-6 Math 485 Lecture Notes September 15, 1993
t−b
|a|−1/2w( ) = Tb Da w
a
contains information on f in [aµ + b − aσ, aµ + b + aσ], and information on fˆ in [µ̂/a − σ̂/a, µ̂/a − σ̂/a].
The uncertainty boxes have different shapes in different parts of the time-frequency plane.
low frequencies
good frequency resolution
bad time resolution
In many applications (such as speech analysis), high frequencies are present very briefly at the onset of a
sound, while lower frequencies are present later for longer periods.
To resolve all these frequencies well, the WFT has to be applied several times, with windows of varying
widths. The CWT resolves all frequencies simultaneously, localized in time to a level proportional to their
wavelength. That is what the wavelet people always claim, anyway.
Another way engineers like to look at it is this:
The window function in the WFT is a low-pass filter. The test functions are shifted and modulated
versions of w, which act like windows of constant width in both time and frequency.
WFT window function w FT of w
The mother wavelet in the CWT is a bandpass filter. The test functions are shifted and dilated versions
2-8 Math 485 Lecture Notes September 15, 1993
of w, which change width in both time and frequency, but in opposite directions.
CWT mother wavelet w FT of mother wavelet
dilated and shifted mother wavelet FT of dilated and shifted mother wavelet
2.5. Bibliography
[Chu92] Charles K. Chui, An introduction to wavelets, Wavelet Analysis and Its Applications, vol. 1, Aca-
demic Press, Boston, 1992.
[Dau92] I. Daubechies, Ten lectures on wavelets, CBMS-NSF Regional Conference Series in Applied Math-
ematics, vol. 61, SIAM, Philadelphia, 1992.
[Far92] Marie Farge, Wavelet transforms and their application to turbulence, Annual Review of Fluid
Mechanics 24 (1992), 395–457.
[HBB92] F. Hlawatasch and G.F. Boudreaux-Bartels, Linear and quadratic time-frequency signal represen-
tations, IEEE Signal Proc. Mag. (1992), 21–67.
[RV91] O. Rioul and M. Vetterli, Wavelets and signal processing, IEEE Signal Proc. Mag. 8 (1991), no. 4,
14–38.
CHAPTER 3
Both the WFT and the CWT contain a lot of redundancy, since they map a function of one variable (time)
to a function of two variables (time and frequency). A natural question is whether certain subsets of the
transform values already suffice to characterize f, or to reconstruct it. We are especially interested in subsets
of discrete points, for numerical reasons.
Suppose we have a doubly indexed set of points (ajk , bjk ) in the time-frequency plane, and we know
Ψw f(ajk , bjk ) or Φw f(ajk , bjk ). The questions are
hf, ψjk i
for some set of functions ψjk (explicit formulas are given in the sections on WFT and CWT below). We can
answer both of the above questions with “yes”, and give the explicit reconstruction formula
X
f(t) = hf, ψjk iψ̃jk (t)
jk
provided that the {ψjk } form a frame, and the {ψ̃jk } form the dual frame. (See appendix B for details on
frames).
The question thus becomes: Given a particular (window function or mother wavelet) w(t), and a particular
choice of (ajk , bjk ), do the {ψjk } form a frame? Do they maybe form a biorthogonal or even orthonormal
basis?
We will address these questions in more detail below.
Z ∞
1
Ψw f(a, b) = √ f(t)e−ibt w(t − a) dt.
2π −∞
For a fixed window w, Ψw f(a, b) contains time-frequency information on f in a rectangle of fixed size around
(a, b). Thus, the most natural choice for (ajk , bjk ) is equally spaced points: pick a sampling stepsize a0 in
time, a sampling stepsize b0 in frequency, and choose (ajk , bjk ) = (ja0 , kb0 ).
3-1
3-2 Math 485 Lecture Notes September 15, 1993
Time-Frequency Sampling for WFT
b
o o o o o o
o o o o o o
b0
o o o o o o
a0 a
o o o o o o
where
1
ψjk (t) = √ eikb0 t w(t − ja0 ).
2π
The questions are now: Under what conditions on w, a0 , b0 do the {ψjk } form a frame? Under what
conditions do they form a biorthogonal basis, or even an orthonormal basis? A partial answer is given below.
For full details, look at the Daubechies book [Dau92].
First, it can be shown that the {ψjk } can only possibly form a frame, for any w, if a0 b0 ≤ 2π. If a0 b0 > 2π,
the sampling is just too sparse. The {ψjk } can only possibly form an orthonormal basis if a0 b0 = 2π. These
are necessary conditions: if they are violated, it certainly will not work, but it may not work even if they
are satisfied.
The good news is that under fairly mild conditions on the window function w we get a frame for small
enough a0 , b0 . A simplified version of a more general sufficient condition given in Daubechies [Dau92] is
this: Assume the window w satisfies
|w(t)| ≤ C(1 + |t|)−1−
for some constant C, > 0, and that w is bounded away from 0 on some interval of length a0 . Then one
can calculate a constant B0 so that {ψjk } form a frame (with frame bounds that can also be calculated)
whenever b0 ≤ B0 .
In words: assume the window function goes to zero fairly rapidly for large |t| (which is what you want,
anyway), and the time sampling step a0 is chosen small enough so that the windows overlap. Then for a
small enough frequency sampling step, the {ψjk } form a frame.
Orthonormal bases also exist. For example, choose w = χ[0,L] (the characteristic function of the interval
[0, L]). The choice a0 = L, b0 = 2π/L leads to an orthonormal basis
( 2π
√1 ei L kt t ∈ [jL, (j + 1)L],
ψjk (t) = 2π
0 otherwise.
What you are really doing, of course, is to cut a function f up into sections of length L, and then write each
piece as a Fourier Series.
The bad news is that no “good” orthonormal bases exist. This is a theorem of Balian-Low: If {ψjk }
constitute an orthonormal basis, then either σ or σ̂ do not exist.
September 15, 1993 Fritz Keinert 3-3
This means that the window is either no good for localizing in time, or no good for localizing in frequency.
You can get good localization in both time and frequency, but at the cost of using a frame (which contains
redundant basis functions).
for this case. The resulting lattice of points in the time-frequency plane looks like this
o o o o o o o o o
o o 1/a0 o o o o
o 1 o o o
o a0 o o
b0/a0
b0 b0 a0 b
−j/2 t − kaj0 b0
ψjk (t) = a0 w(a−j t − kb0 ) = a−j/2 w( ).
aj0
A necessary condition for an orthonormal basis is
Z 0 Z ∞
|ŵ(ξ)|2 |ŵ(ξ)|2 b0 ln a0
2π dξ = 2π dξ = .
−∞ |ξ| 0 |ξ| 2π
3-4 Math 485 Lecture Notes September 15, 1993
Again, the exact conditions under which the {ψjk } constitute a frame are very technical (see Daubechies [Dau92]).
A simplified sufficient condition is this: Assume that the mother wavelet w satisfies
|ŵ(ξ)| ≤ C|ξ|α(1 + |ξ|)−γ
for some α > 0, γ > 1 + α, and that a0 is chosen so that |ŵ| is bounded away from zero on some interval
[ξ0 , a0 ξ0 ]. The one can calculate a B0 > 0 such that the {ψjk } form a frame for any choice of b0 ≤ B0 , with
fram bounds that can also be calculated.
In this case, we have conditions on the FT of w. Again, we have a minimal condition on the decay at 0
and at infinity, and the a0 must be chosen small enough so that the FT of the mother wavelet at different
scales overlap.
For the rest of this course (and these notes), we will only conside the case a0 = 2, b0 = 1. It turns out
that even in this special case, many different types of orthonormal and biorthogonal bases exist.
3.4. Bibliography
[Chu92] Charles K. Chui, An introduction to wavelets, Wavelet Analysis and Its Applications, vol. 1, Aca-
demic Press, Boston, 1992.
[Dau92] I. Daubechies, Ten lectures on wavelets, CBMS-NSF Regional Conference Series in Applied Math-
ematics, vol. 61, SIAM, Philadelphia, 1992.
[Far92] Marie Farge, Wavelet transforms and their application to turbulence, Annual Review of Fluid
Mechanics 24 (1992), 395–457.
[HBB92] F. Hlawatasch and G.F. Boudreaux-Bartels, Linear and quadratic time-frequency signal represen-
tations, IEEE Signal Proc. Mag. (1992), 21–67.
[RV91] O. Rioul and M. Vetterli, Wavelets and signal processing, IEEE Signal Proc. Mag. 8 (1991), no. 4,
14–38.
CHAPTER 4
Multi-Resolution Approximations
Let us now specialize the results of chapter 3 to the Discrete Wavelet Transform alone, with the special
choice a0 = 2, b0 = 1. In the notation of chapter 3, this means
We will approach the same construction as before from a different angle, and change the notation to the
standard wavelet notation: The mother wavelet is now called ψ instead of w, and the dilated and shifted
versions of it are called
ψjk (t) = 2k/2 ψ(2k t − j).
Also, another function φ, called the scaling function, will come up.
• j Vj = {0}
• f(t) ∈ Vj ↔ f(2t) ∈ Vj+1 ∀j ∈ Z
• f(t) ∈ Vj ↔ f(t − 2−j k) ∈ Vj ∀k ∈ Z, ∀j ∈ Z
• There is a function φ(t) ∈ L2 , called the scaling function, such that
The definition implies that V1 consists exactly of all the functions in V0 compressed by a factor of 2, V2
consists of the functions in V0 compressed by a factor of 22 = 4, V−1 consists of the functions in V0 dilated
by a factor of 2, and so on. Once we know the scaling function φ, everything is determined.
Example: Let V0 consist of the L2 functions which are piecewise constant on intervals of the form
[k, k + 1], k ∈ Z. V1 then consists of L2 functions piecewise constant on intervals of the form [k/2, (k + 1)/2],
V2 consists of L2 functions piecewise constant on intervals of the form [k/4, (k + 1)/4], V−1 consists of L2
functions piecewise constant on intervals of the form [2k, 2(k + 1)], and so on.
V-1 V0
4-1
4-2 Math 485 Lecture Notes September 17, 1993
V1 V2
Example: Let V0 consist of the L2 functions which are continuous and piecewise linear on intervals of
the form [k, k + 1], k ∈ Z. The basic idea is the same:
V-1 V0
September 17, 1993 Fritz Keinert 4-3
V1 V2
Theorem 4.1. The integer translates of φ(t) ∈ L2 are orthonormal if and only if
X 1
|φ̂(ξ + 2πk)|2 =
2π
k
P
Proof: Let Φ(ξ) = k |φ̂(ξ + 2πk)|2 . Φ(ξ) is a 2π-periodic function. We need to show
1
Φ(ξ) = ⇔ hφ(t − j), φ(t)i = δj0 .
2π
We calculate
Z ∞
−ijξ
hφ(t − j), φ(t)i = hφ̂(ξ)e , φ̂(ξ)i = |φ̂(ξ)|2 e−ijξ dξ
−∞
XZ 2π
= |φ̂(ξ + 2πk)|2 e−ij(ξ+2πk) dξ
k 0
Z ( )
2π X
= |φ̂(ξ + 2πk)| 2
e−ijξ dξ
0 k
Z 2π
= Φ(ξ)e−ijξ dξ
0
= jth Fourier coefficient of Φ(ξ).
The function with Fourier coefficients δ0j is 1/2π.
Assume now that g(t) ∈ L2 is a function whose integer translates span V0 and form an exact frame. That
is, if f ∈ V0 , then we can write it uniquely as
X
f(t) = αj g(t − j),
j
4-4 Math 485 Lecture Notes September 17, 1993
and
X X
A |αj |2 ≤ kfk2 ≤ B |αj |2 ,
j j
where 0 < A ≤ B are the frame bounds. As in the previous theorem, one can show that this implies
A X B
≤ |ĝ(ξ + 2πj)|2 ≤ .
2π j
2π
If we define
1 ĝ(ξ)
φ̂(ξ) = √ qP ,
j |ĝ(ξ + 2πj)|
2π 2
then
X 1
|φ̂(ξ + 2πj)|2 = ,
j
2π
so integer translates of φ are orthonormal. One can show that they are a basis of V0 . This technique allows
us to find φ for a given V0 .
Example: Take V0 to be the space of L2 functions which are continuous and piecewise linear on intervals
of the form [k, k + 1], k ∈ Z. An easy choice for g is the hat function (see previous example). We calculate
1 sin2 (ξ/2)
ĝ(ξ) =
2π (ξ/2)2
X 1
|ĝ(ξ + 2πj)|2 = √ (2 + cos(ξ))
j
3 2π
√ sin2 (ξ/2)
φ̂(ξ) = 3(2π)1/4 √ .
(ξ/2)2 2 + cos ξ
Wj ⊕ Vj = Vj+1 .
(The ⊕ stands for “orthogonal sum”. This means that the vectors in Wj plus the vectors in Vj generate all
of Vj+1 , and Vj and Wj are orthogonal).
We can visualize this as follows:
September 17, 1993 Fritz Keinert 4-5
V PPP
PPP
j+1
Vj Wj
, @
, @
Vj−1 Wj−1
BB
Vj−2 Wj−2
From the definition, Wj is orthogonal to Vj (written Wj ⊥ Vj ) , and therefore to all Vk and Wk with
k < j, since they are subspaces of Vj . This implies that all Wj are mutually orthogonal.
One can show that the sequence {Wj } has very similar properties to a MRA. About the only difference is
that any two Wj and Wk (j 6= k) are orthogonal, whereas for any two Vj , Vk one is contained in the other.
In detail
• LWj ⊥ Wk for j 6= k
• T j Wj is dense in L2
• j Wj = {0}
• f(t) ∈ Wj ⇔ f(2t) ∈ Wj+1
• f(t) ∈ Wj ⇔ f(t − 2−j k) ∈ Wj ∀k ∈ Z
• There exists a function ψ(t) ∈ L2 , called the mother wavelet, such that
ψj0 (t) = ψ(t − j), j ∈ Z,
form an orthonormal basis of W0 .
So, altogether there are really only two functions involved in the MRA approach: the scaling function φ
and the mother wavelet ψ. We define the scaled and shifted versions by
φkj (t) = 2k/2 φ(2k t − j)
ψjk (t) = 2k/2 ψ(2k t − j)
Then we know that
• For fixed k, the {φkj }∞
j=−∞ form an orthonormal basis of Vk
k ∞
• For fixed k, the {ψj }j=−∞ form an orthonormal basis of Wk
• The {ψjk }∞
k,j=−∞ form an orthonormal basis of L
2
since (
0 6 2j + `
if k =
hφ(2t − k), φ(2t − 2j − `)i =
1/2 if k = 2j + `
To display the result once more, for easier reference:
X
hk h̄k−2j = δ0j .
k
• It can be proved from the two boxed identities that
X X 1
h2k = h2k+1 = √ .
k k
2
This will follow much more easily from the Fourier transform approach later, so I won’t bother to
prove it here.
The conditions on {gk } are similar and will also follow much more easily later, so I will just summarize
everything here: In order to generate a MRA, the recursion coeffients must satisfy
September 17, 1993 Fritz Keinert 4-7
P P √ P √
(1) h = k h2k+1 = 1/ 2,√which of course implies k hk = 2.
Pk 2k P P
(2) Pk g2k = − k g2k+1 = (1/ 2) · α, where |α| = 1. This implies k gk = 0.
(3) Pk hk h̄k−2j = δ0j for all j (orthonormality of translates of φ).
(4) Pk gk ḡk−2j = δ0j for all j (orthonormality of translates of ψ).
(5) k hk ḡk−2j = 0 for all j (orthonormality of translates of φ, ψ).
If the {hk } satisfy conditions (1) and (3), then the choice
gk = (−1)k h1−k
Example: Let V0 be the space of L2 functions piecewise constant on intervals [k, k + 1]. We know
1 1
φ(t) = χ[0,1] (t) = χ[0,1/2](t) + χ[1/2,1](t) = φ(2t) + φ(2t − 1) = √ φ10 (t) + √ φ11 (t),
2 2
so
1
h0 = h1 = √ .
2
(Exercise: Check that these satisfy the properties listed above).
This means
ψ(t) = χ[0,1/2] − χ[1/2,1]
4-8 Math 485 Lecture Notes September 17, 1993
4.4. Suggested Reading
Chapter 5 in Daubechies [Dau92]. Chapter 5 in Chui [Chu92]. Papers by Battle [Bat87], Lemarié [Lem88],
Jawerth and Sweldens [JS], Mallat [Mal89], Strang [Str89].
4.5. Bibliography
[Bat87] Guy Battle, A block spin construction of ondelettes. Part I: Lemarié functions, Comm. Math. Phys.
110 (1987), 601–615.
[Chu92] Charles K. Chui, An introduction to wavelets, Wavelet Analysis and Its Applications, vol. 1, Aca-
demic Press, Boston, 1992.
[Dau92] I. Daubechies, Ten lectures on wavelets, CBMS-NSF Regional Conference Series in Applied Math-
ematics, vol. 61, SIAM, Philadelphia, 1992.
[JS] Björn Jawerth and Wim Sweldens, An overview of wavelet based multiresolution analyses, available
by anonymous ftp from maxwell.math.scarolina.edu as /pub/wavelet/papers/overview.ps.
[Lem88] P. G. Lemarié, Une nouvelle base d’ondelettes de l2 (Rn ), J. Math. Pures Appl. 67 (1988), 227–236.
[Mal89] S. Mallat, A theory for multiresolution signal decomposition: The wavelet representation, IEEE
Trans. Pattern Analysis and Machine Intelligence 11 (1989), no. 7, 674–693.
[Str89] Gilbert Strang, Wavelets and dilation equations: A brief introduction, SIAM Rev. 31 (1989), no. 4,
614–627.
CHAPTER 5
Algorithms
We know from the previous chapter that any function f ∈ L2 can be written as
X
f(t) = hf, ψjk iψjk (t),
k,j
where ψ is the mother wavelet. We can also write out partial decompositions. Pick any n, and any m < n.
Then
Vn = Vn−1 ⊕ Wn−1
= Vn−2 ⊕ Wn−2 ⊕ Wn−1
···
= Vm ⊕ Wm ⊕ Wm+1 ⊕ · · · ⊕ Wn−1 .
For the same decomposition, written out in terms of vectors, take any f ∈ Vn . We can write
X
f(t) = hf, φnj iφnj (t)
j
X X
= hf, φn−1
j iφn−1
j (t) + hf, ψjn−1 iψjn−1 (t)
j j
···
X X X
= hf, φm
j iφj (t) +
m
hf, ψjm iψjm (t) + · · · + hf, ψjn−1 iψjn−1 (t)
j j j
X X
n−1 X
(5.2) f(t) = sm m
j φj (t) + dkj ψjk (t).
j k=m j
In principle, the coefficients skj , dkj can all be calculated directly as inner products of f and ψjk , φkj , but that
would be very time consuming. The wavelet decomposition algorithm goes from representation (5.1) directly
to (5.2), the wavelet reconstruction algorithm goes the opposite way.
5-1
5-2 Math 485 Lecture Notes September 15, 1993
In detail: we need to calculate the following inner products (results are given if already known):
We calculate
√ X
φn−1
k (t) = 2(n−1)/2φ(2n−1 t − k) = 2(n−1)/2 2 hiφ(2 · [2n−1t − k] − i)
i
X X
=2 n/2
hiφ(2 t − 2k − i) =
n
hi φn2k+i(t)
i i
and likewise
hφnj , ψkn−1 i = ḡj−2k .
and likewise X
dn−1
k = ḡj−2k snj .
j
Decomposition:
X
sn−1
k = h̄j−2k snj
j
X
dn−1
k = ḡj−2k snj
j
Reconstruction: X
snj = hj−2k sn−1
k + gj−2k dn−1
k
k
This form is easy to manipulate for theoretical calculations. For practical programming, it is better to
sum over the indices of h and g, since that is typically a much shorter sum:
Decomposition:
X
sn−1
k = h̄j snj+2k
j
X
dn−1
k = ḡj snj+2k
j
Reconstruction:
Xn o
sn2j = h2k sn−1 n−1
j−k + g2k dj−k
k
Xn o
sn2j+1 = h2k+1 sn−1 n−1
j−k + g2k+1 dj−k
k
A complete decomposition or reconstruction in done in stages:
{snj } ↔ {sn−1
k , dn−1
k } ↔ {sn−2
` , dn−2
` , dn−1
k } ↔ ...
Vn
P Q
n-1 n-1
The space Vn is split into two orthogonal
subspaces Vn−1 and Wn−1 :
Vn-1 W n-1
In our case, X
sn−1
k = h̄j−2k snj ,
j
so the kj entry of Pn−1 is h̄j−2k . Each row of the matrix contains the h̄j in sequence, but shifted two places
to the right compared to the row above it.
(col. (-1) (col. 0) (col. 1)
.. .. ..
. . .
· · · h̄1 h̄2 h̄3 · · · (row (-1))
Pn−1 =
· · · h̄−1 h̄0 h̄1 ··· (row 0)
· · · h̄−3 h̄−2 h̄−1 ··· (row 1)
.. .. ..
. . .
∗
Pn−1 is the complex conjugate transpose of Pn−1 (this follows from linear algebra theory, but you can also
find it directly from the formulas in the last section):
.. .. ..
. . .
· · · h1 h−1 h−3 · · ·
∗
Pn−1 =· · · h2 h0 h−2 · · ·
· · · h3 h1 h−1 · · ·
.. .. ..
. . .
Qn−1 , Q∗n−1 look the same as Pn−1 , Pn−1
∗
, but using g instead of h.
We can ask what properties of g, h are necessary to make relations (5.3) work. It turns out that we need
X
hk h̄k−2m = δ0m ,
k
X
gk ḡk−2m = δ0m ,
k
X
hk ḡk−2m = 0,
k
We calculate
p p p
s20 = h̄0 s30 + h̄1 s31 = 1/2 · 1 + 1/2 · 2 = 3 1/2
p p p
s21 = h̄0 s32 + h̄1 s33 = 1/2 · 3 + 1/2 · 4 = 7 1/2
...
p p p
d20 = ḡ0 s30 + ḡ1 s31 = 1/2 · 1 − 1/2 · 2 = − 1/2
p p p
d21 = ḡ0 s32 + ḡ1 s33 = 1/2 · 3 − 1/2 · 4 = − 1/2
...
p p p p
s10 = h̄0 s20 + h̄1 s21 = 1/2 · (3 1/2) + 1/2 · (7 1/2) = 5
p p p p
s11 = h̄0 s22 + h̄1 s23 = 1/2 · (2 1/2) + 1/2 · ( 1/2) = 3/2
...
At each stage, the new coefficients being calculated can all be stored in place of the old ones:
p p
1 3p1/2 5 (13/2) ·p 1/2
2 7p1/2 3/2 (7/2) · 1/2
3 2p1/2 −2 −2
4 1 p1/2 1/2
p 1/2
⇔ ⇔ ⇔ p
3 −p1/2 −p1/2 −p1/2
−1 −p 1/2 −p 1/2 −p 1/2
0 4 p1/2 4 p1/2 4 p1/2
1 − 1/2
− 1/2 − 1/2
Example: Take the same setup as in the previous example, but use an initial vector of length 6
s3 = {1, 2, 3, 4, 3, −1}
We get
s10 s00
s30 s20
s11 d00
s31 s21
d10 d10
s32 s22
⇔ ⇔ d11 ⇔ d11
s33 d20
d20 d20
s34 d21
d21 d21
s35 d22
d22 d22
p
p 5 6 · p1/2
1 3p1/2 1 4 · 1/2
2 7p1/2 −2 −2
3
⇔
2 p1/2
⇔ p1 ⇔ p1
4 −p1/2 −p1/2 −p1/2
3 −p 1/2 −p 1/2 −p 1/2
−1 4 1/2 4 p1/2 4 p1/2
− 1/2 − 1/2
Notice how it is not possible this time to store the decomposed vector in the same place as the original. That
happens whenever a vector of odd length gets decomposed. Thus, if the original vector length N contains a
factor of 2`, we can do ` stages of decomposition without problems. If we want to do more, the decomposed
vectors get longer.
Changing the vector length in the middle of decomposition is a programming headache. Fortunately,
there is an easy way out: just pad the original vector with zeros to a length that is a power of 2 (or at least
has a factor that is a large power of 2, so you can do several stages).
Notice, by the way, that if you reconstruct the data in this example, you get a vector of length 8 with two
zeros at the end (unless you know the original vector is supposed to be shorter, and take that into account).
September 15, 1993 Fritz Keinert 5-7
Example: Let us now use a longer wavelet, like the Daubechies wavelet with two vanishing moments.
The coefficients are
√
1+ 3
h0 = −g3 = √ ≈ 0.482962913144534
4 2
√
3+ 3
h1 = g2 = √ ≈ 0.836516303737808
4 2
√
3− 3
h2 = −g1 = √ ≈ 0.2241438680420134
4 2
√
1− 3
h3 = g0 = √ ≈ −0.1294095225512603
4 2
Take again
s3 = {s0 , . . . , s7 } = {1, 2, 3, 4, 3, −1, 0, 1}.
If we apply the formulas in a straightforward manner, by treating s3j as 0 unless j is between 0 and 7, we
again pick up extra coefficients during the decomposition. This happens for any wavelet with more than two
coefficients.
The usual way out is to treat all vectors as periodic. It turns out that this works. Thus, we use s38 = s30 ,
s39 = s31 , etc. If necessary, this also applies in the negative direction: s3−1 = s37 , and so on. The period adapts
to the vector length: s2 is periodic with length 4, s1 is periodic with length 2, and so on.
Let me write out the complete formulas for the skj in this case:
Another possibility is to use end-point correction formulas. That means that near the ends we use different
coefficients for decomposition and reconstruction. This has certain advantages but is harder to program.
See [CDV] for more details.
5.6. Bibliography
[CDV] A. Cohen, I. Daubechies, and P. Vial, Wavelets and fast wavelet transform on the interval, preprint.
[Cod92] Mac A. Cody, The fast wavelet transform: Beyond Fourier transforms, Dr. Dobb’s J. (1992), 16–28,
100–101.
[Dau92] I. Daubechies, Ten lectures on wavelets, CBMS-NSF Regional Conference Series in Applied Math-
ematics, vol. 61, SIAM, Philadelphia, 1992.
[JS] Björn Jawerth and Wim Sweldens, An overview of wavelet based multiresolution analyses, available
by anonymous ftp from maxwell.math.scarolina.edu as /pub/wavelet/papers/overview.ps.
CHAPTER 6
Construction of Wavelets
So far, we have discussed the ideas behind the introduction of wavelets, and the mechanics of wavelet-based
decomposition and reconstruction algorithms. The next big question is: how do we find wavelets?
In this section, we will address the question of finding φ, ψ once we have the recursion coefficients {hk },
{gk }. After that, we will worry about how to find these coefficients. As a preparation for both of these tasks,
we introduce some auxiliary functions.
Assume {hk }, {gk } are given and satisfy
X
|hk | < ∞,
k
X
|gk | < ∞,
k
(6.1) X
|khk | < ∞,
k
X
|kgk | < ∞.
k
We define
1 X
H(ξ) = √ hk e−ikξ ,
2 k
1 X
G(ξ) = √ gk e−ikξ .
2 k
Obviously, H and G are 2π-periodic functions, given in the form of Fourier Series. If {hk }, {gk } have finite
length, functions of this type are called trigonometric polynomials.
The conditions in (6.1) insure that the series converge everywhere to differentiable functions.
We also define
1 X
h(z) = √ hk z k ,
2 k
1 X
g(z) = √ gk z k .
2 k
These functions are polynomials or power series (with negative exponents allowed).
We see from the definition that
H(ξ) = h(e−iξ ),
G(ξ) = g(e−iξ ).
What is the point of these functions? The coefficients {hk }, {gk }, the functions H, G and the functions
h, g all contain exactly the same information, just in different form. All of them have their uses, and we
will switch back and forth between them, using whichever of them is easiest to use at the moment. This is
similar to switching back and forth between the time and frequency domains, using the Fourier transform.
There are three approaches I am aware of that construct φ from the {hk }. All of them are useful, so we
will do them all. Once you have φ, it is of course easy to find ψ from the recursion relation.
6-1
6-2 Math 485 Lecture Notes September 15, 1993
6.1. Approach 1
We take the Fourier Transform of the recursion relation
√ X
φ(t) = 2 hk φ(2t − k)
k
and find
√ X 1 −ikξ/2
φ̂(ξ) = 2 hk e φ̂(ξ/2)
2
k
( )
1 X
= √ hk e−ikξ/2 φ̂(ξ/2) = H(ξ/2)φ̂(ξ/2)
2 k
ξ ξ
φ̂(ξ) = H( )φ̂( )
2 2
Repeating this process, we find formally
ξ ξ ξ Y∞
ξ
φ̂(ξ) = H( )H( )φ̂( ) = · · · = H( j ) φ̂(0).
2 4 4 2
j=1
Conditions (6.1) insure that the infinite product converges. Indeed, since H is differentiable at 0, and
H(0) = 1, we have
|H(ξ)| ≤ 1 + c · |ξ| ≤ ec|ξ|
for ξ near 0. For any ξ, choose J large enough so that the previous estimate holds for ξ/2n , n ≥ J. Then
Y P∞ −j
∞ ξ
H( j ) ≤ e
c|ξ| 2
= ec|ξ|/2
J−1
< ∞.
j=J
j=J 2
The total product is then the product of the first J terms, times something finite.
In general, it is too hard to actually evaluate the infinite product, but we can make some useful observa-
tions.R √
If φ(t) dt = 2π φ̂(0) = 0, then φ = 0, which is not very interesting. Thus, the scaling function must
have a nonzero integral. Usually, we require
Z
1
φ(t) dt = 1 ⇔ φ̂(0) = √ .
2
It can be shown that this implies
Z
|φ(t)|2 dt = 1,
1 Y ξ
H
φ̂(ξ) = √ ( ),
2π j=1 2j
∞
ξ ξ 1 ξ Y ξ
ψ̂(ξ) = G( )φ̂( ) = √ G( ) H( j ).
2 2 2π 2 j=2 2
September 15, 1993 Fritz Keinert 6-3
6.2. Approach 2
R
Pick any φ(0) ∈ L1 ∪ L2 with φ(0)(t) dt = 1, and define recursively
√ X
φ(n+1)(t) = 2 hk φ(n) (2t − k).
k
so
∞
Y ξ
φ̂(n)(ξ) → φ̂(0) H( ) = φ̂(ξ).
j=1
2j
(0)
Thus, we could start with any reasonable φ (like χ[0,1] ) and keep substituting it into the recursion formula.
6.3. Approach 3
This approach works only for finite sequences {hk }, but is numerically the most useful.
Theorem 6.2. If {hk } = {hL , hL+1 , . . . , hM }, then φ is supported in the interval [L, M ].
Proof: Choose any φ(0) with support in [L − `, M + m], and use the iteration from approach 2. Since
φ(0)(2t − k) has support in [(L − ` + k)/2, (M + m + k)/2],
√ X
φ(1)(t) = 2 hk φ(0) (2t − k)
k
has support in
M
[
L−`+k M +m+k L−`+L M +m+M ` m
, ⊂ , = [L − , M + ].
2 2 2 2 2 2
k=L
Likewise, φ(2) has support in [L − (`/4), M + (m/4)], and so on. In the limit, we find that φ has support in
[L, M ].
Approach 3 is best illustrated by an example, before describing it in general.
Example: Take the Daubechies wavelet with two vanishing moments, with coefficients
√
1+ 3
h0 = √
4 2
√
3+ 3
h1 = √
4 2
√
3− 3
h2 = √
4 2
√
1− 3
h3 = √
4 2
By the previous theorem, φ has support on the interval [0, 3].
6-4 Math 485 Lecture Notes September 15, 1993
Write out the recursion formulas for the values of φ at the integers. The only interesting integers are 0,
1, 2, 3, of course, since φ is zero at all the others.
√
φ(0) = 2[h0 φ(0) + h1 φ(−1) + h2 φ(−2) + h3 φ(−3)]
√
= 2h0 φ(0)
√
φ(1) = 2[h0 φ(2) + h1 φ(1) + h2 φ(0) + h3 φ(−1)]
√
= 2[h0 φ(2) + h1 φ(1) + h2 φ(0)]
√
φ(2) = 2[h0 φ(4) + h1 φ(3) + h2 φ(2) + h3 φ(1)]
√
= 2[h1 φ(3) + h2 φ(2) + h3 φ(1)]
√
φ(3) = 2[h0 φ(6) + h1 φ(5) + h2 φ(4) + h3 φ(3)]
√
= 2h3 φ(3)
The first equation shows that φ(0) = 0, and the last equation shows φ(3) = 0. What is left is
√
φ(1) = 2[h0 φ(2) + h1 φ(1)]
√
φ(2) = 2[h2 φ(2) + h3 φ(1)]
6.5. Bibliography
[Chu92] Charles K. Chui, An introduction to wavelets, Wavelet Analysis and Its Applications, vol. 1, Aca-
demic Press, Boston, 1992.
[Str89] Gilbert Strang, Wavelets and dilation equations: A brief introduction, SIAM Rev. 31 (1989), no. 4,
614–627.
CHAPTER 7
In chapter 4 we determined some basic properties the recursion coefficients {hk } must have to make the
decomposition/reconstruction work. We will repeat those conditions here, and also rephrase them in terms
of H(ξ), and h(z). Along the way, we will answer the question of how to find the {gk } from {hk }. One
possibility was given in chapter 4, but now we can give the complete answer.
Then we will discuss what other desirable properties we may want our wavelets to have, and how they are
expressed in terms of {hk }, H(ξ) and h(z). Together, this will allow us to write down the set of equations
we need to solve to find wavelets with particular properties. In the next chapter, we will actually solve these
equations for one important special case.
The only really essential ones are (a) and (b). They imply (c) (we will prove that shortly), and the rest are
automatically satisfied for a suitable choice of {gk } (which we will also spell out shortly).
Condition (a) must be satisfied to make the recursion relation work. Condition (b) says that the integer
translates of φ should be orthonormal.
1 X
H(ξ) = √ hk e−ikξ
2 k
1 X
G(ξ) = √ gk e−ikξ
2 k
(a) H(0) = 1
(b) |H(ξ)| + |H(ξ + π)|2 = 1
2
(c) H(π) = 0
(d) G(0) = 0
(e) |G(ξ)|2 + |G(ξ + π)|2 = 1
(f) H(ξ)G(ξ) + H(ξ + π)G(ξ + π) = 0
7-1
7-2 Math 485 Lecture Notes September 15, 1993
Proof: For (a), (c), (d), this is easy to see by writing the series out. Let us prove (b), the rest are proved
in basically the same way. We calculate
1 X
H(ξ) = √ hk e−ikξ
2 k
1 X
H(ξ) = √ h̄` ei`ξ
2 `
1 X 1 X
H(ξ + π) = √ hk e−ik(ξ+π) = √ (−1)k hk e−ikξ
2 k 2 k
1 X
H(ξ + π) = √ (−1)` h̄` ei`ξ
2 `
1X
|H(ξ)|2 = H(ξ)H(ξ) = hk h̄` e−i(k−`)ξ
2
k,`
1X
|H(ξ + π)|2 = H(ξ + π)H(ξ + π) = (−1)k−l hk h̄` e−i(k−`)ξ
2
k,`
1 X
|H(ξ)|2 + |H(ξ + π)|2 = 1 + (−1)k−l hk h̄`e−i(k−`)ξ
2
k,`
( )
X X X
−i(k−l)ξ
= hk h̄` e = hk h̄k−2j e−2ijξ .
k,` j k
k−` even
The last expression is the Fourier series for the 2π-periodic function |H(ξ)|2 + |H(ξ + π)|2 . The function 1
has Fourier coefficients δ0j , which proves the equivalence.
Note that (c) follows from (a) and (b), as stated before.
7.1.3. In terms of h(z). Instead of rederiving everything from scratch, we just translate it from H(ξ).
H(ξ) h(z)
e−iξ z
ξ=0 z=1
ξ=π z = −1
eiξ 1/z
e−i(ξ+π) −z
ei(ξ+π)
P −1/z P
H(ξ) = √12 k hk e−ikξ h(z) = √12 k hk z k
P P
H(ξ) = √12 k h̄k eikξ h̄(z) = √12 k h̄k z −k
P P
H(ξ + π) = √12 k (−1)k hk e−ikξ h(−z) = √12 k (−1)k hk z k
P P
H(ξ + π) = √12 k (−1)k h̄k eikξ h̄(−z) = √12 k (−1)k h̄k z −k
The function h̄ is in general not the complex conjugate of h. It is defined by the sum above, or equivalently
by
h̄(z) = h(1/z̄).
Note, however, that many authors use only z with |z| = 1, in which case h̄ is the complex conjugate of h.
The conditions in terms of h(z), g(z) are now
(a) h(1) = 1
(b) h(z)h̄(z) + h(−z)h̄(−z) = 1
(c) h(−1) = 0
(d) g(1) = 0
(e) g(z)ḡ(z) + g(−z)ḡ(−z) = 1
(f) h(z)ḡ(z) + h(−z)ḡ(−z) = 0
September 15, 1993 Fritz Keinert 7-3
7.2. Choice of {gk }
We can now answer the following question: Assuming that the {hk } satisfy (a), (b) (and therefore auto-
matically (c)), what choices of {gk } will make the remaining conditions valid?
∆(ξ) = α · e−i(2j+1)ξ
for some j ∈ Z, |α| = 1. (This will be easier to see in the next section, when we rephrase things in terms of
h(z), g(z)). This leads to
gk = α · (−1)k h̄2j+1−k , j ∈ Z, |α| = 1.
Thus, once the {hk } are given, there is essentially only one choice of finite {gk } (which is {gk } = {hk }
backwards, with alternating sign), up to multiplication by a complex number of absolute value one, and a
shift.
If {hk }, {gk } are real, then α = ±1, which leads to
gk = ±(−1)k h̄2j−1−k.
The choice ∆(ξ) = e−iξ leads to gk = (−1)k h̄1−k , which is what some authors prefer. If {hk } = {h0 , h1 , . . . , hL,
the more usual choice is ∆(ξ) = e−iLξ , which leads to gk = (−1)k h̄L−k , since then {gk } = {g0 , . . . , gL }. It
follows from property (b) that L must be odd (exercise!).
7.2.2. In terms of h(z). We copy the approach from H(ξ), and define
h(z) h(−z) −1 h̄(z) ḡ(z)
M (z) = , M (z) = ,
g(z) g(−z) h̄(−z) ḡ(−z)
g(z) = −∆(z)h̄(−z)
∆(−z) = −∆(z)
¯
∆(z)∆(z) =1
In summary
If h(z) has been found, then all suitable g(z) are of the form
g(z) = −∆(z)h̄(−z)
where ∆(z) is any function with
∆(−z) = −∆(z),
¯
∆(z)∆(z) =1
Conversely, every such ∆(z) will produce a suitable g(z).
As a special case, if {hk }, {gk } are finite sequences, then h(z), g(z), ∆(z) are polynomials (with positive
or negative powers of z). ∆(z) is an odd polynomial and is never zero, except possibly for z = 0 (because
M −1 (z) is defined everywhere except possibly at z = 0), so ∆(z) must be of the form
∆(z) = α · z 2j+1
¯
for some j ∈ Z, |α| = 1 (since ∆(z)∆(z) = |α|2 = 1).
If {hk }, {gk } are real, then α = ±1, which again leads to
gk = ±(−1)k h̄2j+1−k .
The choice ∆(z) = z leads to gk = (−1)k h̄1−k , the choice ∆(z) = z L leads to gk = (−1)k h̄L−k .
September 15, 1993 Fritz Keinert 7-5
7.2.3. In terms of {hk }. The easiest way to derive conditions in terms of {hk } is to just translate the
conditions from H(ξ) or h(z). This gives
If {hk } have been found, then all suitable {gk } are of the form
X
gk = − αj+k (−1)j h̄j
j
7.3.1. Compact Support. We have already seen that compact support of φ, ψ is equivalent to having
finite sequences {hk }, {gk }, which is equivalent to H(ξ) being a trigonometric polynomial, or h(z) being a
polynomial.
The main reason for wanting a support as small as possible is numerical efficiency. The amount of
computation necessary is directly proportional to the number of wavelet recursion coefficients.
7.4. Symmetry
In signal processing applications, wavelets are considered as special cases of filters. Symmetric or anti-
symmetric wavelets have a desirable property property called linear phase response.
φ is symmetric about a point a if
φ(a + t) = φ(a − t).
φ is anti-symmetric about a if
φ(a + t) = −φ(a − t).
For discrete filters, a must be an integer if we want linear phase response. Symmetry or anti-symmetry is
expressed in terms of {hk } by
ha+k = ±ha−k .
This is not hard to prove, but I won’t write it out here. Equivalently,
or
h(z) = z a [P (z) + P (1/z)]
where in each case, P is a polynomial or power series (with non-negative powers only).
The bad news is that there are no symmetric or antisymmetric wavelets with compact support, except
the Haar wavelet. There do exist wavelets that are almost symmetric, and symmetric biorthogonal wavelets.
7-6 Math 485 Lecture Notes September 15, 1993
7.5. Vanishing Moments
The mth moment of ψ is Z
tm ψ(t) dt.
It is often desirable to use wavelets with a certain number M of vanishing moments, especially for the
compression of smooth signals. The reason is the following:
Z Z
−n/2
dk = hf, ψk i = f(t)2 ψ(2 t − k) dt = 2
n n n/2 n
f(2n (s + k))ψ(s) ds
with the substitution s = 2n t − k. Assume now that f is sufficiently smooth, and expand it in a Taylor
series:
1 1 −n M (M ) −n
f(2−n k + 2−n s) = f(2−n k) + (2−n s)f 0 (2−n k) + (2−n s)2 f 00 (2−n k) + . . . (2 s) f (2 k) + . . .
2! M!
When we substitute this into the integral, the first M terms vanish, so
Z
1 −n(M +(1/2)) (M ) −n
hf, ψk i =
n
2 f (2 k) sM φ(s) ds + · · · = O(2−n(M +(1/2)))
M!
if f (M ) is bounded. If f is smooth and ψ has several vanishing moments, we expect that dnk = hf, ψkn i will
be quite small for moderately large n. We can neglect these small coefficients, and obtain a much smaller
number of wavelet coefficients that can be reconstructed into a function very close to the original f. Thus,
wavelets with many vanishing moments are useful for data compression.
In some cases, it is also desirable to demand vanishing moments for φ (except the first, which must be 1):
Z
φ(t) dt = 1
Z
tm φ(t) dt = 0, m = 1, 2, . . . , M − 1.
ψ̂(0) = G(0)φ̂(0)
1h 0 i
ψ̂0 (0) = G (0)φ̂(0) + G(0)φ̂0 (0)
2
00 1 h 00 i
ψ̂ (0) = G (0)φ̂(0) + 2G0 (0)φ̂0 (0) + G(0)φ̂00 (0)
4
000 1 h 000 i
ψ̂ (0) = G (0)φ̂(0) + 3G00 (0)φ̂0 (0) + 3G0 (0)φ̂00 (0) + G(0)φ̂000 (0)
8
...
Keeping in mind that φ̂(0) 6= 0, we deduce in turn that G and its first M − 1 derivatives must vanish at the
origin. We want a condition on H, so we use the basic relationship G(ξ) = −∆(ξ)H(ξ + π) from before to
deduce that M vanishing moments are equivalent to
or
M
1 − e−iξ
H(ξ) = 1 + K(ξ).
2
We can now translate this easily into conditions on h(z) (exercise): M vanishing moments for ψ mean
or
M
1+z
h(z) = p(z),
2
where p is a polynomial or power series. M vanishing moments for φ mean
or
M
1−z
h(z) = 1 + q(z).
2
Just as easily (another easy exercise), we obtain that M vanishing moments for ψ mean
X
(−1)k k m hk = 0 m = 0, 1, . . . , M − 1
k
and
1 − e−iξ M
= |sinc(ξ/2)|M
iξ
which decays like |ξ|−M . Since
∞ ∞
1 Y ξ 1 Y ξ
|φ̂(ξ)| = √ H( j = √ |sinc(ξ/2)|M |L( j )|,
2π j=1 2 2π j=1
2
the sinc term will provide fast decay, as long as the infinite product does not grow too fast.
September 15, 1993 Fritz Keinert 7-9
There is a detailed investigation of this in Daubechies [Dau92]. I will just quote the simplest of the
theorems one can prove.
Theorem 7.3. If
sup |L(ξ)| < 2M −α−1,
ξ
then φ ∈ C α .
7.7. Bibliography
[Dau92] I. Daubechies, Ten lectures on wavelets, CBMS-NSF Regional Conference Series in Applied Math-
ematics, vol. 61, SIAM, Philadelphia, 1992.
CHAPTER 8
Daubechies Wavelets
As a one of the most important examples in practice, we will derive the class of Daubechies wavelets in this
section, using the equations from the last chapter.
All wavelets coefficient sequences of finite length must have even length (this follows from property (b)).
For length 2, the equations read
p
h0 = 1/2
p
h1 = 1/2
h20 + h21 = 1
which leads to the Haar wavelets as the only possibility.
For length 4, the equations are
p
h0 + h2 = 1/2
p
h1 + h3 = 1/2
h20 + h21 + h22 + h23 = 1
h0 h2 + h1 h3 = 0
p p
These equations have an infinite number of solutions: pick any h0 ∈ [−1/2 + 1/8, 1/2 + 1/8], then
p q p
h1 = 1/8 ± 1/8 − h20 + 1/2h0
p
h2 = 1/2 − h0
p
h3 = 1/2 − h1 .
For higher lengths, this approach becomes unwieldy.
Keeping in mind that vanishing moments are useful in many applications, Ingrid Daubechies set out to
find the shortest real wavelet sequences with M vanishing moments, for M = 1, 2, . . . .
Here is an outline of the steps she went through. We will fill in the details below:
Step 1. Fix M , the number of vanishing moments. We write down the equations we need to satisfy,
using the H(ξ) approach:
M
1 + e−iξ
H(ξ) = L(ξ)
2
H(0) = 1
|H(ξ)|2 + |H(ξ + π)|2 = 1
Step 2. Convert the second and third condition to a condition on L:
M M
ξ ξ
cos2 |L(ξ)|2 + sin2 |L(ξ + π)|2 = 1.
2 2
Step 3. Show that
ξ
|L(ξ)|2 = P (sin2 ),
2
2 ξ
|L(ξ + π)| = P (cos )
2
2
for some polynomial P .
Step 4. Convert the equation for L into an equation for P
(1 − y)M P (y) + yM P (1 − y) = 1
8-1
8-2 Math 485 Lecture Notes September 15, 1993
Step 5. Find the polynomial P of lowest possible degree that solves this equation, and convert it back
into |L(ξ)|2 .
Step 6. Factor |L(ξ)|2 to find L(ξ), and put everything back together.
Now let us look at the details:
Step 1. These equations are taken straight from the last chapter.
Step 2. We calculate
M M
1 + e−iξ 1 + eiξ
|H(ξ)|2 = H(ξ) · H(ξ) = L(ξ) · L(ξ)
2 2
M M
1 + e−iξ 1 + eiξ 2 ξ
= · |L(ξ)| = cos
2
|L(ξ)|2 .
2 2 2
Likewise,
M M
ξ+π 2 ξ
|H(ξ + π)| = cos
2 2
|L(ξ + π)| = sin
2
|L(ξ + π)|2 .
2 2
Putting these two together, we obtain the equation listed in step 2. Note that since cos 0 = 1, sin 0 = 0,
we get automatically that |L(0)| = 1. By introducing a scale factor of absolute value 1, if necessary, we can
assume that L(0) = 1, which takes care of the second condition in step 1.
Step 3. Here is the point where we need the fact that the coefficients are real. Since
X
L(ξ) = lk e−ikξ
k
X
L(ξ) = lj eijξ
j
we get X
|L(ξ)|2 = L(ξ)L(ξ) = lk lj e−i(k−j)ξ .
k,j
We take out the terms with j = k, and group together the remaining kj and jk terms:
X X h i
|L(ξ)|2 = lk2 + lk lj ei(j−k)ξ + e−i(j−k)ξ
k j>k
X X X
= lk2 +2 lk lj cos(j − k)ξ = αk cos kξ.
k j>k k
X k
2 ξ ξ
|L(ξ)| =
2
γk sin = P (sin2 ).
2 2
k
X
M −1
M +k−1 k
P (y) = y .
k
k=0
One thing I did not mention before is that we also must have P (y) ≥ 0 for y ∈ [0, 1], since P is the square
of L, and y = sin2 2ξ takes on values in [0, 1]. By a lucky coincidence, this is satisfied here for all M .
Maybe this is a good point to talk about the number of coefficients in these trig polynomials and regular
polynomials. Suppose L(ξ) has degree K. Then |L(ξ)|2 , written as a sum of exponentials, has terms going
from −K to K. We collapse the exponentials into cosines by grouping positive and negative powers together,
then we are back to summing from 0 to K. Nothing changes during the next few steps, so P also has degree
K, which we now know to be M − 1. This translates into an H of degree (2M − 1), or 2M coefficients {hk }.
The Daubechies wavelet with M vanishing moments has 2M coefficients.
Step 5. Now we have the P , and we have to find our way back to L. This process is called spectral
factorization. Daubechies used the following method, based on a theorem of Riesz.
Do all the substitutions backwards until you have |L(ξ)|2 in terms of complex exponentials again. To
make life easier, let z = e−iξ , so |L(ξ)|2 turns into a z −M +1 times a polynomial in z of degree 2M − 2. Find
all roots of this polynomial. These roots turn out to come in groups of four, consisting of zj , 1/zj , zj and
1/zj . If zj is real or on the unit circle, there are only two roots in a group instead of 4.
We select one pair zj , 1/zj from each group of 4, or one root from each pair. If we multiply the terms
(z − zk ) for all j together, we get the original polynomial (except for a constant). If we multiply the terms
(z − zj ) only for the selected roots, we get the square root we want, except for a constant (this is the content
of the Riesz theorem). We can then replace z by e−iξ again, and we are done.
This whole process is quite a mathematical tour de force. Let me illustrate it by deriving the Daubechies
wavelet with 1 and 2 vanishing moments. We can start with step 5, the other steps were only necessary for
the proof. These two cases can be done by hand. For more vanishing moments, these equations must be
solved numerically.
Daubechies Wavelets with 1 Vanishing Moment. This is pretty trivial: we find
P1 (y) = 1,
which translates into |L(ξ)|2 = 1, and obviously L(ξ) = 1. This leads to
1 + e−iξ
H(ξ) =
2
which are the Haar wavelets.
Daubechies Wavelets with 2 Vanishing Moments. Here
P2 (y) = 1 + 2y.
Recall that y = sin2 (ξ/2), plug that in and convert everything back to complex exponentials:
2
e−iξ eiξ z 1
|L(ξ)|2 = − +2− = z −1 − + 2z − .
2 2 2 2
√
The√corresponding polynomial is −z 2 /2 + 2z − 1/2, which has roots 2 ± 3. We choose one of them, like
2 + 3. The Riesz theorem says that L(ξ) should be
√ √
L(ξ) = const · (z − (2 + 3)) = const · (e−iξ − (2 + 3)).
8-4 Math 485 Lecture Notes September 15, 1993
The
√ constant can be found by multiplying it back together, or from the Riesz theorem. It turns out to be
( 3 − 1)/2.
So,
2 √
3 − 1 −iξ √ X 3
1 + e−iξ
H(ξ) = · · e − (2 + 3) = hk e−ikξ ,
2 2
k=0
where
√
1+ 3
h0 = √
4 2
√
3+ 3
h1 = √
4 2
√
3− 3
h2 = √
4 2
√
1− 3
h3 = √
4 2
The h coefficients for more Daubechies wavelets can be found in Daubechies’ book [Dau92]. They are
reproduced in appendix C.
8.2. Bibliography
[Dau88] Ingrid Daubechies, Orthonormal bases of compactly supported wavelets, Comm. Pure Appl. Math.
41 (1988), 909–996.
[Dau92] I. Daubechies, Ten lectures on wavelets, CBMS-NSF Regional Conference Series in Applied Math-
ematics, vol. 61, SIAM, Philadelphia, 1992.
[Dau93] Ingrid Daubechies, Orthonormal bases of compactly supported wavelets II: Variations on a theme,
SIAM J. Math. Anal. 24 (1993), no. 2, 499–519.
CHAPTER 9
Other Topics
Without going into too much detail, we mention a few other topics and applications relating to wavelets.
This area keeps expanding, and for further information you are referred to the growing literature.
V
PPPP 3
)
PPq
V2 W2
, @@
, R
V1 W1
BBN
V0 W0
The idea behind wavelet packets is very simple: what if we decompose the dj also? This results in a
decomposition tree as in figure 9.2.
From a practical point of view, the implementation is very easy. At each level we decompose all partial
vectors instead of just the first one. It is customary to retain all the intermediate results instead of overwriting
them with the decomposed vector, for reasons that will become clear shortly. The resulting wave packet
decomposition of a vector of length 8 is shown in the figure 9.3.
It is easy to verify that a complete decomposition requires O(N log N ) operations for a vector of length
N , and N log N storage if we want to keep all levels.
From a mathematical point of view, we are subdividing the W j spaces into further subspaces. To describe
this process in more detail, we have to switch notation.
9-1
9-2 Math 485 Lecture Notes September 15, 1993
V PPPP
3
)
PPq
0
V02 V12
, @ , @
,
@R , @R
V01 V11 V21 V31
The old space V j is now called V0j , the old W j becomes V1j . The spaces V2j , V3j etc are new. Each Vkj is
j−1 j−1
subdivided into V2k and V2k+1 .
The basis functions of Vk are shifted versions of some function φjk . The superscript indicates the level (φjk
j
is φ0k , compressed by a factor of 2j ), the subscript denotes the type of function (not a shift as it did before).
The new φj0 is the old φj , the new φj1 is the old ψ1j , the other ones are new functions that are generated by
recursion. Specifically, the old recursion relations
1 X
φj−1 (x) = √ hk φj (2x − k)
2 k
1 X
ψj−1 (x) = √ gk φj (2x − k)
2 k
are replaced by the single formula
1 X l j
2m+l = √
φj−1 hk φm (2x − k), l = 0, 1.
2 k
It should come as no surprise that the {h0k } are the old {hk }, the {h1k } are the old {gk }. The first new
functions showing up in the example are
1 X
φ12 (x) = √ hk ψ1 (x),
2 k
1 X
φ13 (x) = √ gk ψ1 (x),
2 k
where I have used the old notation on the right-hand side.
For the Haar wavelets, the resulting basis functions are called Walsh functions.
In general, these new basis functions don’t have any nice properties like time-frequency localization. The
wave packet decomposition would probably not be very useful in signal analysis. The main application lies
in signal compression.
As mentioned above, we usually save all the levels during decomposition. Observe that the information
contained in each subvector is equivalent to the information contained in the levels below it. We can select
September 15, 1993 Fritz Keinert 9-3
any subset of decomposed vectors that contains all the original information. For example, we could select
the vectors corresponding to V01 , V20 , V30 , V12 in figure 9.2. The total length of any such subset is equal to
the length of the original vector.
The idea is to select the subset that gives the best compression, Since the usual wavelet decomposition is
one special case, we can do at least as well as that, maybe better.
The implementation works like this. First we do a complete wave packet decomposition. For a vector of
length N = 2n , we get n = log N levels. This takes O(N log N ) operations, and N log N storage locations.
Then, we search for the optimal decomposition from the ground up. For each subvector at the lowest
level, we set negligible elements to zero, and count how many are left. At the next lowest level, we do the
same, and compare the number of elements left in each subvector with the combined number of elements in
the two subvectors below it. Depending on which is smaller, we keep either the subvector at level 1, or the
two subvectors at level 0. Continue up the scale, for a total of O(N log N ) operations. When we are done,
we can throw away everything except the N optimal coefficients.
This process may or may not be useful in practice. It takes O(N log N ) operations instead of O(N ), and
we have to store additional information about the levels we decided to keep, which partially destroys the
savings from better compression.
Many variations on this scheme are possible. There is no law that says we have to use the same wavelet
coefficients at every level. We could vary those as well, trying to adapt them to specific properties of the
signal. There is room for many more theses and patents.
by
This corresponds to having two multiresolution approximation chains of spaces Vj , Wj and Ṽj , W̃j , with
Vj ⊥ W̃j
Wj ⊥ W̃k for j 6= k.
In practice, the only difference is that you use one set of coefficients {hk }, {gk } for decomposition, another
set {h̃k }, {g̃k } for reconstruction. The roles of the two sets of coefficients can be reversed.
The advantage is that biorthogonal wavelets are much easier to find, since you have twice as many
coefficients that need to satisfy the same number of constraints. Biorthogonal wavelet coefficients tend to
be much nicer numbers, often integers divided by some power of 2. Biorthogonal wavelets can be symmetric
or antisymmetric, and they can be shorter for the same number of vanishing moments.
The disadvantage is that you need two sets of coefficients, and that you need to start worrying about
numerical stability. Some biorthogonal wavelets lead to catastrophic growth of round-off error.
An example of biorthogonal wavelets is given by
9-4 Math 485 Lecture Notes September 15, 1993
j = −1 0 1 2
hj 3 2 -1
gj 1 -2 1
h̃j 1 2 1
g̃j 1 2 -3
√
(all coefficients need to be multiplied by 2/4).
9.4. Multi-Wavelets
Instead of having a scaling function and wavelet, you could have a scaling function and several wavelets,
all orthogonal to their translates and each other. You could extend that to the biorthogonal setting as well.
(1) (2)
Mathematically, this corresponds to decomposing each Vj space into several subspaces Vj−1 , Wj−1 , Wj−1 ,
etc.
In one extreme case (see Alpert [Alp92]), there are so many wavelets that you don’t have to use translates
any more.
but mean something different: each k is now a multi-index (k1 , k2, . . . , kn ), and 2x − k is (2x1 − k1 , 2x2 −
k2 , . . . ). Even more generally, the multi-indices k can vary on a non-rectangular regular grid.
The big problem here is that this gets very, very messy. Even the support of the scaling function is often
a fractal. In practice, people are sticking to tensor products so far.
9.7. Bibliography
[Alp92] Bradley Alpert, Wavelets and other bases for fast numerical linear algebra, Wavelets: A Tutorial
in Theory and Applications (San Diego) (C. K. Chui, ed.), Wavelet Analysis and its Applications,
vol. 2, Academic Press, San Diego, 1992, pp. 181–216.
[CDF92] A. Cohen, Ingrid Daubechies, and J.-C. Feauveau, Biorthogonal bases of compactly supported
wavelets, Comm. Pure Appl. Math. 45 (1992), 485–560.
[CMQW91] Ronald R. Coifman, Yves Meyer, Steven Quake, and Mladen Victor Wickerhauser, Signal pro-
cessing and compression with wave packets, Proceedings of the Marseilles Wavelet Meeting 1989,
1991.
[Dau92] I. Daubechies, Ten lectures on wavelets, CBMS-NSF Regional Conference Series in Applied
Mathematics, vol. 61, SIAM, Philadelphia, 1992.
[(ed92] Charles K. Chui (ed.), Wavelets: A tutorial in theory and applications, Wavelet Analysis and
Its Applications, vol. 2, Academic Press, Boston, 1992.
APPENDIX A
Computer Information
We will be doing some computer experiments with wavelets as part of the homework. I will provide a number
of tools and data sets for this on Project Vincent (PV) machines. If you have access to matlab on another
system, you can probably copy all the subroutines and data files over and run your stuff there. However, I
will not give computer help on systems other than PV.
This section contains some hints on how to get started (if you are not familiar with PV), and where to
find the things you need for this course.
A-1
A-2 Math 485 Lecture Notes September 15, 1993
• There is an on-line consulting facility olc, where you can ask questions. Type olc and take it from
there. You will get a personal answer within a few hours.
Before you ask a question, type answers from inside olc and look at the answers to frequently asked
questions. Maybe your question is answered there.
• You can post your question to newsgroup isu.cc.vincent. In my experience, this is often more
helpful than olc.
• There is a local newsgroup isu.math.485 for this class.
• Ask a friend.
• Send e-mail to keinert@iastate.edu.
If your problem has to do with computer use in general, try the first seven options first, before you ask
me. I will be glad to answer questions about your assignments or about the programs used in this class, but
I am here to teach mathematics, not computer use.
A.8.2. Two-Dimensional Images. I have added some subroutines to load and store Portable Grayscale
Maps (.pgm files) directly from matlab. These are simply two-dimensional arrays of integers between 0 and
255 whose values can be interpreted as gray scales (0 = black, 255 = white).
To load file foo.pgm into matlab, type
> A = loadpgm(’foo’);
Don’t forget the semicolon at the end, or you will find your terminal flooded with numbers. Now A is a
two-dimensional array with numbers between 0 and 255 that you can work with.
To save an array B as a .pgm file, first adjust the scaling. One way to do that is to plot a few rows or
columns as one-dimensional graphs, to see how the values are distributed. Pick out the range where you
think the action is, and scale that to [0, 255]. Values larger (smaller) than 255 (0) will be set to 255 (0)
during the writing, so you don’t need to worry about that.
To actually save it, type one of the following:
> savepgm(B,’bar’);
> savepgm(B);
The first form will save the picture in bar.pgm, the second form will save it in B.pgm.
You can view such a file with the xv program (see manual page). When the picture is displayed, click on
save and select PostScript. This will save it in PostScript form, which can then be printed.
A-4 Math 485 Lecture Notes September 15, 1993
A.9. Electronic Wavelet Resources
There is a vast amount of free information and software available on the Internet. Here is a list of what I
found:
• Björn Jawerth at the University of South Carolina edits the Wavelet Digest, a collection of wavelet-
related announcements that is distributed by e-mail periodically (about every two months). To re-
ceive future issues, send e-mail with subject subscribe to wavelet@math.scarolina.edu. Any text in
the message itself is ignored. Back issues of the digest can be found on maxwell.math.scaroline.edu
in directory pub/wavelet/archive.
• Bjorn Jawerth also maintains the wavelet section of the gopher at the University of South Car-
olina. Do add public first, then gopher bigcheese.math.scarolina.edu, and take it from there.
You will find back general information, bibliography lists, pointers to wavelet software, and some
preprints.
• You can ask archie about wavelet-related stuff. Archie maintains a big database of public domain
software all over the world. File /home/mathclasses/keinert/485/archie.search contains the
results of my recent search.
APPENDIX B
Mathematical Background
(v + w) + z = v + (w + z)
(αβ)v = α(βv)
• Distributivity:
α(v + w) = αv + αw
(α + β)v = αv + βv
• Zero Vector: There exists a vector 0 ∈ V such that
v+0=0+v =v for all v ∈ V
• Inverse Vector: For all v ∈ V , there exists a vector (−v) ∈ V such that
v + (−v) = (−v) + v = 0
B-1
B-2 Math 485 Lecture Notes September 15, 1993
Standard Examples:
v1
..
(1) V = C , v = . or {v1 , . . . , vn } with componentwise addition and scalar multiplication.
n
vn
(2) V = the space of infinite sequences of complex numbers, v = {vj }∞
j=−∞, again with componentwise
addition and scalar multiplication.
(3) V = the space of complex-valued functions on [a, b], with pointwise addition and scalar multiplica-
tion:
Definition: A collection {v1 , . . . , vn } of vectors is linearly dependent if one of them can be written as a
linear combination of the others: X
vk = αj vj for some k.
j6=k
Definition: A basis of V is a collection of linearly independent vectors such that any v ∈ V can be
written as a linear combination of basis vectors.
Fact: Every basis contains the same number of vectors; this number is called the dimension of V .
Definition: A norm on a vector space V is a mapping which assigns to each v ∈ V a norm (or length)
kvk with the properties
(1) kvk is real, kvk ≥ 0
(2) kvk = 0 ⇐⇒ v = 0
(3) kαvk = |α|kvk, α ∈ C
(4) kv + wk ≤ kvk + kwk (the triangle inequality)
Standard Examples:
(1) (The `p norms) Assume that v = {vj } (a finite vector or infinite sequence). For 1 ≤ p < ∞, we
define the p-norm by
1/p
X
kvkp = |vj |p
j
Standard Examples:
(1) Cn and `2 have the inner product X
hv, wi = vj w̄j
j
However, the αj may be hard to calculate, and may not be bounded. For an orthonormal basis, both of
these problems disappear:
αj = hf, vj i
and X
|αj |2 ≤ kfk22 (Bessel’s Inequality)
j
Remark: Because of convergence problems, it is in general required than any vector can be written as a finite linear
combination of basis vectors. For orthonormal bases, Bessel’s inequality provides convergence, so infinite linear combinations
are also allowed.
Example: Take V = CN , with basis {v0 , . . . , vN−1 }, where the kth component of vj is
1 2π
(vj )k = √ ei N jk .
N
One can check that this basis is orthonormal.
The expansion of a vector f in this basis is the Discrete Fourier Transform:
X
N−1
1 X
N−1
1
fj e−i N jk = √ f¯k
2π
hf, vk i = fj vj = √
j=0
N j=0 N
X
N−1
1 X ¯
N−1
f= hf, vk ivk = √ fk vk
k=0
N k=0
1 X ¯ i 2π jk
N−1
fj = fk e N
N
k=0
(Note: f¯k stands for the kth Fourier coefficient of f, not for the complex conjugate of fk . This is the notation
used in the section of Fourier Transforms below).
Remark: The Continuous Fourier Transform does not fit into this pattern, since the functions eixξ are not in L2 .
B.2.2. Biorthogonal Bases. Sometimes, orthonormal bases are not available or not convenient to work
with. A generalization is the concept of a biorthogonal basis (actually, a pair of bases).
Here, we have two different bases {vj }, {wj } that are mutually orthogonal. This means that {vj } by itself
is a basis, so is {wj } by itself, and
hvj , wk i = δjk .
To avoid convergence problems, we demand that {vj }, {wj } are Riesz bases. This means that there are
constants 0 < A ≤ B (the Riesz bounds) such that for any sequence of coefficients {αj } ∈ `2
X
Akαk22 ≤ k αj vj k22 ≤ Bkαk22 ,
j
Biorthogonal bases are not as numerically stable as orthonormal ones, but just as easy to work with.
1 1
Example: Take V = R , and choose v1 =
2
, v2 = .
0 1
The condition hvj , wk i = δjk can be read as follows: if V is the matrix with rows vj , then the matrix W
with columns wk must be V −1 . (Incidentally, this proves that the {wj } are uniquely determined from the
{vj }, and that we can find a biorthogonal basis {wj } for any basis {vj }).
Anyway,
1 0 1 0
V = , W = V −1 = ,
1 1 −1 1
B-6 Math 485 Lecture Notes September 15, 1993
1 0
so w1 = , w2 = .
−1 1
1
As an example, take f = . Then
2
B.2.3. Frames. Sometimes, biorthogonal bases are not available either. We would like to preserve the
property
X X
f= hf, vj iwj = hf, wj ivj
j j
If A = B, the frame is called tight. The frame is exact if it is not a frame any more whenever a single element
is deleted.
The definition implies that a frame spans the whole space. That is, every f ∈ V can be written as a linear
combination of frame vectors. However, the linear combination is not unique any more, so a frame is usually
not a basis. Only exact frames are also bases.
Fact: If {vj } is a frame with frame bounds A, B, then there exists a dual frame {wj } with frame bounds
1/B, 1/A such that
X X
f= hf, vj iwj = hf, wj ivj for all f ∈ V.
j j
Moreover, the coefficients in these expansions are the smallest possible in the sense that if
X X
f= hf, wj ivj = αj vj
j j
B.3.1. The Continuous Fourier Transform. Assume that f is a complex-valued function defined on
R. Its Fourier Transform fˆ is defined as
Z ∞
1
fˆ(ξ) = √ e−ixξ f(x) dx.
2π −∞
If f ∈ L1 , the integral makes sense for every value of ξ, and fˆ is a continuous, bounded function which goes
to zero at infinity (this last fact is called the Riemann-Lebesgue Lemma).
The Fourier Transform is also defined for f ∈ L2 . In this case, the integral may not be defined in the
usual sense. One way to define it is
Z R
1
ˆ
f (ξ) = √ lim e−ixξ f(x) dx.
2π R→∞ −R
In this case, fˆ is also in L2 .
If f ∈ L1 or L2 , it can be written in terms of its Fourier Transform as
Z ∞
1
f(ξ) = √ eixξ fˆ(ξ) dξ,
2π −∞
where the integral may need to be interpreted as a limit of finite integrals, as before.
In general, every locally integrable function f has a Fourier Transform, but fˆ may not be a function any
more, rather a generalized function or distribution. We will assume from now on that all functions have
suitable integrability properties so that all Fourier Transforms (and other operations that show up) are well
defined.
Some properties of the Fourier Transform are
• The Fourier Transform preserves L2 -norms and inner products (this is called the Parseval-Plancherel
Theorem). Thus, if f, g ∈ L2 , then
We find
√
(f ∗ g)ˆ(ξ) = 2π fˆ(ξ)ĝ(ξ)
1
(f · g)ˆ(ξ) = √ (fˆ ∗ ĝ)(ξ)
2π
B-8 Math 485 Lecture Notes September 15, 1993
• The Fourier Transform turns translation into modulation, and vice versa.
The translation of f by a ∈ R is defined as
We get
• The Fourier Transform turns dilations into inverse dilations. The dilation of f by s ∈ R, s 6= 0, is
given by
Ds f(x) = |s|−1/2f(x/s).
The factor in front is chosen so that kDs fk2 = kfk2 . The Fourier Transform relationship is
• The Fourier Transform turns differentiation into multiplication by iξ, and vice versa.
(f 0 )ˆ(ξ) = iξ fˆ(ξ)
(xf(x))ˆ(ξ) = ifˆ0 (ξ)
B.3.2. The Periodic Fourier Transform (or Fourier Series). Assume that f is completely described
by its values in a finite interval [0, L]. It does not matter whether we consider f to be zero outside the interval,
or periodic with period L:
f(x + kL) = f(x), k ∈ Z.
The Periodic Fourier Transform f˜ of f is an infinite sequence {f˜k } defined by
Z L
e−i L kxf(x) dx
2π
f˜k =
0
B.3.3. The Discrete Fourier Transform. Assume that f is a sequence of length N : f = {f0 , f1 , . . . , fN−1 }.
The Discrete Fourier Transform f¯ of f is a sequence of the same length, given by
X
e−i N jk fj .
2π
f¯k =
j
Its inverse is
1 X i 2π jk ¯
fj = e N fk .
N
j
September 15, 1993 Fritz Keinert B-9
B.3.4. The Fourier Transform of some basic functions.
• The characteristic function χS of a set S is the function which has the value 1 on this set, and 0
otherwise. In particular
(
1 if x ∈ [−1, 1]
χ[−1,1] (x) =
0 otherwise
2π
• The δ-function is not really a function, but a generalized function or distribution. It is defined not
in terms of its values at individual points, but only in terms of its integrals:
Z (
b
1 if 0 ∈ (a, b)
δ(x) dx =
a 0 otherwise
X
we can assume this has been done, and treat δ like a regular function.
• The -function (this is the Russian letter sha) is an infinite string of δ-functions, so it is again a
distribution.
X(x) = P δ(x − j)
j
This “function” is useful for working with series of equally spaced points, and for extending functions
in a periodic way. Its main properties are
hf, Xi =
j j j
X
f(j)
hf, X i = h
j
X
h f(jh)
j
B.3.5. Relationship between the Continuous and Periodic Fourier Transform. Assume that f
is a function which is 0 outside the interval [0, L], and that fp is the periodic extension of the values of f on
September 15, 1993 Fritz Keinert B-11
[0, L]:
Then we can take the Fourier Transform of f or fp , or the Periodic Fourier Transform of fp . These are
related by
√ 2π
(fp )˜k = 2πfˆ(
k)
L
X
L
fˆp (ξ) = fˆ(ξ) · ( ξ)
2π
In ˆ
√ words: the coefficients of the Fourier series are the values of f at equally spaced points (up to a factor of
2π). The Fourier Transform of fp is a sequence of equally spaced δ-functions, each of them multiplied by
the value of fˆ at that point.
CFD
⇔
*o
*o *o
PFT
⇔ *o *o
*o *o
*o *o *o *o
2 pi/L
CFT
⇔
B-12 Math 485 Lecture Notes September 15, 1993
Observe that the inverse Fourier Transform of fˆp turns into the Fourier Series: For x ∈ [0, L],
Z ∞
1
f(x) = fp (x) = √ eixξ fˆp (ξ) dξ
2π −∞
Z ∞
= √
1
2π −∞
X L
eixξ fˆ(ξ) ( ξ) dξ
2π
Z
1 2π X ∞ ixξ ˆ 2π
= √ e f (ξ)δ(ξ − j ) dξ
2π L j −∞ L
1 X i 2π xj √ ˆ 2π 1 X i 2π xj
= e L 2πf ( j) = e L (fp )˜k .
L j L L j
Since the original f can be recovered from either its Fourier Transform fˆ or its Fourier coefficients {f˜k }
(which are the values of fˆ at equally spaced points), we would expect that the Fourier Transform fˆ is
completely determined by its values at these points.
This is expressed by the Shannon Sampling Theorem, which is usually stated the other way around: we
assume it is the Fourier Transform which is limited to a finite interval, and it is the original function which
is determined by its values at equally spaced points. Of course, everything in Fourier theory is symmetric, so
you can interpret this theorem either way. Also, the finite interval is usually taken to be symmetric around
the origin.
The function f is called bandlimited with bandwidth b if fˆ(ξ) = 0 outside the interval [−b, b]. The Shannon
Sampling Theorem states that if f is bandlimited with bandwidth b, then
X π π
f(x) = f(hk)sinc (x − hk) if h ≤
h b
k
Thus, f is uniquely determined by its samples with any spacing below a certain threshold. The threshold
π/b is called the Nyquist frequency.
B.3.6. Relationship between the Periodic and Discrete Fourier Transform. Assume that f is
a function defined on [0, L], and that fs = {f0 , . . . , fN−1 } is a vector of N equally spaced samples of f with
spacing h = L/N .
Then we can take the Periodic Fourier Transform of f, or the Discrete Fourier Transform of fs . How do
the two relate? The first observation is that the discrete Fourier coefficients can be interpreted as numerical
approximations to the corresponding periodic Fourier coefficients, by replacing the integral by a numerical
quadrature rule (the trapezoidal rule). In more detail:
Z L X
f(x)e−i L xk dx ≈ h f(jh)e−i
2π 2π
f˜k = L jkh
0 j
X
−i 2π
N jk
=h f(jh)e = h(fs )k .
j
If the integrand is smooth, and h is fairly small, this should give a good approximation. However, for large
k, the exponential term becomes more and more oscillatory, and the accuracy goes down.
A better characterization is available from the Poisson Summation Formula, which states (for all f, not
just f limited to [0, L])
X 2π 1 X
fˆ(ξ + j) = √ h f(jh)e−ihjξ
j
h 2π j
September 15, 1993 Fritz Keinert B-13
2π
For ξ = k this gives us
L
X X
f(jh)e−i N jk = f(jh)e−i L hjk
2π 2π
(fs )k =
j j
√
X 2π X ˆ 2π 2π
= f(jh)e−ihjξ = f( j + N j)
j
h j
L L
√ √
2π ˆ 2π 2π X ˆ 2π 2π
= f ( k) + f( k + N j).
h L h L L
j6=0
2π
That is, the value of (fs )k is a multiple of the true value of fˆ at (which is a multiple of f˜k ), PLUS all
L
2π 2π
values of fˆ that are multiples of N away from k. This is called aliasing: the Discrete Fourier Transform
L L
2π
contains only frequencies up to ; higher frequencies are shifted down to this range.
L
CFT
⇔
aliasing
⇔
*o
*o *o
*o
*o
*o
*o *o *o
*o *o
*o
*o *o
DFT *o *o
⇔ *o *o
*o
B-14 Math 485 Lecture Notes September 15, 1993
B.4. Bibliography
[Ben92] John Benedetto, Irregular sampling and frames, Wavelets: A Tutorial in Theory and Applications
(Charles K. Chui, ed.), Wavelet Analysis and Its Applications, vol. 2, Academic Press, 1992, pp. 445–
508.
[Chu92] Charles K. Chui, An introduction to wavelets, Wavelet Analysis and Its Applications, vol. 1, Aca-
demic Press, Boston, 1992.
[DS52] R. J. Duffin and A. C. Schaeffer, A class of nonharmonic Fourier series, Trans. Amer. Math. Soc.
72 (1952), 341–366.
[Hei90] Christopher Heil, Wavelets and frames, Signal Processing, Part I: Signal Processing Theory (New
York), IMA, vol. 22, Springer, New York, 1990, pp. 147–160.
APPENDIX C
Wavelet Coefficients
This appendix lists the coefficients for some of the most commonly used wavelets: The Daubechies wavelets,
and the Coiflets. These tables are taken from Daubechies’ book [Dau92] and included here only for easier
reference.
[Dau92] I. Daubechies, Ten lectures on wavelets, CBMS-NSF Regional Conference Series in Applied Math-
ematics, vol. 61, SIAM, Philadelphia, 1992.
C-1
C-2 Math 485 Lecture Notes September 15, 1993
k hk k hk
N=1 0 0.7071067811865476 N =8 0 0.0544158422431072
1 0.7071067811865476 1 0.3128715909143166
N=2 0 0.4829629131445341 2 0.6756307362973195
1 0.8365163037378077 3 0.5853546836542159
2 0.2241438680420134 4 -0.0158291052563823
3 -0.1294095225512603 5 -0.2840155429615824
N=3 0 0.3326705529500825 6 0.0004724845739124
1 0.8068915093110924 7 0.1287474266204893
2 0.4598775021184914 8 -0.0173693010018090
3 -0.1350110200102546 9 -0.0440882539307971
4 -0.0854412738820267 10 0.0139810279174001
5 0.0352262918857095 11 0.0087460940474065
N=4 0 0.2303778133088964 12 -0.0048703529934520
1 0.7148465705529154 13 -0.0003917403733770
2 0.6308807679398587 14 0.0006754494064506
3 -0.0279837694168599 15 -0.0001174767841248
4 -0.1870348117190931 N =9 0 0.0380779473638778
5 0.0308413818355607 1 0.2438346746125858
1 0.0328830116668852 2 0.6048231236900955
1 -0.0105974017850690 3 0.6572880780512736
N=5 0 0.1601023979741929 4 0.1331973858249883
1 0.6038292697971895 5 -0.2932737832791663
2 0.7243085284377726 6 -0.0968407832229492
3 0.1384281459013203 7 0.1485407493381256
4 -0.2422948870663823 8 0.0307256814793385
5 -0.0322448695846381 9 -0.0676328290613279
6 0.0775714938400459 10 0.0002509471148340
7 -0.0062414902127983 11 0.0223616621236798
8 -0.0125807519990820 12 -0.0047232047577518
9 0.0033357252854738 13 -0.0042815036824635
N=6 0 0.1115407433501095 14 0.0018476468830563
1 0.4946238903984533 15 0.0002303857635232
2 0.7511339080210959 16 -0.0002519631889427
3 0.3152503517091982 17 0.0000393473203163
4 -0.2262646939654400 N = 10 0 0.0266700579005473
5 -0.1297668675672625 1 0.1881768000776347
6 0.0975016055873225 2 0.5272011889315757
7 0.0275228655303053 3 0.6884590394534363
8 -0.0315820393174862 4 0.2811723436605715
9 0.0005538422011614 5 -0.2498464243271598
10 0.0047772575109455 6 -0.1959462743772862
11 -0.0010773010853085 7 0.1273693403357541
N=7 0 0.0778520540850037 8 0.0930573646035547
1 0.3965393194818912 9 -0.0713941471663501
2 0.7291320908461957 10 -0.0294575368218399
3 0.4697822874051889 11 0.0332126740593612
4 -0.1439060039285212 12 0.0036065535669870
5 -0.2240361849938412 13 -0.0107331754833007
6 0.0713092192668272 14 0.0013953517470688
7 0.0806126091510774 15 0.0019924052951925
8 -0.0380299369350104 16 -0.0006858566949564
9 -0.0165745416306655 17 -0.0001164668551285
10 0.0125509985560986 18 0.0000935886703202
11 0.0004295779729214 19 -0.0000132642028945
12 -0.0018016407040473
13 0.0003537137999745
September 15, 1993 Fritz Keinert C-3
k hk k hk
N =2 -2 -0.051429728471 N =8 -8 0.000630961046
-1 0.238929728471 -7 -0.001152224852
0 0.602859456942 -6 -0.005194524026
1 0.272140543058 -5 0.011362459244
2 -0.051429728471 -4 0.018867235378
3 -0.011070271529 -3 -0.057464234429
N =4 -4 0.011587596739 -2 -0.039652648517
-3 -0.029320137980 -1 0.293667390895
-2 -0.047639590310 0 0.553126452562
-1 0.273021046535 1 0.307157326198
0 0.574682393857 2 -0.047112738865
1 0.294867193696 3 -0.068038127051
2 -0.054085607092 4 0.027813640153
3 -0.042026480461 5 0.017735837438
4 0.016744410163 6 -0.010756318517
5 0.003967883613 7 -0.004001012886
6 -0.001289203356 8 0.002652665946
7 -0.000509505399 9 0.000895594529
N =6 -6 -0.002682418671 10 -0.000416500571
-5 0.005503126709 11 -0.000183829769
-4 0.016583560479 12 0.000044080453
-3 -0.046507764479 13 0.000022082857
-2 -0.043220763560 14 -0.000002304942
-1 0.286503335274 15 -0.000001262175
0 0.561285256870 N = 10 -10 -0.0001499638
1 0.302983571773 -9 0.0002535612
2 -0.050770140755 -8 0.0015402457
3 -0.058196250762 -7 -0.0029411108
4 0.024434094321 -6 -0.0071637819
5 0.011229240962 -5 0.0165520664
6 -0.006369601011 -4 0.0199178043
7 -0.001820458916 -3 -0.0649972628
8 0.000790205101 -2 -0.0368000736
9 0.000329665174 -1 0.2980923235
10 -0.000050192775 0 0.5475054294
11 -0.000024465734 1 0.3097068490
2 -0.0438660508
3 -0.0746522389
4 0.0291958795
5 0.0231107770
6 -0.0139736879
7 -0.0064800900
8 0.0047830014
9 0.0017206547
10 -0.0011758222
11 -0.0004512270
12 0.0002137298
13 0.0000993776
14 -0.0000292321
15 -0.0000150720
16 0.0000026408
17 0.0000014593
18 -0.0000001184
19 -0.0000000673
September 15, 1993 Fritz Keinert 0-1
[Alp92] Bradley Alpert, Wavelets and other bases for fast numerical linear algebra, Wavelets: A Tutorial
in Theory and Applications (San Diego) (C. K. Chui, ed.), Wavelet Analysis and its Applications,
vol. 2, Academic Press, San Diego, 1992, pp. 181–216.
[Bat87] Guy Battle, A block spin construction of ondelettes. Part I: Lemarié functions, Comm. Math.
Phys. 110 (1987), 601–615.
[BCR91] Gregory Beylkin, Ravi Coifman, and Vladimir Rokhlin, Fast wavelet transforms and numerical
algorithms: I, Comm. Pure Appl. Math. 44 (1991), no. 2, 141–183.
[Ben92] John Benedetto, Irregular sampling and frames, Wavelets: A Tutorial in Theory and Applica-
tions (Charles K. Chui, ed.), Wavelet Analysis and Its Applications, vol. 2, Academic Press,
1992, pp. 445–508.
[CDF92] A. Cohen, Ingrid Daubechies, and J.-C. Feauveau, Biorthogonal bases of compactly supported
wavelets, Comm. Pure Appl. Math. 45 (1992), 485–560.
[CDV] A. Cohen, I. Daubechies, and P. Vial, Wavelets and fast wavelet transform on the interval,
preprint.
[Chu92] Charles K. Chui, An introduction to wavelets, Wavelet Analysis and Its Applications, vol. 1,
Academic Press, Boston, 1992.
[CMQW91] Ronald R. Coifman, Yves Meyer, Steven Quake, and Mladen Victor Wickerhauser, Signal pro-
cessing and compression with wave packets, Proceedings of the Marseilles Wavelet Meeting 1989,
1991.
[Cod92] Mac A. Cody, The fast wavelet transform: Beyond Fourier transforms, Dr. Dobb’s J. (1992),
16–28, 100–101.
[Dau88] Ingrid Daubechies, Orthonormal bases of compactly supported wavelets, Comm. Pure Appl.
Math. 41 (1988), 909–996.
[Dau92] I. Daubechies, Ten lectures on wavelets, CBMS-NSF Regional Conference Series in Applied
Mathematics, vol. 61, SIAM, Philadelphia, 1992.
[Dau93] Ingrid Daubechies, Orthonormal bases of compactly supported wavelets II: Variations on a theme,
SIAM J. Math. Anal. 24 (1993), no. 2, 499–519.
[DS52] R. J. Duffin and A. C. Schaeffer, A class of nonharmonic Fourier series, Trans. Amer. Math.
Soc. 72 (1952), 341–366.
[(ed92] Charles K. Chui (ed.), Wavelets: A tutorial in theory and applications, Wavelet Analysis and
Its Applications, vol. 2, Academic Press, Boston, 1992.
[Far92] Marie Farge, Wavelet transforms and their application to turbulence, Annual Review of Fluid
Mechanics 24 (1992), 395–457.
[HBB92] F. Hlawatasch and G.F. Boudreaux-Bartels, Linear and quadratic time-frequency signal repre-
sentations, IEEE Signal Proc. Mag. (1992), 21–67.
[Hei90] Christopher Heil, Wavelets and frames, Signal Processing, Part I: Signal Processing Theory
(New York), IMA, vol. 22, Springer, New York, 1990, pp. 147–160.
[JS] Björn Jawerth and Wim Sweldens, An overview of wavelet based multiresolution analyses, avail-
able by anonymous ftp from maxwell.math.scarolina.edu as /pub/wavelet/papers/overview.ps.
[Kei] F. Keinert, Numerical stability of biorthogonal wavelets, in preparation.
[Lem88] P. G. Lemarié, Une nouvelle base d’ondelettes de l2 (Rn ), J. Math. Pures Appl. 67 (1988),
227–236.
[Mal89a] S. Mallat, A theory for multiresolution signal decomposition: The wavelet representation, IEEE
Trans. Pattern Analysis and Machine Intelligence 11 (1989), no. 7, 674–693.
[Mal89b] Stephane Mallat, Multiresolution approximations and wavelet orthonormal bases of L2 (R),
Trans. Amer. Math. Soc. 315 (1989), no. 1, 69–87.
[Mey86] Yves Meyer, Principe d’incertitude, bases hilbertienne et algèbres d’opérateurs, Seminaire Bour-
baki 662 (1985-86).
[RV91] O. Rioul and M. Vetterli, Wavelets and signal processing, IEEE Signal Proc. Mag. 8 (1991),
no. 4, 14–38.
[Str89] Gilbert Strang, Wavelets and dilation equations: A brief introduction, SIAM Rev. 31 (1989),
no. 4, 614–627.
[Wic90] Mladen Victor Wickerhauser, Nonstandard matrix multiplication, available via anonymous ftp
from ceres.math.yale.edu, 1990.