-
-
Notifications
You must be signed in to change notification settings - Fork 43
Continuous Wavelet Transforms
Sambit Paul edited this page Dec 11, 2021
·
1 revision
We apply the Continuous Wavelet Transform to identify how much of a wavelet is contained in a signal. Using different scales of the same wavelet allows us to identify the weight of each wavelet in the signal. This allows us to extract local spectral and temporal information simultaneously.
int[] widths = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
ContinuousWavelet wR = new ContinuousWavelet(signal, widths);
### For Ricker Wavelet
double ignored_arg = 0.0;
Complex[][] out_cplx = wR.transform(ContinuousWavelet.waveletType.RICKER, ignored_arg);
### For Morlet Wavelet
double morlet_omega0 = 5.0;
Complex[][] out_cplx = wR.transform(ContinuousWavelet.waveletType.MORLET, morlet_omega0);
### For Paul Wavelet
double paul_order = 4.0;
Complex[][] out_cplx = wR.transform(ContinuousWavelet.waveletType.PAUL, paul_order);
We apply the Inverse Continuous Wavelet Transform to a signal transformed by a Wavelet Trasnform to reconstruct the original signal. It is important to note that the inverse transform should use the same wavelet used during the forward transform to reconstruct correctly.
int[] widths = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
InverseContinuousWavelet icwt = new InverseContinuousWavelet(out_cplx, widths);
### For Ricker Wavelet
double ignored_arg = 0.0;
double[] signal = icwt.transform(InverseContinuousWavelet.waveletType.RICKER, ignored_arg);
### For Morlet Wavelet
double morlet_omega0 = 5.0;
double[] signal = icwt.transform(InverseContinuousWavelet.waveletType.MORLET, morlet_omega0);
### For Paul Wavelet
double paul_order = 4.0;
double[] signal = icwt.transform(InverseContinuousWavelet.waveletType.PAUL, paul_order);
Wiki
-
Filters
- IIR Filters
- FIR Filters
- Kernel-Based Filter
- Adaptive Filters
-
Signals
-
Peak Detection
-
Transformations
-
Speech
-
Windowing