STFT as a Filter Bank

Download Report

Transcript STFT as a Filter Bank

README
• Lecture notes will be animated by clicks.
• Each click will indicate pause for audience
to observe slide.
• On further click, the lecturer will explain
the slide with highlighted notes.
STFT as Filter Bank
Introduction to Wavelet Transform
Yen-Ming Lai
Doo-hyun Sung
November 15, 2010
ENEE630, Project 1
Wavelet Tutorial Overview
• DFT as filter bank
• STFT as filter bank
• Wavelet transform as filter bank
Discrete Fourier Transform
X (e ) 
jw

 x ( n)  e
n  
 jwn
DFT for fixed w_0
X (e
jwo
)

 x ( n)  e
n  
 jwo n
DFT for fixed w_0
X (e
jwo
)

 x ( n)  e
 jwo n
n  
fix specific frequency w_0
DFT for fixed w_0
X (e
jwo
)

 x ( n)  e
 jwo n
n  
pass in input signal x(n)
DFT for fixed w_0
X (e
jwo
)

 x ( n)  e
 jwo n
n  
modulate by complex exponential
of frequency w_0
DFT for fixed w_0
X (e
jwo
)

 x ( n)  e
 jwo n
n  
summation = convolve result with “1”
Why is summation convolution?
f  g (k ) 

 f ( n)  g ( k  n)
n  
Why is summation convolution?
f  h( k ) 

 f ( n)  h( k  n)
n  
start with definition
Why is summation convolution?
Let
h( n)  1  n
Why is summation convolution?
f  1

 f ( n) 1
n  
Why is summation convolution?
f  1

 f ( n) 1
n  
convolution with 1 equivalent to
summation
DFT for fixed w_0
X (e
jwo
)

 x ( n)  e
 jwo n
n  
summation = convolve result with “1”
DFT for fixed w_0
X (e
jwo
)

 x ( n)  e
 jwo n
n  
output X(e^jw_0) is constant
DFT for fixed w_0
DFT for fixed w_0
input signal x(n)
DFT for fixed w_0
fix specific frequency w_0
DFT for fixed w_0
modulate by complex exponential
of frequency w_0
DFT for fixed w_0
summation = convolve with “1”
DFT for fixed w_0
Transfer function H(e^jw)
DFT for fixed w_0
summation = convolution with 1
DFT for fixed w_0
i.e. impulse response h(n) = 1 for all n
DFT for fixed w_0
H (e ) 
jw

1 e
n  
 jwn
 2   ( w)
DFT for fixed w_0
output X(e^jw_0) is constant
Frequency Example
Frequency Example
Arbitrary example
Frequency Example
modulation = shift
Frequency Example
convolution by 1 = multiplication by delta
DFT as filter bank
X (e ) 
jw

 x ( n)  e
n  
 jwn
DFT as filter bank
X (e
jwo
)

 x ( n)  e
 jwo n
n  
fix specific frequency w_0
DFT as filter bank
one filter bank
DFT as filter bank
X (e ) 
jw

 x ( n)  e
 jwn
n  
w continuous between [0,2pi)
DFT as filter bank
X (e
x(n)
 jwo
e  jwo n
X (e
 jw1
)
)
e  jw1n
X (e
…
e  jw2 n
 jw2
uncountably many filter banks
)
DFT as filter bank
X (e
x(n)
 jwo
e  jwo n
X (e
 jw1
)
)
e  jw1n
X (e
…
e  jw2 n
 jw2
)
Uncountable  cannot enumerate all
(even with infinite number of terms)
DFT as filter bank
X (e
x(n)
 jwo
e  jwo n
X (e
 jw1
)
)
e  jw1n
X (e
…
e  jw2 n
 jw2
)
bank of modulators of all frequencies
between [0, 2pi)
DFT as filter bank
X (e
x(n)
 jwo
e  jwo n
X (e
 jw1
)
)
e  jw1n
X (e
…
e  jw2 n
 jw2
)
bank of identical filters with impulse
response of h(n) = 1
Short-Time Fourier Transform
X STFT (e , n) 
jw

 x ( k )  v ( k  n)e
