cascaded FFTs

Started by amlangford 6 years ago3 replieslatest reply 6 years ago463 views


I've been studying a proposed dataflow for an FFT solution and noticed the use of back-to-back FFTs separated by matrix transpose operations. I've not encountered this before so was hoping for some pointers on how this is possible.

The requirement is for a very large FFT, 2097152 point (1024 x 2048)

This is achieved using the following dataflow:

matrix transpose

1024 pt FFT

matrix transpose

2048 pt FFT

matrix transpose

Has anyone encountered this type of dataflow before; how does the use of the matrix transpose allow FFTs to be placed back-to-back.

Appreciate any comments 

[ - ]
Reply by oliviertJuly 10, 2017

Hi Amlangford,

it is a little more complex than that.

There are some weights before the second FFT

I attached a pdf file that explains the method and 2 matlab files that implements it.


I had to zip the pdf file to fit within the 1MB limit!



Here it talks about Super Sampling FFT because it was a study on how to implement 1D FFT using multiple parallel FFT (typically data arriving at 4GS/s, processed by an FPGA running at 500MHz using 8 parallel FFT cores, + a parallel FFT8 plugged at the output).

Have fun!


[ - ]
Reply by amlangfordJuly 10, 2017

Thanks for the replies.

[Oliver] "There are some weights before the second FFT"   .... yes that makes sense, I forgot to mention that the dataflow diagram Im looking has twiddle factor multiplies between the successive FFTs, as well as the matrix transposes, which fits with your comment. 

Thanks for the pdf, that should help me to get my head around this method. I wasn't even sure where to start with a google search!


[ - ]
Reply by MichaelRWJuly 10, 2017

On the face of it, don't these operations just perform a 2-dimensional FFT with different frequency resolutions in each dimension?