On this topic, maybe someone can share the status of Galileo and the Russian and Chinese systems?Reply
This is very nice. Very clear, and the 3D interactives are excellent at guiding the explanation.
One thing that I thought was a little confusing was right at the beginning, when we were estimating the position of the figurine and there was an area of uncertainty shown by the yellow circle.
It isn't clear how you're estimating position, and why we have an area of uncertainty. At first I figured it was going to explain it using triangulation (measurement of angles) but there's no reason triangulation wouldn't be exactly as accurate as the tape measure method on a 2D surface, so wouldn't explain the area of uncertainty.
The description merely says:
> Just by using these three reference points we can relate the figurine’s position in the environment to an approximate placement on the map as show with the yellow shape on the right.
I worry that having this ambiguity so early on might put some people off from reading the rest, because they figure they don't understand that and so won't understand the rest of it.Reply
How are receivers sensitive enough for this to work? A GPS watch can tell the difference between a few billionths of a second?
> It only takes light one billionth of a second to travel the distance of around 1 foot.Reply
> What I find particularly remarkable is how...
...Bartosz always manages to over-deliver despite very high expectations.
Maybe we should give him an impossible task, like explaining different types of neural networks ;-)Reply
this guy is a legend: https://ciechanow.ski/archives/
(pretty sure each post has had its own HN submission)
also see 3Blue1Brown: https://www.youtube.com/channel/UCYO_jab_esuFRV4b17AJtAwReply
GPS is fascinating, especially the development period.
Due to the complexity of the signal processing (relativity means that the clocks onboard run faster than on earth) there was much scepticism. The story I heard was that they only let them launch 1 Block 1 satellite to prove that could work, and then the first block of 10 satellites was used to validate the system before spending enough to get the full 24 satellites needed.Reply
I work on the Android location team at Google, and I sent this article out to my team. GPS/GNSS is critical for accurate location/context, and there's still plenty of innovations happening in this field.
One of our directors is Frank Van Diggelen - none other than the professor who taught the Stanford GPS MOOC referenced by the article :) I'm sure he is going to appreciate seeing the course called out there!Reply
There's a lot of really great info in here. One random things I learned from this:
> As that angle increases, the signal from a satellite travels more sideways and its larger portion gets affected by the atmosphere. To account for this, GPS receivers ignore ranges measured from satellites at very low elevation angles. ... atmospheric effects are primary source of GPS inaccuracies.
(I know GPS has inaccuracies, but I didn't really know what caused them, but if I had to guess, the atmosphere wouldn't have been on my list of guesses for the top causes)Reply
So who else spent five minutes playing with the flexible rope?Reply
Wonderful write up, as always from Bartosz!
Here are some fun GPS projects I've found in the past, maybe others can add to this list.
GPS/Galileo/Beidou/Glonass status and error monitoring, open-source community-ran project: https://galmon.eu/
DIY GPS receiver using minimal signal frontend, FPGA Forth CPU for real-time processing and RPi running position solvers: http://www.aholme.co.uk/GPS/Main.htmReply
> Naturally, large range uncertainty increases the ambiguity of position, but the relative position of the satellites also matters. If they aren’t well spread, the exactness of calculated location also suffers.
(see the excellent example in OP)
Fun tidbit, the resulting error is known for the system in closed form as Geometric Dilution of Precision, and is a 3x3 (edit: or 4+x4+ if you are estimating bias or quantities like time, thx brandmeyer) matrix that depends on all the locations of the visible sats, and your position relative to them.
GDOP is a general relationship for any estimator based only on the equations used to derive something from sensor remote sensor measurements. It's possible to derive GDOP for any sensing system using the Fisher Information Matrix (which is the inverse of GDOP). Some minor caveats apply, but in general this is a useful trick.
FIM is worth learning if you want to get into sensing & estimation. https://en.wikipedia.org/wiki/Fisher_information
Another fun thing: FIM can be derived a number of ways, and appears if you simply ask (mathematically) "What is the most likely position of the gps sensor given sat locations" as the hessian matrix of the system that you use while answering that question using e.g., convex minimization.
All of sensing & estimation is just mostly convex optimization.Reply
I'd be interested to see an illustration of how selective availability works -- if your goal is to ensure that a position cannot be determined accurately, how do you alter the signals produced by your satellites to correctly introduce only the desired amount of error?Reply
I hear you.Reply
This guys blog is simply amazing every time he posts something immediately gets tons of upvotesReply
Wow, this is a great resource! Major props to Bartosz Ciechanowski. It's rare to see the time aspects of GPS covered so well.Reply
From the toy model it seems like if in addition to distance you could also get your angle to the landmark then you could get your position from a single landmark. Is that something which is practical? Knowing which angle a radio signal came from? It seems like if you had several receivers you could use the timings of when they receive a message to determine the approximate direction of the satellite in the sky. Given receivers have gotten much cheaper over time, is this a viable extra constraint to improve accuracy?Reply
One of my favorite engineering tech interview questions is asking an engineer how they think GPS works. You won't believe how many people start with: "Well, your cell phone sends a signal to the satellite......."
Amazing that even engineers don't understand that GPS receivers don't talk to the satellites.Reply
This blog turns around high quality explorations for things so quickly. It is astonishing.Reply
I'm weirdly impressed by the "switch to metric/imperial" button that updates the article text. It's just so helpful.Reply
How feasible is it to speed up the bitrate used by GPS? This really helped explain why it takes so long to get a position based on how slowly these satellites are sending information.Reply
The transition from the white background of "theory" to the black background of "space" is so satisfying for some reasonReply
One of the things I love about GPS is: Since you know your exact position, you can pick a good GPS satellite (one of the satellite's you're using to calculate your position), look at the timestamp from that satellite, and use it as a highly-accurate time source!
Purpose-built GPS time servers (like those from Meinberg) give you an option to enter the length of the coax cable connecting the receiver and the antenna, so that it can correct for the extra time it takes for the signal to travel over the cable (for example, see https://www.meinbergglobal.com/download/docs/manuals/english... page 19).Reply
Considering GPS was originally created for military purposes, I find it fascinating that the largest holes are over the north and south poles. The northern polar region is where the US-launched missiles and bombers would travel. Does the lesser orbital coverage in that area not negatively affect GPS precision?Reply
That is a really well-done page!
Kudos to the author.Reply
Very nice primer. I worked on the GPS program (first at Boeing, then at a small subcontractor when Lockheed won the GPS III work) - though I worked on the software simulator for the satellites (focused on the operational side of the constellation) so didn't get much into the weeds of how the PNT actually works for clients on the ground :)Reply
This is such a good write-up. Slowly builds on top of what I would consider the very basics of location terms while adding complexity in a digestible way. Excellent illustrations, great examples, and overall an informative teaching tone...
It is worth every minute you spend reading it (took me over 60 to get through it and I feel like I did skim a little towards the end)Reply
Ad the highest possible compliment, this is like Bret Victor quality!Reply
Best non-rocket scientist explanation of GPS ever!Reply
Why not bookmark* it?
* where, "bookmark" may mean a variety of things that saves a URL so that it can easily be recalled.Reply
This person deserves to get filthy rich off of their patreon.Reply
Wonderful, I learnt a lot!Reply
If you want to explore deeper, there's some fun (and well commented) open source GPS processing codes in Octave/Matlab , coming from the excellent book . Those are compatible with cheap RTL-SDRs.  also looks nice, but as I recall is Linux only.Reply
I never understood what motivates these people to spend so much time and effort making such an amazing blog to educate so many people in such a nice way....It's incredible!Reply
As someone who learned about GPS and was impressed by its structure, I used to tell my friends around me, whenever I had the opportunity, how great GPS was.
Now I saw this article and I got goosebumps, well done, thank you very much! It's really fantastic. From today it will be enough for me to just share this article with my friends, or I will tell along with this article.Reply
Thoroughly enjoyable read, and explained a complex system excellently. Well done.Reply
Anyone else got the concept by conducting probe scanning in the MMO Eve Online?Reply
As a complement to this amazing explanation of GPS, let me recommend this documentary about GPS's creation:
The Lonely Halls Meeting a GPS DocumentaryReply
If all of the teaching materials would be so good... I've encountered first GPS devices back 1997.i remember when my coulegues were explaining them to me. At that time you wouldn't get precise measurements right away. You had to wait for correction factors or something like that. The GPS signal was scrambled at that time.Reply
Dumb question, but how does this deal with security? Can't anyone broadcast valid but malicious data on 1575.42 MHz? (e.g. to crash planes/missiles etc)
EDIT: found wiki from some quick googling https://en.wikipedia.org/wiki/Spoofing_attack#Global_navigat...Reply
I'm so much impressed by the fact that all these graphics are in fact interactive animations created/written by Bartosz himself. Well done.Reply
Thanks Dad (for your team’s lifetime of work, including NavStar).Reply
This is a beautiful combination of interactive visuals and thorough explanationReply
What even is this explanation!
Holy crap. I wish I knew more people to share it with.Reply
Great, now I'm late for workReply
However, I do like the role GPS plays as a plot device in all kind of stories, where it's an active device, with GPS-enabled devices giving away position or there's no GPS in the wilderness, as mobile connections fail. So there are two versions of GPS, the popular plot device and the actual navigation device.
(The more sinister version is that this has actually been planted as a cover-up for more realistic electronic intrusions, as this is also a trope in popular media and news.)Reply
Auto-upvoted based on domain name. See all submissions from Bartosz: https://news.ycombinator.com/from?site=ciechanow.skiReply
GPS is truly one of those technologies that bring the adage "any sufficiently advanced technology is indistinguishable from magic" to life.Reply
Lovely visualization! Reminds me of the principles used by Bret Victor to teach things well - allow the learner to play with time and space of the simulation so they can understand the system fully. Thank you for making thisReply
GPS applies the theory of relativity directly to your everyday life... pretty cool!Reply
Another excelent post with very detailed explanation and step by step information for GPS. Check out also the other posts by Bartosz.Reply
It's so depressing that – at some point in the future – I'm going to want a really clear and precise explanation of how GPS works and the likelihood that an internet search directs me to this excellent, clean, and ad-free blog is essentially nil.Reply
How are these interactive visualizations made? As a senior machine learning engineer (with only rudimentary JS skills) it would be fantastically fun to make something like these.Reply
What an interesting read, it feels like a privilege to have free and open access to such well presented curiosity-led work.Reply