k  
 jwk
Short-Time Fourier Transform
X STFT (e , n) 
jw

 x ( k )  v ( k  n)e
k  
two variables
 jwk
Short-Time Fourier Transform
X STFT (e , n) 
jw

 x ( k )  v ( k  n)e
k  
frequency
 jwk
Short-Time Fourier Transform
X STFT (e , n) 
jw

 x ( k )  v ( k  n)e
k  
shift
 jwk
Short-Time Fourier Transform
X STFT (e , n) 
jw

 x ( k )  v ( k  n)e
 jwk
k  
shifted window function v(k)
Short-Time Fourier Transform
X STFT (e
jwo
, m) 

 x ( n )  v ( n  m)e
 jwo n
n  
let dummy variable be n instead of k
Short-Time Fourier Transform
X STFT (e
jwo
, m) 

 x ( n )  v ( n  m)e
n  
fix frequency w_0 and shift m
 jwo n
Short-Time Fourier Transform
X STFT (e
jwo
, m) 

 x ( n )  v ( n  m)e
n  
pass in input x(n)
 jwo n
Short-Time Fourier Transform
X STFT (e
jwo
, m) 

 x ( n )  v ( n  m)e
n  
multiply by shifted window
and complex exponential
 jwo n
Short-Time Fourier Transform
X STFT (e
jwo
, m) 

 x ( n )  v ( n  m)e
n  
summation = convolve with 1
 jwo n
Short-Time Fourier Transform
X STFT (e
jwo
, m) 

 x ( n )  v ( n  m)e
n  
output constant determined by
frequency w_0 and shift m
 jwo n
Short-Time Fourier Transform
Short-Time Fourier Transform
fix frequency w_0 and shift m
Short-Time Fourier Transform
pass in input x(n)
Short-Time Fourier Transform
multiply by shifted window and
complex exponential
Short-Time Fourier Transform
summation = convolve with 1
Short-Time Fourier Transform
output constant determined by
frequency w_0 and shift m
Short-Time Fourier Transform
X STFT (e , n) 
jw

 x ( k )  v ( k  n)e
k  
 jwk
Short-Time Fourier Transform
X STFT (e , n) 
jw

 x ( k )  v ( k  n)e
 jwk
k  
dummy variable k instead of n
Short-Time Fourier Transform
X STFT (e , n) 
jw

 x ( k )  v ( k  n)e
k  
shift is n (previously m)
 jwk
Short-Time Fourier Transform
X STFT (e , n) 
jw

 x ( k )  v ( k  n)e
k  
rewrite
 jwk
Short-Time Fourier Transform
X STFT (e , n)  e
jw
 jwn

 x ( k )  v ( k  n )e
k  
multiply by e^-jwn and e^jwn
jw( n  k )
Short-Time Fourier Transform
X STFT (e , n)  e
jw
 jwn

 x ( k )  v ( k  n )e
k  
n is shift variable
jw( n  k )
Short-Time Fourier Transform
X STFT (e , n)  e
jw
LTI
system
 jwn

 x(k )  v(kn)e
k  
jw( n  k )
h(k )
( x  h)( n)
Short-Time Fourier Transform
X STFT (e , n)  e
jw
Impulse
response
 jwn

 x(k )  v(kn)e
jw( n  k )
k  
h(k )
v(n)e
jwn
Short-Time Fourier Transform
X STFT (e , n)  e
jw
 jwn
flipped window
modulated by +w

 x(k )  v(kn)e
jw( n  k )
k  
h(k )
v(n)e
jwn
Short-Time Fourier Transform
X STFT (e , n)  e
jw
 jwn

 x(k )  v(kn)e
