[R] estimate phase shift between two signals
David Stoffer
dsstoffer at gmail.com
Fri Jun 6 03:40:03 CEST 2008
help(spec.pgram) - then look at the examples at the bottom of the page
Dylan Beaudette-3 wrote:
>
> Hi,
>
> Are there any functions in R that could be used to estimate the
> phase-shift
> between two semi-sinusoidal vectors? Here is what I have tried so far,
> using
> the spectrum() function -- possibly incorrectly:
>
>
> # generate some fake data, normalized to unit circle
> x <- jitter(seq(-2*pi, 2*pi, by=0.1), amount=pi/8)
>
> # functions defining two out-of-phase phenomena
> f1 <- function(x) jitter(sin(x), amount=0.25)
> f2 <- function(x, a) jitter(sin(x + a), amount=0.25)
>
> # compute y-values
> # we are setting the phase shift arbitrarily
> s <- pi/1.5632198
> y1 <- f1(x)
> y2 <- f2(x, s)
>
>
> # plot:
> plot(x, y1, type='p', col='red', cex=0.5)
> lines(lowess(x, y1, f=0.25), col='red')
>
> points(x, y2, col='blue', cex=0.5)
> lines(lowess(x, y2, f=0.25), col='blue')
>
>
> # generate time series object
> comb.ts <- ts(matrix(c(y1, y2), ncol=2))
>
> # multivariate spectral decomposition
> spec <- spectrum(comb.ts, detrend=FALSE)
>
> # but how to interpret the phase estimate?
> mean(spec$phase)
>
> the mean 'phase' as returned from spectrum() does not seem to match the
> value
> used to generate the data... Am I mis-interpreting the use or output from
> spectrum() here? If so, is there a general procedure for estimating a
> phase-shift between two noisy signals? Would I first have to fit a smooth
> function in order to solve this analytically?
>
> Thanks in advance,
>
>
>
> --
> Dylan Beaudette
> Soil Resource Laboratory
> http://casoilresource.lawr.ucdavis.edu/
> University of California at Davis
> 530.754.7341
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
>
-----
The power of accurate observation is commonly called cynicism
by those who have not got it. George Bernard Shaw
--
View this message in context: http://www.nabble.com/estimate-phase-shift-between-two-signals-tp17653636p17682957.html
Sent from the R help mailing list archive at Nabble.com.
More information about the R-help
mailing list