Lecture Notes on Transforms and Wavelets | AMSC 661, Study notes of Mathematics

Material Type: Notes; Professor: O'Leary; Class: SCIENTIFIC COMPUTING II; Subject: Applied Mathematics & Scientific Computation; University: University of Maryland; Term: Spring 2005;

Typology: Study notes

Pre 2010

Uploaded on 07/30/2009

koofers-user-dkq
koofers-user-dkq 🇺🇸

10 documents

1 / 7

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Notes from AMSC 661 05/05/05 (neat date!)
Notes from Dr. O’Leary’s lecture on Transforms and Wavelets:
http://www.cs.umd.edu/~oleary/c661/661fourierhand.pdf
and a few slides from
http://www.cs.umd.edu/~oleary/c460/old/460matrixhand.pdf
Joanna R. Pressley
Last lecture we were introduced to the Continuous Fourier Transform in two forms, the
Discrete Fourier Transform, the Discrete Sine Transform, the Haar Transform, and the
Discrete Haar Transform. Here are a few additional points about the Transforms.
Fourier Transform - f(x) must go to zero fast enough so that F(s) does not go to infinity.
Also, x can be complex.
Discrete Fourier Transform – we are using a discrete set of x, but we are assuming that
the true function continues outside of our set and is just copies of the set. In this way, we
are assuming that the function is periodic.
Discrete Sine Transform - When we use the DST we are also assuming the data is
periodic. It is good to use the DST when the data starts at zero and ends at zero (zero
boundary conditions), like the picture above. Also, remember
)/2sin()/2cos(
/2
nsxinsxe
nisx
ππ
π
+= . This helps us understand that the DST comes
from the imaginary part of the Fourier Transform. The DST allows you to work with real
numbers and real arithmetic, where as the Fast Fourier Transform (which we’ll get to
later) uses complex.
pf3
pf4
pf5

Partial preview of the text

Download Lecture Notes on Transforms and Wavelets | AMSC 661 and more Study notes Mathematics in PDF only on Docsity!

Notes from AMSC 661 05/05/05 (neat date!) Notes from Dr. O’Leary’s lecture on Transforms and Wavelets:

http://www.cs.umd.edu/~oleary/c661/661fourierhand.pdf and a few slides from http://www.cs.umd.edu/~oleary/c460/old/460matrixhand.pdf

Joanna R. Pressley

Last lecture we were introduced to the Continuous Fourier Transform in two forms, the Discrete Fourier Transform, the Discrete Sine Transform, the Haar Transform, and the Discrete Haar Transform. Here are a few additional points about the Transforms.

Fourier Transform - f(x) must go to zero fast enough so that F(s) does not go to infinity. Also, x can be complex.

Discrete Fourier Transform – we are using a discrete set of x, but we are assuming that the true function continues outside of our set and is just copies of the set. In this way, we are assuming that the function is periodic.

Discrete Sine Transform - When we use the DST we are also assuming the data is periodic. It is good to use the DST when the data starts at zero and ends at zero (zero boundary conditions), like the picture above. Also, remember

e^2 π isx^ / n = cos( 2 π sx / n )+ i sin( 2 π sx / n ). This helps us understand that the DST comes

from the imaginary part of the Fourier Transform. The DST allows you to work with real numbers and real arithmetic, where as the Fast Fourier Transform (which we’ll get to later) uses complex.

Discrete Haar Transform – We contract h(x) to get the hi functions. You get more oscillations on [0,1] as you contract more.

The matrix is symmetric, so to compute the IDFT you just multiply by the transpose of the matrix.

When n gets large, the matrix is too big to store. So we use the fast methods to lessen storage and computation time. To see how this works, let’s look at a large problem. Let n = 8.

Let’s define z:

we know the following 2 facts

Let’s look at the entire matrix for F 8

We can rearrange the columns as long as we also rearrange f(x) and F(s) too. Move the odd columns (purple) to the front in order and the even columns to the back. Then we get

The top blue block is F 4 and is repeated underneath. Then the second top block is F 4 multiplied by the matrix D. The bottom right block is just the block above it multiplied by minus 1. So storage is much reduced.

So if we were multiplying F 8 by a vector x, we would need to rearrange x also to use this algorithm. Then we would get:

Due to the regrouping above, we have lessened the computation cost greatly! We now only do 2*the cost for n = 4 plus 12 multiplications (we count for complex arithmetic).

If we start with n = 128, we can reduce that to 2the cost of n = 64, which we can reduce to 2the cost of n = 32, which we can reduce to 2the cost of n = 16, which we can reduce to 2the cost of n = 8, which we just saw we could reduce to 2*the cost of n = 4 (all of this plus some additions).

For n = 128, the slow FT costs 214665 flops (O(n^2 )). For the FFT the cost is 5053 flops (O(n log 2 (n))). This is the radix 2 FFT. It works for powers of 2. If n is not a power of 2 there are other fast algorithms. The work is approximately O(np) where p is small if n has small prime factors.

Fast Haar

Now let’s look at fast methods for the Haar Transform. Let’s define H 1 :

The Haar transform for a 2-dim x is H 1 *x. Now for powers of radix 2,

So for instance, H 2 is

For H 1 , the first row is like h 1 , the second row is like h 2. For H 2 the first row is like h 1 the second row is like h4, the third row is like h2, and the fourth row is also like h 2 but shifted.

The father wavelet is

And it looks like:

We can also look at Dilations and translations of the mother wavelet.

For instance ψ ( 2 x )has width ½ and looks like:

and ψ ( x / 2 )has width 2 and looks like:

Next time we will be talking about wavelet expansions.