Re: USRP LO stabilization time ?

2020-04-15 Thread Sylvain Munaut
I played with fast hopping a while ago and it works very well and you
get lock times of less than 1 msec easily.

This is a B210 just quickly switching between  100M (FM), 816M (LTE),
940M (GSM), 1817M (LTE), 2115M (3G), 2450M (Wifi/Bluetooth)

http://i.imgur.com/FwzVgMx.jpg

You can get an idea of the switch time by looking at the duration of
the GSM FCCH signal ( which is ~ 4.6 ms long )

The hardware can only store 8 profiles internally but you can upload /
download profiles via SPI while another profile is running and so my
plan was to use the FPGA to upload next profile and switch to it at
times interval.

The client for that project disappeared and so I never continued to
actually implement it ...

Cheers,

 Sylvain



Re: USRP LO stabilization time ?

2020-04-15 Thread Andrej Rode
Hi,

a while a ago I looked into fast-hopping using a (possibly modified) 
B210.
Basically UHD is issuing a reconfiguration of the AD9361 for each tune 
which will not only
wait for the LO to settle, but also will due DC-offset and IQ balance 
calibration in the AD9361.

For fast hopping there is a special mode in the AD9361 manual where you 
can basically save the settings after
calibration either in a special set of registers (limited space) or 
supply them on the fly so no calibration is
carried out. Using this it would be possible to possibly to sub-ms 
tuning. (I don't recall the details)
In the end I did not implement this but it would be definitely feasible 
(would require a bit of work).
Maybe someone else has some more details on this (I think there is 
something in the archives on this).

Cheers
Andrej
-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.

Re: USRP LO stabilization time ?

2020-04-14 Thread jean-michel.fri...@femto-st.fr
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"  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
> :
> 
>> 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



Re: USRP LO stabilization time ?

2020-04-14 Thread Derek Kozel
Hi JM,

What is the definition for settled for your application? The LO should
be on frequency within a few milliseconds. Possibly you should look at
disabling the IQ and DC tracking loops in the AD936x frontends. The USRP
has arguments exposed in GRC for that.

Derek

On 14/04/2020 12:39, jean-michel.fri...@femto-st.fr wrote:
> 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
>



Re: USRP LO stabilization time ?

2020-04-14 Thread Marcus D. Leech

On 04/14/2020 07:39 AM, jean-michel.fri...@femto-st.fr wrote:

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

The AD936x series is simply NOT optimized for fast-sweeping 
applications. When you chance frequency, a number of internal
  re-calibration operations have to happen within the chip.  UHD tries 
its best to make those as speedy as it can, without

  compromising quality parameters of the chip.






Re: USRP LO stabilization time ?

2020-04-14 Thread Sebastian Sahlin
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
>
>


USRP LO stabilization time ?

2020-04-14 Thread 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