[Top][All Lists]

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

Re: USRP source starts to receive after certain samples

From: Marcus D Leech
Subject: Re: USRP source starts to receive after certain samples
Date: Wed, 16 Jun 2021 11:14:33 -0400

Latency is pretty normal in digital systems. 

There’s buffering in Gnu Rsdio, in the kernel network and USB layers, and there are packetizing delays. 

There’s buffer in the radio and the DUC and DDC filters inherently ads group delay. 

Picoseconds? Really?  EM waves in a vacuum propagate at about 3ns/metre. Expect about 2/3rd of that in a coax cable. 

Sent from my iPhone

On Jun 16, 2021, at 5:09 AM, Huang Wei <weizardry@gmail.com> wrote:

Hi all,

I am very new to Gnuradio and USRP, and I have a question about the code transmission delay between USRPs.
I have two USRP E310 with UBX160 daughterboards. I send a sequence of code from one USRP using simple amplitude modulation, and receive it by another USRP. On the receiver side, I use a replica of the code to cross-correlate with the received code to compute the transmission delay. However, I can’t explain this delay I obtained:

  1. when I set the sample rate to 200MHz/128, the delay is 26.837 us (≈ 42 samples);
  2. Sample rate to 200 MHz/256, the delay is 0.0537 ms (≈ 42 samples);
  3. Sample rate to 200 MHz/512, the delay is 0.105 ms (≈ 41 samples).

Also I recorded the date received by the USRP, it clearly shows that, no matter the sample rate is, the USRP source starts to receive the code after the 41st samples, and before are some strange values. You can find them in the attached plot.

My questions are

  1. why the transmission delay of the code are based on certain number of samples? should it be a certain value (some micro or Pico second)? In my case this delay changes with the sample rate.
  2. what are those values received by USRP before the received code? they have some similar behaviors.
  3. Maybe it’s not the correct way to check the transmission delay. Is there any better method for measuring it (e.g. adding time stamps)? I used USRP “rx_time” stream tags, and it always shows (xxx, 5e-9), like when it starts to receive something, maybe only the noise.

(Additionally, both USRPs have their 1 PPS and frequency ref synchronized to the external high quality atomic clock. And I set them to start transmit/receive data at exactly the same time.)

I appreciate a lot for any comment or advice !


reply via email to

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