> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# FFTUnswizzle

> FFTUnswizzle

# FFTUnswizzle

This function arranges the output of the Fast Fourier Transform (FFT) function by increasing frequency.

## Syntax

```cpp theme={null}
void DSP::FFTUnswizzle(  
         XMVECTOR* __restrict pOutput,  
         const XMVECTOR* __restrict pInput,  
         const size_t uLog2Length  
)  
```

### Parameters

*pOutput*   \_Out\_writes\_((1 \<\< uLog2Length) / 4)\
Type: XMVECTOR\* \_\_restrict

Caller-supplied output buffer. *pOutput* receives samples by increasing frequency. The buffer must have at least 1 \<\< *uLog2Length* / 4 elements.

*pInput*   \_In\_reads\_((1 \<\< uLog2Length) / 4)\
Type: XMVECTOR\* \_\_restrict

Input buffer that contains samples in bit-reversed order, as generated by FFT functions. The buffer must have at least 1 \<\< *uLog2Length* / 4 elements.

*uLog2Length*   \_In\_\
Type: size\_t

Base-2 log of the FFT length in samples. *uLog2Length* must be greater than or equal to 2.

### Return value

Type: void

None.

## Remarks

The FFT functions generate output in bit-reversed order. Use **FFTUnswizzle** to rearrange that output according to increasing frequency. To view the syntax and parameters of the Fast Fourier Transform function, see [FFT](/reference/audio/xdsp/functions/fft). All buffer parameters must be 16-byte aligned. Audio data must be FLOAT32 mono.

## Requirements

**Header:** xdsp.h

**Supported platforms:** XBOX One family consoles and XBOX Series consoles

## See also

[xdsp](/reference/audio/xdsp/xdsp_members)

[Game for Windows and the DirectX SDK blog](https://walbourn.github.io/xdsp-h-digital-signal-processing-helper-functions/)

[FFTInterleaved](/reference/audio/xdsp/functions/fftinterleaved)


## Related topics

- [FFTInterleaved](/reference/audio/xdsp/functions/fftinterleaved.md)
