Josh,
Once I start uhd_benmark_rx.py, USRP2 continuously sends data to the
host. The data rate is the sample rate times 4 (bytes per sample). This
happens even when no transmitter is around. Therefore, I assume that the
ADC just converts noise into samples and USRP2 sends those samples at
the rate specified by the sample rate when uhd_usrp_source is initialized.
I have one question, is data communication between USRP2 and
uhd_usrp_source "polling" or "pushing"? I thought it is "polling"
because only UDP socket client exists in uhd_usrp_source. In this case,
data RECV is triggered by the scheduler's work function. Usually the
noutput_items varies from time to time. If so, how can USRP2 send
samples at a constant rate of the specified samp_rate (as I observed)?
If it is "pushing" (which means that USRP2's firmware initiates the data
sending to the host), it looks like that USRP2 even sends samples of
noise at a constant speed. But if so, would the such samples fill the
kernel socket buffer (whose size is determined by "sudo sysctl -w
net.core.rmem_max=<new value>")? Newer packets will get dropped.
On 03/01/2011 06:13 PM, Josh Blum wrote:
Nothing gets buffered in the UHD in the usrp2/n210 implementation.
However, there is a kernel socket buffer on receive that has enough
buffering for a second of samples. Once this buffer fills, newer packets
are dropped.
I also believe that this is the same on the raw ethernet driver.
-josh
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio