Closed astrojhgu closed 5 years ago
You can compute a multidimensional FFT, but you’ll have to do it manually. There is no library support for it. A 2D FFT should be easy, make a FFT instance for the size of each axis, and an array with width * height elements. Iterate over your array in chunks of size width, and compute your width-size FFT on each chunk. Then transpose your 2D array, and iterate again in chunks of size height and compute your height-size FFT on each chunk. After that, you probably want to transpose again.
The same idea is true for higher dimensions, with one FFT pass per dimension.
Take a look at algorithm/mixed_radix.rs it does almost this exact “iterate and transpose” algorithm, although it does a little extra work that you won’t need
On Fri, Oct 26, 2018 at 4:50 AM Gu Junhua notifications@github.com wrote:
Or would it be supported in the future?
Thanks.
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/awelkie/RustFFT/issues/39, or mute the thread https://github.com/notifications/unsubscribe-auth/ABGmeumAaG2gpT2D-3ibVelseL8DkfWXks5uovb4gaJpZM4X8E_t .
Yes, the ofuton crate uses rustfft to provide N-dimensional FFT.
Thanks @ejmahler and @jimrybarski .
Or would it be supported in the future?
Thanks.