What should the fifoSize of a RX stream be set to for optimal performance?


I’m currently adding support for LimeSDR devices to SDR++ and I ran into an issue when configuring the RX stream. I’m not sure what fifoSize should be set to.

Should it be proportional to the number of samples per receive operation? If yes how is it calculated?

FIFO size can be seeing as time buffer, length in mS usually. What buffer size you need depends on what is your app doing and used sample rate. For example: if you want to demodulate broadcast FM and see entire band at once use more than 20 MS/s sample rate and 50-100mS buffer size. Buffer size could be power of 2 if your DSP function required or any integer round number. Finally, PC speed must be high enough to ensure demodulation of buffer data before new ones.