On 09/11/2023 09:45, Swannick, Matthew (FP) - IC via USRP-users wrote:

Hi,

I have previously sent the same message via e-mail so please discard one of the messages.

I am performing testing of transmit streaming using Ettus SDRs and encountering underruns, which I would like to eliminate.

I believe the problem is related to the rate at which samples are being read from the storage or host OS scheduling (rather than configuration of the Ettus itself), but was wondering whether you may still have some suggestions please.

I am doing the following:

·5 * Ettus B205mini SDRs are connected to a Linux based host computer via 5 independent USB 3.0 connections.

·The host is simultaneously streaming samples to each of the 5 SDRs.

·The samples are being streamed from 5 different sample files, one file for each SDR.

·The sample files are stored on a fast SSD on the host.

·The SDRs are transmitting at different sample rates (between 20MHz and 55MHz).

·The code being run by the host is based on the Ettus example program - tx_samples_from_file.cpp, but has been enhanced to run 5 separate transmit streamers simultaneously.

The problem:

·For debug purposes the streaming code running on the host measures the time taken to read each buffer of samples from the SSD.

·Some of the times taken to perform a read can be quite high – a few 1000us. This causes the underruns.

·The average time to read a buffer is much smaller than this - just a few us. So the vast majority of reads are fast enough and do not underrun.

·There is a large variety in the buffer read times - I would like the buffer read times to be consistent, which should eliminate the underruns.

·The measurements show that the SSD/USB/host CPU, etc, are fundamentally fast enough, but some individual reads of the sample buffer can be slow.

·I believe I can fix this in software via a queuing system to counter the variations in read times, but would prefer to find a root cause and if possible fix the source of the high read times.

I was wondering whether Ettus could have encountered this sort of thing before and whether there are any suggestions please?

Hopefully the description makes sense, please let me know if any further information would be useful.

Many thanks

Matthew Swannick


CONFIDENTIALITY NOTICE: This email and any attachments are for the sole use of the intended recipient and may contain material that is proprietary, confidential, privileged or otherwise legally protected or restricted under applicable laws. Any review, disclosure, distributing or other use without expressed permission of the sender is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies without reading, printing, or saving.

L3Harris Technologies UK Limited is a private company registered in England with the company number 11111631 whose registered office is at 100 New Bridge Street, London, United Kingdom, EC4V 6JA.

For information on our Privacy & Cookie Policies, please visit our website: https://www.l3harris.com/en-gb/privacy-policy

_______________________________________________
USRP-users mailing list --usrp-users@lists.ettus.com
To unsubscribe send an email tousrp-users-le...@lists.ettus.com

You might spend some time studying Linux performance tuning with respect to file I/O:

https://www.yugabyte.com/blog/linux-performance-tuning-memory-disk-io/

And likely dozens of other articles like it.

_______________________________________________
USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-le...@lists.ettus.com

Reply via email to