k  
jw( n  k )
h(k )
modulation by -w
Short-Time Fourier Transform
Short-Time Fourier Transform
fixed shift n
Short-Time Fourier Transform
fixed frequency w_0
Short-Time Fourier Transform
convolution
with modulated
window
freq
domain
Multiplication by
shifted window
transform
Short-Time Fourier Transform
modulation by –
w_0
freq
domain
shift by –w_0
input X(e^jw)
transfer function
(window transform
shifted by +w_0)
LTI system output
final output after
shift by –w_0
STFT as filter bank
X STFT (e
jwo
, n)  e
 jwn

)e
 x(k )  v(kn

k  
jwo ( n  k )
h( k )
STFT as filter bank
X STFT (e
jwo
, n)  e
 jwn

)e
 x(k )  v(kn

k  
fixed shift n
jwo ( n  k )
h( k )
STFT as filter bank
X STFT (e
jwo
, n)  e
 jwn

)e
 x(k )  v(kn

k  
fixed frequency
w_0
jwo ( n  k )
h( k )
STFT as filter bank
fixed shift n, fixed shift w_0 = one filter bank
STFT as filter bank
X STFT (e , n)  e
jw
 jwn

 x(k )  v(kn)e
k  
jw( n  k )
h(k )
STFT as filter bank
X STFT (e , n)  e
jw
 jwn

 x(k )  v(kn)e
k  
fixed shift n
jw( n  k )
h(k )
STFT as filter bank
X STFT (e , n)  e
jw
 jwn

 x(k )  v(kn)e
k  
let w vary
between [0, 2pi)
jw( n  k )
h(k )
STFT as filter bank
x(n)
v(n)e

jw0 n
e
 jw0 n

v(n)e jw1n
X (e jw0 , n)
jw1
X (e , n )
e  jw1n
v(n)e

jw2 n
e
X (e jw2 , n)
 jw2 n
uncountably many filters since w in [0, 2 pi)
STFT as filter bank
x(n)
v(n)e

jw0 n
e
 jw0 n

v(n)e jw1n
X (e jw0 , n)
jw1
X (e , n )
e  jw1n
v(n)e

jw2 n
e
X (e jw2 , n)
 jw2 n
bandpass filters separated by infinitely small
shifts
transfer function
(window transform
shifted by +w_0)
STFT as filter bank
x(n)
v(n)e

jw0 n
e
 jw0 n

v(n)e jw1n
X (e jw0 , n)
jw1
X (e , n )
e  jw1n
v(n)e

jw2 n
e
X (e jw2 , n)
 jw2 n
demodulators
STFT as filter bank
x(n)
v(n)e

jw0 n
e
 jw0 n

v(n)e jw1n
X (e jw0 , n)
jw1
X (e , n )
e  jw1n
v(n)e

jw2 n
e
X (e jw2 , n)
 jw2 n
segments of X(e^jw)
final output after
shift by –w_0
Fix number of frequencies
0  w0  w1  ...  wM 1  2
STFT as filter bank
x(n)
v(n)e

jw0 n
e
 jw0 n

v(n)e jw1n
X (e jw0 , n)
jw1
X (e , n )
e  jw1n

v(n)e jwM 1n
e
 jwM 1n
bank of M filters
X (e jwM 1 , n)
STFT as filter bank
x(n)
v(n)e

jw0 n
e
 jw0 n

v(n)e jw1n
X (e jw0 , n)
jw1
X (e , n )
e  jw1n

v(n)e jwM 1n
e
X (e jwM 1 , n)
 jwM 1n
M band pass filters
M band pass filters
Uniformly spaced frequencies
0  w0  w1  ...  wM 1  2
0  w0  w1  w2  ...  wM 1  2
STFT as filter bank
x(n)
v(n)e

jw0 n
e
 jw0 n

v(n)e jw1n
X (e jw0 , n)
jw1
X (e , n )
e  jw1n

v(n)e jwM 1n
e
X (e jwM 1 , n)
 jwM 1n
bank of M filters becomes…
STFT as filter bank
uniform DFT bank
…
M band pass filters
STFT as filter bank
Let E_k(z)=1 for all k
STFT as filter bank
Let E_k(z)=1 for all k
STFT as filter bank
…
…
window becomes rectangle M samples long
Uncertainty principle
Uncertainty principle
wide
window
Uncertainty principle
narrow
bandpass
Uncertainty principle
wide
window
poor time
resolution
Uncertainty principle
good
frequency
resolution
narrow
bandpass
Uncertainty principle
narrow
window
Uncertainty principle
wide
bandpass
Uncertainty principle
narrow
window
good time
resolution
Uncertainty principle
poor
frequency
resolution
wide
bandpass
Special case
narrowest
window
Special case
widest
bandpass
Special case
narrowest
window
perfect time
resolution
Special case
no frequency
resolution
widest
bandpass
v(n)=delta(n)
v(n)=delta(n)
v(n)=delta(n)
X STFT (e , n) 
jw

 x ( k )  v ( k  n)e
k  
v(n)=delta(n)=1 if n=0, 0 otherwise
 jwk
v(n)=delta(n)
X STFT (e ,0) 
jw

 x(k )  v(k  0)e
k  
 jwk
v(n)=delta(n)
X STFT (e ,0) 
jw

 x(k )  v(k  0)e
k  
STFT  DFT
 jwk
v(m)=delta(m)
v(0)=delta(0)=1
STFT  DFT
LTI system output
band limited
LTI system output
band limited
can decimate in
time domain
Decimation in time domain
H o (z )
M
Decimation in time domain
H o (z )
LTI system output
band limited
M
Decimation in time domain
H o (z )
M
maximal decimation (total of M
samples across M channels)
Copies in frequency domain
 wo
 wo
Copies in frequency domain
 wo
LTI system output
band limited
 wo
Copies in frequency domain
 wo
copies after maximal decimation
 wo
Decimated STFT
M
M
M
Decimated STFT
M
M
M
uniformly spaced versions of same window filter
Decimated STFT
M
M
M
constant maximal decimation
Decimated STFT
M
M
M
decimation by M samples
window shift of M
Decimated STFT (sliding window)
Decimated STFT (sliding window)
time axis
Decimated STFT (sliding window)
frequency axis
Decimated STFT (sliding window)
shift window by integer multiples of M
Decimated STFT
M
M
M
decimation by M samples
window shift of M
Decimated STFT (sliding window)
calculate M uniformly spaced samples of
DFT
Decimated STFT
M
M
M
uniformly spaced versions of same window filter
Decimated STFT (sliding window)
Decimated STFT (sliding window)
time axis
Decimated STFT (sliding window)
frequency axis
Decimated STFT (sliding window)
shift window by integer multiples of M
Decimated STFT
M
M
M
decimation by M samples
window shift of M
Decimated STFT (sliding window)
calculate M uniformly spaces samples of DFT
Decimated STFT
M
M
M
uniformly spaced versions of same window filter
Decimated STFT (sliding window)
uniform sampling of time/frequency
Decimated STFT (sliding window)
M fixes sampling
Decimated STFT
M
M
M
M versions of same
window filter
decimation by M
samples
Decimated STFT
no
n1
nM 1
let decimation vary
Decimated STFT (sliding window)
let window shifts vary
Decimated STFT
no
n1
nM 1
let window transforms vary
Decimated STFT (sliding window)
let window transforms vary
Wavelet Transform
Wavelet Transform
Wavelet Transform
let decimation vary
Wavelet Transform
let window
shifts vary
Wavelet Transform
let window transforms vary
Wavelet Transform
let window
transforms vary
Wavelet Transform
let window
transforms vary
Summary
Decimated STFT
M
M
M
M versions of same
window filter
decimation by M
samples
Decimated STFT (sliding window)
M fixes sampling
Decimated STFT (sliding window)
uniform sampling of time/frequency
Wavelet Transform
let window
transforms vary
let decimation vary
Wavelet Transform
let window
shifts vary
let window
transforms vary
Wavelet Transform
non-uniform
sampling of
time/frequency
grid
Reference
• Multirate Systems and Filter Banks by P.P.
Vaidyanthan, pp.457-486