I’m using several USB “dongle” SDR sticks from RTL-SDR.com. These nifty $20 devices can receive from 100 kHz to above 1700 MHz. They have a low noise amplifier in the front end that is adjustable from 0 to about 50 dB gain. I wanted to determine the impact of the gain setting on receiver performance, and the results are below.

First, some introduction. The dongles use an 8 bit analog-to-digital converter (“ADC”). The number of bits sets the dynamic range, or the ratio of the weakest and strongest signals the unit can handle. In an SDR, when you exceed the maximum level (also called the “clipping level”), spurious signals appear very rapidly — a 1 dB input level change makes all the difference. In theory, you start with 1.78 dB and add 6.02 dB for each bit (it’s more complicated in practice). So, an 8 bit ADC has a dynamic range of about 50 dB — its noise floor is 50 dB below its clipping level. Mike Kokotov, Z33T, has written an excellent description of SDR dynamic range.

But there’s a bit of magic in digital signal processing: when you reduce the bandwidth, you increase the dynamic range. Bandwidth is related to the sample rate of the ADC. The dongles run at a high rate (for these measurements, 1.536 million 8-bit samples per second (“msps”). That means they can receive a bandwidth of up to 1.536 MHz (thanks, Mssrs. Nyquist and Shannon). But if we don’t need that much bandwidth, we can decimate the data stream — throw away samples to reduce the rate. This reduces the processing workload, but it also has a remarkable by-product: each time you decimate by four, you gain one bit (~6 dB) of dynamic range!

So, assuming we start with an 8 bit stream at 1.536 msps, if we decimate by 8 to get 192 ksps (and a 192 kHz RF bandwidth), we gain 2 bits, or 12 dB, of dynamic range.

The application I’m using the dongles for wants 192 kHz bandwidth, so the theoretical dynamic range I can get is about 62 dB from noise floor to clipping. (By the way, “dB” by itself is just a ratio. The SDR world uses “dBFS” for “dB relative to full scale” and the RF world uses “dBM” for “dB relative to 1 milliwatt”. I’ll be using those terms later.

In Part 2, I’ll show you the actual results I got from measuring my dongle.

## 1 comment

[…] Part 1 I described some background about SDR dynamic range as an introduction to the measurements I did on […]