I have a pretty simple flow here in GRC, but for some reason I'm seeing a negative frequency mirroring the 10khz signal that I'm generating. What's causing this negative frequency to show up in the FFT graph?

Flow chart enter image description here

  • 2
    $\begingroup$ A cosine should have a positive and negative part. $\cos(\theta) = e^{(i\theta)}/2 + e^{(-i\theta)}/2$ $\endgroup$ – learner Sep 9 '18 at 19:58
  • $\begingroup$ @learner I tried changing it to Sine, but there was no difference. $\endgroup$ – Gogeta70 Sep 9 '18 at 20:27
  • 3
    $\begingroup$ Any real-valued signal has a (conjugate) symmetric Fourier transform, so you'll always see a symmetric spectrum. $\endgroup$ – Matt L. Sep 9 '18 at 20:35

The stock FFT (in GNU radio?) is a complex-to-complex transform. Thus any positive frequency peak you see represents a complex signal (phasor) that can include both real and imaginary components.

Since your cosine (or sine) waveform is strictly real (has zero or no imaginary component), the complex FFT result also includes a negative complex conjugated mirror image. Since complex conjugation inverts the imaginary component, the two imaginary components (of the positive and negative frequency peaks) cancel out, and thus represent your original strictly real signal (with zero imaginary content). That is why you see a negative frequency peak.

An asymmetric result can occur if you feed the FFT with a complex IQ signal that has non-zero imaginary components (for instance, baseband SSB). Thus, if you want to see only a positive frequency peak, then you need to feed your FFT with a positive rotating IQ signal or phasor (cos(t) + i sin(t), IIRC).

| improve this answer | |
  • $\begingroup$ Sorry, I'm still pretty new to DSP... I have a general idea of what you're saying, but your answer is a bit over my head... $\endgroup$ – Gogeta70 Sep 11 '18 at 0:18
  • $\begingroup$ You may need to look up complex numbers and how the complex exponential function relates to the sine and cosine functions (perhaps graphically). e.g. some basic math study $\endgroup$ – hotpaw2 Sep 11 '18 at 4:01
  • $\begingroup$ Yeah, I did some reading about I/Q data and your answer makes more sense to me now. Thanks! $\endgroup$ – Gogeta70 Sep 12 '18 at 0:42

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