Function

vDSP_fft2d_zop

Computes an out-of-place single-precision complex discrete FFT, either from the spatial domain to the frequency domain (forward) or from the frequency domain to the spatial domain (inverse).

Declaration

void vDSP_fft2d_zop(FFTSetup __Setup, const DSPSplitComplex *__A, vDSP_Stride __IA0, vDSP_Stride __IA1, const DSPSplitComplex *__C, vDSP_Stride __IC0, vDSP_Stride __IC1, vDSP_Length __Log2N0, vDSP_Length __Log2N1, FFTDirection __Direction);

Parameters

__Setup

Points to a structure initialized by a prior call to vDSP_create_fftsetup. The value supplied as parameter Log2n of the setup function must equal or exceed the values supplied as parameters Log2N0 and Log2N1 of this transform function.

__A

Complex 2-dimensional input vector, i.e. a matrix.

__IA0

Stride between elements in a row of A.

__IA1

Stride between elements in a column ofA; should generally be allowed to default unless the matrix is a submatrix. To default both IA1 and IC1, pass 0 for either or both parameters.

The default column stride equals the row stride multiplied by the column count. Thus, if IA0 is 1 and IA1 is 0, every element of the input /output matrix is processed. If IA0 is 2 and IA1 is 0, every other element of each row is processed.

If not 0, parameter IA1 represents the distance between adjacent rows of the matrix.

__C

Complex 2-dimensional output vector, i.e. a matrix.

__IC0

Stride between elements in a row of C.

__IC1

Stride between elements in a column ofC; should generally be allowed to default unless the matrix is a submatrix. To default both IA1 and IC1, pass 0 for either or both parameters.

The default column stride equals the row stride multiplied by the column count. Thus, if IC0 is 1 and IC1 is 0, every element of the input /output matrix is processed. If IC0 is 2 and IC1 is 0, every other element of each row is processed.

If not 0, parameter IC1 represents the distance between adjacent rows of the matrix.

__Log2N0

The base 2 exponent of the number of columns to process for each row.

__Log2N1

The base 2 exponent of the number of rows to process. For example, to process 64 rows of 128 columns, specify 7 for Log2N0 and 6 for Log2N1.

__Direction

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

Discussion

This performs the following operation:

mathematical formula

where F is Direction, N is two raised to Log2N1, M is is two raised to Log2N0, and j is the square root of -1.

See also functions vDSP_create_fftsetup and vDSP_destroy_fftsetup.

See Also

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

vDSP_fft2d_zopD

Computes an out-of-place double-precision complex discrete FFT, either from the spatial domain to the frequency domain (forward) or from the frequency domain to the spatial domain (inverse).

vDSP_fft2d_zopt

Computes an out-of-place single-precision complex discrete FFT, either from the spatial domain to the frequency domain (forward) or from the frequency domain to the spatial domain (inverse). A buffer is used for intermediate results.

vDSP_fft2d_zoptD

Computes an out-of-place double-precision complex discrete FFT, either from the spatial domain to the frequency domain (forward) or from the frequency domain to the spatial domain (inverse). A buffer is used for intermediate results.