Eric Blossom wrote:
On Tue, Jul 22, 2008 at 05:59:17PM -0500, Ketan Mandke wrote:
My colleague Steve and I have been working with the inband receive
code in an effort to understand how the timestamps work. Specifically,
we have been printing the timestamps from the usrp_rx block while
running test_usrp_inband_2rx.cc in usrp/host/apps-inband. There is
some puzzling behavior that we have observed and unable to explain. We
are operating with a decimation rate of 64 (i.e. a 1 MHz sample rate).
Note, this is using the gnuradio trunk rev 8586, with the
gnuradio/trunk/usrp/ code unchanged except to print timestamp data in
usrp_rx.cc. There don't seem to be any major changes since this revision.
Paging George Nychis,... Paging George Nychis...
Please come to the white courtesy telephone...
I've known about a inband timestamp issue. but I'm not sure its the same.
I've fixed this in the code a while ago, but never committed new RBFs
from being busy to build them.
Here is the fix I made on 05/15/08:
http://gnuradio.org/trac/changeset/8430
I didn't actually get to build the new RBFs until earlier this week:
http://gnuradio.org/trac/changeset/8924
http://gnuradio.org/trac/changeset/8935
I'm not sure this fix explains the jumps in timestamps you're seeing, as
it was mainly a reset issue causing the TX and RX timestamps to be on
different clocks. But, I'd like you to try it out with the new RBFs so
we are at least on the same page and I know you're working with the
newest and greatest RBFs. Then if the issue still occurs, I can poke
before I merge to trunk.
If you want my opinion though, I don't think its an FPGA issue, I think
that its an underrun issue. Can you try checking if the underrun flag
is set on any of the packets around your sudden jumps? You can use the
read_packets application in usrp/host/apps-inband to read a packet dump.
You can enable the packet dump by editing
usrp/host/lib/inband/usrp_rx.cc and setting d_disk_write(true) and
d_write_pkt(true):
http://gnuradio.org/trac/browser/gnuradio/branches/developers/gnychis/inband/usrp/host/lib/inband/usrp_rx.cc#L47
Just use read_packets on your dump, which should be something like
rx_data_chan0.dat and rx_data_chan1.dat ... it should print underrun on
the packet if it was set.
The 2TX/RX stuff in the inband code is very iffy in my opinion. All of
the message passing going on and the context switching between the
m-blocks means that the lowest level usrp_rx block might be waiting a
while before it gets time on the CPU again ... leaving the FPGA to drop
USB blocks in the mean time. But, the underrun flag should tell you this.
- George
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio