Minimum and Maximum Bit rates for USRP2 benchmark_rx and tx

Hi All:

I am new to GNU Radio and I am experiencing a few anomalies. My
experimental
setup is as follows:

  • I am using USPR2 with GNU Radio ver. 3.2 installed on an Intel 64-bit
    Quad
    Core machine with GigEthernet.
  • I am using XCVR2450 daughter card and the latest firmware on the
    USRP2s.
  • I am running benchmark_rx.py and benchmark_tx.py using two USPR2s.
  • I have wired the two USRPs using a 60 dB attenuator.

My Observations:

  • The maximum bit rate I could achieve was 12.5 Mbps corresponding to
    samples/symbol = 2 and interpolation and decimation factor set to 4
  • The minimum bit rate I could see was 120 Kbps in the 2.4GHz band and
    250
    Kbps on the 5GHz band.

I have the following questions:

  1. What is the minimum and maximum bit rates that USPR2 can support ?

My immediate guess for minimum bitrate is that it depends on the ADC/DAC
sampling rates, samples/symbol and interpolation and decimation factor.
So
with least interpolation (4) and least Samples/Sym (2), the calculations
give 12.5 Mbps (for GMSK - 1bit/sample/Hz).
The maximum bit rate is limited by the host processor; whether it can
churn
out as many packets as the USPR2 wants in a second.

Is my analysis correct ?

  1. Why does the minimum bit rate depend on the carrier frequency ?

I tried changing the Tx amplitude and Tx gain at 5G but it still didn’t
change anything.

  1. How to perform benchmark_rx/tx in BERT mode ( from digital-bert
    folder) ?
    Looks like the scripts are written for USRP1. How to modify them to make
    it
    work on USRP2 ?

Can anyone please help me resolve these issues ?

Thanks,
Srinivas
Graduate Student,
WINLAB, Rutgers University, NJ

On Thu, Jul 16, 2009 at 03:30:26PM -0400, Srinivas wrote:

My Observations:

  • The maximum bit rate I could achieve was 12.5 Mbps corresponding to
    samples/symbol = 2 and interpolation and decimation factor set to 4
  • The minimum bit rate I could see was 120 Kbps in the 2.4GHz band and 250
    Kbps on the 5GHz band.

The bit rates should not vary depending on the frequency. The
appropriate gain required to achieve a given bit rate may be dependent
on
frequency band on the XCVR2450 (2.4 vs 5 GHz).

I have the following questions:

  1. What is the minimum and maximum bit rates that USPR2 can support ?

Not to be glib, but the correct answer is “it depends”.
It depends on at least:

  • modulation
  • any additional s/w decimation/decimation that you add.
  • system h/w configuration (cpu, cache, power saving mode, memory
    bandwidth…, other things on the bus, other things on the
    ethernet, the particular peripherals in your pc, …)
  • system o/s configuration
  • are you using gr.enable_realtime() ?

My immediate guess for minimum bitrate is that it depends on the ADC/DAC
sampling rates, samples/symbol and interpolation and decimation factor. So
with least interpolation (4) and least Samples/Sym (2), the calculations
give 12.5 Mbps (for GMSK - 1bit/sample/Hz).
The maximum bit rate is limited by the host processor; whether it can churn
out as many packets as the USPR2 wants in a second.

Is my analysis correct ?

Uhh, if you want the minimum bit rate, you’d want the maximum
interpolation (that is, the minimum bandwidth of the complex baseband).

  1. Why does the minimum bit rate depend on the carrier frequency ?

It shouldn’t.

I tried changing the Tx amplitude and Tx gain at 5G but it still didn’t
change anything.

By “didn’t change anything” do you mean that when you measured the
output with a spectrum analyzer or o’scope, there was no change? If
so, what values were you passing to the set_gain method? Are they
within the values returned by gain_range() and/or gain_min(),
gain_max()?

  1. How to perform benchmark_rx/tx in BERT mode ( from digital-bert folder) ?
    Looks like the scripts are written for USRP1. How to modify them to make it
    work on USRP2 ?

Can anyone please help me resolve these issues ?

Did this help? :wink:

Thanks,
Srinivas
Graduate Student,
WINLAB, Rutgers University, NJ

Eric

Hi Eric,

The Tx_gain set is set to 15 dB by default. I tried with 5 dB and 30 dB,
varied it in the full range.
The Tx_amplitude is set to 0.5 by default. I varied it from 0.1 to 1.

I saw the received spectrum using “usrp2_fft.py” and there is
substantial
separation between noise floor and PSD peak, yet benchmark_rx fails to
receive any packet for rates < 250 kbps at 5 GHz.

Thanks for answering the other questions, it did help understanding
USRP2
better.

Also, how to perform benchmark_rx/tx in BERT mode ( from digital-bert
folder) ? looks like the scripts are written for USRP1. I was under the
impression that 3.2 ver. supports USRP2 fully. How to modify them to
make it
work on USRP2 ?

Srinivas
Graduate Student,
WINLAB, Rutgers University, NJ