> 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 _______________________________________________ Discuss-gnuradio mailing list [email protected] https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
