Absolute Signal Strength Measurements? dBFS?

431 views
Skip to first unread message

nerdlord20

unread,
Dec 4, 2017, 5:40:02 PM12/4/17
to Gqrx SDR
Hello,

I am interested in making absolute signal strength measurements with GQRX.  Specifically, I am a bit confused about how dBFS works.  Are the magnitudes shown in GQRX relative to the maximum signal currently being measured within the on-screen BW, or is it relative to some "absolute maximum" that is constant?  If it is the second case, what is this "absolute maximum"?

I was also curious about what GQRX is actually using to plot in the Panadapter view.  The units are in dBFS, but what is it doing to the raw IQ values to generate the plot?  I plan on looking into the source code, I just figured I would ask first because I am very new to GNU Radio.


-Billy

Robin Gape

unread,
Dec 4, 2017, 7:31:12 PM12/4/17
to gq...@googlegroups.com

Billy, or Lord Nerd, if one prefers that form of address,

dBFS refers to a digital signal of maximum amplitude. So for a 16 bit signal stream, the pk-pk amplitude would be represented by 216-1, or for an 8 bit signal stream, the pk-pk amplitude would be 28-1.

In the case of GQRX the dBFS shown are, AFAIK, in relation to the received signal being processed, just before demodulation. Other software may indicate dBFS in terms of the signal coming from SDR hardware, before further processing.

I hope that explains both what the absolute maximum is, and its reference point. Note that GQRX, of itself, establishes no absolute signal level in terms of receiver input signal. Given the flexibility of source hardware, everything from 8 bit RTL dongles to 12, 14, 16, and most recently 18 bit A/D convertor-equipped front ends, with all sorts of filtering of greater and lesser merit, that is not surprising.

As for how this stuff works, it's a little hard to offer guidance without knowing how much you know already. It's not helped because a great deal of what's available about SDR on the Internet omits a sensible overview of the processing chain architecture. For instance, the Wikipedia article says a great deal about the history of SDR, but little to nothing about the art of SDR & DSP (https://en.wikipedia.org/wiki/Software-defined_radio).

HTH,

Robin, G8DQX

div...@xtrsystems.com

unread,
Feb 1, 2023, 1:09:47 AM2/1/23
to Gqrx SDR
It's been a few years since the exchange above took place. I was interested in the absolute calibration of Gqrx in concert with a RTL-SDR v3 and chanced upon it with a search. I am taking a moment to report my experience in this regard,

I appreciated Robin's comments above and set about performing a calibration myself. Using a very stable RF synthesizer (PTS-500) and a few step attenuators I hit the RTL input with a series of single frequency (137.100 MHz) at different RF levels (well known from other measurements) and reported the "dBFS" value reported by Gqrx. Gqrx was set to a center frequency of 137.500 MHz with a demodulation frequency set to 137.100 MHz (right on top of the synthesizer). The "freq. correction" was set in a series of other measurements so the synthesizer and RTL were spot on the same frequency. The demodulation mode was varied among I/Q, AM, FM narrow and FM wide mono which had no effect on the resulting values. All measurements were made with the RTL RF gain fixed at 25 dB. No other RF gain values were used.

The results are shown in the following figure.

Gqrx calibration.png

The Gqrx-RTL-SDR response was very linear between input levels of -90 to -40 dBm. Input signals greater than -40 dBm overloaded the RTL causing significant distortion resulting in numerous spurious signals appearing in the measured spectrum (not shown here). Input signals lesser than -90 dBm were confounded as a result of insufficient shielding of the RTL itself and the particular RF cable used between the RTL SMA input and the step attenuator BNC output while the synthesizer was emitting a 0 dBm signal going into the several attenuators. This could be eliminated by a more careful experimental arrangement and will be performed in the future. The current arrangement was satisfactory for my immediate interests.

All in all, I appreciate the size of the dynamic range of linear response provided by the combination of the RTL, Gqrx and the dBFS indicator. I would like to get the dBFS value out of the Gqrx program "programmatically" so I can use it for other purposes.

