[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Discuss-gnuradio] Question about USRP2 Tx procedure
From: |
Josh Blum |
Subject: |
Re: [Discuss-gnuradio] Question about USRP2 Tx procedure |
Date: |
Wed, 25 Apr 2012 11:33:34 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20120310 Thunderbird/11.0 |
> Dear josh,
>
> Thanks for your help very much!
>
> But I still have puzzles about the extra time such as 0.65s when
> I set the bit rate to 1M. we set the program to send 4s, and use
> wireshark and find the data through the network card continued for
> 4.65s, it indicates that the data be sent the last 0.65s is still in
> PC, in GNU-Radio's FIFO, not in USRP's buffer. Is it?
>
> If so, why we use half the time, that is the time changed from 0.65s
> to 0.32s when we set the bitrate from 1M to 2M? the data proceed in
> PC should be fixed and unrelated to the transmission rate, and much
> lower than the transmission rate, so the time processing the same
> amount data which stored in gnuradio's FIFO must be still 0.65s, is
> it?
>
If I am understanding correctly:
1) Gnuradio creates a fixed amount of buffering
2) The data source produces data faster than USRP consumes
3) The buffering in gnuradio becomes filled 100% with samples
4) The USRP consumes samples from this buffer at a fixed rate
So I think it makes logical sense that when you increase sample rate
(USRP consumes faster), the time to drain the buffer decreases.
Also, I want to point out:
There is a hook to control the size of these buffers in gnuradio
(presumably to reduce flow graph latency). You may be interested in
modifying this number and experimenting:
void start(int max_noutput_items=100000);
http://gnuradio.org/cgit/gnuradio.git/tree/gnuradio-core/src/lib/runtime/gr_top_block.h#n63
-Josh