|
BRL-CAD
|
The Fast-Fourier Transform library is a signal processing library for performing FFTs or inverse FFTs efficiently. More...
Files | |
| file | fft.h |
Data Structures | |
| struct | COMPLEX |
Functions | |
| void | splitdit (int N, int M) |
| void | ditsplit (int n, int m) |
| void | rfft (double *X, int N) |
| Real valued, split-radix, decimation in time FFT. More... | |
| void | irfft (double *X, int n) |
| Split Radix, Decimation in Frequency, Inverse Real-valued FFT. More... | |
| void | cfft (COMPLEX *dat, int num) |
| Forward Complex Fourier Transform. More... | |
| void | icfft (COMPLEX *dat, int num) |
| void | cdiv (COMPLEX *result, COMPLEX *val1, COMPLEX *val2) |
| void | rfft256 (register double X[]) |
| void | irfft256 (register double X[]) |
The Fast-Fourier Transform library is a signal processing library for performing FFTs or inverse FFTs efficiently.
| void splitdit | ( | int | N, |
| int | M | ||
| ) |
Generates Real Split Radix Decimation in Time source files
| void ditsplit | ( | int | n, |
| int | m | ||
| ) |
Generates Real Split Radix Decimation in Freq Inverse FFT source files
| n | [in] length |
| m | [in] n = 2^m |
| void rfft | ( | double * | X, |
| int | N | ||
| ) |
Real valued, split-radix, decimation in time FFT.
Data comes out as: [ Re(0), Re(1), ..., Re(N/2), Im(N/2-1), ..., Im(1) ]
| void irfft | ( | double * | X, |
| int | n | ||
| ) |
Split Radix, Decimation in Frequency, Inverse Real-valued FFT.
Input order: [ Re(0), Re(1), ..., Re(N/2), Im(N/2-1), ..., Im(1) ]
| X | [in] ? |
| n | [in] length |
| void cfft | ( | COMPLEX * | dat, |
| int | num | ||
| ) |
Forward Complex Fourier Transform.
"Fast" Version - Function calls to complex math routines removed. Uses pre-computed sine/cosine tables.
The FFT is:
N-1
Xf(k) = Sum x(n)(cos(2PI(nk/N)) - isin(2PI(nk/N)))
n=0
| void icfft | ( | COMPLEX * | dat, |
| int | num | ||
| ) |
Inverse Complex Fourier Transform
Complex divide (why is this public API when none of the other complex math routines are?)
| void rfft256 | ( | register double | X[] | ) |
| void irfft256 | ( | register double | X[] | ) |