Vous êtes sur la page 1sur 81

Wavelets &

Applications

N. Malmurugan
n_malmurugan@yahoo.com
Fourier analysis

Decompose image/signal into sinusoids


+
F (w) =
f ( x ) [ cos( 2 w x ) + j sin( 2 w x ) dx ]
Fourier Transform

F
Fourier
Transform
Frequency
Time
Case -1 Stationary signal

1 250

0.8
0.6 200

0.4
0.2 150

0
-0.2 100

-0.4
-0.6 50
-0.8
-1 0
0 0.2 0.4 0.6 0.8 1 0 20 40 60 80 100

time frequency
Fourier Transform (FT)

Time-domain Frequency-domain
Fourier transform and non-
stationary signals

 The Fourier transform does not provide information concerning


the time interval(s) where a given frequency component exist.

 Not a problem with stationary signals

(The frequency components of the signal then exist at all times )


Not suited for non-stationary signals
Neither suited for signals with discontinuities and sharp peaks
(like EKG or EEG signals)
1

0.8

0.6

0.4

0.2

-0.2

Stationary -0.4

signal -0.6

-0.8

-1
0 100 200 300 400 500 600 700 800 900 1000

Non -
stationary
signal
The obtained Fourier spectra
Case - 2 Signal varying with time

Ambiguity exists in the analysis

1 1.5
0.8
0.6
0.4 1
0.2
0
-0.2
-0.4 0.5
-0.6
-0.8
-1 0
0 50 100 150 200 250 300 350 400 0 50 100 150 200

time frequency

What about
instantaneous
frequency ?
Problem with FT

 FT contains only frequency information


 No Time information is retained
 Works fine for stationary signals
 Non-stationary or changing signals cause problems
 FT shows frequencies occurring at all times instead of
specific times
Solution: STFT

 How can we still use FT, but handle non-stationary


signals?
 How can we include time?
 Idea: Break up the signal into discrete windows
 Each signal within a window is a stationary signal
 Take FT over each part
Short Time Fourier Transform ( STFT )

- Divide the signal into sections using windows


- Calculate the Fourier transform each section
- Display the results as a joint function of the frequency and time


-j2 ft
The STFT is defined as x ( t ) w( t ) e dt
X(f, ) =

where x(t) is the signal to be analysed , w(t) is the window function,


the process is illustrated in the next figure.

STFT maps a 1 -D time domain signal to a 2 -D plane (t , f )


Analysis depends on the type of window chosen
Windowed Fourier transform

 Sliding time window is used

Heisenberg uncertainty relations are playing!


One cannot know the exact time-frequency representation of a signal.
STFT Contd..

