I have a (real) array of data and am trying to analyze its frequency components. I've been using NumPy's FFT routines, but I realized there is something I don't quite understand: why does the output give me an imaginary part?
Of course I know that in general the Fourier transform is complex-valued, but it seems to me that the DFT is sampling frequencies that are integer multiples of the timestep of my original data trace. Shouldn't I then be getting results that lie only on the real axis?
What am I missing here?