demod.dpss {multitaper} | R Documentation |
Computes complex demodulates using multiple taper techniques
Description
Computes complex demodulate of a given series around a given central frequency using multiple taper techniques. Returns amplitude, phase, and complex demodulate.
Usage
demod.dpss(x,centreFreq,nw,blockLen,stepSize=1,wrapphase=TRUE,...)
Arguments
x |
Time series, required to be contiguous. |
centreFreq |
Frequency around which to demodulate. |
nw |
Parameter controlling time-bandwidth. |
blockLen |
Length of sub-block to use; demodulate is computed on each block in turn. |
stepSize |
This is a proposed option that sets the index step size between blocks. Currently this must be set to 1 and changes in step size have not been implemented. |
wrapphase |
If true, routine wraps phases around +/-360 degree boundaries. |
... |
Additional arguments. Currently only includes depreciated arguments |
References
Thomson, D.J. (1995). The Seasons, Global Temperature, and Precession. Science, Volume 268, pp. 59–68.
Bloomfield P. (2000). Fourier Analysis of Time Series. 2nd edition. Wiley New York, pp. 97–130.
Examples
data(CETmonthly)
nJulOff <- 1175
xd <- ts(CETmonthly[,"temp"],deltat=1/12)
demodYr <- demod.dpss(xd,centreFreq=1,nw=3,blockLen=120,stepSize=1)
phase <- demodYr$phase
offsJul <- 3*360/365
phaseAdj <- phase
phaseAdj[1:nJulOff] <- phase[1:nJulOff] + offsJul
yr <- (time(xd)+1658)[1:length(phase)]
plot(yr, phaseAdj, type="l", lwd=2,
ylab="Phase of the Year in Degrees",
xlab="Gegorian calender date")
lines((1:nJulOff)/12+1659, phase[1:nJulOff], col="red")
fit <- lm( phaseAdj ~ yr)
abline(fit, lty=2, col="blue")
cat(paste("Precession Estimate: ",fit$coef[2]*60*60,digits=6," (arcseconds/yr)\n",sep=""))