RX Streamer timeout not uniform

For the Rx streaming, we use the unblocking as the timing source for application. We notice that the Rx streamer unblocks around the 1 ms mark for a series of subframes where it is generally falling back and then it catches up by unblocking very early. For example, with 3 MHz configurations sampling rate of 3.480 Mhz , it falls back by around 900-950 microseconds over 15 subframes (15 Milli seconds) and therefore unblocks in less than 100 microseconds in the 16th subframe. Is there a way to make the unblocking uniform.

You don’t say what hardware or software and if you could please clarify.

We are using Lime SDR USB, on usb 3.0. with SoapySDR on ubuntu 16.04

@Garmus, perhaps you could advise.

Well, you should be able to make rx stream blocking uniform by setting a very low timeout value, though Soapy wouldn’t return the number of samples that were received if it had a timeout.

In general, I don’t think using stream blocking time as a timing source of your application is a good idea.

Hi Garmus

Thanks for your response

We have set the latency as 0.0
Used a different time source to trigger the “Read” instead of using it directly as a time source.This has solved the issue.
We would however like to understand if there is some documentation or graph on throughput versus latency. More specifically, what would throughput limit be for a latency of 0.0.

Also we would like know what is the recommended maximum amplitude for floating-point baseband I/Q samples? Theoretically, we assumed +/- 1.0 but saw in the online forums an recommendation to use +/- 0.8. Does the 0.8 represent sufficient “back-off” or is there a larger back-off assumed. In other words, at what baseband values can we expected the SDR to output the specified power and what is the maximum “safe” Rx power?.