demod.dpss | R Documentation |
Computes complex demodulate of a given series around a given central frequency using multiple taper techniques. Returns amplitude, phase, and complex demodulate.
demod.dpss(x,centreFreq,nw,blockLen,stepSize=1,wrapphase=TRUE,...)
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 |
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.
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=""))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.