UHD vs. USRP2 driver questions

Hi,

We’re using USRP2s with the RFX2400 daughterboards, and we’ve recently
switched from the old USRP drivers to the UHD drivers as per general
recommendation. However, we’ve run into a few problems that have us
stumped:

  1. Previously, our receiver gains were set to 0 dB and we had no
    problem receiving a signal with >30 or 40 dB SNR. However, now the UHD
    receiver blocks need specified gain around 30 or 40 dB to achieve this
    same performance; did baseline values change?

  2. As far as we can tell through searching the Internet, the sampling
    rate in the Tx/Rx blocks has replaced the decimation and interpolation
    fields from the legacy blocks. But what exactly are we specifying with
    the sampling rate now? Is it the sampling rate the rate at which the
    transmitter transmits samples, with interpolation assumed if the data
    going into the block isn’t throttled? In which case, would higher
    sampling rate imply lower ‘interpolation’ rate? Bottom line, we have
    no idea how to play around with the sample rate, or how important it
    is.

Thanks for your help,
Kevin T.

On 11/29/2011 02:38 PM, Kevin T. wrote:

same performance; did baseline values change?

Are you selecting the correct antenna? Its possible the default RX
antenna setting is different.

  1. As far as we can tell through searching the Internet, the sampling
    rate in the Tx/Rx blocks has replaced the decimation and interpolation
    fields from the legacy blocks. But what exactly are we specifying with
    the sampling rate now? Is it the sampling rate the rate at which the
    transmitter transmits samples, with interpolation assumed if the data
    going into the block isn’t throttled? In which case, would higher
    sampling rate imply lower ‘interpolation’ rate? Bottom line, we have
    no idea how to play around with the sample rate, or how important it
    is.

The sample rate is the rate of samples between host and USRP.

on RX: sample_rate = dsp_rate/decimation
on TX: sample_rate = dsp_rate/interpolation

-josh

Are you selecting the correct antenna? Its possible the default RX
antenna setting is different.

We’ll check it out, but we only have the one antenna hooked up…
It’d be interesting to find out that the SMA connector can pick up the
signal! So I gather there should /not/ be any change in received SNR
values?

The sample rate is the rate of samples between host and USRP.

on RX: sample_rate = dsp_rate/decimation
on TX: sample_rate = dsp_rate/interpolation

Ah okay great, thanks for your help.

–Kevin

On 11/29/2011 03:37 PM, Josh B. wrote:

  1. Previously, our receiver gains were set to 0 dB and we had no
    problem receiving a signal with>30 or 40 dB SNR. However, now the UHD
    receiver blocks need specified gain around 30 or 40 dB to achieve this
    same performance; did baseline values change?

Are you selecting the correct antenna? Its possible the default RX
antenna setting is different.

Yes, I believe the default under the old usrp drivers was “TX/RX”. The
default under the new setup is “RX2”. You can make a call
usrp->set_rx_antenna(“TX/RX”). That should, in theory, restore the old
behavior (although I’ve seen what might be unpredictable behavior in
this mode - I don’t know for sure though) unless you have some full
duplex shenanigans going on. Alternatively, you can just screw on an
antenna on the RX2 port and you should see a strong signal, which is the
approach I often use.

Arun

2011/11/29 Kevin T. [email protected]

same performance; did baseline values change?

As far as I remember, there was something about the old driver sending
out
signals that were ints
The new driver sends and receives +/- 1, so you will need some more gain
(38 dB I believe somone calculated)

  1. As far as we can tell through searching the Internet, the sampling

rate in the Tx/Rx blocks has replaced the decimation and interpolation

fields from the legacy blocks. But what exactly are we specifying with
the sampling rate now? Is it the sampling rate the rate at which the
transmitter transmits samples, with interpolation assumed if the data
going into the block isn’t throttled? In which case, would higher
sampling rate imply lower ‘interpolation’ rate? Bottom line, we have
no idea how to play around with the sample rate, or how important it
is.

The UHD driver sets up the interpolation rate for you.
It will select the interpolation rate most appropriatly close to 100MHz
/
requestedSamplerate

With the caveat that it first checks if it is dividable by two(for the
first hb filter), if that result is dividable by two( for the second hb
filter) and if the final result is less than 128 (for the CIC) it will
be
set.

If you select an “unobtainable” sampling rate, the output will tell you.

in pseudocode:

%%%%%%%%%%%%%% Mechanism for chosing HB filters and interprate
%%%%%%%%%%%
%%%%%%%%%%%%%% root / host / lib / usrp / cores / tx_dsp_core_200.cpp
%%%%
%
% if (interp_rate > 128) interp_rate &= ~0x1;//CIC up to 128, have to
use 1
HB
% if (interp_rate > 256) interp_rate &= ~0x3;//CIC up to 128, have to
use 2
HB
% size_t interp = interp_rate;
%
% //determine which half-band filters are activated
% int hb0 = 0, hb1 = 0;
% if (interp % 2 == 0)
% {
% hb0 = 1;
% interp /= 2;
% }
% if (interp % 2 == 0)
% {
% hb1 = 1;
% interp /= 2;
% }
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Thanks for your help,

Kevin T.


Discuss-gnuradio mailing list
[email protected]
Discuss-gnuradio Info Page

Best
Paul