DirectXMath
DirectXMath copied to clipboard
Improve FFTUnswizzle performance
Edit: I'm completely rewriting my entry
Using the FFT in XDSP.h I'm implementing a transform routine for pure real sequences equivalent to the function ippsFFTFwd_RToCCS_32f in the Intel IPP. The idea is to use an N/2 complex FFT as described in the literature.
In order to improve the performance of my routine I would like to unswizzle the frequency domain values in place. For even powers of two a swap reordering will do (i.e. the usual radix-4 digit reversal). For odd powers of two, though, FFTUnswizzle keeps the three most significant bits of the index together, like this: 011 10 11 01 -> 01 11 10 011 , which makes implementing in place reordering a bit more challenging.
Has anyone looked into this already?