ifft | R Documentation |
Compute the inverse Fast Fourier Transform compatible with 'Matlab' and 'Octave'.
ifft(x)
imvfft(x)
x |
Real or complex vector, array, or matrix. |
The 'fft'
function in the 'stats'
package can compute the
inverse FFT by specifying inverse = TRUE
. However, that function does
not divide the result by length(x)
, nor does it return real
values when appropriate. The present function does both, and is this
compatible with 'Matlab' and 'Octave' (and differs from the 'ifft'
function in the 'signal'
package, which does not return real values).
When x
is a vector, the value computed and returned by
ifft
is the univariate inverse discrete Fourier transform of the
sequence of values in x
. Specifically, y <- ifft(x)
is
defined as stats::fft(x, inverse = TRUE) / length(x)
. The
stats::fft
function called with inverse = TRUE
replaces
exp(-2 * pi...)
with exp(2 * pi)
in the definition of the
discrete Fourier transform (see fft
).
When x
contains an array, ifft
computes and returns the
normalized inverse multivariate (spatial) transform. By contrast,
imvfft
takes a real or complex matrix as argument, and returns a
similar shaped matrix, but with each column replaced by its normalized
inverse discrete Fourier transform. This is useful for analyzing
vector-valued series.
Geert van Boxtel, G.J.M.vanBoxtel@gmail.com.
fft
res <- ifft(stats::fft(1:5))
res <- ifft(stats::fft(c(1+5i, 2+3i, 3+2i, 4+6i, 5+2i)))
res <- imvfft(stats::mvfft(matrix(1:20, 4, 5)))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.