Other web searches suggested the command line program RTL_power, which is included in the RTL-SDR suite and written by Kyle Keen <http://kmkeen.com/rtl-power/>. This is a great program which can also be used for essentially the same purpose of measuring the RF level of particular signals (read the on-line manual for capabilities and limitations). I've been experimenting with this program and liking it a great deal. However, I've found the dynamic range afforded by RTL_power together with the same RTL-SDR is substantially smaller than what is reported here for Gqrx. I'm suspecting that the code is using integer arithmetic to perform the Fourier transforms necessary to achieve the results at great speeds is limiting the dynamic range. I've only just downloaded the source to review it so this is a suspicion of mine and not (yet) substantiated.

These measurements can be made with care and appropriate equipment. They demonstrate the remarkable quality of RF measurements available to the hobbyist these days.

Joseph, K0NMR

Bruce

unread,
Feb 1, 2023, 8:25:35 AM2/1/23
to gq...@googlegroups.com
Hi Joseph,

I've been using GQRX for RDF purposes, and a calibrated signal level is a requirement for that.

As far as getting at the levels programmatically, try the remote control ftp port connection to GQRX.

The reason the demodulation type selected makes no difference to the levels measured is that they are sampled prior to demodulation, at the IF stage.

In my case I use a specially modified version of GQRX for these reasons:
1/ I wanted an option of a second level measurement method at the audio stage after demodulation (in SSB mode), which has the advantage of measurement of coherent audio signals only (not noise), and is after the extra IF filtering selection (wide/narrow etc), which reduces the bandwidth and hence the noise. Observing the two methods simultaneously, the dynamic range of the second is so much better at the low end, where the standard IF method gets swamped by noise - which is much better for my particular purposes. I make use of the existing audio FFT, which is usually just used for display purposes on the GQRX screen.
2/ A modified remote control where the two signal levels are streamed out at a much higher rate using UDP (rather than remote control FTP), so a faster signal polar plot can be obtained using the GQRX radio.
3/ A setup where the RF->"Signal level" total SDR time delay can be characterised as a fixed constant. In fact GQRX is quite "lumpy" in it's signal level output rate due to the way the FFT works (and also, incidentally, the audio samples further down the chain - but this is fixed by using a big enough sample buffer in the sound replay to smooth it out again - there were posts on here about this ages ago). I have to 'smooth out' the signal level samples to a constant rate too. 

Hope that helps,
Bruce
--
You received this message because you are subscribed to the Google Groups "Gqrx SDR" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gqrx+uns...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/gqrx/4347898a-f261-4dc1-9821-2914c54c077dn%40googlegroups.com.

-- 
Cheers,
Bruce

div...@xtrsystems.com

unread,
Feb 4, 2023, 4:04:42 PM2/4/23
to Gqrx SDR
Bruce, thanks for the message.

You note calibration is required for your application. Am I correct in presuming you've done something analogous to what I did? I'm very interested in your project and approach. I hope you speak of it more in the future.

After posting my earlier note, I repeated my own measurements with greater care and received the following gratifying results:

Gqrx calibration.png

The bottom end (~-110 dBm input) is truly in the RTL's noise floor where it ought to be. In my greater setup I have an inline LNA close to the antenna and powered by the RTL's bias being emitted from its input to mitigate the feedline losses.

I haven't (yet) followed your suggestion to check into the ftp port of Gqrx. However, I'll get to that shortly. (to-do lists being what they are)

In the interim, I've found another command line tool "rtl_power_fftw" which is purported to superior to "rtl_power" in some code modernization, more user options and the use of FFTW3. I've used this "Fastest Fourier Transform in the West" (for those readers not familiar with it is a great implementation and highly recommended). I'm hoping that this tool addresses the limited dynamic range I found in the earlier version of rtl_power.

Joseph
K0NMR

Bruce

unread,
Feb 7, 2023, 1:28:40 AM2/7/23
to gq...@googlegroups.com
Hi Joseph,

Yes I did, however I wasn't particularly concerned with absolute signal levels, just that my signal measurement tracked dB "linearly", and the extent of usable dynamic range. I had to carefully characterise the various step hardware attenuation settings available on my SDRPlay receiver as well.
I don't care particularly about the absolute dBm, as often there is a preamp or converter on the antenna itself ahead of the SDR.

Though your graph shows it working down to -110dBm, it is affected by noise, so the useable part of the dBFS level (without compensation) is from -100->-40dBm. That's 60dB which is pretty good. From memory I think my alternate audio signal level method gave me 75dB-80dB ish, and importantly at the low end.

Cheers,
Bruce
Reply all
Reply to author
Forward
0 new messages