cwt_fw: Forward Continuous Wavelet Transform

View source: R/sst.R

cwt_fwR Documentation

Forward Continuous Wavelet Transform

Description

This function performs forward continuous wavelet transform, discretized, as described in Sec. 4.3.3 of [1] and Sec. IIIA of [2]. This code is translated from MATLAB Synchrosqueezing Toolbox, version 1.1 developed by Eugene Brevdo (http://www.math.princeton.edu/~ebrevdo/).

Usage

cwt_fw(x, type, nv, dt, opt)

Arguments

x

input signal vector, length n (need not be dyadic length)

type

wavelet type, string (see wfiltfn)

nv

number of voices (suggest nv >= 32)

dt

sampling period (default, dt = 1)

opt

list of options. opt$padtype: type of padding, ‘symmetric’, ‘replicate’, or ‘circular’ (default = ‘symmetric’). opt$rpadded: return padded Wx and dWx? (default = 0). opt$s, opt$mu, etc: wavelet options (see wfiltfn).

Details

This function performs forward continuous wavelet transform, discretized, as described in Sec. 4.3.3 of [1] and Sec. IIIA of [2]. This algorithm uses the FFT and samples the wavelet atoms in the fourier domain. Options such as padding of the original signal are allowed. Returns the vector of scales and, if requested, the analytic time-derivative of the wavelet transform (as described in Sec. IIIB of [2].

Value

Wx

[na x n] size matrix (rows = scales, cols = times) containing samples of the CWT of x.

asc

na length vector containing the associated scales.

dWx

[na x n] size matrix containing samples of the time-derivatives of the CWT of x.

References

[1] Mallat, S (2009) A Wavelet Tour of Signal Processing, New York: Academic Press.

[2] Thakur, G., Brevdo, E., Fuckar, N. S. and Wu, H-T. (2013) The Synchrosqueezing algorithm for time-varying spectral analysis: Robustness properties and new paleoclimate applications. Signal Processing, 93, 1079–1094.

See Also

cwt_iw, wfiltfn, est_riskshrink_thresh.

Examples

tt <- seq(0, 10, , 1024)
f0 <- (1+0.6*cos(2*tt))*cos(4*pi*tt+1.2*tt^2)
sigma <- 0.5
f <- f0 + sigma*rnorm(length(tt))

# Continuous wavelet transform
nv <- 32
opt <- list(type = "bump")
cwtfit <- cwt_fw(f, opt$type, nv, tt[2]-tt[1], opt)

SynchWave documentation built on May 7, 2022, 5:05 p.m.

Related to cwt_fw in SynchWave...