usrp-users@lists.ettus.com

Discussion and technical support related to USRP, UHD, RFNoC

View all threads

B210 NB-IoT frontend issues

LL
Luca Lodigiani
Tue, Feb 9, 2021 8:48 PM

Hello,

My team and I are doing some experiments with the USRP B210 and NB-IoT waveforms.
During tests we have observed a few issues with the RF output, that we would like to understand better, and hopefully​ fix or mitigate.  I must admit that we are not yet very familiar with USRP SDRs, so I apologize in advance for any stupid question!  There are so many options to tweak the USRP :-) !

This is what we have observed:

  1. Apparent RF leakage from RX to TX when idle (i.e. not transmitting the 180 kHz NB-IoT carrier).  Our B210 was connected to an RF matrix where other signals in other channels not immediately adjacent to our center frequency also exist, and, every time we were not transmitting, some of those signals (a MHz away) were picked up from the RX and “leaked” into the TX – this could be observed from a spectrum analyzer connected to the B210 TX and it appears to be picking up quite a wide bandwidth (more than 5-10 MHz).
    *  Is this a known issue with the B210 RF frontend?
    *  Does anyone have any suggestions on how to mitigate it (if even possible)?
    *  We tried limiting RX bandwidth as described here https://files.ettus.com/manual/page_usrp_b200.html#b200_fe_bw , but it seems not change anything at least when idle.  Any ideas?

  2. Out-of-band emissions and spectral regrowth:  The output NB-IoT carrier shows quite large out-of-band emissions (~-30 dBc @200 kHz from center frequency, -50 dBc @400 kHz).
    *  Could this be due to non-linear distortion caused by the B210 frontend (AD9361) ?
    *  Would limiting TX analog bandwidth with set_tx_bandwidth(bw) help here?
    *  Any other suggestions?

I also have some other general questions...:

  1. Even after reading this (https://files.ettus.com/manual/page_power.html ) I am still not super clear about if and how the set_tx_power_reference() (and rx)  affect the gain level.  I think understand TX gain setting will obviously affect the output power though.
  2. When talking about multiple "gain stages", how does this translate to the B210?  Different stages of the AD9361 ?
  3. How are set_tx_bandwidth and set_rx_bandwidth implemented in practice in the B210?

Many thanks
Luca


This communication is private and confidential and may contain information that is proprietary, privileged or otherwise legally exempt from disclosure. If you have received this message in error, please notify the sender immediately by e-mail and delete all copies of the message. In accordance with our guidelines, emails sent or received may be monitored. Inmarsat Global Limited, Registered No. 3675885. Registered in England and Wales with Registered Office at 99 City Road, London EC1Y 1AX

INTERNAL | © INMARSAT

Hello, My team and I are doing some experiments with the USRP B210 and NB-IoT waveforms. During tests we have observed a few issues with the RF output, that we would like to understand better, and hopefully​ fix or mitigate. I must admit that we are not yet very familiar with USRP SDRs, so I apologize in advance for any stupid question! There are so many options to tweak the USRP :-) ! This is what we have observed: 1. Apparent RF leakage from RX to TX when idle (i.e. not transmitting the 180 kHz NB-IoT carrier). Our B210 was connected to an RF matrix where other signals in other channels not immediately adjacent to our center frequency also exist, and, every time we were not transmitting, some of those signals (a MHz away) were picked up from the RX and “leaked” into the TX – this could be observed from a spectrum analyzer connected to the B210 TX and it appears to be picking up quite a wide bandwidth (more than 5-10 MHz). * Is this a known issue with the B210 RF frontend? * Does anyone have any suggestions on how to mitigate it (if even possible)? * We tried limiting RX bandwidth as described here https://files.ettus.com/manual/page_usrp_b200.html#b200_fe_bw , but it seems not change anything at least when idle. Any ideas? 2. Out-of-band emissions and spectral regrowth: The output NB-IoT carrier shows quite large out-of-band emissions (~-30 dBc @200 kHz from center frequency, -50 dBc @400 kHz). * Could this be due to non-linear distortion caused by the B210 frontend (AD9361) ? * Would limiting TX analog bandwidth with set_tx_bandwidth(bw) help here? * Any other suggestions? I also have some other general questions...: 1. Even after reading this (https://files.ettus.com/manual/page_power.html ) I am still not super clear about if and how the set_tx_power_reference() (and rx) affect the gain level. I think understand TX gain setting will obviously affect the output power though. 2. When talking about multiple "gain stages", how does this translate to the B210? Different stages of the AD9361 ? 3. How are set_tx_bandwidth and set_rx_bandwidth implemented in practice in the B210? Many thanks Luca ________________________________ This communication is private and confidential and may contain information that is proprietary, privileged or otherwise legally exempt from disclosure. If you have received this message in error, please notify the sender immediately by e-mail and delete all copies of the message. In accordance with our guidelines, emails sent or received may be monitored. Inmarsat Global Limited, Registered No. 3675885. Registered in England and Wales with Registered Office at 99 City Road, London EC1Y 1AX INTERNAL | © INMARSAT
MD
Marcus D. Leech
Tue, Feb 9, 2021 9:16 PM

