42

How do GPS satellites keep their on board clocks accurate? I assume that they need to get update from a base station. But how do you make sure that after the update all the satellites are synchronized, i.e. there isn't any phase shift.

You have your base station on earth, and assume that all the satellites you want to update are in line of sight. You send an update command. But, each satellite is a different distance from the base station. There will also be a delay from receiving the command, to updating the internal clock. Some satellites may have newer hardware, which is faster.

If you update the satellites separately, you would need to ensure that your timings of the commands that you send are very accurate. This seems like a difficult thing to get right. Is there a better method that is used in practice?

I guess what I am interested in is say you have a clock at location A. How do you synchronize it with a clock at location B, which is far away from A? You have the message flight time delay, processing delay in B etc.

user110971
  • 6,067
  • 1
  • 15
  • 23
  • 1
    This may be a better fit for Physics SE. – Polynomial Nov 28 '16 at 09:29
  • @Polynomial well, this seems like an engineering problem. At least to me it does. The physics of it are pretty clear e.g. time of flight etc. The difficulty comes from updating counters, transmitting messages at the right time etc. – user110971 Nov 28 '16 at 09:35
  • 7
    They use atomic clocks. The drift is rather due to relativism, the satellite is travelling at high speed, so there is a time shift. By the way, the base station knows exactly the position of satellite, so the distance is known. – Marko Buršič Nov 28 '16 at 09:37
  • 3
    Another solution would be querying the satellite: what is your clock? Then you compute the error and send: Make a shift +/- xxxx ns. – Marko Buršič Nov 28 '16 at 09:40
  • @MarkoBuršič I'm not concerned with general relativity per se. Assume the satellites are stationary and are in the same gravitational field, if you want. Even though they use atomic clocks, they will drift as time passes. You will need to synchronize them to the an atomic clock on earth that we have defined as having the "true" time, wouldn't you? – user110971 Nov 28 '16 at 09:41
  • 2
    Some relevant similar questions on Space.SE, [for example, this one](http://space.stackexchange.com/q/5423), also some on gis.SE, [for example, this one](http://gis.stackexchange.com/q/129614). – Roger Rowland Nov 28 '16 at 09:48
  • @user110971 It's pretty trivial. With a known postion of base station, you can calculate the time error for each satellite, and then update the relative shift for each. But I don't know how is implemented for real, it's just my opinion how I would do it. – Marko Buršič Nov 28 '16 at 09:49
  • @RogerRowland I saw that answer. It doesn't answer my question though. Firstly, it talks about synchronization of the receiver to the GPS satellite clocks. This seems far easier when you consider that you have many satellites to work with that are synchronized, instead of a single base station. Secondly, I am looking for a more quantitative response, i.e. one that will allow me to implement such a system. – user110971 Nov 28 '16 at 09:54
  • 4
    "This seems like a difficult thing to get right." indeed it is a very difficult thing to get right, and the equipment used is not cheap, but you only have to do it at a few places. Its simply part of the cost of running such a system. – PlasmaHH Nov 28 '16 at 09:54
  • 1
    @user110971 Well, I never suggested it was an answer to your question, just trying to help by pointing you at other SE sites that may have more information. If you don't want/need that kind of help, I'll get on with my own work .... and leave you to yours. – Roger Rowland Nov 28 '16 at 09:56
  • 3
    @RogerRowland oh, sorry. Didn't mean to come out as rude. Just pointing out why I asked this specific question. – user110971 Nov 28 '16 at 09:59
  • 1
    @PlasmaHH yeah, but how do you actually do it? Are there any standards covering this? – user110971 Nov 28 '16 at 10:02
  • @user110971 No problem, I'm too old and weary to take offence, I'm up to my neck at the moment and really shouldn't have the SE tabs open, so I'm a bit snappy ;-) – Roger Rowland Nov 28 '16 at 10:02
  • @user110971: I don't think it makes sense to develop a standard for things that is done on a handful of places in the world. Also they will surely constantly improve their methods. For more than the principle of operation (remember, GPS is of military origin) you might have more luck looking for descriptions of the galileo system. – PlasmaHH Nov 28 '16 at 10:04
  • @PlasmaHH But surely this type of problem is more common than that. If you have a clock at A, and you want to synchronize it to the clock at B, you run into the same type of problem. This should be more common than you suggest. – user110971 Nov 28 '16 at 10:07
  • @Polynomial I'd assume the OP wants an answer from a EE perspective, not a pysicist's one. – Mindwin Remember Monica Nov 28 '16 at 14:52
  • @MarkoBuršič You mean relativity, not relativism. Relativity is Einstein's physics theory; relativism is the belief that knowledge and morals exist only within the context of a particular culture and that there are no absolute morals. – David Richerby Nov 28 '16 at 15:14
  • 2
    @user110971 I think what you're looking for is the Einstein-Poincaré synchronization, but GPS satellites in fact do not use it and are not directly synchronized to each other. – Pedro Werneck Nov 28 '16 at 17:25
  • @MarkoBuršič GPS satellites don't actually move that fast (4km/s, was it?), time drift is due to the Earth's gravity deforming space-time rather than relativistic speed effects. – Dmitry Grigoryev Nov 29 '16 at 10:16
  • @PedroWerneck That synchronization would only work for clocks in a single inertial frame, which Earth and GPS satellites aren't. – Dmitry Grigoryev Nov 29 '16 at 10:25
  • 1
    The bottom line is it's impossible to keep them synchronised. A "second" is a different size depending on the local gravity, and you cannot get a matching phase with differing frequencies. – OrangeDog Nov 29 '16 at 14:53
  • They reach down with a giant arm and reset them one by one. True! – Tim Spriggs Nov 29 '16 at 17:22
  • @DmitryGrigoryev I'm aware of that, but that seems to be what the OP is looking for. – Pedro Werneck Nov 30 '16 at 17:11
  • @DmitryGrigoryev that's not necessarily true. Firstly, you can synchronize them repeatedly before they drift apart. Secondly, you can account for time dilation in software. If you know that you are 1 count off every 1 billion counts, for example, you can correct the count. – user110971 Nov 30 '16 at 17:29

