[time-nuts] Choosing a GPS IC for carrier phase measurements

Attila Kinali attila at kinali.ch
Mon Aug 20 20:29:57 EDT 2018

On Mon, 20 Aug 2018 11:46:15 +0200
Nicolas Braud-Santoni <nicolas at braud-santoni.eu> wrote:

> On Mon, Aug 20, 2018 at 01:15:10AM +0200, Attila Kinali wrote:
> > The online shop still works pretty well, as far as I am aware of.
> > If you order more than 10-20 LEA/NEO modules, I recommend going
> > through the u-blox sales. They might not resopond to you as quickly
> > as one would like but they should still give you a decent offer.
> They do not have the UBX-M8030-KT-FT in the shop, but perhaps I should try
> and modify a NEO module as you suggested.

Ah.. you want to go for the chip. That explains why u-blox isn't selling
to yo directly. The chips have minimum quantity of a single reel which
is IIRC 1000 pieces.
Keep in mind that the information needed to programm it is only available
under NDA.

> > One month? If you are not using a Cs beam standard, then having
> > an integration time of a month is pretty pointless.
> The issue is that I only get a measurement every second, with a fairly-large
> amount of noise, so it takes a while to get enough samples until the noise
> averages down to below the oscillator's own noise.
> (Hence why I want to move to carrier-phase measurements; a better receiver
> would definitely help, though)

Uhm... after saw-tooth correction the PPS jitter should be less than 10ns.
That translates to an uncertainty of 1e-8. As PPS noise is pretty much
uniformly distributed (whith curtains that resemble white noise), you
can average it and get a square root improvement. So at 10s you would
be down to 3e-10 uncertainty, which is about what a decent TCXO
does provide at 10s (if I'm not mistaken). So, either you are using
something different than a TCXO or your PPS noise is higher than it
should be under good conditions.

> I mis-spoke, though, one month was how long it took, with a particular set of
> parameters, to get a PLL lock from a cold start (i.e. without the Kalman filter
> being seeded with previous measurements); I guess that what I get when writing
> late at night. :)

That sounds like you got the control loop wrong :-)
Even if you don't do anything fancy (like switching control loop modes)
to assist faster locking, with a loop time constant of a few 10s (which
is what you should do for a TCXO), your loop should lock in a few 100s,
at latest in 1000-2000s.

> > > I was able to work around the problem in part, by dynamically adjusting the
> > > constants of my IIR (and so the integration time), and it works pretty OK
> > > despite being highly non-linear, but there is only so much one can do when
> > > fixing hardware deficiencies in software. :(
> > 
> > Hmm? What kind of problems?
> “The problem” in question was the trade-off between precision and the time it
> takes for the PLL to lock.

The trade-off between precision and locking time does not happen at the
PLL, but at the choice of your local oscillator. The reference oscillator
defines what your loop time constant should be, 10-20s for an XO, 10-100s
for a TCXO, 100-3000s for an OCXO, 10ks-300ks for an Rb. Your locking time
is then just a (small) constant factor larger than your loop time constant
if you don't do any adaptive control (disclaimer: this is a very simplified
view of designing a control loop).
> > > - Trying to make a good GPSDO is hard enough as-is  ;)
> > 
> > Not really. You just need to understand what the limitations of the
> > components are and how to design a proper control loop. That's why
> > Trimble GPSDOs or the Star-4 work so well. They were designed by
> > people who know these things. 
> I'm keenly aware; I was saying that I don't have the same expertise as
> Trimble's engineer, so there is a bunch of learning involved.

Most of this can be learned just by reading GPSDO manuals, GPSDO schematics
and the time-nuts archives :-)

What you need to know is:
1) How GPS works and what the uncertainties are
2) How your reference oscillator behaves
3) How to design a control loop

The GPS knowledge is a bit hard to come by as there are not so many
good web resources on it. I recommend reading books like those from
Misra/Enge[1] and Kaplan/Hegarty[2]. Those two give in-depth knowlege
on the system as they explain how to build a receiver, with the Kaplan
one being easier to understand for a first read as it doesn't dwell
as much on theory as Misra. In addition to those two I would go for
Parkinson[3], which explains how GPS as an overall system works and

For your oscillator, I would have a look at NIST TN 1337[4] and 
NIST SP 1065[5]. Those two explain what stability of oscillators
is and how you should talk about it. And especially how you compare it.
For control loops, I usually recommend Franklin's book[6], which
gives a good introduction, but does not cover any of the advanced
topics which you will need for a GPSDO. But even just the basics
will get you to a working system. It might not perform optimally
under all conditions, but it should do quite well.

			Attila Kinali

[1] "Global positioning system signals, measurements, and performance",
2nd edition, by Misra and Enge, 2012

[2] "Understanding GPS : principles and applications"
2nd edition, by Kaplan and Hegarty, 2006

[3] "Global positioning system - Theory and Application", Volume 1 & 2,
by Parkinson, Spilker, Axelrad and Enge, 1996

[4] "Characterisation of Clocks and Oscillators", NIST Technical Note 1337,
by Sullivan, Allan, Howe, Walls, 1990

[5] "Handbook of Frequency Stability Analysis", NIST Special Publication 1065
by Riley, 2008

[6] "Feedback Control of Dynamic Systems", by Franklin, Powell and Emami-Naeini

<JaberWorky>	The bad part of Zurich is where the degenerates
                throw DARK chocolate at you.

More information about the time-nuts mailing list