Why is fft output complex?


Discuss-gnuradio mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

On 10/11/2014 05:38 PM, [email protected] wrote:

I can’t wrap my head around why fft transform of complex signal produces a
complex output. After all the output reflects the amount of energy per
frequency bin and frequency bins and energy are both real numbers, no?

I’m trying to write a python script to analyze the energy across frequency
bins but I don’t know where to insert a complex to mag block. I think if I can
understand the fft I will know to put the complex to mag.

The output of an FFT is complex because it contains magnitude and
phase. If
the output is I,Q (cartesian coordinates) then the magnitude is the
length of
the vector from 0,0 to I,Q or sqrt(i^2 + q^2). The phase of the signal
is
atan2(Q,I).

Note that the FFT transforms Voltage samples into Voltages per frequency
bin.
When you say “energy” you may mean power which is the magnitude squared
or (i^2

  • q^2).

jeff, wa1hco

On Oct 11, 2014, at 5:38 PM, [email protected] [email protected]
wrote:

I can’t wrap my head around why fft transform of complex signal produces a
complex output. After all the output reflects the amount of energy per frequency
bin and frequency bins and energy are both real numbers, no?

I’m trying to write a python script to analyze the energy across frequency bins
but I don’t know where to insert a complex to mag block. I think if I can
understand the fft I will know to put the complex to mag.

Thanks
Brad.


Dear Brad,

What you write is mostly correct.   But you are thinking of the 

power spectrum, which is the modulus of the FFT and thus entirely real.
An FFT contains more information. For example, a Fourier Transform
(the continuous version of an FFT) can be “inverted” using an Inverse
Fourier Transform to exactly reproduce the original time-domain
waveform. That would not be possible using the power spectrum alone,
since information is lost in going from the complex Fourier Transform to
the power spectrum.

–Dan Marlow

Brad:

You are treating an FFT as if it were a spectrum analyzer which produces
a
magnitude or energy profile of how much signal is at a particular
frequency. The FFT does much more than that. It tells not only what
magnitude is at a frequency but what phase angle the signal has there.

Let’s take an example:

You would not want the fft of sin(t)+cos(2t) to be the same as
sin(t)+sin(2t). You would want the result to show that the stuff at 2t
is
90 degrees out of phase depending on what signal you input.

Bob