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

Reply via email to