Try   HackMD

Wavelet Transformation & Scattering Transformation

Wavelet Transform (WT)

Introduction to Continuous Wavelet Transform (CWT)

The basic idea in wavelet analysis is to start with a function ψ(t), known as the mother wavelet. Then, a dilated wavelet is
ψλ(t)=1λψ(tλ)
Note that if λ is larger then the oscillation frequency is lower. Consider the following function
ψa,b(t)=1aψ(tba)
The parameters a and b are responsible for scaling and translating the function. Hence, we could use above wavelet to plot scalogram, with scaling axis and translating axis by
X(a,b)=f(t)ψa,b(t)dt

The higher scale factor is, the lower frequency will be captured. Hence, CWT(a, b) could be viewed as capturing the (frequency, time) at (ω0a,b), where ω0 is origninal frequency of mother wavelet and ψ center at t=0.

Sometimes, if define ψa,b(t)=1aψ(tba), then there is an factor 1a in the above transformation.

Focus on Mother Wavelet

A complex Morlet wavelet ψ can be defined as the product of a complex sine wave and a Gaussian window
ψ(t)=e2iπf0tet22σt=eiω0et22σt
where f0 is frquency and σt is the bandwidth of the Gaussian in time domain, Actually we have 3 way to determine the Morlet wavelet

  1. Gaussian bandwidth (σt) in time domain
  2. Gaussian bandwidth (σω) in frequency domain
  3. number of cycle in bandwidth in time domain

In fact, σt and σω is satisfied the uncertainty principle.

Moreover, the number of cycle (n) and σt follow the following relation
σt=n2πf
On the other hand, Refer to M. X Cohen (2018) or refer to their video .
For instance, let f0=10, determine the wavelet by bandwidth in frequency domain.

The time frequency trade-off can be seen.

Implement by bandpass filter

Now, apply Fourier transformation on wavelet, say ψ^(ω), where ω=2πf. Clearly, ψ^(ω) is a Gaussian pulse with bandwidth σω and center at ω. It could be viewed as bandpass filter.

Now, implement CWT as bandpass filter.
X(a,b)=12πf^(ω)ψ^(ω)eiωbdt
Refer to MATLAB help center .







graphname



T

signal in TD



P1

singal in TF



T->P1


Conv



P2

signal in FD



T->P2


FFT



Q21

signal in FD



P2->Q21


Mutiply



Q21->P1


IFFT



Please refer to M. X Cohen video .

DWT & Resolution

Since the uncertainty principle, the resolution should be as following figure.

First, focus at time domain. If low frequency, the bandwidth σω in frequency domain is small. Hence, the bandwidth σt in time domain is large, so the time resolution at low frequency is small. And vice versa.

Second, focus at frequency domain. If high frequency, the bandwidth σω in frequency domain is large. Hence the frequency resolution at high frequency is small. And vice versa.


According to above figure, we could see that







graphname



T

signal



P1

HF (8Hz)



T->P1


WT



P2

LF



T->P2





Q21

HF (4Hz)



P2->Q21


WT



Q22

LF



P2->Q22





R221

HF (2Hz)



Q22->R221


WT



R222

LF



Q22->R222





On the other hand, the time frequency trade-off can be seen as following figure.

According to above figure, we could let a=2j and b=k2j. The discrete wavelet transformation is as
ψj,k(t)=12jψ(tk2j2j)

Note that if a is large then frequency is small. Meanwhile, the space between two time grids is large.

Octacve

In the above equation j might not be integer. We could divide ''octave'' to be finer. The parameter Q is often referred to as the number of ''voices per octave''.
ψj,k(t)=12j/Qψ(tk2j/Q2j/Q)
where let new ψ(t) satisfy ψ^(ω) center at frequency ω0 and with bandwidth σωQ.

For instance, if Q=1, and σω=ω02,

If Q=2, the bandwidth is half as long as original bandwidth. Moreover, it requires two step to reach next octave.

The reason Q is referred to as the number of voices per octave is because increasing the scale by an octave (a doubling) requires Q intermediate scales. Refer to MATLAB help center .

Implement Wavelet Transform

Wavelet

Take Q=2. Let mother wavelet with f0=1 (Hz) and bandwidth σω=1/4=f02Q in frequency domain. Let wavelet center at Λ={2j/Q}j=412. The following shows that j is even case.

Convolution with wavelet

The first is the original signal.Each row shows that signal convolution with different wavelet.

Note that resolution is different.

Scalogram

Use interpolation to plot the scalogram.

Try MATLAB Built-in Functions

Use cwt.

Comparison with Synchrosqueezing Transforms (SST)

Scattering Transformation (ST)

Main idea

Extend the graph mentioned. The blue nodes are created by the first WT and the purple nodes are created by the second WT.







graphname



T

signal



P1

HF (8Hz)



T->P1


WT



P2

LF



T->P2





Q11

HF (4Hz)



P1->Q11


WT-2nd-1



Q12

LF



P1->Q12





Q21

HF (4Hz)



P2->Q21


WT



Q22

LF



P2->Q22





R211

HF (2Hz)



Q21->R211


WT-2nd-2



R212

LF



Q21->R212





R221

HF (2Hz)



Q22->R221


WT



R222

LF



Q22->R222





R111

HF (2Hz)



Q11->R111


WS-3nd



R112

LF



Q11->R112





R121

HF (2Hz)



Q12->R121


WT-2nd-1



R122

LF



Q12->R122





Focus on second layer (blue). There are 3 nodes, which are created by the first wavelet transformation. However, each node contains different information. Hence, they convole with different number of wavelet.

Reference

  1. MATLAB Help Center, Continuous and Discrete Wavelet Transforms.
  2. MATLAB Help Center, Continuous Wavelet Transform as a Bandpass Filter.
  3. Chun-Lin Liu, A Tutorial of the Wavelet Transform, NTU, (2010).
  4. Steven L. Brunton & J. Nathan Kutz, Data Driven Science & Engineering: Machine Learning, Dynamical Systems, and Control, UW, (2017).
  5. Steven L. Brunton, Youtube Channels.
  6. Kevin E Alexander, Time Frequency Analysis Plugin for EEGLAB, Air Force Research Laboratory.
  7. Kevin E Alexander, Youtube Channels.
  8. Jian-Jiun Ding, Lecture Note of Time-Frequency Analysis and Wavelet Transform, NTU, (2021).
  9. Chia-Feng Lu, Lecture Note of MATLAB Programming for Medical Signal Analysis, NYCU, (2021).
  10. Rami Khushaba, Youtube Channels, USYD.
  11. Shie Qian, Dapang Chen, Joint Time-Frequency Analysis: Method and Application.
  12. Mike X Cohen, Youtube Channel, Radboud University Medical Center.
  13. Ingrid Daubechies, Ten Lectures on Wavelets.