FFTInterleaved

This function applies a 2N-sample Fast Fourier Transform, and unswizzles the result such that the samples are in order of increasing frequency. Audio is first deinterleaved if it is multichannel.

Syntax

void FFTInterleaved(
         XMVECTOR __restrict *pReal,
         XMVECTOR __restrict *pImaginary,
         const XMVECTOR __restrict *pUnityTable,
         const size_t uChannelCount,
         const size_t uLog2Length
)  

Parameters

pReal
Type: XMVECTOR __restrict *

[in, out] Real components of the FFT. Must have as least (1 << uLog2Length × uChannelCount) ÷ 4 elements.

pImaginary
Type: XMVECTOR __restrict *

[out] Imaginary components of the FFT. Must have at least (1 << uLog2Length × uChannelCount) ÷ 4 elements.

pUnityTable
Type: XMVECTOR __restrict *

[in] Unity table the FFT should use. Must have at least (1 << uLog2Length) elements. See FFTInitializeUnityTable for more information.

uChannelCount
Type: size_t 

[in] Number of channels in the FFT. uChannelCount must be within [1,6].

uLog2Length
Type: size_t 

[in] Log (base 2) of FFT length in frames. uLog2Length must be within [2, 9].

Return value

Type: void 

None.

Requirements

Header: Declared in XDSP.h.

Namespace: Use XDSP.

See also

XDSP Functions