Using UHD with one USRP and trying to verify that Im sending data

I have on USRP and I’m simultaneously sending an receiving data from it
using the UHD interface. Im trying to determine if I am sending my
samples
at all. I am sending all 100’s using COMPLEX_FLOAT32 interface. I have
a
basixRX and basicTX boards. Both are hooked up on the A side of the
USRP.
I have a cable connecting TX-A to RX-A with an attenuator in the middle.
I
transmit but do not seem to see my signal. Here is a dump from my
program.


Using Device: Single USRP:
Device: usrp1 device
Mboard: usrp1 mboard - 48cc208a
RX DSP: usrp1 ddc 2X + hb
RX Channel: 0
RX Dboard: usrp1 dboard (rx unit) - A
RX Subdev: Basic RX (0x0001) - AB
TX DSP: usrp1 duc 2X
TX Channel: 0
TX Dboard: usrp1 dboard (tx unit) - A
TX Subdev: Basic TX (0x0000) - AB

Setting RX Rate: 250000.000000 sps…
Actual RX Rate: 250000.000000 sps…

Setting RX Freq: 4.000000 Mhz…
Actual RX Freq: 4.000000 Mhz…

Setting RX Gain: 0.000000 dB…
Actual RX Gain: 0.000000 dB…

Setting TX Rate: 0.250000 Msps…
Actual TX Rate: 0.250000 Msps…

Setting TX Freq: 4.000000 Mhz…
Actual TX Freq: 4.000000 Mhz…

Setting TX Gain: 0.000000 dB…
Actual TX Gain: 0.000000 dB…

LO Locked = 1

I have also removed the attenuator for a short while but still see no
signal.

Do I have the daughterboards hooked up correctly?

Thank you,
Isaac

On Tue, Jan 25, 2011 at 5:53 PM, Isaac G. [email protected]
wrote:

I have on USRP and I’m simultaneously sending an receiving data from it
using the UHD interface. Im trying to determine if I am sending my samples
at all. I am sending all 100’s using COMPLEX_FLOAT32 interface. I have a
basixRX and basicTX boards. Both are hooked up on the A side of the USRP.
I have a cable connecting TX-A to RX-A with an attenuator in the middle. I
transmit but do not seem to see my signal. Here is a dump from my program.

When you say you’re sending “all 100’s using COMPLEX_FLOAT32
interface”, what exactly do you mean? Do you mean the value 100 in
decimal repeatedly? If so, this is a DC signal with no frequency
content, and DC offset correction could be wiping it out. If not, can
you elaborate more on the data values that you’re sending?


John O.
CEO/System Architect
Epiq Solutions

On 01/25/2011 03:53 PM, Isaac G. wrote:

I have on USRP and I’m simultaneously sending an receiving data from it
using the UHD interface. Im trying to determine if I am sending my samples
at all. I am sending all 100’s using COMPLEX_FLOAT32 interface. I have a

If you mean like float value = 100, then that may yeild weird results.
Values are scaled between -1 and +1, so try an amplitude of 0.3. And
since you are sending a constant, make sure to tune the TX frequency to
something in the range of the daughtercards, howabout 100khz?

-josh

Yes, I was sending all 1000 for each sample. I completely forgot that
the DC
component may be wiped. However, I also tried sending gaussian noise
(mu=0, sig=1)*100 and still didnt see the signal.

Im going to take a closer look at the interface to determine which
daughterboard and output is used (A or B) and also try to rx the signal
with
another USRP.

Isaac

On 01/25/2011 05:11 PM, Isaac G. wrote:

Yes, I was sending all 1000 for each sample. I completely forgot that the DC

send [-1, 1] when using COMPLEX_FLOAT32

send [-215, 215] when using COMPLEX_INT16

-josh

Wait a minute…

Im receiving constantly and sending only here and there… should i be
using the
multiusrp interface (Im only using 1 USRP but the basic rx and tx
dboards)?
Currently, Im using the single one.

Also, do send out a stream of data here and there what should my code
look like?

Right now, I have:

Int32 s = pVec->size();
uhd::tx_metadata_t md;
md.start_of_burst = false; //never SOB when continuous
md.end_of_burst = true;

//send the entire contents of the buffer
// This should be the only place where data is sent over the air!
m_pDev->send(&((*pVec)[0]), s, md,uhd::io_type_t::COMPLEX_FLOAT32,

uhd::device::SEND_MODE_FULL_BUFF);

Thx,
Isaac

Yes, I was sending all 1000 for each sample. I completely forgot that
the DC component may be wiped. However, I also tried sending
gaussian noise (mu=0, sig=1)*100 and still didnt see the signal.

If you’re sending gaussian noise, that’ll be really hard to see as well,
since it won’t be different from the inherent noise, right?

Try sending a pure tone of perhaps 10KHz, and have the hardware
up-convert that to 4MHz, so you should see on an FFT
display a strong signal at 4.010MHz.


Marcus L.
Principal Investigator
Shirleys Bay Radio Astronomy Consortium