3 Answers3

47

Clock errors are not corrected, they are compensated in two steps.

1. Error determination

The GPS control segment uses reference receivers in well known locations to determine the actual orbital elements and the clock error of space vehicles. The reference for position is the WGS84 reference frame, for time it is the international atomic time. Even the smallest effects like continental drift and relativistic time dilatation are taken into account.

2. Error Compensation

The onboard clock (in fact, the SV Z-Count, see IS-GPS-200 3.3.4) is not tuned, slewed or reset to compensate for the error. Citing IS-GPS, 20.3.4.2:

Each SV operates on its own SV time

Instead, the offset between UTC and this spacecraft's clock ("GPS-Time") is broadcast in the navigation message (see IS-GPS 20.3.3.3.1.8). This does not only include the current offset, but also different forecasts ("fit intervals", 20.3.4.4). Normally, only the highly precise short term forecast is relevant, the others would be used if the control segment is inoperable and no uplink is possible.

Likewise, the position error (deviation from nominal orbit) is left uncorrected (this would deplete precious fuel), but is broadcast to receivers by uploading ephemeris data (orbital elements) to the spacecraft.

Time of flight is no issue for the uplink, as the new fit interval data has already been determined in the previous step.

The actual compensation is then done in the receiver (user segment). It applies corrections when relating the observed signal/code phase of different SV.


Exceptional situations

Sometimes, old spacecraft behave in unexpected ways, for example their clocks begin to drift unpredictably. AGI has a website with performance data of onboard clocks. You can see, that USA-151s clock (sending PRN28) is a little bit shaky and needs frequent compensations.

If a clock goes wild or a powered maneuver makes the SV unusable for navigation the SV sends an "inoperable flag" in its navigation message and is ignored by end users' receivers.

