fft(z, inverse = FALSE) mvfft(z, inverse = FALSE)
z
| a real or complex value array containing the values to be transformed |
inverse
|
if TRUE, the inverse transform is computed (the
inverse has a + in the exponent of e and divides the
values by 1/length(x) before transforming).
|
z is a vector, the value computed and returned by
fft is the univariate Fourier transform of the sequence of
values in z. When z contains an array, fft
computes and returns the multivariate (spatial) transform.
By contrast, mvfft takes a real or complex matrix as argument,
and returns a similar shaped matrix, but with each column replaced by
its discrete Fourier transform. This is useful for analyzing
vector-valued series.
The FFT is fastest when the length of of the series being transformed is highly composite (i.e. has many factors). If this is not the case, the transform may take a long time to compute and will use a large amount of memory.
convolve, nextn.
plot(fft(c(9:0,0:13, numeric(301))), type = "l")
periodogram <- function(x) { # simple periodogram
n <- length(x)
Mod(fft(unclass(x)))[1:(n%/%2 + 1)]^2 / (2*pi*n)
}
data(sunspots)
plot(10*log10(periodogram(sunspots)), type = "b", col = "blue")