( w)
STFT
X (t , f ) = [x(t ) w * (t t ' )] e j 2ft
dt
t
Heisenburg Uncertainty Principle

 Originally applied to the momentum and location


of moving signals
 Can be applied to the time-frequency information
of a signal
 Meaning
 Cannot know what spectral components exist at what
instances in time
Example of STFT
 Perform it in the same non-stationary signal as
before
Example of STFT (continued)

 Gaussian Window with different amounts of support


STFT with a = 0.01 (narrowest
window)

 Well separated in
time
 Peaks correspond
to a band of
frequencies
STFT with a = 0.0001
(3rd widest window)

 Time resolution is
becoming poorer
 Frequency
resolution is
improving
STFT with a = 0.00001
(widest window)

 Poor time
resolution
 Excellent
frequency
resolution
Time-Frequency Tiles: STFT

 Single window used for all


frequencies
 Resolution analysis is the
same at all locations
Conclusions: STFT

 Developed as an alternative to the FT


 STFT is application dependant
 Better time or frequency resolution?
 Choice of window is crucial
Wheres the problem?

 How do you pick an appropriate window?


 Too small = poor frequency resolution
 Too large may result in violation of stationary
condition
 Different resolutions at different frequencies?
Alternative basis functions

Anyone heard about


wavelets?
What are wavelets?

 Waves : Waves are oscillating functions of


time or space or both.
 Wavelets : Wavelets are small waves.
 A wavelet has oscillating wave-like characteristics.
 Its energy is concentrated in time over relatively small
intervals.
A wavelet can look like..

0.1

0.08

0.06

0.04

0.02

-0.02

-0.04

-0.06
0 500 1000 1500 2000 2500
The Continuous Wavelet Transform
(CWT)

 CWT decomposes f(t) into a set of basis wavelet


functions:
( s, ) = f (t ) dt
*
s ,

 Wavelets are generated from a mother wavelet (t )


1 t
s , =
s s
Wavelet properties
 Admissibility condition:
IfIfsatisfied
satisfiedthen
then
the
the waveletscan
wavelets can
2 be used
be used toto
( ) analyze
analyzeand


and
d < then
thenreconstruct
aasignal
reconstruct
signalwithout
without
loss of
loss of
information
information
 Implication:

( ) =0 = 0 (t )dt = 0
Oscillatory
Oscillatory! !
Must
Mustbebeaawave
wave
Some Common Wavelets
Wavelet Transform

Sine Wave Mother Wavelet (db10)

Signal Signal

Sine wave at different freq Translated and Dilated


Mother Wavelet
scale decreases frequency
increases

Local outlook
Multi resolution analysis
Analysis between scales
Time-scale analysis
Evaluating the Continuous Wavelet Transform

signal

step -1

step -2

*
*
step - N
Each wavelet (t) is associated with a scaling function (t)

The scaling function provides the scaling characterestic to the


wavelet and the choice of the scaling function depends on the
wavelet.
1
1
(t) HAAR Wavelet
-1
a. wavelet function (t) = 1; 0 < t < 1/2

1 = -1; 1/2 < t < 1


(t)
(t) = 1; 0 < t < 1
1

b. scaling function

other wavelet families include Daubechies, Morlet , Coiflets , Symlets , Biorthogonal wavelets
Chirped signal
and CWT
CWT Example

Non-stationary Signal
CWT Example

 Poor scale
resolution at
high scales
 Interpreted as:
good frequency
resolution at
lower scales
Time-frequency Tiles: CWT

 Image recaps
everything we have
gone through
 Areas of the boxes are
also determined by
Heisenburgs
Uncertainty Principle
Sunspot activity for 500 months
250

200

150
Activity

100

50

0
0 50 100 150 200 250 300 350 400 450 500
time
250

CWT transform
200

150

100

50

0
0 50 100 150 200 250 300 350 400 450 500
Problems with the CWT

 Redundancy - The scaled wavelets need not


be an orthogonal basis
 An infinite number of wavelets in the
transform
 For most functions no analytical expressions
exist for the wavelet transform
 Fast algorithms are needed to exploit the
power of the transform
Discrete wavelets
The
Thewavelet
wavelet
itself
itselfisisnot
j ,k (t ) = ( s t k 0 )
j not
discrete
discrete butititisis
but
0
scaled
scaledand and
translated
translatedin in
discrete steps
discrete steps
 Usual choices:
s0 = 2 and 0 = 1 (dyadic sampling)
Orthogonal basis

Wavelets that are orthogonal to their own


dilations and translations demands special
choices of the mother wavelets
Multiresolutional Analysis

 Analyzing according to scale


 Designed to give:
 Good time resolution and poor frequency resolution at
high frequencies
 Good frequency resolution and poor time resolution at
low frequencies
How many scales are needed?

 Compression in time stretches the spectrum and shifts it


upwards:
1
F { f (at )} = F
a a

 Using dilated wavelets we can cover the signal spectrum


The scaling function

 An infinite number of wavelets is needed to cover


the spectrum down to zero
 Solution: Use a scaling function as cork plug
Iterated filter bank
 Iteratively split the signal in two
 a low-pass and a high-pass signal

 The wavelet transform is equivalent with a


subband coding scheme
Closer look at the filter scheme

Twice as many data as we started!

x0 x0 + x7 x0 x7
x lowpass x + x highpass x0 x1
1 0 1
x2 x1 + x2 x1 x2

x 1 x2 + x3 1 x2 x3
X = 3 l X = Hl X = h X = Hh X =
x4 2 x3 + x4 2 x3 x4

4x + x5 4x x5
x5
x6 x5 + x6 x5 x6

x6 + x7 x6 x7
x7

Reconstruction: X = lX +hX
Downsampling

Can the signal still


be reconstructed ?

x0 + x7 x0 x7
x + x
1 1 x2 x1
X l = DH l X = 2 1 X h = DH h X =
2 x4 x3
2 x4 + x3

x + x x
6 x5
6 5
Reconstruction
Upsampling:

x0 + x7 x0 x7
0 0

x2 + x1 x2 x1

1 0 1 0
UX l = UX =
2 x4 + x3 h
2 x4 x3

0 0
x6 + x5 x6 x5
x0 + x7 x7 x0
0 0
lowpass x + x highpass x x
2 1 1 2
x2 + x1 x2 x1

1 x4 + x3 1 x3 x4
l * UX l =
2 x4 + x3
h UX h =
2 x4 x3
S = l UX l + h UX h

6x + x5
x
5 6 x
x + x x x
6 5
6 5

x0 + x7 0
x x 7
Quadrature mirror filters
Analysing filters:
1 0 0 0 1
0 0 0 1 0 0 0 0 0 0 1
1 1 0 0 0
0 0 0 1 1 0 0 0 0 0 0

0 1 1 0 0
0 0 0 0 1 1 0 0 0 0 0

1 0 0 1 1 0
0 0 0 1 0 0 1 1 0 0 0 0
Hl = Hh =
2 0 0 0 1 0
1 0 0 2 0 0 0 1 1 0 0 0

0 0 0 0 1
0 1 0 0 0 0 0 1 1 0 0
0 0 0 0 0
0 1 1 0 0 0 0 0 1 1 0

0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1

Synthesis filters:
1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0
0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0

0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0

t 1 0 0 0 1 1 0 0 0 t 1 0 0 0 1 1 0 0 0
Hl = Hh =
2 0 0 0 0 1 1 0 0 2 0 0 0 0 1 1 0 0

0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0
0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1

1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1
The discrete wavelet transform
 Often the signal will be discrete due to sampling
 Will a digital filter bank do the job?
 Two-scale relation:

(2 t ) = h j +1 (k ) (2 t k )
j j +1

 Scaling function at one scale can be expressed from translated


scaling functions at the next smaller scale!
Haar Wavelets

 The Haar wavelet system


Haar Wavelets
The Haar wavelet system
Haar Wavelets

The Haar wavelet system (example1)


Haar Wavelets
 The Haar wavelet system (example)
Signals : 37, 35, 28, 28, 58, 18, 21, 15
Haar Wavelets

The Haar wavelet system


Signals : 37, 35, 28, 28, 58, 18, 21, 15
Decomposition (analysis) :
37 35 28 28 58 18 21 15
36 28 38 18 1 0 20 3
32 28 4 10 1 0 20 3
30 2 4 10 1 0 20 3

Averaging Differencing
(37+35)/2=36, (37-35)/2=1
(28+28)/2=28, (28-28)/2=0
(58+18)/2=38, (58-18)/2=20
(21+18)/2=15 (21-18)/2=3
Haar Wavelets

 The Haar wavelet system


Signals : 37, 35, 28, 28, 58, 18, 21, 15
Reconstruction (synthesis) :
30 2 4 10 1 0 20 3
32 28 4 10 1 0 20 3
36 28 38 18 1 0 20 3
37 35 28 28 58 18 21 15

30 + 2 = 32, 30 2 = 28
Haar Wavelets

 The Haar wavelet system

Signals : 37, 35, 28, 28, 58, 18, 21, 15


Threshold = 2 :
37 35 28 28 58 18 21 15
30 2 4 10 1 0 20 3
Haar Wavelets

 The Haar wavelet system


Signals : 37, 35, 28, 28, 58, 18, 21, 15
Threshold = 2 :
37 35 28 28 58 18 21 15
30 2 4 10 1 0 20 3
30 0 4 10 0 0 20 3
30 30 4 10 0 0 20 3
34 26 40 20 0 0 20 3
34 34 26 26 60 20 23 17
Truncate!
Haar Wavelets
 The Haar wavelet system (example)
Threshold = 2 :
37 35 28 28 58 18 21 15
34 34 26 26 60 20 23 17
Application of Wavelets

 Data Compression
 Wavelets have good energy concentration properties.
 Most DWT coefficients usually are very small.
 They can be discarded without incorporating a
significant error in the reconstruction stage.
Application of Wavelets

 Denoising
 Donoho & Johnstone have devised the wavelet
shrinkage denoising(WSD).
 Noise will show itself at finer scales.
 Discarding the coefficients that falls below a
certain threshold at these scales will remove the
noise.
Application of Wavelets
Denoising
Denoising
Raw OCT image
(false color coded)

Denoising using
wavelet transform
and soft thresholding
Soft Skin on the Palm

Depth

Averaging over
One scan per position
ten scans per position

Speckle noise is not


removed here!
Denoising using
wavelet decomposition

Hidden structured
low high regions are extracted !
Different Denoising Scale Levels

low high
Compression using DWT

Compression ratio: 26:1


Demonstration the Quality of a
Compressed Image
 Original: left side
 Compression Ratio of
100:1 no degradation is
visible
Demonstration the Quality of a
Compressed Image (2)
 Comparison of
compression tools
 Wavelet compressor
80:1; left inset
 JPEG 80:1; right inset
Applications -Medical Imaging

 Tumor detection, Microcalcification detection


Two Dimensional Wavelets
 High Pass and Low Pass Combinations
 High and Low Pass in Horizontal and Vertical Directions of the
Image Data

Low Pass Vertical High Pass Vertical In Each Quadrant


Low Pass Horizontal Low Pass Horizontal - One-Quarter Original Image
- Down-sampled X/2 by X/2

Low Pass Vertical High Pass Vertical


High Pass Horizontal High Pass Horizontal
Current Researchers Organizations

 Lawrence Livermore National Laboratory


 BellLabs
 Rice University
 Schools such as
 Yale
 Berkley
 Dartmouth
 Georgia Tech
Individual Researchers

 Ingrid Daubechies still exploring the area of


wavelets
 Chris Brislawn current developer for the wavelet
compression used by the FBI
 Ali N. Akansu working at the NJCMR working on
wavelets and subband coding
For Further Information
 http://engineering.rowan.edu/~polikar/WAVELETS/
WTtutorial.html (Wavelet tutorial)
 www.wavelet.org (wavelet digest)
 www.dsp.rice.edu (publications in the area of signal
processing)
 http://www.mt.mevis.de/products/MT-WICE/ (for
high quality wavelet image compression software)
 http://www.cosy.sbg.ac.at/~uhl/wav.html (excellent
link for references, papers, java applets)
 http://www.amara.com/current/wavelet.html
