cfft1d,zfft1d(3F) cfft1d,zfft1d(3F)
cfft1d, zfft1d - 1D, Real Complex-to-Complex, Fast Fourier Transforms.
Fortran :
subroutine cfft1d( sign, n, array, inc, coeff )
integer sign, n, inc
complex array(0:(N-1)*inc), coeff(n+15)
subroutine zfft1d( sign, n, array, inc, coeff )
integer sign, n, inc
double complex array(0:(N-1)*inc), coeff(n+15)
C :
#include <fft.h>
int cfft1d ( int sign, int n, complex *array,
int inc, complex *coeff);
int zfft1d ( int sign, int n, zomplex *array,
int inc, zomplex *coeff);
cfft1d and zfft1d compute the Fourier transform of a complex sequence.
The k-th index F(k) of the Fourier transform of a real sequence f(i) is
equal to:
F(k) = Sum ( W^(i*k) * f(i) ), for i =0, ..., (N-1)
W = exp( (Sign*2*sqrt(-1)*PI) / N )
The Direct Fourier transform is performed in-place, so the input sequence
is overwritten by its Fourier transform.
SIGN Integer specifying which sign to be used for the expression of W
(see above) - must be either +1 or -1.
The choice for the sign of the direct transform is just a matter of
convention. For the reverse transform, it must be the opposite.
Unchanged on exit.
N Integer, the number of samples in each sequence.
Unchanged on exit.
ARRAY Array containing the samples of the sequence to be transformed.
On input, the element "i" of the sequence is stored as A(i*inc) in
Fortran , and A[i*inc] in C.
On exit, the array is overwritten by its transform.
INC Integer, increment between two consecutive elements of a sequence.
Unchanged on exit.
COEFF Array of at least ( N + 15 ) elements. On entry it contains the
Sines/Cosines and factorization of N. COEFF needs to be initialized with
a call to cfft1di or zfft1di.
Page 1
cfft1d,zfft1d(3F) cfft1d,zfft1d(3F)
Unchanged on exit.
Example of Calling Sequence
Direct Fourier Transform of a sequence of 1024 complex values. Elements
of sequence are stored with increment (stride) 1.
Fortran
complex array(0:1024-1), coeff(1024+15)
call cfft1di( 1024, coeff)
call cfft1d( -1, 1024, array, 1, coeff)
C
#include <fft.h>
complex array[1024], *coeff;
coeff = cfft1di( 1024, NULL);
cfft1d( -1, 1024, array, 1, coeff);
fft, cfft1di, zfft1di, cscal1d, zscal1d
PPPPaaaaggggeeee 2222 [ Back ]
|