Function

vDSP_fftm_zropt(_:_:_:_:_:_:_:_:_:_:_:)

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

Declaration

func vDSP_fftm_zropt(_ __Setup: FFTSetup, _ __A: UnsafePointer<DSPSplitComplex>, _ __IA: vDSP_Stride, _ __IMA: vDSP_Stride, _ __C: UnsafePointer<DSPSplitComplex>, _ __IC: vDSP_Stride, _ __IMC: vDSP_Stride, _ __Buffer: UnsafePointer<DSPSplitComplex>, _ __Log2N: vDSP_Length, _ __M: vDSP_Length, _ __Direction: FFTDirection)

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 earlier call to the setup function must equal or exceed the value supplied as parameter Log2N of this transform function.

__A

Complex input vector where multiple input signals are concatenated.

__IA

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

__IMA

Stride (in elements) between signals in the vector A (which is also the length of each signal, measured in elements).

__C

Complex output vector where multiple output signals are concatenated.

__IC

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

__IMC

Stride (in elements) between signals in the vector C (which is also the length of each signal, measured in elements).

__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.

__M

The number of input signals.

__Direction

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

Discussion

The functions allow you to perform discrete Fourier transforms on a number of different input signals at once, using a single call. They can be used for efficient processing of small input signals (less than 512 points). They will work for input signals of 4 points or greater. Each of the input signals processed by a given call must have the same length and address stride. The input signals are concatenated into a single output vector, the parameter C.

The functions compute out-of-place real discrete Fourier transforms of the input signals, either from the time domain to the frequency domain (forward) or from the frequency domain to the time domain (inverse).

See also functions vDSP_create_fftsetup, vDSP_destroy_fftsetup, and vDSP Programming Guide.

See Also

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

func vDSP_fft_zrop(FFTSetup, UnsafePointer<DSPSplitComplex>, vDSP_Stride, UnsafePointer<DSPSplitComplex>, vDSP_Stride, vDSP_Length, FFTDirection)

Computes an out-of-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).

func vDSP_fft_zropD(FFTSetupD, UnsafePointer<DSPDoubleSplitComplex>, vDSP_Stride, UnsafePointer<DSPDoubleSplitComplex>, vDSP_Stride, vDSP_Length, FFTDirection)

Computes an out-of-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).

func vDSP_fft_zropt(FFTSetup, UnsafePointer<DSPSplitComplex>, vDSP_Stride, UnsafePointer<DSPSplitComplex>, vDSP_Stride, UnsafePointer<DSPSplitComplex>, vDSP_Length, FFTDirection)

Computes an out-of-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).

func vDSP_fft_zroptD(FFTSetupD, UnsafePointer<DSPDoubleSplitComplex>, vDSP_Stride, UnsafePointer<DSPDoubleSplitComplex>, vDSP_Stride, UnsafePointer<DSPDoubleSplitComplex>, vDSP_Length, FFTDirection)

Computes an out-of-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).

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.

Learn more about using Apple's beta software