I have a hydrophone which sends voltage as input into my PC. I want to pass this through an FFT, yet from what i can find real and imaginary numbers are given as input. How will this work for me? Or are there other FFT's i should be using?


If efficiency is of no concern, you can just use your data as the real part of the input to the FFT, and set the imaginary part to zero. If you want to compute the result more efficiently, you can use a length $N/2$ complex FFT to compute the FFT of a real-valued length $N$ sequence. For the latter, see this answer for the theory, and this one for a code example.

  • $\begingroup$ Yeah just did it $\endgroup$ – shorty Mar 19 '16 at 18:21
  • 1
    $\begingroup$ There is no problem at all with real input, as the real numbers are embedded in the complex numbers. The frequency spectrum, however, will be complex and not purely real. This must be taken into account for any processing of the data. $\endgroup$ – M529 Mar 19 '16 at 19:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.