usrp-users@lists.ettus.com

Discussion and technical support related to USRP, UHD, RFNoC

View all threads

Quandry over B210 noise performance

DB
David Browne
Thu, Jul 23, 2015 2:30 PM

I've been characterizing the noise performance of the B210 at the upper ISM band (5.8GHZ) and have been surprised to find that it is quite poor (22.3dB Noise Figure). I wanted to share my results (see below) and ask if anyone has ideas on how to improve the performance in this band. One suspicion I have is that the UHD is loading the AD9361 with a gain table that may not be optimal for this band but I have yet to dive into the UHD source code to verify this. I am also curious to know if the UHD controls AD9361 gain using the "Full Gain Mode" or "Split Gain Mode" (see AD9361_Reference_Manual_UG-570.pdf online). In general, it would be great to hear from anyone who has modified the UHD to control the AD9361 to optimize SNR or noise performance for their application's band and how much of an improvement can be achieved over the stock UHD configuration.

Test Settings

B210 with single sub-device active (i.e. single channel test)
master clock rate: 32 MHz
rx frequency    : 5.8 GHz
rx sample rate  : 400 kHz
UHD version      : UHD_003.007.001-84-gd99ce4ef

Measurements were made on the RX2 ports (both the A:A and A:B sub-devices produced similar results)
Noise power was computed after first filtering the DC component (~0.6dB) from the IQ samples to prevent LO leakage at DC from biasing the noise estimator.
A calibrated -140dBm/Hz noise source was used to inject a controlled level of broadband noise.

Results (table formatted for fixed width font)

rx gain level                                      :  0        26      27      28      30      40
IQ sample power with rx port terminated (dBfs)      : -90.9    -90.9  -90.1  -89.9  -88.4
IQ sample power with -140dBm/Hz noise source (dbfs) :                  -78.4          -77.1  -68.5

Commment 1: The results show a gain setting of 27 is the minimum tested level that brings the input noise up to the output noise level
Comment 2 : The increase in noise power between gain levels of 30 and 40 dB is 8.6 dB (i.e. close to the expected 10dB)

Equivalent Noise Figure Calculation:

If input noise level of -140 dBm/Hz  maps to output noise level of -78.4 dBfs
Then output noise level of -90.1 dBfs maps to a noise level of -140 - (-78.4 - (-90.1)) = -151.7 dBm/Hz
The equivalent noise figure with the rx port terminated at a gain setting of 27 is -151.7 - (-174) = 22.3 dB
I've been characterizing the noise performance of the B210 at the upper ISM band (5.8GHZ) and have been surprised to find that it is quite poor (22.3dB Noise Figure). I wanted to share my results (see below) and ask if anyone has ideas on how to improve the performance in this band. One suspicion I have is that the UHD is loading the AD9361 with a gain table that may not be optimal for this band but I have yet to dive into the UHD source code to verify this. I am also curious to know if the UHD controls AD9361 gain using the "Full Gain Mode" or "Split Gain Mode" (see AD9361_Reference_Manual_UG-570.pdf online). In general, it would be great to hear from anyone who has modified the UHD to control the AD9361 to optimize SNR or noise performance for their application's band and how much of an improvement can be achieved over the stock UHD configuration. Test Settings ------------- B210 with single sub-device active (i.e. single channel test) master clock rate: 32 MHz rx frequency : 5.8 GHz rx sample rate : 400 kHz UHD version : UHD_003.007.001-84-gd99ce4ef Measurements were made on the RX2 ports (both the A:A and A:B sub-devices produced similar results) Noise power was computed after first filtering the DC component (~0.6dB) from the IQ samples to prevent LO leakage at DC from biasing the noise estimator. A calibrated -140dBm/Hz noise source was used to inject a controlled level of broadband noise. Results (table formatted for fixed width font) ------- rx gain level : 0 26 27 28 30 40 IQ sample power with rx port terminated (dBfs) : -90.9 -90.9 -90.1 -89.9 -88.4 IQ sample power with -140dBm/Hz noise source (dbfs) : -78.4 -77.1 -68.5 Commment 1: The results show a gain setting of 27 is the minimum tested level that brings the input noise up to the output noise level Comment 2 : The increase in noise power between gain levels of 30 and 40 dB is 8.6 dB (i.e. close to the expected 10dB) Equivalent Noise Figure Calculation: ------------------------------------ If input noise level of -140 dBm/Hz maps to output noise level of -78.4 dBfs Then output noise level of -90.1 dBfs maps to a noise level of -140 - (-78.4 - (-90.1)) = -151.7 dBm/Hz The equivalent noise figure with the rx port terminated at a gain setting of 27 is -151.7 - (-174) = 22.3 dB
MD
Marcus D. Leech
Thu, Jul 23, 2015 8:17 PM