On 02/09/2021 03:48 PM, Luca Lodigiani via USRP-users wrote:

Hello,

My team and I are doing some experiments with the USRP B210 and NB-IoT
waveforms.
During tests we have observed a few issues with the RF output, that we
would like to understand better, and /hopefully/​ fix or mitigate.  I
must admit that we are not yet very familiar with USRP SDRs, so I
apologize in advance for any stupid question!  There are so many
options to tweak the USRP :-) !

This is what we have observed:

  1. Apparent RF leakage from RX to TX when idle (i.e. not transmitting
    the 180 kHz NB-IoT carrier).  Our B210 was connected to an RF
    matrix where other signals in other channels not immediately
    adjacent to our center frequency also exist, and, every time we
    were not transmitting, some of those signals (a MHz away) were
    picked up from the RX and “leaked” into the TX – this could be
    observed from a spectrum analyzer connected to the B210 TX and it
    appears to be picking up quite a wide bandwidth (more than 5-10 MHz).
    1. Is this a known issue with the B210 RF frontend?
    2. Does anyone have any suggestions on how to mitigate it (if
      even possible)?
    3. We tried limiting RX bandwidth as described here
      https://files.ettus.com/manual/page_usrp_b200.html#b200_fe_bw , but
      it seems not change anything at least when idle. Any ideas?

Given that the leakage path that you're (I think) talking about would be
VERY VERY early in the RF chain inside the AD9361 chip, setting
analog bandwidth would have ZERO effect, since that sets the IF
bandwidth--well after the bits and pieces you're likely dealing with.
I haven't looked at the TX/RX isolation spec in the AD9361
data-sheet, but it would surprise me very much if it were better than 50dB.
It's pretty hard inside such a tiny tiny piece of silicon to isolate
RF signal pathways more than that.  What power levels is the RX2 port
seeing in your application--your "RF matrix" really needs to not be
presenting more than about -15dBm to the RX2 port(s), or there's
potential for damage.

Also, when you talk about 180kHz carrier, you're talking bandwidth or
center frequency?  The center frequency on the B210 cannot go
below about 50MHz.

 1.
  1. Out-of-band emissions and spectral regrowth:  The output NB-IoT
    carrier shows quite large out-of-band emissions (~-30 dBc @200 kHz
    from center frequency, -50 dBc @400 kHz).
    1. Could this be due to non-linear distortion caused by the B210
      frontend (AD9361) ?
    2. Would limiting TX analog bandwidth with set_tx_bandwidth(bw)
      help here?

It might  Help to lower TX analog bandwidth, but UHD automatically sets
it based on your sample rate.  Also try reducing baseband magnitude
a little bit, as well as reducing TX gain a little bit.

  1. Any other suggestions?

