Function

vDSP_fft_zript

Computes an in-place single-precision real discrete Fourier transform, either from the time domain to the frequency domain (forward) or from the frequency domain to the time domain (inverse). Usesa temporary buffer to improve performance.

Declaration

void vDSP_fft_zript(FFTSetup __Setup, 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.

__C

Complex input/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 N/2 elements (where N is 2 raised to Log2N). 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

Forward transforms read real input and write packed complex output. Inverse transforms read packed complex input and write real output. As a result of packing the frequency-domain data, time-domain data and its equivalent frequency-domain data have the same storage requirements. You can find more details on the packing format in vDSP Programming Guide in vDSP Programming Guide.

mathematical formula

where F is Direction, C is C, 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 (In-Place Real)

vDSP_fft_zrip

Computes an in-place single-precision real discrete Fourier transform, either from the time domain to the frequency domain (forward) or from the frequency domain to the time domain (inverse).

vDSP_fft_zripD

Computes an in-place double-precision real discrete Fourier transform, either from the time domain to the frequency domain (forward) or from the frequency domain to the time domain (inverse).

vDSP_fft_zriptD

Computes an in-place double-precision real discrete Fourier transform, either from the time domain to the frequency domain (forward) or from the frequency domain to the time domain (inverse).

vDSP_fftm_zrip

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

vDSP_fftm_zripD

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

vDSP_fftm_zript

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

vDSP_fftm_zriptD

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