On 07/23/2015 10:30 AM, David Browne via USRP-users wrote:

I've been characterizing the noise performance of the B210 at the upper ISM band (5.8GHZ) and have been surprised to find that it is quite poor (22.3dB Noise Figure). I wanted to share my results (see below) and ask if anyone has ideas on how to improve the performance in this band. One suspicion I have is that the UHD is loading the AD9361 with a gain table that may not be optimal for this band but I have yet to dive into the UHD source code to verify this. I am also curious to know if the UHD controls AD9361 gain using the "Full Gain Mode" or "Split Gain Mode" (see AD9361_Reference_Manual_UG-570.pdf online). In general, it would be great to hear from anyone who has modified the UHD to control the AD9361 to optimize SNR or noise performance for their application's band and how much of an improvement can be achieved over the stock UHD configuration.

Making noise-figure measurements anywhere other than at maximum RX gain
will give you bad results.

Typically, (I don't know for sure about the AD9361), front-end gain
adjustment is implemented with a variable attenuator between the output
of the first LNA
stage and a subsequent gain stage.  What this means is that the
attenuator equivalent noise figure contributes significantly to the
overall noise figure of
the system, and the degree to which is does that is based on:

(A) The amount of attenuation
(B) The gain of the first-stage LNA

Let's say that at 27dB gain setting, there's 35dB of attenuation
inserted between the first LNA and subsequent gain stages.  If the first
gain stage has 15dB
of gain (this is a guess), then that 35dB attenuation is still
contributing roughly 20dB of equivalent noise figure to the system. As
you increase the gain,
the attenuation is reduced, and your system noise figure goes down.

Doing useful noise-figure measurements is also usually done with a
calibrated noise source with a known ENR, which you can then use in a
Y-factor
calculation to derive noise-figure.

On 07/23/2015 10:30 AM, David Browne via USRP-users wrote: > I've been characterizing the noise performance of the B210 at the upper ISM band (5.8GHZ) and have been surprised to find that it is quite poor (22.3dB Noise Figure). I wanted to share my results (see below) and ask if anyone has ideas on how to improve the performance in this band. One suspicion I have is that the UHD is loading the AD9361 with a gain table that may not be optimal for this band but I have yet to dive into the UHD source code to verify this. I am also curious to know if the UHD controls AD9361 gain using the "Full Gain Mode" or "Split Gain Mode" (see AD9361_Reference_Manual_UG-570.pdf online). In general, it would be great to hear from anyone who has modified the UHD to control the AD9361 to optimize SNR or noise performance for their application's band and how much of an improvement can be achieved over the stock UHD configuration. > > Making noise-figure measurements anywhere other than at maximum RX gain will give you bad results. Typically, (I don't know for sure about the AD9361), front-end gain adjustment is implemented with a variable attenuator between the output of the first LNA stage and a subsequent gain stage. What this means is that the attenuator equivalent noise figure contributes significantly to the overall noise figure of the system, and the degree to which is does that is based on: (A) The amount of attenuation (B) The gain of the first-stage LNA Let's say that at 27dB gain setting, there's 35dB of attenuation inserted between the first LNA and subsequent gain stages. If the first gain stage has 15dB of gain (this is a guess), then that 35dB attenuation is still contributing roughly 20dB of equivalent noise figure to the system. As you increase the gain, the attenuation is reduced, and your system noise figure goes down. Doing useful noise-figure measurements is also usually done with a calibrated noise source with a known ENR, which you can then use in a Y-factor calculation to derive noise-figure.
MD
Marcus D. Leech
Thu, Jul 23, 2015 8:54 PM

On 07/23/2015 10:30 AM, David Browne via USRP-users wrote:

I've been characterizing the noise performance of the B210 at the upper ISM band (5.8GHZ) and have been surprised to find that it is quite poor (22.3dB Noise Figure). I wanted to share my results (see below) and ask if anyone has ideas on how to improve the performance in this band. One suspicion I have is that the UHD is loading the AD9361 with a gain table that may not be optimal for this band but I have yet to dive into the UHD source code to verify this. I am also curious to know if the UHD controls AD9361 gain using the "Full Gain Mode" or "Split Gain Mode" (see AD9361_Reference_Manual_UG-570.pdf online). In general, it would be great to hear from anyone who has modified the UHD to control the AD9361 to optimize SNR or noise performance for their application's band and how much of an improvement can be achieved over the stock UHD configuration.

Also, tangentially related, I notice that you're running a fairly old
(3.7 series) UHD. The gain tables have had some attention since then, so
I recommend
upgrading prior to taking any more measurements that you care about,
since they may change.

On 07/23/2015 10:30 AM, David Browne via USRP-users wrote: > I've been characterizing the noise performance of the B210 at the upper ISM band (5.8GHZ) and have been surprised to find that it is quite poor (22.3dB Noise Figure). I wanted to share my results (see below) and ask if anyone has ideas on how to improve the performance in this band. One suspicion I have is that the UHD is loading the AD9361 with a gain table that may not be optimal for this band but I have yet to dive into the UHD source code to verify this. I am also curious to know if the UHD controls AD9361 gain using the "Full Gain Mode" or "Split Gain Mode" (see AD9361_Reference_Manual_UG-570.pdf online). In general, it would be great to hear from anyone who has modified the UHD to control the AD9361 to optimize SNR or noise performance for their application's band and how much of an improvement can be achieved over the stock UHD configuration. > > Also, tangentially related, I notice that you're running a fairly old (3.7 series) UHD. The gain tables have had some attention since then, so I recommend upgrading prior to taking any more measurements that you care about, since they may change.
TT
Tom Tsou
Thu, Jul 23, 2015 8:56 PM

On Thu, Jul 23, 2015 at 7:30 AM, David Browne via USRP-users
usrp-users@lists.ettus.com wrote:

I am also curious to know if the UHD controls AD9361 gain using the "Full Gain Mode" or "Split Gain Mode" (see AD9361_Reference_Manual_UG-570.pdf online).

Full table mode.

https://github.com/EttusResearch/uhd/blob/master/host/lib/usrp/common/ad9361_driver/ad9361_gain_tables.h

The loaded values are ADI reference values, but you can modify the
tables if other settings better suit your particular application. See
registers 0x131 and 0x132 in the ADI register map for the breakdown of
LMT and LPF values.

https://github.com/analogdevicesinc/ad9361/

-TT

On Thu, Jul 23, 2015 at 7:30 AM, David Browne via USRP-users <usrp-users@lists.ettus.com> wrote: > I am also curious to know if the UHD controls AD9361 gain using the "Full Gain Mode" or "Split Gain Mode" (see AD9361_Reference_Manual_UG-570.pdf online). Full table mode. https://github.com/EttusResearch/uhd/blob/master/host/lib/usrp/common/ad9361_driver/ad9361_gain_tables.h The loaded values are ADI reference values, but you can modify the tables if other settings better suit your particular application. See registers 0x131 and 0x132 in the ADI register map for the breakdown of LMT and LPF values. https://github.com/analogdevicesinc/ad9361/ -TT