Function

vDSP_fft_zopt

Computes an out-of-place single-precision complex discrete Fourier transform of the input vector, either from the time domain to the frequency domain (forward) or from the frequency domain to the time domain (inverse).

Declaration

void vDSP_fft_zopt(FFTSetup __Setup, const DSPSplitComplex *__A, vDSP_Stride __IA, const DSPSplitComplex *__C, vDSP_Stride __IC, const DSPSplitComplex *__Buffer, vDSP_Length __Log2N, FFTDirection __Direction);

Parameters

__Setup

Points to a structure initialized by a prior call to the FFT setup data function, vDSP_create_fftsetup. The value supplied as parameter Log2n of the setup function must equal or exceed the value supplied as parameter Log2N of this transform function.

__A

Complex input vector.

__IA

Stride between elements in A. The value of IA should be 1 for best performance.

__C

Complex output vector.

__IC

Stride between elements in C. The value of IC should be 1 for best performance.

__Buffer

A temporary vector used for storing interim results. The minimum size of temporary memory for each part (real and imaginary) is the lesser of the size of N elements or 16,384 bytes. For best performance, the buffer addresses should be 16-byte aligned or better.

__Log2N

The base 2 exponent of the number of elements to process. For example, to process 1024 elements, specify 10 for parameter Log2N.

__Direction

A forward/inverse directional flag, which must specify kFFTDirection_Forward (+1) or kFFTDirection_Inverse (-1).

Discussion

This performs the following operation:

mathematical formula

where F is Direction, C is A, j is the square root of -1, and N is two raised to the power of Log2N.

See also functions vDSP_create_fftsetup and vDSP_destroy_fftsetup.

See Also

1D Fast Fourier Transforms (Out-of-Place Complex)

vDSP_fft_zop

Computes an out-of-place single-precision complex discrete Fourier transform of the input vector, either from the time domain to the frequency domain (forward) or from the frequency domain to the time domain (inverse).

vDSP_fft_zopD

Computes an out-of-place double-precision complex discrete Fourier transform of the input vector, either from the time domain to the frequency domain (forward) or from the frequency domain to the time domain (inverse).

vDSP_fft_zoptD

Computes an out-of-place double-precision complex discrete Fourier transform of the input vector, either from the time domain to the frequency domain (forward) or from the frequency domain to the time domain (inverse).

vDSP_fftm_zop

Performs the same operation as vDSP_fft_zop, but on multiple signals with a single call.

vDSP_fftm_zopD

Performs the same operation as vDSP_fft_zopD, but on multiple signals with a single call.

vDSP_fftm_zopt

Performs the same operation as vDSP_fft_zopt, but on multiple signals with a single call.

vDSP_fftm_zoptD

Performs the same operation as vDSP_fft_zoptD, but on multiple signals with a single call.

vDSP_fft3_zop

Computes an out-of-place radix-3 complex Fourier transform, either forward or inverse. The number of input and output values processed equals 3 times the power of 2 specified by parameter Log2N; single precision.

Deprecated
vDSP_fft3_zopD

Computes an out-of-place radix-3 complex Fourier transform, either forward or inverse. The number of input and output values processed equals 3 times the power of 2 specified by parameter Log2N; double precision.

Deprecated
vDSP_fft5_zop

Computes an out-of-place radix-5 complex Fourier transform, either forward or inverse. The number of input and output values processed equals 5 times the power of 2 specified by parameter Log2N; single precision.

Deprecated
vDSP_fft5_zopD

Computes an out-of-place radix-5 complex Fourier transform, either forward or inverse. The number of input and output values processed equals 5 times the power of 2 specified by parameter Log2N; double precision.

Deprecated