5 ms·
That page is amazing. I'm astounded that someone can build a GPS receiver from scratch, not to mention writing the code that interprets the GPS signals. The dif
by joosters 14y ago
That page is amazing. I'm astounded that someone can build a GPS receiver from scratch, not to mention writing the code that interprets the GPS signals. The difficulty is mind-boggling!
There's some wonderful quotes in the page that just hint at the complexity involved:
"Originally, by not transforming satellite positions from earth-centred-earth-fixed (ECEF) to earth-centred-inertial (ECI) coordinates, I was effectively ignoring Earth's rotation during the 60 to 80 ms that signals were in flight."
"The above solutions were generated without compensating for ionospheric propagation delays using parameters in page 18 of subframe 4 which should be applied because this is a single frequency receiver. Ionospheric refraction increases path lengths between users and satellites."
!
- elemeno 14y agoSome of his other projects are pretty impressive as well - I'm taken by the FORTH computers myself.
- Luc 14y agoThis is immensely impressive. What strikes me is that the math and all the corrections would not be all that alien to a sextant user from 100 years ago. To determine position using a sextant you also start with an estimated position and an accurate clock. You compensate for drift during your measurements, for dip and refraction, you solve the equations for several celestial bodies etc.
- Toucan 14y agoLess than 100 years ago, GPS wasn't a nav tool until the mid 90s. Astro nav was the standard right up until then and is still taught to masters today. We have calculators for atmospheric diffraction but the long hand method is still used.
- mikeash 14y agoFun fact, the Boeing 747 features a sextant port for convenient celestial navigation in flight.
- Florin_Andrei 14y agoWow. Was it ever used?
- mikeash 14y agoCan't find much information about it, but what I did find says that it got significant use in the early years of the 747. It makes sense, as the 747 long predates civilian GPS, and other electronic navigation techniques were not completely reliable for long flights. I don't know that there were many radio beacons available for long over-water flights, and pilots probably liked cross-checking their INS. While searching, I was reminded of another interesting fact, that the SR-71 had a fully automated celestial navigation system that could get still a position fix on the ground in the middle of the day, and was more accurate than an INS on long flights.
- sbierwagen 14y agothat could get still a position fix on the ground in the middle of the day What! Surely the sky would outshine the stars... did it use light outside of the visual spectrum?
- mikeash 14y agoCheck out fancyketchup's sibling comment to yours, which shows far more knowledge than I have. Short version: infrared.
- fancyketchup 14y agoThe IR filter helps, but (this is sort-of speculation because I don't have any knowledge of the system outside of reading the patents), I think the major processing gain comes from the shutters. In fact, I think the patents said that it could work (albeit much less effectively) without the IR pass filter. The basic idea is a form of synchronous detection or lock-in amplification: The shutters are arranged so that a point source is occluded at a fixed frequency, while an area source will be only partially occluded at any given time. Due to the way it is designed, area sources should add little to the time-varying component of the photodetector signal. The lock-in amplifier is essentially a very narrow notch filter (centered at the "star occlusion frequency"), so it completely rejects the DC component from the sky. There is a little more to it than what I'm writing, mainly because you need to not just detect the point source, but also estimate the star's position within the field of view (which IIRC is done by comparing the phase of the time-varying star signal to a reference point on the shutters).
- toufka 14y agoExcept for one thing. GPS computation is one of the few things we deal with in daily life that actually requires relativistic compensation to be accurate. The satellites are moving so quickly (relative to the receiver) and experience such less gravity, that the rate of time passing for them is measurably different than the rate of time passing for the receiver. Enough so that if you did not compensate for the difference in the rate of time-passage you'd actually be quite off in your location measurement. Some back-of-the-envelope numbers (and precision calculation) here: http://physics.stackexchange.com/questions/1061/why-does-gps-depend-on-relativity http://physics.stackexchange.com/questions/1061/why-does-gps...
- grguy 14y agoAnd where are those corrections taken into account in this page?
- aholme 14y agoRefer to method GetClockCorrection() of class EPHEM at line 155 of file ephemeris.cpp in C++ source code links at bottom of page.
- rwg 14y agoSome of the relativistic error (time dilation) is taken care of on the satellites themselves by tweaking the 10.23 MHz frequency generators to run at 10.22999999543 MHz. The author actually mentions a third source of relativistic error without saying it's relativistic error: the Sagnac effect. ("Originally, by not transforming satellite positions from earth-centred-earth-fixed (ECEF) to earth-centred-inertial (ECI) coordinates, I was effectively ignoring Earth's rotation during the 60 to 80 ms that signals were in flight.") See also: http://en.wikipedia.org/wiki/Error_analysis_for_the_Global_Positioning_System#Special_and_general_relativity http://en.wikipedia.org/wiki/Error_analysis_for_the_Global_P...
- Florin_Andrei 14y agoThe Sagnac skew would still occur in a non-relativistic universe. All that's needed is a finite speed for light. However, yes, relativity further complicates it.