Function

vDSP_fft2d_zrop

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

Parameters

`__Setup`

Points to a structure initialized by a prior call to the FFT weights array function, `vDSP_create_fftsetup`. The value supplied as parameter `Log2n` of the setup function must equal or exceed the value supplied as parameter `Log2N0` or `Log2N1`, whichever is larger, 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 of`A`; should generally be allowed to default (by passing 0) unless the matrix is a submatrix. 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 of`C`; should generally be allowed to default (by passing 0) unless the matrix is a submatrix. 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 `strideInCol` 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

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, spatial-domain data and its equivalent frequency-domain data have the same storage requirements.

Real data is stored in split complex form, with odd reals stored on the imaginary side of the split complex form and even reals stored on the real side.

See also functions `vDSP_create_fftsetup` and `vDSP_destroy_fftsetup`.

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

`vDSP_fft2d_zropD`

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

`vDSP_fft2d_zropt`

Computes an out-of-place single-precision real 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_zroptD`

Computes an out-of-place double-precision real 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.

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.