FFT C Algorithm Code Rationale

http://www.tech.dmu.ac.uk/~eg/tensiometer/fft/fft.c

http://www.tech.dmu.ac.uk/~eg/tensiometer/fft/fft_test.c

I found a nice working C code for an FFT algorithm to convert Time Domain to frequency domain and vice versa in the links above. But I wanted to know the flowchart or step-by-step workflow of this code. I am trying to parse code with time decimation butterfly method for FFT, but I am having difficulty understanding the code. The code works very well and gives me correct results, but it would be very helpful for me if someone could provide a short or detailed explanation of how this code works.

I am confused with the array and pointers used in the fft.c. code. Also I am not getting offset and delta values in the code. How is a rectangular matrix of real and imaginary members viewed in code? Please guide me.

Thanks, Psbk

+3


source to share


1 answer


I highly recommend reading the following: fooobar.com/questions/1560028 / ...

Now at a glance, the offset and delta are used to:

  • do the butterfly shuffle permutation
  • you start at step 1 and half interval
  • and by recursion you get log2 (N) step and interval of 1 point ...
  • +/- one level of recursion
  • I usually do the butterfly in reverse order


Array XX

  • is a buffer for storing subtasks or input data.
  • you cannot easily FFT (if at all)
  • so you compute to / from a temporary buffer instead of
  • and on each recursion just change data and temp buffers (physically or their value).
0


source







All Articles