# [time-nuts] Is possible precise 1pps?

Wed Mar 13 10:30:11 EDT 2013

```On 3/13/13 7:06 AM, Bob Camp wrote:
> Hi
>
> A GPS that uses position hold gets it's coordinates from one of two possible
> sources:
>
> 1) You measure the actual antenna location with a precision survey grade GPS
> and enter them.
>
> --or--
>
> 2) The GPS does a survey for some amount of time. It averages it's own
> "reasonable" location estimates over this time period. With 48 hour
> averaging and a good sky view the location estimate can be pretty good.
>
> The position hold function allows the GPS to come up with a time estimate
> from a small number of satellites. This is useful when the sky view is not
> very good.
>
> A position error of one meter can translate into a time error of about 3 ns.
> Most GPS engines are rated for a 3 meter error, so that would be roughly 9
> or 10 ns. Since the exact error depends on the stat's location relative to
> the error vector, the actual error will vary a bit (= it looks like noise).
>

I was just reminded of an interesting observation..

The satellites are all moving, so whether your receiver is moving or not
doesn't really change the inherent time accuracy possible, as long as
you can accurately (!) estimate your position.  Otherwise, the time
uncertainty is some combination of the position uncertainty of the
satellites and your own position uncertainty. i.e. there's no reason why
you can't determine the position of a LEO satellite to centimeters, even
though it's zipping along at 7km/sec.  In fact it's potentially easier
than on the earth's surface: less ionosphere, less multipath, less high
frequency variation in position and velocity vectors.

What position hold really buys you is a reduction in "own position
uncertainty" and the ability to use fewer satellites to get a "time fix".

Think of it as solving for 4 unknowns (x,y,z,t) (i.e. your position and
time).  And, as a practical matter, you need to solve for their
derivatives as well.  Using inputs that are the (multiple) satellites'
(x,y,z,t and derivatives).  Position hold essentially says
xdot,ydot,zdot =0, so you have fewer things to solve for (t and tdot).
Fewer things to solve for with the same number of observables means,
hopefully, smaller uncertainty on the resulting solution.

There's also a basic issue with some receivers... if they were intended
for an application that didn't need precise timing (e.g. they just time
stamp things to the nearest millisecond or something), then the internal
receiver architecture and software may not bother to actually try to
solve for time to a higher level of precision. Maybe 1 microsecond is
"good enough" to produce position and time outputs with the required
accuracy.  I recall seeing a patent (or maybe a paper) for a low
precision attitude determination system (1 or 0.1 degree, as I recall)
and it didn't need very good time or position accuracy at all.. what it
needed to know was the "direction of arrival" of the GPS signal, so they
could compare carrier phase between two antennas. And they didn't need
precise measurement of carrier frequency either.  To a first order, to
get 1 degree knowledge, you need to know your position to within 1/57th
of the distance to the satellite, or some hundreds of km.  That's pretty
crummy in GPS terms, but it works.  I don't recall if that system even
solved for own position, or if it used an estimate from somwhere else,
or whether it just acquired and tracked the carrier and PN code, without
doing a nav solution.

```