So why do I have to configure the time on my GPS device?

I don’t own a stand-alone GPS device myself, but my dad does. A TomTom something. I do however own a Samsung Galaxy S2 myself with a builtin GPS. What they have in common is that you have to tell them the time of day. Now I can use a NTP sync app on my phone and have it synchronize to gain an accuracy of within 10ms under good conditions.

The thing is – they already know the current date and time. They already know it with *a lot* more precision. They just don’t use that information.

The principle behind GPS is really quite simple. Every satellite have an onboard ceasium based atomic clock, so that they know the time with a very high precision. They constantly broadcast their time and location. As we know the speed of light (or radiowaves) we can calculate the distance to the satellite if we ourself knows the time. Now if we know the position and distance of three satellites, we can with some simple trigonometry calculate our own position. If we know the position and time of more than three satellites but not our own time, we can actually compute both our own time and position.

Actually we don’t even have to know our position very well to find the time with very high accuracy. So we don’t even have to get a fix on enough satellites to know our position. As the speed of light is about 300,000,000 m/s we will just by knowing our position to within 300 km know the time to within 1 ms of precision. GPS will usually let us know our position to within 20 m which gives us a time precision of about 67 ns (yes, nanoseconds), and the location services on android can usually tell you your position with even more precision by taking other parameters into account. But even without knowing our position at all we could still get the time with more than about 100 ms precision from any satellite, as their orbit altitude are around 20200 km.

So why again do I have to tell my GPS device the current date and time?

3 thoughts on “So why do I have to configure the time on my GPS device?

  1. There are a couple of reasons you have to tell your GPS what the time is.

    1. During acquisition, if you know the approximate time, you can compute the expected ephemeris and figure out which satellites ought to be in view wherever and where they should be in the C/A code; this makes acquisition *much* faster (seconds rather than minutes).

    2. The GPS constellation does not care about timezones. By telling the receiver what you think the time is, it can figure out which timezone you’re in (by assuming that you’re only a few minutes out at worst, and figuring out the difference between the time you told it and the time you ought to have given your location).

  2. Not that I know anything about GPS, but it may be to give it enough information to know the locations of various GPS satellites overhead – i.e. to know which to look out for, and where in the sky they are, in order to get a location sooner. For the phone, it’s probably largely programmer laziness.

  3. @Jas Strong:
    1. That’s a good point. It would only need to figure its location and time out once after its clock is reset though, so depending on the device this might not be an issue.

    2. Well you could just tell it your timezone. In theory it should be possible to figure the timezone out from your location. In the real world that is probably dangerous because of sensitive political issues (just think how Microsoft had to stop showing the location of the selected timezone on its map in Windows 95).

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.