my advice is to pick an fft library and use it, and spend your time concentrating on the output, not the algorithm.