hilbertspec {EMD}R Documentation

Hilbert Transform and Instantaneous Frequency

Description

This function calculates teh amplitude and instantaneous frequency using Hilbert transforma.

Usage

hilbertspec(xt, tt = NULL) 

Arguments

xt matrix of multiple signals. Each column represents a signal.
tt observation index or time index

Details

This function calculates teh amplitude and instantaneous frequency using Hilbert transforma.

Value

amplitude matrix of amplitudes for multiple signals xt
instantfreq matrix of instantaneous frequencies for multiple signals xt
energy cumulative energy of multiple signals

References

Huang, N. E., Shen, Z., Long, S. R., Wu, M. L. Shih, H. H., Zheng, Q., Yen, N. C., Tung, C. C. and Liu, H. H. (1998) The empirical mode decomposition and Hilbert spectrum for nonlinear and nonstationary time series analysis. Proceedings of the Royal Society London A, 454, 903–995.

See Also

spectrogram.

Examples

tt <- seq(0, 0.1, length = 2001)[1:2000]           
f1 <- 1776; f2 <- 1000
xt <- sin(2*pi*f1*tt) * (tt <= 0.033 | tt >= 0.067) + sin(2*pi*f2*tt)
 
### Before treating intermittence
interm1 <- emd(xt, tt, boundary="wave", max.imf=2, plot.imf=FALSE)  
### After treating intermittence
interm2 <- emd(xt, tt, boundary="wave", max.imf=2, plot.imf=FALSE, 
interm=0.0007)

par(mfrow=c(2,1), mar=c(2,2,2,1))
test1 <- hilbertspec(interm1$imf)
spectrogram(test1$amplitude[,1], test1$instantfreq[,1])

test2 <- hilbertspec(interm2$imf, tt=tt)
spectrogram(test2$amplitude[,1], test2$instantfreq[,1])

[Package EMD version 1.2.0 Index]