Receiving and then sending using USRP2


#1

Dear All,

I have copied rx_streaming_samples.cc from “usrp2/host/apps” to a local
directory, compiled and linked with libusrp2 etc. It works. However, in
a first small step towards transmitting with the usrp2 I added
“u2->set_tx_center_freq(1902.5e6, &tr)” just before the end of main (and
nothing more). The command fails.

In an effort to find the error we used wiresharc and were able to see
the command from the host being transmitted and a response being sent
from the usrp2. However, the host doesn’t seem to be satisfied with the
received packet.

?

BR/
Per


#2

On Thu, 2009-04-09 at 16:47 +0200, Per Z. wrote:

I have copied rx_streaming_samples.cc from “usrp2/host/apps” to a local
directory, compiled and linked with libusrp2 etc. It works. However, in
a first small step towards transmitting with the usrp2 I added
“u2->set_tx_center_freq(1902.5e6, &tr)” just before the end of main (and
nothing more). The command fails.

Which version of the trunk software are you using?

Johnathan


#3

On Thu, Apr 09, 2009 at 04:47:07PM +0200, Per Z. wrote:

Dear All,

I have copied rx_streaming_samples.cc from “usrp2/host/apps” to a local
directory, compiled and linked with libusrp2 etc. It works. However, in
a first small step towards transmitting with the usrp2 I added
“u2->set_tx_center_freq(1902.5e6, &tr)” just before the end of main (and
nothing more). The command fails.

In an effort to find the error we used wiresharc and were able to see
the command from the host being transmitted and a response being sent
from the usrp2. However, the host doesn’t seem to be satisfied with the
received packet.

What daughterboard are you using?

What do tx_freq_min() and tx_freq_max() return?

Eric


#4

On Thu, 2009-04-09 at 07:56 -0700, Johnathan C. wrote:

Johnathan

10700

BR/
Per


#5

Dear All,

I am trying to issue 50000 calls to tx_16sc (of 371 samples each i.e.,
one ETH packet per call) to the USRP2. I transmit a simple sinuswave. If
I set “send_now=1” in the metadata it works as expected and I can see
the signal on a spectrum analyzer. If I set send_now=0 I can only
occasionally see the signal pass and then for only very short time. Here
are some more details: I first receive a few frames to get the
time-stamp from the received frames, this timestamp is stored in the
variable last_time_stamp. Then I transmit using the code below (the
interpolation factor is set to 10). Is there anything I have
misunderstood ?

metadata.send_now=0;
metadata.start_of_burst=1;
metadata.end_of_burst=1;

int i1;
for (i1=0;i1<NO_ITER-1;i1++) {

metadata.timestamp=last_time_stamp+10e6+i1*NO_SAMPLES*10;

if (!u2->tx_16sc(0,

buffer,
NO_SAMPLES,
&metadata)) {
printf(“Transmit data failed!\n”);
};
metadata.start_of_burst=1;
};

metadata.end_of_burst=1;
u2->tx_16sc(0,
 buffer,
 NO_SAMPLES,
&metadata);

};

BR/
Per


#6

On Thu, 2009-04-09 at 09:53 -0700, Eric B. wrote:

In an effort to find the error we used wiresharc and were able to see
the command from the host being transmitted and a response being sent
from the usrp2. However, the host doesn’t seem to be satisfied with the
received packet.

What daughterboard are you using?

RFX1800

What do tx_freq_min() and tx_freq_max() return?

1.6GHz and 2.0GHz, respectively.

BR/
Per


#7

Hi,

Have you got this issue with USRP2 solved.
We’re now couping with the similar issue setting the tx_timestamp for
choosing a synchronized transmitting time for 2 usrp2.
We use sync_every_pps(true) for reseting the timestamp counter every 1
second with external PPS input. and set the timestamp to 99999999.
But it doesn’t work when interporlation rate lower than 10.

Bests,
Hanwen

2009/4/15 Per Z. removed_email_address@domain.invalid