What makes me most curious is why the counter isn't a byte multiple. Why 10 bits then? Why 13 bits now? Why not 2 bytes now, providing over a thousand years? Perhaps they had to accept a solution that would work on the most memory-restricted reprogrammable device still out there? Just guessing.
What makes me most curious is why the counter isn't a byte multiple. Why 10 bits then? Why 13 bits now?
Confusing to me, too.
Perhaps they had to accept a solution that would work on the most memory-restricted reprogrammable device still out there?
My guess as well. I would assume it's not even a restriction - but more of a design philosophy. That is, why "bloat" something if it's not required - all 'byte size' increases would then have to be approved and agreed upon by those uppers who really don't know what they do anyway
That is - I'm sure this isn't the only thing that wants to use more memory - if true, it would make sense to limit "all memory allocations" to going through an approval/verification system of some sorts.
GPS was designed for the capabilities of embedded systems more than 40 years ago. So it is not entirely surprising that they tried to squeeze memory. Available memory would be measured in kilobytes at best - certainly not the gigabytes of a modern smartphone.
I can’t say whether they had 3 unused bits in the (16 bit?) word or whether they repurposed one or more of them. But it seems likely to me that they stopped with 13 bits because they couldn’t add any more.
Back in the 1970s, my uncle - who was a commercial fisherman - had a GPS on his boat. According to him, it had a built-in glitch that caused the reported position to jump about fifty feet sideways every few minutes. That was not a problem on a slow-moving boat but it would hopefully have been a problem for the Russians if they tried to use it in a cruise missile, for example.
We're so byte-oriented now that we forget that so many earlier computers had different length data words; there's also no standard definition for "byte". For example, in network documentation (RFCs) the term for 8-bit words is "octet".
Refer to the ICD-GPS-200c document for the format of the data pages in the subframes of the messages transmitted by the satellites -- also for the use of that data and how all that works. You've got short groupings of bits with parity bits and other bits interspersed. There's no such thing as contiguous bytes (ie, octets) in that format.
Also, there's a lot of data being transmitted in a low-power signal. For the entire message, all 5 subframes, to be transmitted from one satellite takes about 12 minutes. Having extra bits in those messages that serve no purpose would slow things down even more.
That's Selective Availability (SA) at work adding random error to the signal on the commercial frequency, thus deliberately reducing its accuracy. It was done basically for the reason you guessed: we wanted to deprive the enemy of a valuable navigation tool. Of course, military GPS units used a different frequency which did not have SA. Unfortunately, in Desert Storm there weren't enough military GPS units, so soldiers' family mailed them commercial GPS units which were subject to SA. As a result, SA was turned off temporarily for the duration. After that the FAA, wanting aircraft to be able to use GPS, campaigned to have SA turned off permanently. That finally happened in 2000 since the military could turn of commercial availability for any theater.
There are still limits built into commercial receivers on altitude and velocity for the reason you give, so that one could not be used to guide ordnance. Those the Russians have their own GPS-like system called GLONASS, so they don't need access to our system.
Edited by dwise1, : Added references and more information to first paragraph, basically rewriting it.
On the Isle of Wight, he plugs batteries into his old Garmin for the first time in about a decade. I assume that this is on Sunday, since he's in daylight whereas the actual rollover itself would have happened around 0100 hours his time (taking Summer Time into account, DLT for us). He was able to acquire satellites, but the date was 22 August 1999. I would have thought that the receiver wouldn't have been able to acquire satellites.