I also have some other general questions...:

  1. Even after reading this
    (https://files.ettus.com/manual/page_power.html ) I am still not
    super clear about if and how the set_tx_power_reference() (and
    rx)  affect the gain level.  I think understand TX gain setting
    will obviously affect the output power though.

The tx_power_reference() API is new, so I cannot comment on how it works
out in practice. The B2xx have about 80dB of TX gain setting
range, but with peak power output of about +7dBm over most of its
frequency range, I'd say only the top 30dB is really useful.

  1. When talking about multiple "gain stages", how does this translate
    to the B210?  Different stages of the AD9361 ?

Yes, different stages within the AD9361 in the case of B2xx.

  1. How are set_tx_bandwidth and set_rx_bandwidth implemented in
    practice in the B210?

By using features inside the AD9361 to set the effective analog
bandwidth in front of/behind the ADCs/DACs.  I'm not sure whether
the implementation inside the AD9361 is purely-analog (like
switched-capacitor filters, and changing clocks), or a hybrid approach
that uses the DSP logic inside the AD9361.  The ADCs and DACs in the
AD936x family operate at very high sample rates internally,
and use DSP logic to provide the actual
delivered-to-digital-interface sample rates, so there's room to do both
a digital and analog
approach in providing the necessary effective analog bandwidth. But
UHD normally picks an analog bandwidth setting that is
appropriate to the desired sample rate.  The only time this may not
be appropriate is if your actual signal is very much narrower than
is implied by the selected sample rate.

Many thanks
Luca


This communication is private and confidential and may contain
information that is proprietary, privileged or otherwise legally
exempt from disclosure. If you have received this message in error,
please notify the sender immediately by e-mail and delete all copies
of the message. In accordance with our guidelines, emails sent or
received may be monitored. Inmarsat Global Limited, Registered No.
3675885. Registered in England and Wales with Registered Office at 99
City Road, London EC1Y 1AX

INTERNAL | © INMARSAT


USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

On 02/09/2021 03:48 PM, Luca Lodigiani via USRP-users wrote: > Hello, > > My team and I are doing some experiments with the USRP B210 and NB-IoT > waveforms. > During tests we have observed a few issues with the RF output, that we > would like to understand better, and /hopefully/​ fix or mitigate. I > must admit that we are not yet very familiar with USRP SDRs, so I > apologize in advance for any stupid question! There are so many > options to tweak the USRP :-) ! > > This is what we have observed: > > 1. Apparent RF leakage from RX to TX when idle (i.e. not transmitting > the 180 kHz NB-IoT carrier). Our B210 was connected to an RF > matrix where other signals in other channels not immediately > adjacent to our center frequency also exist, and, every time we > were not transmitting, some of those signals (a MHz away) were > picked up from the RX and “leaked” into the TX – this could be > observed from a spectrum analyzer connected to the B210 TX and it > appears to be picking up quite a wide bandwidth (more than 5-10 MHz). > 1. Is this a known issue with the B210 RF frontend? > 2. Does anyone have any suggestions on how to mitigate it (if > even possible)? > 3. We tried limiting RX bandwidth as described here > https://files.ettus.com/manual/page_usrp_b200.html#b200_fe_bw , but > it seems not change anything at least when idle. Any ideas? > Given that the leakage path that you're (I think) talking about would be VERY VERY early in the RF chain inside the AD9361 chip, setting analog bandwidth would have ZERO effect, since that sets the *IF* bandwidth--well after the bits and pieces you're likely dealing with. I haven't looked at the TX/RX isolation spec in the AD9361 data-sheet, but it would surprise me very much if it were better than 50dB. It's pretty hard inside such a tiny tiny piece of silicon to isolate RF signal pathways more than that. What power levels is the RX2 port seeing in your application--your "RF matrix" really needs to not be presenting more than about -15dBm to the RX2 port(s), or there's potential for damage. Also, when you talk about 180kHz carrier, you're talking *bandwidth* or center frequency? The center frequency on the B210 cannot go below about 50MHz. > 1. > > > > 1. Out-of-band emissions and spectral regrowth: The output NB-IoT > carrier shows quite large out-of-band emissions (~-30 dBc @200 kHz > from center frequency, -50 dBc @400 kHz). > 1. Could this be due to non-linear distortion caused by the B210 > frontend (AD9361) ? > 2. Would limiting TX analog bandwidth with set_tx_bandwidth(bw) > help here? > It might Help to lower TX analog bandwidth, but UHD automatically sets it based on your sample rate. Also try reducing baseband magnitude a little bit, as well as reducing TX gain a little bit. > 1. Any other suggestions? > > I also have some other general questions...: > > 1. Even after reading this > (https://files.ettus.com/manual/page_power.html ) I am still not > super clear about if and how the set_tx_power_reference() (and > rx) affect the gain level. I think understand TX gain setting > will obviously affect the output power though. > The tx_power_reference() API is new, so I cannot comment on how it works out in practice. The B2xx have about 80dB of TX gain setting range, but with peak power output of about +7dBm over most of its frequency range, I'd say only the top 30dB is really useful. > > 1. When talking about multiple "gain stages", how does this translate > to the B210? Different stages of the AD9361 ? > Yes, different stages within the AD9361 in the case of B2xx. > 1. How are set_tx_bandwidth and set_rx_bandwidth implemented in > practice in the B210? > By using features inside the AD9361 to set the effective analog bandwidth in front of/behind the ADCs/DACs. I'm not sure whether the implementation inside the AD9361 is purely-analog (like switched-capacitor filters, and changing clocks), or a hybrid approach that uses the DSP logic inside the AD9361. The ADCs and DACs in the AD936x family operate at very high sample rates internally, and use DSP logic to provide the actual delivered-to-digital-interface sample rates, so there's room to do both a digital and analog approach in providing the necessary effective analog bandwidth. But UHD normally picks an analog bandwidth setting that is appropriate to the desired sample rate. The only time this may not be appropriate is if your actual signal is very much narrower than is implied by the selected sample rate. > > Many thanks > Luca > > ------------------------------------------------------------------------ > > This communication is private and confidential and may contain > information that is proprietary, privileged or otherwise legally > exempt from disclosure. If you have received this message in error, > please notify the sender immediately by e-mail and delete all copies > of the message. In accordance with our guidelines, emails sent or > received may be monitored. Inmarsat Global Limited, Registered No. > 3675885. Registered in England and Wales with Registered Office at 99 > City Road, London EC1Y 1AX > > INTERNAL | © INMARSAT > > > > _______________________________________________ > USRP-users mailing list > USRP-users@lists.ettus.com > http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
RE
Ron Economos
Tue, Feb 9, 2021 9:38 PM

