Using structures for performing operations on complex numbers made programming this experiment relatively simpler. I have used recursion in the FFT function which makes it functional for any radix-2 value of N, unlike the example codes provided, which had separate functions for different values of N. Because of this, the input signal of any length has to be first converted into a radix-2 form by appending the necessary amount of 0's and then calculating FFT.
IFFT simply uses FFT for its calculation.
FFT is so useful in practical applications. Even modern DSOs have an FFT function to analyze spectrums for signals.
ReplyDeleteSo you have used the Cooley–Tukey algorithm for finding FFT.
ReplyDeleteFFT is a very efficient group of algorithms and they lower the computational complexity from O(N^2) to O(N*log(N)) and that is actually great!
ReplyDeleteGreat idea to use structures to store complex numbers
ReplyDeleteThe program is written well, it can be easily used by others
ReplyDelete