0

I'm currently studying FFT. We had one exercise, where we had to expand a 3-point DFT with inputs x(0),x(1), x(2) into a 6-point DFT

The literature states to apply bit-reversal $\begin{array}{|c|c|c|c|c|c|c|} \hline t & 0&1&2&3&4&5\\ \hline Binary&000&001&010&011&100&101\\ \hline ReverseBinary&000&100&010&110&001&101\\ \hline ReverseInteger&0&4&2&6&1&5\\ \hline \end{array}$

Thus

$Inputs(DFT_1)=x(0), x(4), x(2)$

$Inputs(DFT_2)= x(1), x(5), x(3)$

Now the solution ordered them

$Inputs(DFT_1)=x(0), x(2), x(4)$

$Inputs(DFT_2)= x(1), x(3), x(5)$

So we can reorder them as we like. Do we order them because X(0) has to be used in the butterly with X(3)? So we order them to improve the readibility of the corresponding diagram?

Rapiz
  • 23
  • 4

1 Answers1

2

The ordering is an artifact of the decimation operation of the algorithm. "Decimation", which is selecting every other sample consecutively as we go through the stages of the algorithm, has the interesting effect of reversing the binary representations of the time index of the waveform (for the Decimation-in-Time variant of the algorithm) or the frequency index of the waveform (for the Decimation-in-Frequency variant).

I demonstrate this for the DIT variant in the graphic below:

DIT FFT algorithm

The decimation comes from the foundational insight that breaking a longer DFT into two components (by taking every other sample for each) and doing 2 DFT's is more efficient than doing the one big one. So the algorithm keeps doing this (keeps decimating) until there is just a bunch of two point DFT's (in the nice case that the length of original is a power of 2), and this ordering is the grouping necessary for those two point DFT's. This leads to the implementation flowgraphs we see such as depicted here.

Dan Boschen
  • 50,942
  • 2
  • 57
  • 135
  • this bit-reversal trick only works when your smallest FFTs process 2 points each, right? – user253751 Mar 21 '22 at 12:10
  • @user253751 it is specific to the "Radix 2 FFT" which assumes the length is a power of 2 and results in all FFT's being 2 point FFT's. – Dan Boschen Mar 21 '22 at 12:11