I was fussing about signal generator output accuracy because I wanted to calibrate my
HPSDR Hermes software defined radio (“SDR”) so that I could calculate the absolute power input in dBm, assuming a 50 ohm load impedance) based on the dBFS (db full scale of the ADC chip) output from the radio.
This is in preparation for the upcoming solar eclipse, where as part of the HamSci 2017 Total Solar Eclipse HF Wideband Recording Experiment I’m planning to use the magic of SDR to use one receiver to simultaneously record four segments, each about 380 kHz wide, of the HF spectrum. This calibration will allow the team to better analyze all that data.
Once the signal generator was calibrated I did a series of tests that compared the
signal generator’s amplitude in dBm to the output in dBFS (dB down from the full-scale output of the analog-to-digital converter in the radio) that the hpsdr_multirx_1ch.grc script reported. I was hoping to make some graphs to show the results, but my plotting-tool skills have gotten rusty and I’ve run out of time. So I’ll just summarize the data here for now. Maybe later I’ll have time to make it pretty.
Remember — this data reflects my radio under a certain set of conditions. While I suspect all Hermes units will be similar, your mileage may vary.
Bottom line: on my Hermes, tuned to 10.100 MHz with no input filters or preamp, the dBFS reading + 25.0 equals the input in dBm. In other words, a “power” value reported by Gnuradio of -80 dB is -55 dBm (dB referenced to 1 mw driving a 50 ohm load). That relationship holds to +/-0.3 dB over the range of at least -10 to -90 dBm. At levels of -70dBm or above, the variation was +/-0.1 dBm. The noise level, and hence the uncertainty of a single-shot measurement, increases at -80dBm and below. Tests at -100 and -110 dBm get even noisier, but indicate that the relationship holds at those levels as well. Enhancing the software to perform averaging would probably allow digging accurate results from weaker signals. (I did not test at 0 dBm, simply to avoid any possibility of damage to the radio.
That establishes the dBm = (dBFS + 25.0) relationship at one frequency. I also spot-tested a -60 dBm signal at 8 frequencies between 0.675 and 28.175 MHz and found that the variation did not exceed +1.0 or -0.0 dBm at any of those frequencies. I suspect some of this variation is in the test system or results from input mismatch, so the real performance may be slightly better.
These measurements indicate that the Hermes SDR can be used for RF amplitude measurements with an accuracy of 1 dBm or better across the entire HF spectrum. That’s pretty cool.