Experiments with the UBX Daughterboard in the HF Band

From Ettus Knowledge Base
Revision as of 21:23, 17 February 2017 by DerekKozel (Talk | contribs) (The 10MHz limit)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Application Note Number


Revision History

Date Author Details
2016-05-01 Marcus Leech Initial creation


We show the results of experiments with the UBX daughtercard on an X310 platform for use in the HF frequency range, from 1.8MHz to 30MHz. While the UBX is nominally rated for use only down to 10MHz, with careful flow-graph design, and pre-filtering, it provides quite-good performance across the HF bands.


The UBX card from Ettus Research is a new broad-coverage, high-dynamic-range, transceiver daughter-card that is compatible with both the new X310 platform, and the N210/N200 platform. The UBX analog converter can be tuned from 10MHz to 6GHz.

The is considerable interest in the receive coverage of Ettus products in the HF bands, notionally from roughly 1.8MHz to 30MHz. The HF bands contain a lot of very diverse radio services, including broadcasting, amateur-radio, scientific services, beacons, broadcast time services, ionospheric monitoring and ionospheric radar, etc.

The 10MHz limit

Since the UBX is specified only down to 10MHz, it might seem that reception below 10MHz might not be possible. However, consider that the 10MHz limit is the limit of the Local Oscillator (LO) in the down-conversion analog chain only. Since the front-end ADC can usually sample a range of frequencies on either side of the LO, then it should be possible to use the DDC in the USRP DSP engine to bring frequencies of interest, that are either side of the LO, up/down to baseband, for further processing.

In the case of the X310, the (complex) ADC by default samples at 200Msps, so that it can “see” frequencies of LO +/- 100MHz. Similarly, the N2xx series sample at 100Msps, so they can “see” frequencies at +/- 50MHz from the LO frequency. We can take advantage of this, and use the DDC to extract the swath of frequencies we're interested in.

The tune_request functions in UHD (and available in Gnu Radio via gr-uhd) allow one to manipulate the tuning process, which is always a two-stage affair, to allow us to use a fixed LO frequency, and use the DSP to do our “tuning” for us. In the example that follows, we use:

   uhd.tune_request(freq, 0, dsp_policy=uhd.tune_request.POLICY_MANUAL, dsp_freq=LO-freq, lo_freq_policy=uhd.tune_request.POLICY_MANUAL, lo_freq=LO)

In the above, 'freq' is the desired frequency, and 'LO' is the frequency we choose, based on hardware and other considerations to tune the analog hardware to. In the example, 10MHz was chosen arbitrarily. The result of the above (Python) expression can simply be passed into the 'frequency' parameter of a UHD source block in a GRC flow-graph.


The sensitivity of a radio receiver depends on many, many factors, which often means that it's hard to produce a signal measure by which a receiver can be said to be “sensitive” or “not sensitive”.

But a rough estimation that is often used in comparing HF receivers is the so-called Minimum Discernible Signal, or MDS. MDS tests are usually conducted with narrow-band, single tones, at the desired frequency, with various measurement methods used to detect the desired tone.

In our case, a Marconi 2955B transceiver test-set was used to produce a narrow tone at a level of -115dBm, and then a set of step-attenuators were used. An FFT was taken of the signal, and when the signal descended to a level of only 3dB above the surrounding noise, the signal level was noted. Tests were conducted at various frequencies in the HF bands, with MDS levels noted below.

Frequency MDS Level (dBm)
1.8MHz -120
3.5MHz -125
5MHz -130
10MHz -130
15MHz -135
25MHz -135

It can be seen from the table above that even near the bottom of the HF range, the MDS is perfectly acceptable.

On-air reception testing

The laboratory tests clearly indicated that the UBX had perfectly-acceptable MDS performance for an HF receiver, so tests proceeded to on-air testing.

A random-length dipole was constructed from 14ga wire, about 10m in overall length, a simple choke balun was made from a series of ferrite-clamp chokes around the RG6Q feed-line. The feed line was augmented first by a FM-band trap (band-stop filter), and then a 3-pole 50MHz low-pass filter. Since the UBX has no filtering of any consequence “up front”, filtering is necessary to provide for better “on air” receive performance.

A quick GRC-based application was constructed to allow reception across HF in various modes, including: USB/LSB, AM-synchronous, and AM-envelope. The (busy) flow-graph is shown below:

HF test rcvr.grc.png

The .grc source-code for which is available at Media:HF test rcvr.grc.


The flow-graph shown above was used on many occasions to listen to stations all over the HF bands, including broadcasters, ham-radio operators, time-of-day stations, etc.

Here is a screen-shot showing reception of WWV:

www 20151109-0015utc.png
The 15MHz WWV carrier is received at approximately 40dB above the notional noise floor, with easily understood audio.

Here is a reception of radio station WWCR, located in Nashville, TN, broadcasting in the evenings on 6.115MHz:

WWCR's carrier can easily be seen in the middle, along with surrounding international SW broadcasters.


The UBX card provides more-than-adequate reception performance on the HF bands, provided that filtering is provided up-front, and the DSP tuning functionality is fully-leveraged to allow it to “reach” below the notional 10MHz limit of the device.