How to Avoid Overflow on USRP

Updated Jun 6, 2018

Reported In

Hardware

  • USRP Software Defined Radio Reconfigurable Device

Software

  • LabVIEW

Driver

  • NI-USRP

Issue Details

I am acquiring a signal with my USRP and I need to do a continuos acquisition (see niUSRP EX Rx Continuous Sync.vi ) and sometimes, after a few of second I get an overflow error on LabVIEW.

Solution

After the sampling of the USRP front end, the data are stored in the hardware FIFO present on the USRP device, waiting to be sent to the host PC by the bus communication. As we can see from the LabVIEW example the data are fetched from the FIFO in the while loop: 

The while is not temporized so is executed at the maximum speed: in this way more code is present in the while loop, more time is needed for each execution. Normally, in RF application, is usual to implement post processing code of the acquired data (implemented in the while loop), but how to optimize the execution? Implementing a producer consumer architecture where the producer while you only leave the niUSRP Fetch Data.vi and in the consumer loop you can implement the post processing code. In this way the data flow faster trough the bus because the niUSRP Fetch Data.vi executed faster.

WAS THIS ARTICLE HELPFUL?

Not Helpful