Introduction to Continuous Wavelet Transform (CWT)
The basic idea in wavelet analysis is to start with a function , known as the mother wavelet. Then, a dilated wavelet is Note that if is larger then the oscillation frequency is lower. Consider the following function The parameters and are responsible for scaling and translating the function. Hence, we could use above wavelet to plot scalogram, with scaling axis and translating axis by
The higher scale factor is, the lower frequency will be captured. Hence, CWT(, ) could be viewed as capturing the (frequency, time) at , where is origninal frequency of mother wavelet and center at .
Sometimes, if define , then there is an factor in the above transformation.
A complex Morlet wavelet can be defined as the product of a complex sine wave and a Gaussian window where is frquency and is the bandwidth of the Gaussian in time domain, Actually we have 3 way to determine the Morlet wavelet
Gaussian bandwidth () in time domain
Gaussian bandwidth () in frequency domain
number of cycle in bandwidth in time domain
In fact, and is satisfied the uncertainty principle.
Moreover, the number of cycle () and follow the following relation On the other hand, Refer to M. X Cohen (2018) or refer to their video . For instance, let , 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 . Clearly, is a Gaussian pulse with bandwidth and center at . It could be viewed as bandpass filter.
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 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
On the other hand, the time frequency trade-off can be seen as following figure. According to above figure, we could let and . The discrete wavelet transformation is as
Note that if is large then frequency is small. Meanwhile, the space between two time grids is large.
Octacve
In the above equation might not be integer. We could divide ''octave'' to be finer. The parameter is often referred to as the number of ''voices per octave''. where let new satisfy center at frequency and with bandwidth .
For instance, if , and , If , the bandwidth is half as long as original bandwidth. Moreover, it requires two step to reach next octave. The reason is referred to as the number of voices per octave is because increasing the scale by an octave (a doubling) requires intermediate scales. Refer to MATLAB help center .
Implement Wavelet Transform
Wavelet
Take . Let mother wavelet with (Hz) and bandwidth in frequency domain. Let wavelet center at . The following shows that 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.
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
MATLAB Help Center, Continuous and Discrete Wavelet Transforms.
MATLAB Help Center, Continuous Wavelet Transform as a Bandpass Filter.
Chun-Lin Liu, A Tutorial of the Wavelet Transform, NTU, (2010).
Steven L. Brunton & J. Nathan Kutz, Data Driven Science & Engineering: Machine Learning, Dynamical Systems, and Control, UW, (2017).
Steven L. Brunton, Youtube Channels.
Kevin E Alexander, Time Frequency Analysis Plugin for EEGLAB, Air Force Research Laboratory.
Kevin E Alexander, Youtube Channels.
Jian-Jiun Ding, Lecture Note of Time-Frequency Analysis and Wavelet Transform, NTU, (2021).
Chia-Feng Lu, Lecture Note of MATLAB Programming for Medical Signal Analysis, NYCU, (2021).
Rami Khushaba, Youtube Channels, USYD.
Shie Qian, Dapang Chen, Joint Time-Frequency Analysis: Method and Application.
Mike X Cohen, Youtube Channel, Radboud University Medical Center.