(excellent resource page of links)
 http://perso.wanadoo.fr/polyvalens/clemens/wavelets/
wavelets.html - A really friendly guide to wavelets
Wavelet Books
Wavelets and Subband Coding by Martin Vetterli and
Jelena Kovacevic (Prentice Hall,1995)

Wavelets and Filter Banks by Gilbert Strang and Truong


Nguyen (Wellesley-Cambridge Press, 1996)
Wavelets in Medicine and Biology edited by Akram Aldroubi
and Michael Unser (CRC Press, 1996)
A Wavelet Tour of Signal Processing by Stphane Mallat
(AcademicPress,1998)
Introduction to Wavelets and Wavelets
Transforms
by C. Sidney Burrus (Contributor), et al
(Prentice-Hall 1997)
A Friendly Guide to Wavelets
by Gerald Kaiser (Springer Verlag June 1994)

Fundamentals of Wavelets : Theory,


Algorithms, and Applications
by Jaideva C. Goswami & Andrew K. Chan
(Wiley-Interscience April 1999)
Courtesy

Dr.Murali Krishna. P
mkrishna@ee.iitb.ac.in
Dr. Robi Polikar
polikar@rowan.edu
Mr.Min Wang
mwang@ee.washington.edu
That is all, folks
Thank you for your patience!
Ja
ck
ie
THANK YOU

Vous aimerez peut-être aussi