I can't comment on issue #1, but I do have experience with issue #2. To
get a clean output spectrum, you need to do two things.

First, the IQ values generated by your application can never exceed
+1.0/-1.0 in value. You have to account for the PAPR of your waveform.
If you're using GNU Radio, I have a block to dump peak IQ levels.

https://github.com/drmpeg/gr-iqlevels

Second, you can't set the TX gain to maximum. Something less than or
equal to 78 will typically provide the best performance (although the
exact maximum value will depend on the PAPR of your waveform). Here's a
B210 transmitted signal at a gain of 78.

Ron

On 2/9/21 12:48, Luca Lodigiani via USRP-users wrote:

Hello,

My team and I are doing some experiments with the USRP B210 and NB-IoT
waveforms.
During tests we have observed a few issues with the RF output, that we
would like to understand better, and /hopefully/​ fix or mitigate.   I
must admit that we are not yet very familiar with USRP SDRs, so I
apologize in advance for any stupid question!  There are so many
options to tweak the USRP :-) !

This is what we have observed:

  1. Apparent RF leakage from RX to TX when idle (i.e. not transmitting
    the 180 kHz NB-IoT carrier).  Our B210 was connected to an RF
    matrix where other signals in other channels not immediately
    adjacent to our center frequency also exist, and, every time we
    were not transmitting, some of those signals (a MHz away) were
    picked up from the RX and “leaked” into the TX – this could be
    observed from a spectrum analyzer connected to the B210 TX and it
    appears to be picking up quite a wide bandwidth (more than 5-10 MHz).

    1. Is this a known issue with the B210 RF frontend?
    2. Does anyone have any suggestions on how to mitigate it (if
      even possible)?
    3. We tried limiting RX bandwidth as described here
      https://files.ettus.com/manual/page_usrp_b200.html#b200_fe_bw ,
      but it seems not change anything at least when idle. Any ideas?
  2. Out-of-band emissions and spectral regrowth:  The output NB-IoT
    carrier shows quite large out-of-band emissions (~-30 dBc @200 kHz
    from center frequency, -50 dBc @400 kHz).

    1. Could this be due to non-linear distortion caused by the B210
      frontend (AD9361) ?
    2. Would limiting TX analog bandwidth with set_tx_bandwidth(bw)
      help here?
    3. Any other suggestions?

