usrp-users@lists.ettus.com

Discussion and technical support related to USRP, UHD, RFNoC

View all threads

how many lost samples ?

R
raboteauo
Tue, Dec 18, 2012 9:13 PM

Hi usrp folks,

Since may last short question has no answer, I expose my problem in more details
(perhaps it was not clear enough):

I am interesting to know how many samples are lost during a streaming process. I receive
samples with a "uhd::rx_streamer" object of size "samps_per_buff". My experience about
overflow with usrpN210 is :

  when I receive a block with size N < samps_per_buf, the next call to rx_stream->recv 

will
generate an overflow error code (and zero size returned). Does this means that the recv
method should always
returns samps_per_buf samples in normal conditions (excepting overflow) ?

How can I estimate the right number of losted samples ?

  • is it (samps_per_buff - N) + samps_per_buff
  • should I use the meta_data::time_spec to compute the number of losted samples ? does
    this time_spec
    already significant even for overflow conditions ?
  • another method ?

Any help is appreciated.
thanks.

Olivier

Hi usrp folks, Since may last short question has no answer, I expose my problem in more details (perhaps it was not clear enough): I am interesting to know how many samples are lost during a streaming process. I receive samples with a "uhd::rx_streamer" object of size "samps_per_buff". My experience about overflow with usrpN210 is : when I receive a block with size N < samps_per_buf, the next call to rx_stream->recv will generate an overflow error code (and zero size returned). Does this means that the recv method should always returns samps_per_buf samples in normal conditions (excepting overflow) ? How can I estimate the right number of losted samples ? - is it (samps_per_buff - N) + samps_per_buff - should I use the meta_data::time_spec to compute the number of losted samples ? does this time_spec already significant even for overflow conditions ? - another method ? Any help is appreciated. thanks. Olivier
JB
Josh Blum
Wed, Dec 19, 2012 6:24 PM

On 12/18/2012 03:13 PM, raboteauo wrote:

Hi usrp folks,

Since may last short question has no answer, I expose my problem in more
details

Some of us have to get the coffee 1st.

(perhaps it was not clear enough):

I am interesting to know how many samples are lost during a streaming
process. I receive
samples with a "uhd::rx_streamer" object of size "samps_per_buff". My
experience about
overflow with usrpN210 is :

  when I receive a block with size N < samps_per_buf, the next call

to rx_stream->recv will
generate an overflow error code (and zero size returned). Does this
means that the recv method should always
returns samps_per_buf samples in normal conditions (excepting overflow) ?

When continuous streaming, yes. The buffers will always be maximally filled.

How can I estimate the right number of losted samples ?

  • is it (samps_per_buff - N) + samps_per_buff
  • should I use the meta_data::time_spec to compute the number of losted
    samples ? does this time_spec
    already significant even for overflow conditions ?
  • another method ?

Basically. lost_samples = time_delta*sample_rate

I hope benchmark_rate.cpp will be helpful

-josh

Any help is appreciated.
thanks.

Olivier


USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

On 12/18/2012 03:13 PM, raboteauo wrote: > Hi usrp folks, > > Since may last short question has no answer, I expose my problem in more > details Some of us have to get the coffee 1st. > (perhaps it was not clear enough): > > I am interesting to know how many samples are lost during a streaming > process. I receive > samples with a "uhd::rx_streamer" object of size "samps_per_buff". My > experience about > overflow with usrpN210 is : > > when I receive a block with size N < samps_per_buf, the next call > to rx_stream->recv will > generate an overflow error code (and zero size returned). Does this > means that the recv method should always > returns samps_per_buf samples in normal conditions (excepting overflow) ? When continuous streaming, yes. The buffers will always be maximally filled. > > How can I estimate the right number of losted samples ? > - is it (samps_per_buff - N) + samps_per_buff > - should I use the meta_data::time_spec to compute the number of losted > samples ? does this time_spec > already significant even for overflow conditions ? > - another method ? Basically. lost_samples = time_delta*sample_rate I hope benchmark_rate.cpp will be helpful -josh > > Any help is appreciated. > thanks. > > > Olivier > > _______________________________________________ > USRP-users mailing list > USRP-users@lists.ettus.com > http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com