Transcript Lecture19
Fourier / Wavelet Analysis
ASTR 3010
Lecture 19
Textbook : N/A
Fourier Transform
in signal processing, (time and frequency)
Add bunch of zeros in your data!
Number of input data points number of frequency sampling in FT!
Example of FFT in astronomy : defringing a spectrum
heavily fringed raw spectrum
power spectrum of the input
defringed spectrum
Limits on Fourier Transform
it can only “see” one variable (period or time) at a time at sufficient precision!
Short-Time Fourier Transform
• Using a window function in time
STFTx (t, f ) = ò [x(t)× w (t - t')]× e
*
t
• Limited by the Uncertainty Principle : t*ω = constant
-i 2pft
dt
STFT resolution
problem
• Four different Gaussian
windows
Wavelet Transform
• Wavelet transform can get two different information (i.e., time and
frequency) simultaneously!
Wavelet Transform
g (s,t ) =
ò
f (t)Ys,*t (t)dt
where basis function is
s : scale parameter
τ : translation parameter
f (t) = ò g (s,t )Ys,t (t) dt ds
1 æ t -t ö
Ys,t (t) =
Yç
÷
s è s ø
Practical use of wavelet transformation
• Decomposition and recomposition of a signal
http://www.pybytes.com/pywavelets
PyWavelets
• pywt
o
o
o
o
pywt.wavelist
pywt.wavelet
pywt.wavedec
pywt.waverec
import pywt
pywt.wavelist()
['bior1.1',
'bior1.3',
'bior1.5',
'bior2.2',
'bior2.4',
…
'coif1',
'coif2',
…
'db1',
'db2',
'db3',
…
'sym15',
'sym16',
'sym17',
'sym18',
'sym19',
'sym20']
http://www.pybytes.com/pywavelets
PyWavelets
• pywt
o
o
o
o
pywt.wavelist
pywt.wavelet
pywt.wavedec
pywt.waverec
import pywt
myw=pywt.wavelet(‘db4’)
phi,psi,wx = myw.wavefun()
plot(wx,phi,’r’)
plot(wx,psi,’b’)
Daubechies Wavelet : order 4
http://www.pybytes.com/pywavelets
PyWavelets
• pywt
o
o
o
o
pywt.wavelist
pywt.wavelet
pywt.wavedec
pywt.waverec
import pywt
myw=pywt.wavelet(‘sym20’)
phi,psi,wx = myw.wavefun()
plot(wx,phi,’r’)
plot(wx,psi,’b’)
Wavelets
Decomposition Tree
• decomposition of a signal into
several resolution levels.
• First, the original signal is
decomposed by two
complementary half-band
filters (high-pass and low-pass
filters) that divide a spectrum
into high-frequency (detail
coefficients; D1) and lowfrequency (approximation
coefficients; A1) components
(bands). For example, the lowpass filter will remove all halfband highest frequencies.
Information from only the low
frequency band (A1), with a
half number of points, will be
filtered in the second
decomposition level. The A2
outcome will be filtered again
for further decomposition.
PyWavelets
decomposition
reconstruction
• pywt
o
o
o
o
pywt.wavelist
pywt.wavelet
pywt.wavedec
pywt.waverec
import pywt
myw=pywt.wavelet(‘db4’)
dec =
myw.wavedec(data,’db4’,’zpd’,5)
PyWavelets
decomposition
reconstruction
• pywt
o
o
o
o
pywt.wavelist
pywt.wavelet
pywt.wavedec
pywt.waverec
import pywt
myw=pywt.wavelet(‘sym20’)
dec =
myw.wavedec(data,’sym20’,’zpd’
,5)
pywt : Denoising
import pywt
… set high order “difference” coeffs to zero.
… among “diff” coeffs, clip small coeffs < 0.2*sigma
… then, reconstruct
dec = myw.wavedec(data,’db4’,’zpd’,5)
http://www.toolsmiths.com/docs/CT199809.pdf
Wavelet: Denoising
Wavelet: Denoise in 2D
Wavelet: Denoise in 2D
http://www.pixinsight.com/doc/legacy/LE/21_noise_reduction/example_1/04.html