I also have some other general questions...:

  1. Even after reading this
    (https://files.ettus.com/manual/page_power.html ) I am still not
    super clear about if and how the set_tx_power_reference() (and
    rx)  affect the gain level.  I think understand TX gain setting
    will obviously affect the output power though.
  2. When talking about multiple "gain stages", how does this translate
    to the B210?  Different stages of the AD9361 ?
  3. How are set_tx_bandwidth and set_rx_bandwidth implemented in
    practice in the B210?

Many thanks
Luca


This communication is private and confidential and may contain
information that is proprietary, privileged or otherwise legally
exempt from disclosure. If you have received this message in error,
please notify the sender immediately by e-mail and delete all copies
of the message. In accordance with our guidelines, emails sent or
received may be monitored. Inmarsat Global Limited, Registered No.
3675885. Registered in England and Wales with Registered Office at 99
City Road, London EC1Y 1AX

INTERNAL | © INMARSAT


USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

I can't comment on issue #1, but I do have experience with issue #2. To get a clean output spectrum, you need to do two things. First, the IQ values generated by your application can never exceed +1.0/-1.0 in value. You have to account for the PAPR of your waveform. If you're using GNU Radio, I have a block to dump peak IQ levels. https://github.com/drmpeg/gr-iqlevels Second, you can't set the TX gain to maximum. Something less than or equal to 78 will typically provide the best performance (although the exact maximum value will depend on the PAPR of your waveform). Here's a B210 transmitted signal at a gain of 78. Ron On 2/9/21 12:48, Luca Lodigiani via USRP-users wrote: > Hello, > > My team and I are doing some experiments with the USRP B210 and NB-IoT > waveforms. > During tests we have observed a few issues with the RF output, that we > would like to understand better, and /hopefully/​ fix or mitigate.   I > must admit that we are not yet very familiar with USRP SDRs, so I > apologize in advance for any stupid question!  There are so many > options to tweak the USRP :-) ! > > This is what we have observed: > > 1. Apparent RF leakage from RX to TX when idle (i.e. not transmitting > the 180 kHz NB-IoT carrier).  Our B210 was connected to an RF > matrix where other signals in other channels not immediately > adjacent to our center frequency also exist, and, every time we > were not transmitting, some of those signals (a MHz away) were > picked up from the RX and “leaked” into the TX – this could be > observed from a spectrum analyzer connected to the B210 TX and it > appears to be picking up quite a wide bandwidth (more than 5-10 MHz). > 1. Is this a known issue with the B210 RF frontend? > 2. Does anyone have any suggestions on how to mitigate it (if > even possible)? > 3. We tried limiting RX bandwidth as described here > https://files.ettus.com/manual/page_usrp_b200.html#b200_fe_bw , > but it seems not change anything at least when idle. Any ideas? > > 2. Out-of-band emissions and spectral regrowth:  The output NB-IoT > carrier shows quite large out-of-band emissions (~-30 dBc @200 kHz > from center frequency, -50 dBc @400 kHz). > 1. Could this be due to non-linear distortion caused by the B210 > frontend (AD9361) ? > 2. Would limiting TX analog bandwidth with set_tx_bandwidth(bw) > help here? > 3. Any other suggestions? > > I also have some other general questions...: > > 1. Even after reading this > (https://files.ettus.com/manual/page_power.html ) I am still not > super clear about if and how the set_tx_power_reference() (and > rx)  affect the gain level.  I think understand TX gain setting > will obviously affect the output power though. > 2. When talking about multiple "gain stages", how does this translate > to the B210?  Different stages of the AD9361 ? > 3. How are set_tx_bandwidth and set_rx_bandwidth implemented in > practice in the B210? > > > Many thanks > Luca > > ------------------------------------------------------------------------ > > This communication is private and confidential and may contain > information that is proprietary, privileged or otherwise legally > exempt from disclosure. If you have received this message in error, > please notify the sender immediately by e-mail and delete all copies > of the message. In accordance with our guidelines, emails sent or > received may be monitored. Inmarsat Global Limited, Registered No. > 3675885. Registered in England and Wales with Registered Office at 99 > City Road, London EC1Y 1AX > > INTERNAL | © INMARSAT > > > _______________________________________________ > USRP-users mailing list > USRP-users@lists.ettus.com > http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com