discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] Active Reflector


From: Marcus Müller
Subject: Re: [Discuss-gnuradio] Active Reflector
Date: Thu, 18 Jun 2015 20:34:15 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0

Rafael,

1ms delay is pretty good, considering that you need to pack one complete ethernet packet of samples, send it to the PC, unpack that package, repack it, and send it to the USRP -- the main delay here is probably your OS.
Since both of your USRP are time-synced, I assume both are frequency- and hence sampling-rate-synced, too, so the U's are an indication for the delay not being large enough for the PC to *guarantee* that it can keep up with the samples.

Greetings,
Marcus

On 06/18/2015 08:13 PM, Rafael Acurcio wrote:
Hi Marcus,

I'm using the WBX daughter board.
I though the late packages problem could be because of the processing time between receiving a sample and sending it back.  And I have tried to

I used the delay difference like this:

        now = self.uhd_usrp_sink_0.get_time_now()
        self.uhd_usrp_source_0.set_start_time(uhd.time_spec_t(1) + now)
        self.uhd_usrp_sink_0.set_start_time(uhd.time_spec_t(1.001) + now)

And the results are very reasonable.

However in the second USRP sometimes an underflow occurs (U printed in the terminal) followed by a few late packages (Ls printed in the terminal) that I believe that happens because of some queue being filed. It happen apparently in random times (every few seconds).

Thanks a lot for you help Marcus!




On Thu, 18 Jun 2015 at 10:01 Marcus Müller <address@hidden> wrote:
Hi Rafael,

what you're trying to build is not a causal system -- you tell the sink to start transmitting the first sample right at the same moment that your source receives the first sample -- but between that, the samples have to flow through your PC!

Add a bit of delay between rx and tx.

Also, what daughterboard are you using? Unless you use one of the daughterboards that support static phase after tuning, and tune as a timed command, the LO phase between the RX and TX will be random [1]

Best regards,
Marcus

[1] http://files.ettus.com/manual/page_sync.html#sync_phase_lo


On 06/18/2015 06:47 PM, Rafael Acurcio wrote:
Hello all,

I'm trying to do ranging using two USRPs N210.
The idea is that the first USRP sends a signal and then the second USRP recognize it and send the signal back. Looking to the turnaround time I would be able to know the ranging.
Despite some problems that I already had, right now I'm stuck with the second USRP.

To measure the time I'm synchronizing the rx ant tx from the first USRP using the following code:

        now = self.uhd_usrp_sink_0.get_time_now()
        self.uhd_usrp_source_0.set_start_time(uhd.time_spec_t(0.1) + now)
        self.uhd_usrp_sink_0.set_start_time(uhd.time_spec_t(0.1) + now)

Using the fisrt USRP I can do ranging, connecting both (rx and tx) together, with a good precision. However I couldn't make the second USRP work yet. When I try to synchronize the tx and rx like I did in the first USRP I get a bunch of Ls (late packages) in the terminal. The code drop all the packages.

My gnuRadioCompanion blocks for the second USRP looks roughly like

USRP Source -> threshold -> USRP Sink

There's a better way to solve that problem?
Why do I get the late packages?

Thanks in advance,

Rafael.


PS: To analyze the data that I'm sending I'm using File Sink block and analyzing the data after the transmission.


_______________________________________________
Discuss-gnuradio mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

_______________________________________________
Discuss-gnuradio mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


reply via email to

[Prev in Thread] Current Thread [Next in Thread]