Time frequency localizationTime frequency localization
M-bank filters are used to partition a signal into different frequency channels, with which energy compact regions in the frequency space are located.
Most real world signals exhibit the energy compactness properties where the majority information concentrates in specific regions in the spectrum.
Although we can locate information at different frequency bands in this way, an important point is missing.
WHEN? Briefly speaking, the time at which a particular piece of information exists in a region of the frequency spectrum.
Obviously both localization in time and frequency spaces are important. Lets have some revision first.
Filter , convolution and TransformFilter , convolution and Transform
x(t)
h(t-)
y()
Filter , convolution and TransformFilter , convolution and Transform
x(t)
h(t-)
y()
Filter , convolution and TransformFilter , convolution and Transform
x(t)
h(t-)
y()
Filter , convolution and TransformFilter , convolution and Transform
x(t) is the input signal
h(t) is the impulse response of the filter.
y() is the filter output
if h(t) is shifted continuously, y() is also continuous
For a particular instance h(t - ),
y() is the projection of x(t) on h(t - )
y() = < x(t) , h(t - ) > (dot product)
h(t) = ejt ---> Fourier Transform
Time Frequency LocalizationTime Frequency Localization
f(t)
h(t-b)Short time Fourier Transform
Time Frequency LocalizationTime Frequency Localization
h(t-b)
ejt
w(t-b)t
t
Time Frequency LocalizationTime Frequency Localization
What is the width of the window ?
What is w(t) ? Should it be a simple on/off function?
Time Frequency LocalizationTime Frequency Localization
What is the width of the window ?
What is w(t) ? Should it be a simple on/off function?
If the width is too wide, the time resolution is poor,but frequency resolution is good
i.e., same spectrum will be assumed over a long time duration
Time Frequency LocalizationTime Frequency Localization
What is the width of the window ?
What is w(t) ? Should it be a simple on/off function?
If the width is too wide, the time resolution is poor, but frequency resolution is good
i.e., same spectrum will be assumed over a long time duration
If the width is too short, the frequency resolution is poor,but time resolution is good
i.e., not possible to discriminate small difference in frequency
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15t
)t(
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15t
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15t
)t(
)t( 4
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15t
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15t
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15t
)t(
)t( 4
2
4t
a
bt
1. shifted by b units.
2. stretched by ‘a’ times if a>1
3. compress by ‘a’ times if a<1
tjea
bt
a
btF
2
1
beaˆa
of TransformFourier theis tˆ
*ˆLet
*aaˆ
0 baˆa
A stretch in time window corresponds to a compression in the frequency window and vice versa
Time window
Frequency window
Long time window:Short frequency window
Short time window:Long frequency window
Time and frequency windows
x(t)
2
th
th
4
th
Time localization Frequency localization
Good
Poor
Poor
Good
Time and frequency windows
To detect low frequency content, a large time window is required for good frequency localization
To detect high frequency content, a small time window is required for good time localization
s
tsts
50.
Consider a waveform scaled by ‘s’ and shifted by ‘’
The larger the value of s, the more the waveform is compressed.
The waveform is shifted to the left for positive .
For discrete signal, let
jkj kt
s
kst
s
t
22
js 2
The family has two groups, one generated from a mother and the other from a father wavelets.
dts
ttfssfW
50.
, 0
dtt
2
501
s
dsd
s
tssfW
Ctf
.,
dC2ˆ
:
An arbitrary can be transformed into the space formed by members of a wavelet family
An inverse transform is also available.
The Harr father wavelet function is a unit step of length 1. It generates a family of scaling functions as shown below:
0 1
k=0j=0
k=0j=1 k=1
k=0j=2
k=1 k=2 k=3
The father
The Harr mother wavelet function is a bipolar [-1,1] unit step of length 0.5. It generates a family of wavelet functions as shown below:
0 1
k=0j=0
k=0j=1 k=1
k=0j=2
k=1 k=2 k=3
The mother
Scaling functions are like Low Pass Filter. Approximating a waveform f(t) with the set of scaling functions for certain value of ‘j’ gives the coarse form of f(t) at the resolution denoted by ‘j’.
f(t)
f0(t)
20 1
20 1
f1(t)
20 1
ktkctkctf jj
kjjk
kjj
22 2 /
‘j’ must be large enough to capture all the details in f(t).
Pure use of scaling function to approximate a waveform is viable but not efficient. Very often the scale has to be very fine to capture all the details, resulting in many coefficients.
ktkdktkc
tkdtkctf
jj
kj
jj
kj
jkk
jjkk
jj
2222 22
//
The wavelet functions are like a set of high pass filter which captures the difference between two resolutions (i.e. two values of j). Let Sj represent the space corresponding to scale ‘j’,
jj Stf
In another words, a high resolution subspace at level ‘j’ can be formed by combining a lower resolution subspaces at ‘j-1’, i.e.,
ktkdktkc
tkdtkctf
jj
kj
M
j
jj
k
M
jjk
kjk
kM
2222 21
0
20
1
000
//
We have
1100
12211
j
jjjjjj
WWWS
WWSWSS
...
An important feature of scaling functions: Each can be derived from translation of double-frequency copies of itself, as
ktkhtk
22 0
It means that a scaling function can be built from higher frequency (resolution) replicas of itself.
Similarly,
ktkhtk
422 0
This is known as Multiresolution analysis.
Similar important feature of wavelet functions: Each can be derived from translation of double-frequency copies of scaling function, as
ktkhtk
22 1
It means that a scaling function can be derived from the father wavelet!
The father wavelet determines the characteristics of all members of the wavelet family.
tscoefficienfunctionwaveletkh
tscoefficienfunctionscalingkh
1
0
:
:
1
1t
t
1
1t
t2
0.5
1
1t
12 t
0.5
ktkhtk
22 0
kthth 212202 00
By inspection,
2
110 00 hh
1
1t
t2
0.5
1
1t
12 t
0.5
ktkhtk
22 1
kthth 212202 11
By inspection,
2
11
2
10 11
hh ,
1
1t
t
-1
kmhmckcm
jj 201
alternatively, an inverse relation is also available, as
kmhmckdm
jj 211
mkhmdmkhmckcm
jm
jj 22 101
khHP
khLP
1
0
LP
HP
2
2
kc j 1
kc j
kd j
LP
HP
2
2
kc j
kd j
kc j 1
khHP
khLP
1
0
LP
HP
2
2
kc j 1
kc j
kd j
LP
HP
2
2
kc j 1
kd j 1
LP
HP
2
2
kc j 2
kd j 2
The signal samples, scaled down by 2j/2, is always used as the first set of coefficients cj[k].
The above decomposition only contains relations between the terms ‘c’ and ‘d’, so where is the signal f(t)?
First, cj+1 is one resolution level higher than cj.
Next for a digital signal, as the level advances, it will ultimately reaches a maximum resolution limited by the sampling lattice, lets call this cmax.
Obviously, cmax is simply the signal itself.
An interesting point. The father and mother wavelets established the formulation, but absent in the decomposition and reconstruction of the signal. It acts like a catalysis!
LP
HP 2
2
NN
HP
LP
2
2
HP
LP
2
2
rows
rows
rows
rows
rows
rows
cols
cols
cols
cols
cols
cols
2
NN
2
NN
22
NN
22
NN
22
NN
22
NN
Diagonal HH
Vertical HL
Horizontal LH
Low pass LL
LP
HP2
2
NN
HP
LP
HP
LP
rows
rows
cols
cols
cols
cols
cols
cols
2
NN
+
+
2
rows
2
rows
2
rows
2
rows
22
NN
22
NN
22
NN
22
NN
diagonal
vertical
horizontal
Low pass
LP
HP2
2
HP
LP
HP
LP
rows
rows
cols
cols
cols
cols
cols
cols
+
+
2
rows
2
rows
2
rows
2
rows
diagonal
vertical
horizontal
Low pass
22
NN
22
NN
22
NN
22
NN2
NN
NN
LP
HP 2
2
HP
LP
2
2
HP
LP
2
2
rows
rows
rows
rows
rows
rows
cols
cols
cols
cols
cols
cols
Diagonal HH
Vertical HL
Horizontal LH
Low pass LL22
NN
22
NN
22
NN
22
NN
NN
2
NN
2
NN
LH HH
LL HL
LH HH
HLLH HH
LL HL
Diagram taken from http://perso.orange.fr/polyvalens/clemens/ezw/ezw.html
In general, wavelet coefficients are smaller in higher subband (more detail resolution).
Thresholding the coefficients will generates lots of continuous zeros which can be represented with runlengths.
If a parent is zero after thresholding, it is very likely that all its descendants will also be zero.
Lets refer to the lab documentation on Embedded Zero-Tree Wavelet (EZW) Coding.
A lot of real world signals exhibit energy compactness in the low frequency band(s). Consequently, a lot of parent nodes and their associate descendant nodes are zero.
This kind of tree with only null members is know as ‘zero tree’. There is no need to transmit or store the content, saving a lot of bit-rate.