Simone, first of all, FIFOs of this sort already exist (both on the device and in host, in form of the buffer between the upstream block and the USRP block).
Now, if you're SW is too slow, your FIFO will always run out of samples and eventually you'll have U's again. This can only help to avoid transient underruns, i.e. when your SW is *on average* fast enough, but sometimes falls behind. In this case, large buffers can help, but come at the cost of latency. You might have enough buffering if you simply start transmitting with a delay. This will force buffers to fill up. Timed commands will help you with this. Cheers, Martin On 02/22/2016 12:47 AM, Simone Ciccia S210664 wrote: > Goodmorning Community, > > In the following situation > > | Software | |RF | > | Code | ---> |Front End | > | | |(Sample_Rate) | > > Underflow occurs when the software code does not provide > samples at a constant rate as required by the RF-Front End. > The known solution, able to eliminate Underflows, is clearly speed up > the software code. However, in this discussion I want to understant > if there exist alternative methods, keeping the software as it is. > One thing that comes in my mind is to collect a certain number of > processed samples > in a FIFO before starting the RF-front end transmission, ensuring that > there are always samples in the FIFO buffer (clearly for a limited period). > > | Software | | Implement | |RF | > | Code | ---> | FIFO | ---> |Front End | > | | |(synch with FE) | |(Sample_Rate) | > > Could it be implemented (if it make sense)? > Can you guide me to implement such block? > (in particular the Forecast, I think it will a general block) > > Thank you very much, > simone > > _______________________________________________ > Discuss-gnuradio mailing list > Discuss-gnuradio@gnu.org > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio