Hilbert_transform {WaverideR}R Documentation

Perform a Hilbert transform on a signal

Description

Extract the amplitude modulation using the Hilbert transform.

Usage

Hilbert_transform(data = NULL, demean = TRUE, nr_pad = 100)

Arguments

data

Input is a time series with the first column being depth or time and the second column being a proxy.

demean

Remove the mean from the time series.

nr_pad

nr of points added tot the top and bottom of the data set to mitigate the edging effect of the Hilbert transform.

Value

Returns a matrix with 2 columns. The first column is depth/time. The second column is the Hilbert transform of the signal.

Author(s)

Based on the the inst.pulse function of the 'DecomposeR' R package.

References

Wouters, S., Crucifix, M., Sinnesael, M., Da Silva, A.C., Zeeden, C., Zivanovic, M., Boulvain, F., Devleeschouwer, X., 2022, "A decomposition approach to cyclostratigraphic signal processing". Earth-Science Reviews 225 (103894). <doi:10.1016/j.earscirev.2021.103894>

Huang, Norden E., Zhaohua Wu, Steven R. Long, Kenneth C. Arnold, Xianyao Chen, and Karin Blank. 2009. "On Instantaneous Frequency". Advances in Adaptive Data Analysis 01 (02): 177–229. <doi:10.1142/S1793536909000096>

Examples

#Example in which the Hilbert transform (eg. amplitude modulation) of the ~210yr
#de Vries cycle is extracted from the Total Solar Irradiance data set of
#Steinhilber et al., (2012)

#Perform the CWT
TSI_wt <-
analyze_wavelet(
data = TSI,
dj = 1/200,
lowerPeriod = 16,
upperPeriod = 8192,
   verbose = FALSE,
   omega_nr = 6
 )

#Extract the 210 yr de Vries cycle from the wavelet spectra
de_Vries_cycle <- extract_signal_stable(wavelet=TSI_wt,
cycle=210,
period_up =1.25,
period_down = 0.75,
add_mean=TRUE,
plot_residual=FALSE)

#Perform the Hilbert transform on the amplitude record of the 210 yr de Vries
# cycle which was extracted from the wavelet spectra

de_Vries_cycle_hilbert <- Hilbert_transform(data=de_Vries_cycle,demean=TRUE)


[Package WaverideR version 0.3.2 Index]