I have started working recently with software defined radio (SDR) as well as gnuradio. I have worked with digital signal processing for a while and one feature at one tutorial, which I saw for calculating the spectrum from a bandpass signal, intrigates me.

The implementation (tutorial) is a frequency scanner which uses a sample rate (Fs) for sampling a selected band (B) with a center frequency (f0) from the USRP, then the streamed data is sent to a block which creates a vector with 1024 elements, and the vector is sent to the fft module.

The process described before it seems correct (a bandpass signal has its frequency spectrum calculated). However, what it bothers me is to see that: the tutorial states that the measured spectrum lay between f0-B/2 and f0+B/2, which would lead to the spectrum band equal to B. However, I believe from sampling theorem, this spectrum band is subject to undesired aliasing. Therefore, I believe the correct spectrum should lay between f0-B/4 and f0+B/4.

Am I correct with my belief about the spectrum band, or am I missing something?

  • $\begingroup$ yeah you're missing that these are complex samples. $\endgroup$ Commented Mar 31, 2021 at 9:22
  • $\begingroup$ Perfect! Thank you very much! $\endgroup$
    – LSL
    Commented Mar 31, 2021 at 9:23