Transcript Document
Wavelets: theory and applications
An introduction
GTDIR
Grupo de Investigación: Tratamiento Digital de Imágenes Radiológicas Enrique Nava, University of Málaga (Spain) Brasov, July 2006
What are wavelets?
Wavelet theory is very recent (1980’s) There is a lot of books about wavelets Most of books and tutorials use strong mathematical background I will try to present an ‘engineering’ version
Overview Spectral analysis Continuous Wavelet Transform Discrete Wavelet Transform Applications A wavelet tour of signal processing,
S. Mallat
, Academic Press 1998
Spectral analysis: frequency Frequency (f) is the inverse of a period (T).
A signal is periodic if T>0 and
nT
) We need to know only information for 1 period Any signal (finite length) can be periodized.
A signal is regular if the signal values and derivatives are equal at the left and right side of the interval (period)
Signals: examples x(t)=cos(2 0.05 t) 1 0.5
0 -0.5
-1 0 10 10 20 30 40 50 60 70 80 90 100 5 0 -5 -10 0 200 400 600 800 1000 1200
Signals: examples Koch fractal curve 0.2
0.15
0.1
0.05
-1 -2 -3 0 1 0 0 0 4 3 2 1000 2000 3000 x(t)=cos(2 4000 5000 6000 10t)+cos(2 25t)+cos(2 50t)+cos(2 100t) 7000 8000 9000 0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
0.5
Why frequency is needed?
To be able to understand signals and extract information from real world Electrical or telecommunication engineers tends ‘to think in the frequency domain’
Fourier series
f
For any 2
a
0 periodical
k
1
a k
cos function
kx
b k
sin
f kx
:
a
0
a k b k
1 2 1 0 2 0 2
f
dx f
dx
1 0 2
f
dx
1822
Fourier series difficulties Any periodic signal can be view as a sum of harmonically-related sinusoids Representation of signals with different periods is not efficient (speech, images)
Fourier series drawbacks There are points where Fourier series does not converge Signals with different or not synchronized periods are not efficiently represented
Fourier Transform The signal has a frequency point of view (spectrum) Global representation Lots of math properties Linear operators
j
2
f t dt j
2
f t df
Discrete Fourier Transform Practical implementation Global representation Lots of math properties Linear operators Easy discrete implementation (1965)
X x
n w N
k
1 1
e
1
N j N
1
n N
0 1
k
0 2
N x X
n
k
1
W N kn
1
W N
kn
(FFT)
Fourier transform Periodic Signal with Zero-Mean Random Noise 10 x(t)=sin(2 50t)+sin(2 120t)+n(t) 5 0 -5 -10 0 70 60 50 40 30 20 10 0 0 0.005
0.01
0.015
0.02
0.025
t Spectrum 0.03
0.035
0.04
0.045
0.05
50 100 150 200 250 frequency (Hz) 300 350 400 450 500
Random signals Stationary signals: Statistics don’t change with time Frequency contents don’t change with time Information doesn’t change with time Non-stationary signals: Statistics change with time Frequencies change with time Information quantity increases
Non-stationary signals 3 600
2 Hz + 10 Hz + 20Hz
2 500 1 400
Stationary
0 300
0.0-0.4: 2 Hz + 0.4-0.7: 10 Hz + 0.7-1.0: 20Hz Non Stationary
-1 -2 -3 0 1 0.8
0.6
0.4
0.2
0 -0.2
-0.4
-0.6
-0.8
-1 0 0.2
0.4
Time
0.6
0.8
0.5
Time
1 1 200 100 0 0 250 200 150 100 50 0 0 5 10 15
Frequency (Hz)
20 25 5 10 15
Frequency (Hz)
20 25
Chirp signal Frequency: 2 Hz to 20 Hz
Different in Time Domain
Frequency: 20 Hz to 2 Hz 1 0.8
0.6
0.4
0.2
0 -0.2
-0.4
-0.6
-0.8
-1 0 0.5
Time
1 150 100 50 0 0 1 0.8
0.6
0.4
0.2
0 -0.2
-0.4
-0.6
-0.8
-1 0 5 10 15 20
Frequency (Hz)
25 0.5
Time Same in Frequency Domain
150 100 50 1 0 0 5 10 15 20
Frequency (Hz)
25
Fourier transform drawbacks Global behaviour: we don’t know what frequencies happens at a particular time Time and frequency are not seen together We need time and frequency at the same time: time-frequency representation Biological or medical signals (ECG, EEG, EMG) are always non-stationary
Short-time Fourier Transform (STFT) Dennis Gabor (1946): “windowing the signal” Signals are assumed to be stationally local A 2D transform
Short-time Fourier Transform (STFT) STFT X
t
,
f
t
x
*
t
t
: the window
e
j
2
ft dt
function
A function of time and frequency
Short-time Fourier Transform (STFT)
Short-time Fourier Transform (STFT)
Short-time Fourier Transform (STFT)
Narrow Window Wide Window
STFT drawbacks Fixed window with time/frequency Resolution: Narrow window gives good time resolution but poor frequency resolution Wide windows gives good frequency resolution but poor time resolution
Heisenberg Uncertainty Principle In signal processing: You cannot know
at the same time
the time and frequency of a signal Signal processing approach is to search for what spectral components exist at a given time interval
Heisenberg Uncertainty Principle Heisenberg Box
Wavelet transform An improved version of the STFT, but similar Decompose a signal in a set of signals Capable of multiresolution analysis: Different resolution at different frequencies
Continuous Wavelet Transform Definition: CWT
x
x
Translation (The location of the window) Scale
1
s
x
*
t
s dt
Mother Wavelet
Continuous Wavelet Transform Wavelet = small wave (“ondelette”) Windowed (finite length) signal Mother wavelet Prototype to build other wavelets with dilatation/compression and shifting operators Scale S>1: dilated signal S<1: compressed signal Translation Shifting of the signal
CWT practical computation CWT
x
x
1
s
x
*
t
s
dt
Energy normalization 1.
2.
3.
4.
Select s=1 and =0. Compute the integral and normalize by 1/ Shift the wavelet by = D t and repeat until wavelet reaches the end of signal Increase s and repeat steps 1 to 3
s
Time-frequency resolution
Better time resolution; Poor frequency resolution Frequency Better frequency resolution; Poor time resolution Time
• Each box represents a equal portion • Resolution in STFT is selected once for entire analysis
Comparison of transformations From http://www.cerm.unifi.it/EUcourse2001/Gunther_lecturenotes.pdf
, p.10
Mathematical view CWT
x
x
1
s
x X
*
t
s
dt
,
s
dt
,
s
1
s
t
s
CWT is the inner product of the signal and the basis function ,
s
Wavelet basis functions Morlet ( 0 frequency ) : 1 4
e j
0
e
2 2 Paul DOG
m
m
order : DOG devivative : 2
m
i m m
!
!
1
i
m
1
m m
1 1 2
d m d
m
2 2 nd derivative of a Gaussian is the
Marr
or
Mexican hat
wavelet
Wavelet basis functions Time domain Frequency domain
Wavelet basis properties
Property Crude Infinitely regular Arbitrary regularity Compactly supported orthogonal Compactly supported biothogonal Symmetry Asymmetry Near symmetry Arbitrary number of vanishing moments Vanishing moments for Existence of Orthogonal analysis Biorthogonal analysis Exact reconstruction FIR filters Continuous transform Discrete transform Fast algorithm Explicit expression Complex valued Complex continuous transform FIR-based approximation
morl mexh meyr haar
db
N symN coifN biorNr.Nd rbioNr.Nd gaus dmey cgau cmor fbsp shan For splines For splines
Discrete Wavelet Transform Continuous Wavelet Transform
x
( ,
s
)
x
(
t
) ,
s
(
t
)
dt
,
s
(
t
) 1
s
t s
Discrete Wavelet Transform
x
[
n
,
a j
]
N m
1 0
x
[
m
]
j
[
m
n
]
j
[
n
] 1
a j
n a j
Discrete CWT Sampling of time-scale (frequency) 2D space Scale s is discretized in a logarithmic way Scheme most used is dyadic: s=1,2,4,8,16,32 Time is also discretized in a logarithmic way Sampling rate N is decreased so s N=k Implemented like a filter bank
Discrete Wavelet Transform Approximation Details
Discrete Wavelet Transform
Discrete Wavelet Transform Multi-level wavelet decomposition tree Reassembling original signal
Discrete Wavelet Transform Easy and fast to implement Gives enough information for analysis and synthesis Decompose the signal into coarse approximation and details It’s not a true discrete transform
A 1 A 2 D 2 A 3 D 3 D 1
Examples
f L f H Signal: 0.0-0.4: 20 Hz 0.4-0.7: 10 Hz 0.7-1.0: 2 Hz Wavelet: db4 Level: 6
Examples
f L f H Signal: 0.0-0.4: 2 Hz 0.4-0.7: 10 Hz 0.7-1.0: 20Hz Wavelet: db4 Level: 6
Signal synthesis A signal can be decomposed into different scale components (analysis) The components (wavelet coefficients) can be combined to obtain the original signal (synthesis) If wavelet analysis is performed with filtering and downsampling, synthesis consists of filtering and upsampling
Synthesis technique Upsampling (insert zeros between samples)
Sub-band algorithm Each step divides by 2 time resolution and doubles frequency resolution (by filtering)
Wavelet packets Generalization of wavelet decomposition Very useful for signal analysis Wavelet analysis: n+1 (at level n) different ways to reconstuct S
Wavelet packets We have a complete tree Wavelet packets: a lot of new possibilities to reconstruct S: i.e. S=A 1 +AD 2 +ADD 3 +DDD 3
Wavelet packets A new problem arise: how to select the best decomposition of a signal x(t)?
Posible solution: Compute information at each node of the tree (entropy-based criterium)
Wavelet family types Five diferent types: Orthogonal wavelets with FIR filters Haar, Daubechies, Symlets, Coiflets Biorthogonal wavelets with FIR filters Biorsplines Orthogonal wavelets without FIR filters and with scaling function Meyer Wavelets without FIR filters and scaling function Morlet, Mexican Hat Complex wavelets without FIR filters and scaling function Shannon
Wavelet families: Daubechies Compact support, orthonormal (DWT)
Other families
Matlab wavemenu command
Wavelet application Physics (acoustics, astronomy, geophysics) Telecommunication Engineering (signal processing, subband coding, speech recognition, image processing, image analysis) Mecanical engineering (turbulence) Medical (digital radiology, computer aided diagnosis, human vision perception) Applied and Pure Mathematics (fractals)
De-noising signals Frequency is higher at the beginning Details reduce with scale
De-noising images
Detecting discontinuities
Detecting discontinuities
Detecting self-similarity
Compressing images
2-D Wavelet Transform
Wavelet Packets
2-D Wavelets
Applications of wavelets Pattern recognition Biotech: to distinguish the normal from the pathological membranes Biometrics: facial/corneal/fingerprint recognition Feature extraction Metallurgy: characterization of rough surfaces Trend detection: Finance: exploring variation of stock prices Perfect reconstruction Communications: wireless channel signals Video compression – JPEG 2000
Practical use of wavelet Wavelet software Matlab Wavelet Toolbox Free software UviWave http://www.tsc.uvigo.es/~wavelets/uvi_wave.html
Wavelab http://playfair.stanford.edu/~wavelab/ Rice Tools http://jazz.rice.edu/RWT/
Useful Links to continue Matlab wavelet tool using guide http://www.wavelet.org
http://www.multires.caltech.edu/teaching/ http://www-dsp.rice.edu/software/RWT/ www.multires.caltech.edu/teaching/course s/ waveletcourse/sig95.course.pdf
http://www.amara.com/current/wavelet.htm
l