I brought an rtl-sdr USB stick to a foreign country. I am listening with gqrx, and I am surprised to find audio (e.g. television or radio) up and down the spectrum, up to 600, 700 and 800 MHz ranges. I haven't experienced this in the States. I can tune up and down several MHz (between say 7 and 20 MHz) and come across the same and different signals at what seem like multiples (I don't have to fine-tune, just tune several MHz at a time.) They are all WBFM signals What might cause this?

  • $\begingroup$ Live near a broadcast station? $\endgroup$ Jan 2 '15 at 2:44
  • $\begingroup$ @PhilFrost -- Not sure, I'm just traveling through. This is a big city though so there's bound to be something around here. I figured it was noise / 'images' from a local station. But, what would cause the station(s) to be all up and down the spectrum(<450Hz to >900Hz)? Thanks $\endgroup$
    – HorseHair
    Jan 2 '15 at 4:14

Sounds like the receiver is being overloaded by a strong station.

Those inexpensive RTL receivers work by feeding the RF into a quadrature mixer to downconvert the frequency, and then into a pair of analog to digital converters (ADCs). At that point the data are processed by computer software that does all the filtering and demodulation.

Those ADCs have a limited range: 0 is only so small, and 0xFFFF (for a 16 bit ADC) is only so big. Any input outside of this range gets clipped.

Clipping is what we call it in the time domain, where it looks like someone clipped off the tops and bottoms of all the peaks with scissors. In the frequency domain, this generates a bunch of harmonic images. Here's a spectogram of a 40 Hz sine wave that has been clipped:

spectrogram of clipped 40 Hz sine wave.

You can see here that the 40 Hz signal is repeated at each odd harmonic:

  • 120 Hz (40*3)
  • 200 Hz (40*5)
  • 280 Hz (40*7)
  • etc...

This is the same harmonic progression as a square wave. This makes sense: if you clip a sine wave enough, it becomes a square wave. The spectogram above has a logarithmic frequency scale. On a linear frequency scale, the harmonics look evenly spaced:

spectogram of square wave

SDRs have particular difficulty with this problem because their input bandwidth is so large. A wider input bandwidth means more power is making its way to the ADC. When there's too much power, you get clipping. Your software may be tuned to a 15 kHz channel somewhere in the spectrum, but the filtering that selects that one channel happens after the ADC. A much wider bandwidth (as wide as the sample rate of the ADCs) reaches the ADCs. Thus, even if the very strong station isn't the one you are listening to, it can still overload the ADC and cause clipping, which causes harmonic distortion all across the input bandwidth.

You can address this problem by attenuating the RF input until the distortion goes away. More sophisticated radios have automatic gain control (AGC) which does this automatically, but the RTL is built to be cheap, not sophisticated. You can then run into a problem where you've eliminated the distortion, but now weaker stations are attenuated so much that they are below the receiver's noise floor and are thus unreceivable. This is called desensitization. The range between the noise floor and clipping is called dynamic range, and is sometimes specified as a figure of merit for receivers.

A better solution is to use a higher resolution ADC. If you had a 16 bit ADC, you could only go up to 0xFFFF. With a 32 bit ADC, you can go up to 0xFFFFFFFF. That means the peak signal can be higher before you run into clipping. See SDR sampling bandwidth - do the bits per sample matter?

  • $\begingroup$ Thanks but one question. You say that clipping the sine waves makes the harmonics (like a square wave in the freq domain.) But the square wave in the time domain (clipped sines) has a sinc representation in the freq domain. Right? $\endgroup$
    – HorseHair
    Jan 4 '15 at 2:25
  • $\begingroup$ @horsehair See Fourier series for a lot of examples. I think you might be confused because the Fourier transform of a boxcar function is a sinc function, but a boxcar function is not periodic (it is zero out to infinity in both directions). With Google I can find some articles that use "square wave" to mean boxcar function, so I think the issue here may be a difference of terminology between mathematicians and radio engineers. (though keep in mind I'm the later, so anything I say about mathematics is suspect.) $\endgroup$ Jan 4 '15 at 3:15
  • $\begingroup$ @horsehair as a simple argument, consider that the sinc function is nonzero at $\omega = 0$, but a (periodic) square wave has no DC component. So that can't be right. A boxcar function, however, does have a DC component. $\endgroup$ Jan 4 '15 at 3:22

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.