RX stream activation / deactivation


I am writing a python script which uses SoapySDR to read streams of samples from the Lime SDR at various center frequencies. I would like the script to do this as quickly as possible, and I was wondering if it was necessary to deactivate the RX stream before calling SoapySDR’s setFrequency(), setBandwidth(), setGain() etc, or can I leave the stream activated?

Also, is there a settling time that I should allow after changing frequencies or other parameters?

Many thanks in advance for any advice!

it should be possible to change centre frequency, bandwidth or gain without stopping the stream. However, you won’t see effects of the change in receive sample stream immediately. Because there will still be samples of pre-change state in receive FIFO buffer. So one way is to stop and start stream in which case you will get fresh buffer after start.
You can also try reading out old samples from FIFO after the change without stopping streaming (you could put a limit on amount of old samples by setting small buffer size).

1 Like

Many thanks for your advice. I currently deactivate streaming before changing any SDR parameters, then re-activate after. With 2 channels enabled the activation and deactivation takes a little while. I will try the latest LimeSuite build, as recommended in your reply to my previous post https://discourse.myriadrf.org/t/lime-sdr-slowness-with-2-channels-enabled/5284/2, but failing this I will try leaving streams activated and flush sample stream.

Thanks again for your help.