R: Compute fft using fftw3

fftw {fftwtools} R Documentation

Compute fft using fftw3

Description

These functions compute the FFT using the FFTW3 libraries.
Use fftw_r2c(x, HermConj=0) for real to complex fft. This will
return the result without the redundant complex conjugate. This follows the R
convention for returning the unscaled inverse of the FFT. The function
fftw_c2r(res, HermConj=0, n=length(x)) will invert the FFT
from the result not containing the redundant complex conjugate. You must
specify, n, the dimension of the original data–length–if the
redundant complex conjugate is not included.

Usage

fftw(data, inverse=0, HermConj=1, n=NULL)
fftw(data, inverse=0, HermConj=1, n=NULL)
fftw_r2c(data, HermConj=1)
fftw_c2c(data, inverse=0)
fftw_c2r(data, HermConj=1, n=NULL)

Arguments

data

(complex or real) vector to be processed

inverse

(integer) 1 or 0 indicating if inverse FFT is
preformed. The return follows the format of the R FFT commands–the
output is not scaled.

HermConj

(integer) 1 or 0 indicating if either “Hermitian” redundant
conjugate should be returned, or that the complex to real data
includes the “Hermitian” redundant
conjugate.

n

(integer) column length of the original data set. This is required when using
the inverse complex to real FFT without providing the “Hermitian” redundant
conjugate.

Author(s)

Karim Rahim

Examples

res <- fftw_r2c(1:9)
res
fftw_c2r(res)/9
res
fftw_c2r(res)/9

res <- fftw_r2c(1:10)
res
fftw_c2r(res)/10
res
fftw_c2r(res)/10

res <- fftw_r2c(1:9, HermConj=0)
res
fftw_c2r(res, HermConj=0, n=9)/9

res <- fftw_r2c(1:10, HermConj=0)
res
fftw_c2r(res, HermConj=0, n=10)/10

fftw_r2c(1:3)
fftw_c2r(fftw_r2c(1:3))/3
fftw_c2r(fftw_r2c(1:2))/2
fftw_c2r(fftw_r2c(1:4))/4


fftw_r2c(1:3, HermConj=1)
fftw_c2r(fftw_r2c(1:3, HermConj=0), HermConj=0, n=3)/3

fftw_c2r(fftw_r2c(1:4, HermConj=0), HermConj=0, n=4)/4
fftw_c2r(fftw_r2c(1:20, HermConj=0), HermConj=0, n=20)/20


[Package fftwtools version 0.9-11 Index]

Read more here: Source link