| transformSST | R Documentation |
Computes the Morlet continuous wavelet transform of a sampled signal and reassigns its coefficients to frequency cells by the instantaneous frequency estimated from the transform.
transformSST(signal, samplingInterval, voiceCount = 16,
morletCenter = 2 * pi, threshold)
signal |
Numeric vector of at least four finite values without
|
samplingInterval |
Sampling interval |
voiceCount |
Whole number |
morletCenter |
Center |
threshold |
Number greater than zero in the units of the signal: only
coefficients with |
The record is extended by symmetric padding to
T = 2^{1 + \mathrm{round}(\log_2 N)} samples, and the transform uses
the scales a_j = 2^{j / \mathrm{voiceCount}},
j = 1, \ldots, (\log_2 T - 1)\,\mathrm{voiceCount}. For each
coefficient above the threshold, the frequency
\frac{\mathrm{Re}\,\Omega_f(a, b)}{2\pi} = \frac{1}{2\pi} \mathrm{Im}\frac{\partial_b W_f(a, b)}{W_f(a, b)}
in Hz goes to the nearest of J logarithmic cells from
1/((N - 1)\Delta t) to 1/(2\Delta t), J the number of
scales, where the coefficient adds W a^{-1/2}; the sums are divided by
voiceCount. Estimates that are not positive or fall outside the
cells are not accumulated, and a transform whose energy is below the
machine epsilon gives a zero result. The representation recovers the
signal only approximately. The threshold is in the units of the signal,
so decomposeTSL has no operation for this transform.
A list with
transform |
Complex matrix, samples by frequency cells. |
frequency |
Numeric vector of the cell frequencies in Hz. |
Daubechies, I., Lu, J. and Wu, H.-T. (2009). Synchrosqueezed wavelet transforms: a tool for empirical mode decomposition. arXiv:0912.2437.
The wavelet transform, the Morlet wavelet and the reassignment are adapted
from SynchWave 1.1.2, revision 9ac80b2c3e60b417d0ee5567a66e8e64faa1a979
(MATLAB original by Eugene Brevdo; R port by Dongik Jang, Hee-Seok Oh and
Donghoh Kim; the Synchrosqueezing toolbox attribution also names Hau-Tieng
Wu), LGPL-2.0-or-later, which xemd distributes under GPL-3 as section 3 of
the GNU Library General Public License version 2 permits; see the NOTICE
file of the installed package.
decomposeEWT, computeInstantaneousAttributes
SamplingInterval <- 1 / 1000
Time <- seq_len(1000) * SamplingInterval
Signal <- cos(2 * pi * 2 * Time) + 0.25 * cos(2 * pi * 24 * Time) +
0.0625 * cos(2 * pi * 288 * Time)
OUT <- transformSST(Signal, samplingInterval = SamplingInterval,
voiceCount = 16, morletCenter = 2 * pi,
threshold = sqrt(.Machine$double.eps))
dim(OUT$transform)
range(OUT$frequency)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.