Hi everybody.

I dunno if it is the right section, as I'm using c to implement my project, but it's a pretty technical issue about alghoritms.

I'm not so skilled in C, and part of my project is about implementing convolution\cross-correlation between two signals (implemented with vectors of fixed size).

I read in lot of websites that fast fourier transform is preferred on standard convolution because complexity goes from O(n^2) to O(nlogn), so it's worthy to give an effort understanding it.

Lot of libraries offer C implementations for FFT, so I found the one I think is best for my case (my vectors are powers of 2, that's important sentence for this operation), so I'm trying to understand Cooley-Tukey alghoritm to use it in my project.

Talking in math terms, I expect C function to get my vector as parameter, and give me back FFT transformed vector, but all functions I found get as parameters more stuff I don't understand very well, so if you could help me, I'd post here famous C code for the implementation of FFT, I try to comment what I understood about it and posting some question to more skilled people to understand the code better, and eventually improve it to fit better to what I need (obviously I'm not asking you to explain me all of the code, or to do the job for me, it's obvious, but if you want you could help me understanding the code better).

So, here we are.

That's the code I found...

(next post, wait a sec)