Julian, many thanks for your extensive answer!
Regards, Jorn Jorn, while tuning, samples will continue to flow from the device to your host (if your recv loop is running in a separate thread). However, while UHD is processing your call to 'set_rx_freq' there will be some transient behavior visible in the received samples. Thus, you should probably discard all received samples while waiting for 'set_rx_freq' to finish. The tuning process on the E310/B210 is actually relatively involved (calibration wise). The front-end IC has to perform calibration of several stages when changing frequency. Some of those calibration steps only happen every 100 MHz which is why you will notice that some calls to 'set_rx_freq' will take considerably longer than others. While 'set_rx_freq' is blocking during this calibration process, there are other parts in the front-end that might (depending on you input) take some more time to settle (the DC offset and IQ imbalance correction, for example). So it's not a bad idea to give the device some extra time after 'set_rx_freq' is done before processing samples again. Hope this helps. Let me know if you have any further questions. Cheers, Julian On 16.09.19 15:38, Skorstad,Jørn via USRP-users wrote: > Many thanks for your answers. Do you know if the E310 will halt the data > stream while changing filter/frequency, or do I need to take this into > account in the software while changing frequencies? > > > Jorn, > > regarding your other question, filter selection on the E310 is handled by > UHD, internally. > > Cheers, > Julian > > On 15.09.19 20:54, Marcus D Leech via USRP-users wrote: >> My recollection is that the AD9361 RF chip doesn’t have an external lock >> indicator. >> >> Sent from my iPhone >> >>> On Sep 15, 2019, at 9:17 AM, Skorstad,Jørn via USRP-users >>> <usrp-users@lists.ettus.com> wrote: >>> >>> Hi all, >>> >>> >>> >>> I am currently working on a project using a USRP E310 to output an FFT plot >>> over a given frequency range (usually bigger than the possible sample >>> rate). The program is written in C++ using the UHD library. Frequency range >>> is achieved by changing the LO frequency regularly. The program seems to >>> work, however I have two questions I can’t find the answer to in the UHD >>> manual: >>> >>> >>> >>> The E310 has analog filters on the RX and TX ports. The documentation is a >>> little short on how these filters are controlled. Are they selected >>> automatically based on the LO frequency, or do they need to be manually >>> selected? If so, how? And what would be the (estimated) changeover time >>> between filters? >>> >>> >>> >>> LO lock – I tried to detect if LO is locked after a tune request using the >>> UHD manual as a reference. If I include the following directly after a tune >>> request nothing is printed: >>> >>> while (!usrp->get_rx_sensor("lo_locked").to_bool()) std::cout << >>> "PLL unlocked!" << std::endl; >>> >>> >>> >>> Is there some other way to detect LO lock? >>> >>> >>> >>> Regards, >>> >>> Jorn >>> >>> _______________________________________________ >>> USRP-users mailing list >>> USRP-users@lists.ettus.com >>> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com >> >> _______________________________________________ >> USRP-users mailing list >> USRP-users@lists.ettus.com >> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com >> > _______________________________________________ > USRP-users mailing list > USRP-users@lists.ettus.com > http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com > _______________________________________________ USRP-users mailing list USRP-users@lists.ettus.com http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com