RTL-SDR sample bit depth
John Ackermann N8UR
jra at febo.com
Sun Mar 4 22:26:01 UTC 2018
Leif, one other question... how do you use a noise figure meter to
measure an SDR? I have an HP 8970A with noise head available, but
haven't figured out how to do a measurement where there's no RF output
to connect the meter to.
On 03/04/2018 11:56 AM, Leif Asbrink wrote:
> Hi John,
>> For an approximation of the minimum discernable signal (MDS) I adjust
>> the signal generator amplitude until I see a noticeable signal that is
>> consistently just above the noise. To find the overload point, I
>> increase the amplitude until I see the first spur appear -- it's a very
>> sudden transition, with a 1 dB amplitude increase triggering spurs many
>> dB above the noise.
>> Based on the assumptions in my earlier message, I would expect to see a
>> dynamic range of about 59 dB (~50 dB from 8 bits at 1.536 Msps, plus 9
>> dB processing gain by the decimate-by-8).
> No, you are measuring noise in a much narrower bandwidth.
> "until I see a noticeable signal" implicates that you look at
> a spectrum of some kind. If I assume your bin resolution is
> 19.2 Hz you have another 40 dB higher dynamic range.
> You might be interested in this:
>> However, I'm seeing closer to 100 dB dynamic range -- for example, with
>> the RF gain set to 20 dB, the MDS is -124 dBm and the overload level is
>> 25 dBm. This tracks for various settings of the RF gain, though there
>> seems to be a few dB of compression with gains above 30 dB.
> MDS in what bandwidth? In amateur radio it is usually 500 Hz
> which, if you adhere to that means you found the noise floor
> at -151 dBm/Hz. That is 23 dB from room temperature (-174 dBm/Hz)
> so your noise figure would be 23 dB.
> With overload at -25 dBm (typo?) your range would be 126 dBm/Hz
> or 99 dB in a 500 Hz bandwidth. That is not really true however
> because you would have to measure the noise floor while there
> is a strong signal present and reciprocal mixing would set the
> limit. On the other hand, if the strong signal is at 90 MHz
> it would not reach the ADC so performance would be determined by
> the tuner chip.
>> I'm trying to understand this discrepancy, which could be the result of:
>> 1. Some AGC operation or gain compression in the R820T2 tuner chip;
>> 2. My assumptions about the internal sample rate bit depth or
>> decimation being wrong; or
>> 3. My math being wrong (for example, is there a log10 vs. log20 error
>> in my dB calculations, or is the dB scaling in the FFT showing voltage
>> rather than power?).
>> Any thoughts would be appreciated.
>> On 03/02/2018 09:46 AM, John Ackermann N8UR wrote:
>>> Hi --
>>> I'm trying to understand the sampling and decimation structure of the
>>> RTL-SDR dongle, to work out the effective number of bits after decimation.
>>> From Google and looking at the librtlsdr code (which is beyond my
>>> programming depth), I think I've figured out the following. I'd much
>>> appreciate verification/correction/amplification.
>>> 1. Actual ADC in the RTL-2832U is a single-bit sigma-delta running at
>>> some very high rate.
>>> 2. This is converted to 28.8 msps at 8 bit depth.
>>> 3. 28.8 msps is downsampled to the rate requested by the user and sent
>>> over the USB bus as 8 bit unsigned IQ pairs.
>>> Based on that, I *think*:
>>> a. Any processing gain in the downsample from 28.8 msps/8 bits within
>>> the chip is lost because the wire samples are limited to 8 bits. The
>>> output is 8 bits dynamic range regardless of the sample rate set.
>>> b. THEREFORE... for best dynamic range one wants to set the RTL-2832U
>>> to the highest sample rate that avoids lost samples, and do further
>>> decimation in the host processor, where the added bits aren't lost on
>>> the wire.
>>> I'd appreciate any verification or correction of that analysis.
More information about the osmocom-sdr