Computes an in-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.
- iOS 4.0+
- macOS 10.0+
- Mac Catalyst 13.0+
- tvOS 9.0+
- watchOS 2.0+
Points to a structure initialized by a prior call to
v. The value supplied as parameter
DSP _create _fftsetup
Log2nof the setup function must equal or exceed the values supplied as parameters
log2nof this transform function.
A 2-dimensional complex input/output vector, i.e. a matrix.
Stride between elements in a row of
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 IC0*N0/2, where N0 is the column count.
If not 0, parameter
IC1represents the distance between adjacent rows of the matrix.
A temporary matrix used for storing interim results. Both the
buffermust contain temporary buffers. The size of those buffers must be at least the greater of
N0 / 2elements, where
N1is the number of rows (
N0is the number of columns (
Log2N0). For best performance, the buffer addresses should be 16-byte aligned or better.
The base 2 exponent of the number of columns to process for each row.
The base 2 exponent of the number of rows to process. For example, to process 64 rows of 128 columns, specify
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.
where C is
_, F is
_, N is two raised to
_, M is two raised to
_, and j is the square root of
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.