tukeywindow | R Documentation |
Several windowing functions for spectral or Fourier analysis of time series data are provided.
tukeywindow(N, r = 0.1) squarewindow(N) hannwindow(N) welchwindow(N) trianglewindow(N) hammingwindow(N, alpha=0.543478261) cosinewindow(N, alpha=1) kaiserwindow(N, alpha=3)
N |
the length of the time series to be windowed |
r |
the Tukey window's parameter, denoting the its "non-flat" fraction. |
alpha |
additional parameter for Hamming-, cosine-, and Kaiser-windows. |
Windowing of time series data, i.e., multiplication with a tapering
function, is often useful in spectral or Fourier analysis in order to
reduce "leakage" effects due to the discrete and finite
sampling. These functions provide windowing coefficients for a given
sample size N
.
A vector (of length N
) of windowing coefficients.
Christian Roever, christian.roever@med.uni-goettingen.de
Harris, F. J. On the use of windows for harmonic analysis with the discrete Fourier transform. Proceedings of the IEEE, 66(1):51–83, 1978. doi: 10.1109/PROC.1978.10837
Press, W. H., Teukolsky, S. A., Vetterling, W. T., Flannery, B. P. Numerical recipes in C. Cambridge University Press, 1992.
welchPSD
, empiricalSpectrum
# illustrate the different windows' shapes: N <- 100 matplot(1:N, cbind(cosinewindow(N), hammingwindow(N), hannwindow(N), kaiserwindow(N), squarewindow(N), trianglewindow(N), tukeywindow(N,r=0.5), welchwindow(N)), type="l", lty="solid", col=1:8) legend(N, 0.99, legend=c("cosine","hamming","hann","kaiser", "square","triangle","tukey","welch"), col=1:8, lty="solid", xjust=1, yjust=1, bg="white") # show their effect on PSD estimation: data(sunspots) spec1 <- welchPSD(sunspots, seglength=10, windowfun=squarewindow) plot(spec1$frequency, spec1$power, log="y", type="l") spec2 <- welchPSD(sunspots, seglength=10, windowfun=tukeywindow, r=0.25) lines(spec2$frequency, spec2$power, log="y", type="l", col="red") spec3 <- welchPSD(sunspots, seglength=10, windowfun=trianglewindow) lines(spec3$frequency, spec3$power, log="y", type="l", col="green")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.