For the record ... thanks to the excellent reference provided in this answer, I became convinced that the timing issue does not lie with the B210/libuhd but with the PlutoSDR. After reading https://ez.analog.com/adieducation/university-program/f/q-a/91477/adalm-pluto-how-to-change-settings-with-quick-settling/199287#199287 and porting the single_param function updated by Travis Collins to the GNU Radio 3.8 port of gr-iio, I get sub-millisecond stabilization time by changing *only* the out_altvoltage1_TX_LO_frequency parameter and not the full set of settings as done with the defaut Pluto Sink function set_params. Now my sweep time is limited by data transfer and no longer by LO settling time, but that is another issue for me to solve.
Thanks, JM -- JM Friedt, FEMTO-ST Time & Frequency/SENSeOR, 26 rue de l'Epitaphe, 25000 Besancon, France April 14, 2020 2:22 PM, "Sebastian Sahlin" <seb.sah...@gmail.com> wrote: > Hi, > > I believe the following paper may be of interest: > https://pubs.gnuradio.org/index.php/grcon/article/view/2 > > It is indicated that the B210 needs around 3.3 milliseconds minimum to settle > and it is, as you > say, due to the hardware frontend. What is causing the extra delay I can only > guess but perhaps > communication overhead is the culprit. > > Regards, > Sebastian > > Den tis 14 apr. 2020 kl 13:40 skrev jean-michel.fri...@femto-st.fr > <jean-michel.fri...@femto-st.fr>: > >> I am considering frequency sweeping a PlutoSDR and a B210, both fitted with >> AD936x RF frontends. >> As I was writing the application and reading the libuhd documentation, I read >> at https://files.ettus.com/manual/page_general.html >> "After tuning, the RF front-end will need time to settle into a usable state. >> Typically, this means that the local oscillators must be given time to lock >> before streaming begins. Lock time is not consistent; it varies depending >> upon >> the device and requested settings. After tuning and before streaming, the >> user >> should wait for the lo_locked sensor to become true or sleep for a >> conservative >> amount of time (perhaps a second)." >> ... and surely enough, I can see that if I wait less than a second after >> programming >> the LO, I get inconsistent results because my LO has not stabilized. That is >> also >> true with the USRP GNU Radio source block. >> Unfortunately I want to sweep a few hundred frequencies (in several 100 MHz >> range, >> so no option of playing with the I/Qs while keeping the same LO setting), >> meaning >> that the current measurement takes forever (up to 5 min) only waiting for >> the time to >> settle since data communication delay is at the moment negligible. >> >> 1/ What is the cause of this settling delay ? is it libuhd communication (in >> my >> case over USB with a B210) or the Analog Devices frontend hardware ? >> 2/ is there some "setting rule" that might lower the settling time (e.g. >> programming >> a multiple of some magic frequency that might take less time to settle) ? >> Currently >> I sweep with 1 MHz steps, ie a fraction of the sampling frequency, for >> spectra to overlap, >> but that frequency step was selected randomly and could be any better value >> if that >> could help LO stabilize "quickly". >> >> Thanks, JM >> >> -- >> JM Friedt, FEMTO-ST Time & Frequency/SENSeOR, 26 rue de l'Epitaphe, >> 25000 Besancon, France