# fftw: Compute fft using fftw3 In fftwtools: Wrapper for 'FFTW3' Includes: One-Dimensional, Two-Dimensional, Three-Dimensional, and Multivariate Transforms

## 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

 ```1 2 3 4 5``` ```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.

Karim Rahim

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31``` ```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 ```

fftwtools documentation built on March 1, 2021, 5:07 p.m.