Andreas
  • 1,785
  • 12
  • 18
  • Doesn't this describe how the receiver obtains accurate time synchronization? I was originally asking about how the satellites themselves stay synchronized with international atomic time. I mean each satellite must be synchronized with each other satellite when the GPS messages are transmitted to the receivers. – user110971 Nov 28 '16 at 10:21
  • 5
    @user110971 The satellites clocks are not adjusted. Instead, their offset (to atomic time) is monitored, predicted and broadcast in the navigation message. Receivers compensate for the offset, not only for their own, but also for the spacecrafts offset. Sounds funny, but has the advantage, that the GPS signals phase has no jerks or outages. (deleted my previous comment which was not helpful) – Andreas Nov 28 '16 at 11:05
  • okay, I see how it works. Is it known how the satellites track the drift between their in board clock and UTC time. Do they receive a reference UTC clock from somewhere? – user110971 Nov 28 '16 at 12:33
  • "Each SV operates on its own SV time. Instead, the offset between UTC and this spacecraft's clock ("GPS-Time") is broadcast in the navigation message" - why? – John Dvorak Nov 28 '16 at 12:36
  • @JanDvorak: The offset changes slowly and doesn't need to be sent at high frequency. This is important, because the effective data speed of GPS is very low. – MSalters Nov 28 '16 at 13:16
  • @MSalters I mean, why won't the satellite send its clock data corrected, instead of sending uncorrected data + correction data? – John Dvorak Nov 28 '16 at 13:17
  • 4
    @JanDvorak GPS satellites do not actually send a full timestamp. Instead, part of the timestamp is determined by the phase of the signal itself: messages always start at 30 second increments. So to correct the timing, the satellite would have to shorten or lengthen a message, which would cause receivers to lose synchronization and need to reacquire signal. – jpa Nov 28 '16 at 13:54
  • @user110971 The onboard systems *can* apply the offsets themselves and derive UTC from their own clock. But the idea, that UTC is somehow sent to them, like to computers with the NTP protocol, is wrong. And they do not need UTC. Why should they generate a signal with phase fixed to UTC. Its useless to them and would be useless for any receiver. – Andreas Nov 28 '16 at 15:11
  • @JanDvorak Any correction would need slewing the signal or even a hard step correction. This would adversely impact the position solution of any receiver --- again, unless compensated for. Letting receivers apply the last known compensation (it may be outdated on almanac rollover) is better, because the receiver knows when it rolls over to new data and can take that into account. – Andreas Nov 28 '16 at 15:14
  • 1
    @jpa +1, this is somehow true. But: tracking loop bandwidth is often choosen as 18Hz for old-style COTS devices, a compromise between receiver dynamics and loop stability. You would need a huge correction to cause loss os lock in the receiver. Clock errors typically only have DOP-equivalent of several meters, receiver motion and atmospheric scintillation are absolutely dominant. – Andreas Nov 28 '16 at 15:43
  • 4
    @JanDvorak One major consideration is that a "correction" would have to be dealt with at a very low level of the stack (potentially even at the analog hardware level), where the side effects of a correction could be complicated. If instead they send an uncorrected clock plus correction data, the side effects of that correction can be dealt with at a higher level (such as software). Subtractions are very easy for modern processors! It also makes it very clear where the change came from. A receiver receiving a sudden correction may distrust their own hardware and assume it was a mistake! – Cort Ammon Nov 28 '16 at 16:40
  • 2
    You also have to remember that this method was chosen a long time ago and it allowed the satellites to be much simpler, acting much like tape recorders playing back a signal. – David Schwartz Nov 28 '16 at 18:44
  • 1
    If you make the clock run slower or faster on purpose to correct the time, you are *slewing* the clock. If the clock is off by (usually a constant) amount, the clock is *skewed*. As the statement is expressing that no corrective measures are taken to bring the SV clock back to the right value, "is not [...] slewed" is the correct expression, and the result of the process is that the raw value of the clock is indeed skewed, but the error is known and corrected in the receiver. – Michael Karcher Nov 29 '16 at 23:34
6

say you have a clock at location A. How do you synchronize it with a clock at location B, which is far away from A?

You can do what NTP does. Roughly speaking,

  • send a request for current time at the moment \$t_0\$
  • the server receives your request at \$t_1\$ and sends you a reply at \$t_2\$
  • receive the reply \$T\$ at the moment \$t_3\$
  • set your time to \$T+\delta\$:

enter image description here

Note that this is not what GPS does because there is no point: satellite second is shorter that Earth's second due to gravity, so it's impossible to keep clocks in sync.

Dmitry Grigoryev
  • 25,576
  • 5
  • 45
  • 106
2

The constellation of GPS satellites is constantly monitored by several fixed ground stations positioned around the globe. These ground stations monitor all the satellites and send correction factors if any drift is detected.

The GPS control segment consists of a global network of ground facilities that track the GPS satellites, monitor their transmissions, perform analyses, and send commands and data to the constellation.

The current operational control segment includes a master control station, an alternate master control station, 11 command and control antennas, and 15 monitoring sites.

Ref: http://www.gps.gov/systems/gps/control/

Richard Crowley
  • 14,382
  • 2
  • 20
  • 37