I am currently trying to measure delays on the USRP and found some
interesting things. I wanted to see if others have similar results:
First I measured the round trip time of my IEEE 802.15.4
implementation. I have to computers, one runs a ping application, the
other one a pong. The average delay in this case is 26.8ms.
Next, I measured the round trip time of my FSK implementation (also
based on packets). Here, the mean RTT is 14.9ms.
Next, I tried to find out the one way delay, i.e., how much time
does it take between generating one sample at the computer, until that
sample gets sent out at the USRP output. For this, I changed the code
of the sig_gen class such that it generates a square wave instead of a
cosine and I added code that toggles the parallel port pins according
to the state of the square wave. Then I used an oscilloscope to
measure the delay between the two signals, i.e., the one generated at
the parallel port and the one from the USRP (LFTX). The signal is at 2
The delays in this case depend a lot on what I choose for the
decimation (while keeping a constant square wave frequency). If I use
decimation=500, then I find an average delay of 65.8ms. When I change
the decimation to something else, I get values ranging from 30ms up
to 150/200ms (I didn’t do exact measurements for these yet).
What I am wondering is, why is there such a huge difference? Is it
because of the GNU Radio scheduler? Or is there some other problems?