Wavelet Transform A Presentation By Subash Chandra Nayak 01EC3010 IIT Kharagpur INDIA Introduction to the world of transform • What are transforms :• • A mathematical operation that takes a function or sequence and maps into another one General Form :- f ( x) F ( w) K ( w, x)dw fj KijFi j • Examples :Laplace, Fourier, DTFT, DFT, FFT, z-transform Fourier Transform Mathematical Form : X(f ) 2 jft x ( t ) e dt x (t ) X ( f )e 2 jft df Notes :Fourier transform identifies all spectral components present in the signal, however it does not provide any information regarding the temporal (time) localization of the components Fourier Transform :: Limitations • Signals are of two types # Stationary # Non – Stationary • Non stationary signals are those who have got time varying spectral components ... FT gives only provides the existence of the spectral components of the signal ... But does not provide any information on the time occurrence of spectral components • Explanation The basis function e-jwt stretches to infinity , Hence only analyzes the signal globally In order to obtain time-localization of spectral components , the signal need to be analyzed locally Time – Frequency Representation • Instantaneous frequency :- 1 d f x (t ) x(t ) 2 df • Group delay :- 1 d tx ( f ) X ( f ) 2 df • Disadvantages of above expressions These equations though have a huge theoretical significance but are not easy to implement easily Short-time Fourier Transform • • Also known as a STFT given as STFT ( , w) [ x(t ) w(t )]e w x jwt dt t • • w(t) :- windowing function generally a Gaussian pulse is used, other choices are rectangular , elliptic etc.. Maps 1D function to 2D time-frequency domain • Advantages :# Gives us time-frequency description of the signal # Overcomes the difficulties of Fourier transform by use of windowing functions STFT :: Disadvantages • Heisenberg Principle :One can not get infinite time and frequency resolution beyond Heisenberg’s Limit • Trade offs :• • Wider window Good frequency resolution , Poor time resolution Narrower window Good time resolution , Poor frequency resolution 1 t.f 4 Wavelet Transform • • Overcomes the shortcoming of STFT by using variable length windows :: i.e. Narrower window for high frequency thereby giving better time resolution and Wider window at low frequency thereby giving better frequency resolution Heisenberg’s Principle still holds • Mathematical form:- 1 * t CWT ( , s) ( , s) x(t ) ( )dt s |s| t x where x(t) = given signal tau = translation parameter s = scaling parameter = 1/f phi(t) = Mother wavelet , All kernels are obtained by scaling and/or translating mother wavelet Continuous Wavelet transform • The kernel functions used in wavelet transform are all obtained from one prototype function known as mother wavelet , by scaling and/or translating it • Here a = scale parameter b = translation parameter 1 t b a ,b (t ) ( ) a a 1, 0 (t ) (t ) • Continuous Wavelet transform 1 W ( a, b) a x(t ) a ,b (t ) dt CWT (Contd..) • In order to become a wavelet a function must satisfy the above two conditions (t )dt 0 2 | ( t ) | dt Inverse wavelet transform 1 1 x(t ) 2 W (a, b)a ,b (t )dadb C a where | ( w) | C dw | w| provided (t )dt 0 Examples of wavelets Constant Q-filtering • CWT can be rewritten as W (a, b) x(b) * (b) * a,0 • A special property of the above filter defined by the mother wavelet is that they are Constant-Q filters • Q factor = Center frequency/Bandwidth • Hence the filter defined by wavelet increases their Bandwidth as scale increases ( i.e. center frequency increases ) • This boils down to filter bank implementation of discrete wavelet transform Filter Banks :: General Structure • Condition for Perfect Reconstruction F0 ( z ) H 0 ( z ) F1 ( z ) H1 ( z ) 2 z l F0 ( z ) H 0 ( z ) F1 ( z ) H1 ( z ) 0 l delay Filter bank (Contd..) • Product filter Now let’s define product filter as :P0(z) = F0(z)H0(z) And Normalized Product filter as P(z) = zL P0(z) where L = delay in total process So the PR condition boils down to this realationship P(z) – P(-z) = 2 Harr Filter Bank Note that f0(n) and f1(n) are non-causal ... Hence here Unit delay is required to implement it hence here L=1 Product filter P(w) is said to be halfband filter because of its symmetry Also P(w) + P(w + pi) = 2 Product filter II • P(w) should be as flat as possible around 0 and pi . The more is the flatness of P(w) around 0 and pi the better the Product filter is . Hence P(w) is always tried to be designed as a MAXFLAT Filter • Order of filter :: p p = (L+1)/2 ; L = number of delay elements • Methods of determination of P(z) # Duabechies method # Meyer methods • Both of the above methods give us P(z) for a given order “p” . The higher is the order the better is the filter but at the same time it will require more hardware complexity Spectral factorization • • • The spectral factorization is the problem of finding h0(z) once P(z) is known Linear Phase Factorization H0(z) and F0(z) are of different degree. Gives filter with linear phase Orthogonal Factorization H0(z) and F0(z) are of same degree. Gives filter with nonlinear phase. Daubechies family of filters belongs to this category. For orthogonal filter h1 (n) (1) h0 ( N n) n f 0 (n) h0 ( N n) f1 (n) h1 ( N n) For orthogonal filter Discrete wavelet Transform • • • • Discrete domain counterpart of CWT Implemented using Filter banks satisfying PR condition Represents the given signal by discrete coefficients {dk,n} DWT is given by k 2 k k ,n (t ) 2 (2 t n) || k ,n (t ) || 1 x(t ) d k ,n k ,n (t ) k n d k ,n x, k ,n x(t ) (t )dt * k ,n Scaling Function • • These are functions used to approximate the signal up to a particular level of detail For Harr System (t ) 1 0 t 1 k ,n (t ) 2 Harr Scaling Function k 2 k ( 2 t n) Refinement equation and wavelet Equation • Refinement equation is an equation relating to scaling function and filter coefficients N (t ) 2 h0 [k ](2t k ) k 0 Refinement Equation • Wavelet equation is an equation relating to wavelet function and filter coefficients • By solving the above two we can obtain the scaling and wavelet function for a given filter bank structure N (t ) 2 h0 [k ] (2t k ) k 0 Wavelet Equation DWT Implementation a(k,n) a(k,n) d(k+1,n) g`[n] 2 a(k+1,n) h`[n] 2 g`[n] d(k+2,n) 2 2 g[n] + 2 g[n] 2 h[n] a(k+1,n) h`[n] Decomposition 2 2 a(k+2,n) h[n] Reconstruction We have only shown the above implementation for the Haar Wavelet, however, as we will see later, this implementation – subband coding – is applicable in general. + DWT Sub-band Decomposition x[n] g[n] Length: 256 B: /2 ~ Hz h[n] 2 w |G(jw)| g[n] h[n] 2 d2: Level 2 DWT Coeff. Length: 64 B: /8 ~ /4 Hz /2 -/2 Length: 256 B: 0 ~ /2 Hz 2 d1: Level 1 DWT Coeff. Length: 128 B: /4 ~ /2 Hz |H(jw)| Length: 512 B: 0 ~ 2 g[n] 2 d3: Level 3 DWT Coeff. Length: 128 B: 0 ~ /4 Hz - h[n] 2 Length: 64 B: 0 ~ /8 Hz ……. -/2 /2 w Sub-band coding Some Important properties of wavelets • Compact Support :• Finite duration wavelets are called compactly supported in time domain but are not band-limited in frequency. Can be implemented using FIR filters • Examples Harr, Daubechies, Symlets , Coiflets • Narrow band wavelets are called compactly supported in frequency domain. Can be implemented using IIR filters • Examples Meyer’s wavelet Some Important properties of wavelets • • • • Symmetry Symmetric / Antisymetric wavelets have got liner-phase Orthogonal wavelets are asymmetric and have a non-linear phase Biorthogonal wavelets are asymmetric but have got linear phase can be implemented using FIR filters • • Vanishing Moment pth vanishing moment is defined as M p t (t )dt p • The more the number of moments of a wavelets are zero the more is its compressive power Some Important properties of wavelets • Smoothness • is roughly the number of times a function can be differentiated at any given point • Closely related to vanishing Moments • Smoothness provides better numerical stability • It also provides better reconstruction propertiy 2D DWT • Generalization of concept to 2D • 2D functions images f(x,y) I[m,n] intensity function • Why would we want to take 2D-DWT of an image anyway? – Compression – Denoising – Feature extraction • Mathematical form f o ( x, y ) ao (i, j ) s ( x i, y j ) i j ao (i, j ) f ( x, y ), s ( x i, y j ) s ( x, y) ( x) ( y) s ( x, y) ( x) ( y) Implementation of 2D-DWT COLUMNS ROWS ROWS COLUMNS ~ H ~ H 1 2 LL Ak 1 ~ G 1 2 ( h) D LH k 1 ~ H 1 2 HL D(v) k 1 1 2 (d ) D HH k 1 2 1 INPUT IMAGE COLUMNS ROWS ~ G 2 1 COLUMNS LL LH HL HH INPUT IMAGE ~ G LLL LLH LHL LHH HL LH HH LLH LHL LHH LL HL LH HH Up and Down … Up and Down 2 1 Downsample columns along the rows: For each row, keep the even indexed columns, discard the odd indexed columns 1 2 Downsample columns along the rows: For each column, keep the even indexed rows, discard the odd indexed rows 2 1 Upsample columns along the rows: For each row, insert zeros at between every other sample (column) 1 2 Upsample rows along the columns: For each column, insert zeros at between every other sample (row) Reconstruction LL Ak 1 1 2 H 2 1 LH D(h) k 1 1 2 G HL D(v) k 1 1 2 H ORIGINAL IMAGE 2 1 HH D(d ) k 1 1 2 H G G DWT in Work DWT at work DWT at work Applications of wavelets • There are a lots of uses of wavelets .... The most prominent application of wavelets are • • • • • Computer and Human Vision FBI Finger Print compression Image compression Denoising Noisy data Detecting self-similar behavior in noisy data Musical Notes synthesis Animations • • Things that I didn’t Cover • Different algorithms for getting Product filter, max-flat filter realization, spectral factorization , solutions for refinement and wavelet equations and many more • Noble Identity, modulation matrix, Polyphase matrix forms • MRA , Mallat’s pyramidal algorithm • Lifting • Basic Vector algebra needed for wavelet analysis ( It’s too mathematical to present ) • Orthogonality, biorthogonality, frames • Vector algebra approach for wavelets • Wavelet for denoising and many more .................