5 ms·
> gps geek and time-nut here. This is off topic, but since you describe yourself as "gps geek" I thought I ask. Is it possible to gain access to the actual ope
by nyc111 8y ago
> gps geek and time-nut here.
This is off topic, but since you describe yourself as "gps geek" I thought I ask. Is it possible to gain access to the actual operational code where GPS operators correct for General Relativity? I'm not disputing GR, I just want to find out if this is a myth or true. Thanks.
- jimktrains2 8y agoNot op and maybe I'm misunderstanding, but the correction is part of the spec in satellite design, not something that can be kept secret[1]. The timing code that is translated into navigational data, however, is encoded and encrypted, which have some well-known keys, and that used to prevent high accuracy. My understanding is that the us government can change those to prevent GPS usage or to limit accuracy. [2] [1] http://www.astronomy.ohio-state.edu/~pogge/Ast162/Unit5/gps.html http://www.astronomy.ohio-state.edu/~pogge/Ast162/Unit5/gps.... [2] https://www.trimble.com/gps_tutorial/sub_pseudo.aspx https://www.trimble.com/gps_tutorial/sub_pseudo.aspx
- TickleSteve 8y agoHaving worked on gps chipsets, one of the corrections that need to be applied is for relativistic effects,those calculations are happening in every GPS chipset as it needs to iterate down to a very precise position estimation of the satellites in order to produce an estimation of your position. There is no magic involved, relativity/time-dilation is not a disputed effect. As an example, clone https://github.com/gnss-sdr/gnss-sdr https://github.com/gnss-sdr/gnss-sdr and search for "relativistic correction"
- nyc111 8y agoThanks, but I don't know how to do this. Is there a way I can see the code without cloning?
- sokoloff 8y agoGo to that github URL, click on the green "Clone or Download" button and download a zip file of the code. Unzip and search away.
- repolfx 8y agoHere you go: https://github.com/gnss-sdr/gnss-sdr/blob/31c6b6bc1da77c9589a04d52a38d2d20edacf06e/src/algorithms/libs/rtklib/rtklib_preceph.cc#L887 https://github.com/gnss-sdr/gnss-sdr/blob/31c6b6bc1da77c9589...
- elfchief 8y agoIf you want this straight from the spec, grab a copy of IS-GPS-200J (it's free, just google it), look at section 3.3.1.1, which talks about the carrier frequencies of the various signals. From that: "The carrier frequencies for the L1 and L2 signals shall be coherently derived from a common frequency source within the SV. The nominal frequency of this source -- as it appears to an observer on the ground -- is 10.23 MHz. The SV carrier frequency and clock rates -- as they would appear to an observer located in the SV -- are offset to compensate for relativistic effects. The clock rates are offset by (delta f)/f = -4.4647E-10, equivalent to a change in the P-code chipping rate of 10.23 MHz offset by (delta)f = -4.5674E-3 Hz. This is equal to 10.2299999954326 MHz. The nominal carrier frequencies (f0) shall be 1575.42 MHz, and 1227.6 MHz for L1 and L2, respectively." In this context, "SV" is "Space Vehicle", a.k.a. a GPS satellite. You also have to make a relativistic adjustment in the user segment (aka "your GPS"). You can see an example of doing this correction in open-source software GPS receivers, for example https://github.com/jks-prv/Beagle_SDR_GPS/blob/de895035e93ba1b1b5b8f58df4149c32a4cdbfde/gps/ephemeris.cpp#L188 https://github.com/jks-prv/Beagle_SDR_GPS/blob/de895035e93ba... . This adjustment is documented in the above spec, in section 20.3.3.3.3.1 (which you'll see is almost verbatim copied into the the code linked above)
- nyc111 8y agoGreat! Thanks. I'll study these.