1
0
mirror of https://github.com/microsoft/DirectXMath synced 2024-09-18 22:29:53 +00:00
1 FFTInterleaved
Chuck Walbourn edited this page 2016-05-23 16:28:39 -07:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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.

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

Parameters

pReal

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

pImaginary

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

pUnityTable

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

uChannelCount

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

uLog2Length

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

Remarks

All buffer parameters must be 16-byte aligned. Audio data must be 32-bit float mono.