[HN Gopher] GPS ___________________________________________________________________ GPS Author : todsacerdoti Score : 1645 points Date : 2022-01-18 16:06 UTC (6 hours ago) (HTM) web link (ciechanow.ski) (TXT) w3m dump (ciechanow.ski) | standardUser wrote: | On this topic, maybe someone can share the status of Galileo and | the Russian and Chinese systems? | SamBam wrote: | 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. | kenjackson wrote: | I had the same question. I moved on in the article, and its | great, but this still puzzled me. If the author cleared this | up, this article would be an absolute masterclass. | thehappypm wrote: | Literally left the article to come here to see if anyone | addressed this yet. I can't figure out what it means. | tazjin wrote: | It's about literally looking at it (in 3D) and guessing the | exact position on the 2D map, which is easier closer to the | landmarks. | | At least that's my interpretation. | thehappypm wrote: | Yeah, I suppose it's like "you are a human standing on a | flat plain looking at these 3 landmark towers. Where on the | map are you? | | Intuitively you would be able to eyeball the angles between | the landmarks, and eyeball the relative distances. I don't | think I'd draw a circle though. I'd probably have way less | confidence for the landmark farther away and balloon out my | estimate. | justusthane wrote: | I think it's as though you were the yellow figure standing in | the landscape, and you were trying to position yourself on the | map by going "Okay, the red landmark is quite close to me to | the east, the blue landmark is a bit farther away to the north- | west, and the green landmark is way over to the south-west. | Now, where am I on the map?" | jessriedel wrote: | Yes, that section is poorly written. | | More generally, the assumptions about what things were | uncertain and what could be taken as exact were poorly | motivated. The author should wither justify them with real- | world constraints ("satellites can host atomic clocks but | destroyers can't" -- not obvious!) or explicitly announce the | assumptions as unjustified, but he shouldn't make it seem like | the assumptions could have been reasoned to by the reader. | | I also was disappointed the author used circles/spheres and | _guesses_ for the timing offset rather than the much more | edifying choice of hyperbolas. Just as you can think of a | sphere as points reachable by the end of a rope of fixed length | tied to a post, you can think about a hyperbola as the points | reachable by tying separate ropes to two posts and spooling out | equal amounts of rope. | indiantinker wrote: | So incredible! | arendtio wrote: | > What I find particularly remarkable is how... | | ...Bartosz always manages to over-deliver despite very high | expectations. | | Amazing! | | Maybe we should give him an impossible task, like explaining | different types of neural networks ;-) | leeoniya wrote: | 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_esuFRV4b17AJtAw | cromulent wrote: | 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. | jcadam wrote: | And the story about why the GPS satellites carry a NUDET | payload (NDS) is a fun one too. | TomVDB wrote: | If you're interested in the implementation details of a home made | GPS receiver, check out this fantastic writeup: | http://www.aholme.co.uk/GPS/Main.htm. | skzv wrote: | Amazing work. | | 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! | eminence32 wrote: | 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) | mnw21cam wrote: | Not only that. You can use a ground-based fixed station to | listen to GPS signals and work out how much they have been | affected by the atmosphere. This then gets fed back into the | weather prediction models used by many weather forecasting | services. | brandmeyer wrote: | Even better, use a receiver in low-earth orbit. See also: | COSMIC, GeoOptics, Spire, and PlanetiQ. | ModernMech wrote: | For as long as this blog is, one thing that's missing is a | discussion of multipath errors. Multipath errors are when the | GPS signal reflects off of buildings or mountains, giving the | illusion that the satellite is further away than it is. This is | why it can sometimes be hard to get a precise location in | cities. | throw0101a wrote: | This is also true for celestial navigation with a sextant and | the light refracting in the atmosphere: the "Altitude | Correction Tables" give the combined correction for refraction, | semidiameter, and parallax under standard atmosphere | conditions. | | * https://reginasailing.com/wp- | content/uploads/2020/04/Altitud... | | * | https://thenauticalalmanac.com/Altitude_Correction_Tables.pd... | | * | https://thenauticalalmanac.com/Altitude_Correction_Tables_fo... | JackMcMack wrote: | Something not mentioned: the "new" L5 signal at 1176Mhz, | combined with the existing L1 signal at 1575Mhz, allows the | receiver to estimate the atmospheric effects and reduce the | uncertainty, allowing for a much better position fix. Think | centimeters instead of meters. | | One more thing I've wondered: the system depends on the | sattelites knowing and broadcasting their exact position, but | how do you determine this position? From ground stations, sure, | but how exactly? What's the margin of error on that? | | And to add to this, how do you bootstrap this? | | Galileo had an outage from 2019-07-11 to 2019-07-18 [0]. I've | not read much about the details what caused the outage, or why | it took an entire week to get back up & running. | | [0] https://www.gsc-europa.eu/news/galileo-initial-services- | have... | structural wrote: | The knowledge of a satellite's orbit is taken by using the | prior parameters of the orbit, predicting where the satellite | will be, and pointing a combination of telescopes (for | precise angular measurements) and radars (for precise | distance measurements) at this location, and measuring the | error between where the satellite is and where it is expected | to be. A set of these observations are then used to update | the "known" orbit. | | This known orbit is then provided back to the satellite so | that it can be broadcast. If this system of updates stopped | working, the quality of GPS position estimates would degrade | pretty quickly (think weeks, not years). | | This also means that if a GPS satellite were to need to | maneuver for some reason -- either periodically boosting back | into its assigned orbit or for debris avoidance -- the normal | system of updates will catch this and users will never have | to know or care that the satellite moved. | Toutouxc wrote: | So who else spent five minutes playing with the flexible rope? | FR10 wrote: | I was totally inmersed in that animation. I only wish it was | longer, It must've account for half of my total reading time. | The author is genuinely great and every single one of their | posts are terrific. | picture wrote: | Gosh even the little drones are so adorable | progbits wrote: | 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.htm | jvanderbot wrote: | > 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. | beerandt wrote: | Geometric quality is easy to consider in terms of using trig | and measured angles to solve for an (roughly) equilateral | triangle vs a triangle with a very small measured internal | angle. | | Also, it's easier to understand variables vs uknowns of GPS if | you consider that direct measurement is of velocity and/or | acceleration, and position is the resultant derivative, after | taking into account the probabilities of various solutions. | | (Velocity and acceleration can be measured directly without | making as many assumptions about various starting conditions.) | brandmeyer wrote: | The natural expression of the DOP matrix is 4x4, since the | receiver is computing a solution in 4D space-time. Its pretty | common for the dominant eigenvector to be along the time- | vertical axis for a terrestrial receiver. | jvanderbot wrote: | Great point, thanks. I edited. | jmnicolas wrote: | You and I have definitively a different notion of what is fun | ;) | galangalalgol wrote: | Interferometry isn't convex, even the kernel trick won't save | you. I don't think... | jvanderbot wrote: | In my experience, the usual trick is to do a few iterations | of "linearize and solve the new convex problem". Sometimes, | you can get super clever and use LM: https://sites.cs.ucsb.ed | u/~yfwang/courses/cs290i_mvg/pdf/LMA... | | Look there in equation 6: That's the FIM being left | multiplied when solving these types of problems. (under | standard gauss-newton step, which is also common) | | Another tidbit: If you apply matrix inversion lemma to eq 6, | you can get the (Extended)Kalman Filter update steps. | Somewhat related: https://robotics.stackexchange.com/question | s/1180/informatio... | mherdeg wrote: | 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? | garaetjjte wrote: | Selective availability worked by introducing pseudorandom | variation into satellite clock used to generate C/A signal, | which directly mapped into pseudorange errors. | | http://www.nbmg.unr.edu/staff/pdfs/blewitt%20basics%20of%20g... | (page 8) | genewitch wrote: | Civilian GPS does this two ways, clock skew and how many digits | of resolution the timestamp is. | daveofdaves wrote: | I hear you. | ajsnigrutin wrote: | Here's gps from another perspective: | | http://lea.hamradio.si/~s53mv/navsats/theory.html | | This guy made his own gps receiver from scratch in 1991-1992 | SomewhatLikely wrote: | 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? | scrumbledober wrote: | then you're basically just doing the triangulation backwards. | I'd think the accuracy would decrease the closer together your | multiple receivers were | gsibble wrote: | 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. | mellavora wrote: | You've received some flack for this, but I'm not sure the | context. If most of the questions in this round are of this | nature, then maybe it is a "why are manhole covers round" | thing. | | But as a one-off, and if asked in a forgiving way to explore | how they think, then I'd consider this question valid. | | Maybe "Have you ever thought about how GPS works?" if "yes", | then let them explain, if "no", then make it easy for them to | start reasoning about the system and then see how they might | design it. | | Seems to me as fair as asking "have you ever thought about how | a double-linked list works?" or "a basic way to ensure database | consistency when the DB is replicated at two different physical | machines"? | | It's not like GPS is something esoteric that they are unlikely | to have interacted with, odds are they used it to get to the | interview location. | daenz wrote: | I don't understand why you think linked lists and db | replication, which I think are both are very appropriate | questions for a software engineer (less relevant to FE engs), | are as relevant as how GPS works. | avianlyric wrote: | Depends on what you're evaluating the candidate on. If | you're evaluating the candidates ability to reason through | a problem, and communicate the reasoning, the. GPS is | arguably a better question for a software engineer as | they're unlikely to have studied it. Thus you can watch | them work through a problem they haven't thought about | before, but which should probably have the basic tools to | solve. | | There should be no expectation of them coming up with the | "correct" answer. But they should be able come with _an_ | answer and explain it clearly, warts, holes and all. | | Using something real like GPS also ensures that the | candidate understands why the problem is a useful problem | to solve, and what the objective of the solution is I.e. a | system that lets you locate yourself on earth. | lazide wrote: | Only reason I can think of is it is a real world example of | distributed coherency/information problem and if you squint | hard could give insights into things like paxos (and why it | does what it does), why certain types of | keying/sharding/distributed computing are done the way they | are done. | | But directly talking about those topics is probably handy. | littlecranky67 wrote: | Bonus/Followup question: Explain why GPS is not working very | well to determine _height_. | | Once you understand the signals are timecoded, this boils | basically down on your ability to picture the intersection of | multiple sphere in 3D space and it will become obvious (amongst | other, very technical reasons that should not be an interview | question). | areyousure wrote: | Can you say a little more about this? This is a topic I am | interested in, and I was hoping that the OP went into it, but | it didn't seem like it did. | littlecranky67 wrote: | The linked article does neatly, but they use 2D projection | (so it's circles not spheres). Very simplified you use the | broadcasted position + timestamp of multiple GPS satellites | to find your location on the earth. So for a single | satellite, you can (using time-in-flight of the signal) | estimate the distance to that satellite at a point in time | when you received its data. Once you know the distance D to | that single satellite, you will know that your position | (within margin of error) is anywhere on a sphere with the | satellite as its center and radius D (of course this is a | bit silly as you know you are definitely not farther away | from earth surface as the satellite but rather somewhere | 6000-6500km away from Earth center). So when using multiple | satellites, you get a set of spheres and (simply viewed) | would intersect those spheres - you will be somewhere in | this intersection. Now if you can safely assume that your | are always on the surface of the earth, you would project | this (3d volume) intersection to 2d onto the earth surface | - this projection is rather "small" hence less error. But | if you would project this intersection using any other | 2dimensions, the resulting area would be "wider" in terms | of height/depth relative to the surface. | | You have to picture those spheres given that the satellites | are roughly at same orbital height relative to earth center | and you always receive signals within your "field of view" | on the nightsky - and of course assume the earth is round. | jason0597 wrote: | I don't quite understand how such questions help in the hiring | process? It reminds me of the famous "why are pothole covers | round" question, still not sure what it achieves. | littlecranky67 wrote: | Actually this is a very good question for _engineers_ , as | the (wrong) idea that a smartphone regularly sends data to a | satellite shows fundamental lack of knowledge in some very | basic physical understanding. The basic understanding should | be: transmitting/sending = emitting energy (costly if a | device runs on batteries), receiving/listening for a signal = | almost for free nowadays. | | I also like the question because even if you have no idea how | GPS actually works, you could quickly come up with the rough | idea yourself given that you have a bunch of satellites that | can emit arbitrary signals. Lots of room to show creative and | analytical thinking here. | dpark wrote: | > _Actually this is a very good question for engineers_ | | What kind of engineers are you interviewing? | | > _I also like the question because even if you have no | idea how GPS actually works, you could quickly come up with | the rough idea yourself given that you have a bunch of | satellites that can emit arbitrary signals._ | | I find this really doubtful. Someone who doesn't already | understand how GPS works is unlikely to derive it from | first principals in a brief interview. | littlecranky67 wrote: | If you make some simplifications and assumptions such as | a GPS receiver has a highly-precise & synchronized clock | (it doesnt), you can conceive GPS basically as a system | where each satellite simply broadcasts its position & own | current timestamp and then determining your position of | the earth surface becomes basic triangulation calculating | the time-in-flight of the received signal from multiple | satellites. Of course a _lot_ of simplifications in there | (such as constant signal expansion time), but I would say | a system that you could design with basic geometry. The | required knowledge is basic physics and math that | everybody calling themselves _engineers_ should have | heard at uni (or even at school). | dpark wrote: | Ok, but feeding the candidate half of the information is | pretty different from coming up with the rough design | with "no idea" how it works. Yes, if you basically tell | them how it should work, then they can probably figure | out how to calculate the time difference and do some | trig. | littlecranky67 wrote: | I mean if the candidate would insist that the smartphone | sends a signal to the satellite, you can go on and ask | "what kind of data?" -"Nothing, just a PING to which the | satellite answers with a PONG that contains its | position". This is not at all how GPS works, but this | system would also work (in a sense you could determine | your position on earth based on the RTT + transmitted | satellite coordinate). It is not that the candidate | should come up with a perfectly correct solution | (actually this could be bad because he could just blindly | repeat what he/she read without understanding it) - its | whether he/she can come up with a solution for the | problem at all. In the interview you could still go into | discussion about that approach then (what about | undirected energy dissipation for contacting a thousands- | of-km away satellite, and problems with time-multiplexing | transmissions now on the satellite that has to answer | individual requests vs broadcast etc.). | wonnage wrote: | I have a hard time imagining engineers in any other field | (e.g a structural engineer) would be getting asked | questions about GPS as a proxy for general engineering | knowhow. | lazide wrote: | Do you have experience interviewing or seeing interview | questions in those fields? | littlecranky67 wrote: | Yes, you will be asked to showcase 2-3 side-projects such | as houses, bridges and tunnels you built & designed in | your backyard and discuss your design decisions on a | whiteboard. | lazide wrote: | Not sure if serious? | goodpoint wrote: | Some are silly, some are effective ways to measure curiosity | and ability to think through an abstract problem. | HeyLaughingBoy wrote: | Yes, but how many of them are relevant to determining if a | particular candidate is a good fit for a programming | position? | mhb wrote: | Engineers, not programmers. | dpark wrote: | What kind of "engineers"? I'm not aware of most engineers | going through this sort of interview. Mostly just | software engineers who are indeed programmers even if | they get uppity about the title | mellavora wrote: | Well, obviously if the candidate is round then they fit. | | or was that the pothole cover? Sorry, I might have gotten | confused. | throwaway110535 wrote: | Unless you're hiring them to work in that domain, I don't | understand why you'd ask that question. | Mindless2112 wrote: | You either find out the candidate knows how GPS works or you | find out the candidate's willingness to say "I don't know". | | It's valuable to know how someone will handle a question they | don't know the answer to -- whether they recognize their own | ignorance and whether they are willing to admit to it. | daenz wrote: | There are plenty of ways to get to the bottom of what a | candidate knows without resorting to unreasonable | questions. What you're really testing for is a candidate's | patience for being toyed with. | lazide wrote: | Or the candidates ability/willingness to bullshit in | order to not look ignorant or unskilled in something. | | Which is actually useful to know, even if this method | would be a dickish way to do it. | teraflop wrote: | Off the top of my head, I can think of a couple of things it | tests for: | | * Ability to reflect on and critique their own ideas, using | technical common-sense. If someone has never had a reason to | research or think too hard about how GPS works, then it might | be reasonable to initially assume that it sends a signal to a | satellite. But hopefully, when _prompted_ to think about it a | bit more, they would realize: "Hey, if that's true, then | somehow these satellites that were launched in the 80's and | 90's were able to scale up their capacity and handle orders | of magnitude more demand, now that everyone has a smartphone | in their pocket. Maybe that's _not_ how it works? " | | * General curiosity and interest in areas outside their field | of specialty. This might not be strictly necessary to get a | job done, but it probably has some correlation with other | measures of technical aptitude that are hard to probe | directly. | bobthechef wrote: | alesua93 wrote: | > _General curiosity and interest in areas outside their | field of specialty. This might not be strictly necessary to | get a job done, but it probably has some correlation with | other measures of technical aptitude that are hard to probe | directly._ | | I think this is a bit misguided, since the scope of things | outside of a candidate's field of specialty is tremendously | large. Picking a random piece of tech within that space and | drilling the candidate about it seems rather unfair. | | A better way to handle this would be to actually ask the | candidate about what else interests them outside of their | specialty. But hey, maybe that doesn't stroke the | interviewer's ego enough (: | Unklejoe wrote: | > random piece of tech | | IDK. GPS is probably one of the most prevalent | technologies used today besides the Internet itself. | alesua93 wrote: | Fair enough. I understand where you're coming from, at | the end of the day I guess it depends on the context and | the way the question is presented (left-field questions | such as this one can be somewhat fun to try to answer and | hypothesize about, if the interviewer creates a friendly | environment to do so) | Unklejoe wrote: | I hear ya. I would definitely not disqualify someone for | not knowing the answer. | | In fact, someone who is able to sort of work through the | problem on the spot may even be preferable to someone who | just knows the answer because they happened to read | Wikipedia the week before. | daenz wrote: | Chip manufacturing is even more prevalent. Why not ask a | candidate about how silicon wafers are made? | avianlyric wrote: | Because that's not a problem you can solve with software | and algorithms. That a chemical and lithographic problem | that requires a knowledge that rarely overlaps with | software. | | However GPS can be solved with some high school maths, | and applying solutions found on the software engineering | domain E.g. computing distance from latency, | communicating with a remote resource over a comms link, | broadcast vs unicast etc | | It's not like the interviewer is going to ask them to | design the satellites and rockets themselves. | Unklejoe wrote: | Because that's a lot more obscure. A better example might | be asking something like "what's the difference between | cache and RAM" or "what is a CPU register", which I'm | starting to think will still catch objections from some | people on the grounds of it not being relevant to | Javascript. | | Asking how GPS works (in general terms) is more like | asking how the Internet works. Anyone who has "engineer" | attached to their job title should at have a general | understanding of this, or at least be able to work | through it using common sense on the spot. I know we | covered it early on in college (maybe in Physics, I | forget). | | Again, I'm not talking about low level details here. | Something like "your phone measures the time it takes the | signals to arrive and calculates a distance" indicates | some understanding. From there, most people can figure | out how that information could be used to calculate a 3d | position. | daenz wrote: | >Anyone who has "engineer" attached to their job title | should at have a general understanding of this | | The fact that the interviewer finds so many candidates | who don't answer the GPS question to their satisfaction, | while companies complain about difficulty finding | software engineers, should tell you all that you need to | know about the question's relevancy as well as the | bizarre assumptions that some interviews hold. | [deleted] | u385639 wrote: | Not sure why you're getting flack it's a great question and you | can learn a lot about your candidate as you work through it. | mwfunk wrote: | I assume the responses are from people who didn't know that | and are now offended that they would've flubbed what the | interviewer considered common knowledge in their field. I | could see someone thinking it's not a relevant question for | certain types of positions, but anyone getting defensive | about it is a little bit of a red flag. Anyone doing | development relying on location services or navigation | systems should have a general baseline intuition for how | those things work, even if it's only the broadest strokes. If | someone feels angry about not knowing this, well | congratulations, you now know this and no longer have | anything to get defensive about. | hk__2 wrote: | Please don't fall into the strawman argument of "if people | criticize the idea it's because they're offended". | HeyLaughingBoy wrote: | Why do you think it's a good question? | [deleted] | daenz wrote: | This is going to come across as harsh, but if that is your | favorite interviewing question, and you are not hiring GPS | engineers, then it is a ridiculous question to ask and serves | no purpose but to "haze" candidates. | woofcat wrote: | I'll firmly disagree. I find logic questions, and how they | solve a problem vastly more important than other aspects of | the interview. | | I'm often looking for someone I can give a problem to and | they return with a potential solution. That involves thinking | through problems, how they work, how they can't work, etc. | | Asking someone how they think GPS works, or asking them a | question about how they'd try to track down a defect based on | what a customer is reporting to me are very important skill | sets to have. | zaidf wrote: | The overarching skillset that really smart people use | everyday to explain how x works or investigate a customer | issue is...google | Unklejoe wrote: | I think it depends on the job. If this was for an | embedded/firmware engineering position, I'd expect a level of | EE knowledge that would at least make the concept of | everyone's phone sending data to a satellite be a non- | starter. | | I think it's more relevant than asking an embedded engineer | which sorting algorithm is the fastest. | Youden wrote: | I think you're unfairly assuming something about how the | question was used. | | If the intent was to find out if people __knew__ how GPS | worked when they didn't need it for the position, sure. | | However I see two other possibilities: | | - How does a candidate react when they don't know something? | Do they try to bullshit their way through? Do they admit it | and ask what you'd like them to do? | | - Can a candidate, __with guidance__, come to a basic | understanding of how GPS works and come up with a reasonable | (note: not necessarily correct) suggestion for how to | implement it? | daenz wrote: | I agree with the meta interview concept, but I don't think | that applies here because of the OP's last sentence: | | >Amazing that even engineers don't understand that GPS | receivers don't talk to the satellites. | | They're amazed at the lack of knowledge, not that a | candidate wasn't able to talk it out, or that they bs-ed | through it. That tells me the question is asked in bad | faith. | Youden wrote: | Again, that's not necessarily how that's intended. The | observation on its own is just an observation, it doesn't | indicate anything about how interview performance was | evaluated. | | For example when I interview, I have a question related | to chess, which requires a basic understanding of how the | pieces move. I was amazed that even engineers don't | understand the basic movement rules of chess. | | However as far as the interview went, it was a non-issue. | It took about 30 seconds to explain, not a single | candidate had a problem with it, and it never came up | when I was giving my verdict. | seanw444 wrote: | Not harsh. Sounds reasonable to me. | gunshai wrote: | This blog turns around high quality explorations for things so | quickly. It is astonishing. | ragona wrote: | I'm weirdly impressed by the "switch to metric/imperial" button | that updates the article text. It's just so helpful. | seanalltogether wrote: | 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. | mpmpmpmp wrote: | I think the slowness of the bitrate is about making sure any | errors in transmission caused my the atmosphere can be detected | and accounted for. | modeless wrote: | Most receivers these days get that information from the | internet so there is no need to wait minutes for the data | transmission. | picture wrote: | The transition from the white background of "theory" to the black | background of "space" is so satisfying for some reason | CaliforniaKarl wrote: | 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). | withinboredom wrote: | Then you'd have a Stratum 0 source for a stratum 1 NTP server! | AceJohnny2 wrote: | Which is what Google did to have a quality time-source for | synchronized time for their global database: | | https://www.wired.com/2012/11/google-spanner-time/ | jcrawfordor wrote: | It's a bit more complex than this, the entire GPS fix is 4D | since position depends on time and vice versa. The time | reported by a GPS receiver, once fix is attained, is not just | the time from one of the satellites but the time resulting from | the 4D fix in space and time. This eliminates (to within a | certain precision) the latency. | | A lot of discrete GPS receivers have some nonvolatile storage | where they "cache" fixes to reduce fix time. This has the | amusing result that when you buy a GPS receiver and monitor its | output immediately you usually find out the time and location | where QA was performed, as the first fixes emitted without the | quality flag. | floatrock wrote: | My car does this. Unfortunately, it's a Honda/Acura, and | there's a downstream bug in the way the receiver sends the info | to the clock display that this year, almost all older | Hondas/Acura's are reporting the wrong time: | | https://didhondafixtheclocks.com/ | | > Honda's head unit receives a GPS signal for date and time | including a number representing a week, coded in binary. These | digits count from 0-1024 and rollover to 0 after the completion | of week 1024. Honda's head unit supplier did not code their | head units to account for the rollover and, on January 1, 2022, | reverted to a date and time 1024 weeks in the past [1024/52 = | 19.7, so 20 years in the past or 2002] | | So despite all the almost-magic level of engineering that has | gone into the GPS system that has stayed consistent for | 40-some-odd years, a classic integer overflow has ruined it all | because some subcomponent test engineer didn't think to check | the inputs against the expected lifetime duration of the car's | equipment. | | Another fun issue with these is DST databases. The satellites | will tell you the time, but it's up to you know how your | location translates into a DST zone. And if you have long- | running offline equipment (say, a car), and the DST dates | change, well, your smarts are only as smart as the update | procedure. | causality0 wrote: | 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? | [deleted] | cronix wrote: | I don't believe ICBM's are using GPS. They're programmed like | they always have been and follow a very predictable path and | don't change course (unlike hypersonic missiles). It's the | "smart weapons" that are usually plane/ship dropped/launched | that are gps guided as they are smaller munitions that have a | much smaller blast radius and need to be more precise to be | effective (as opposed to just carpet bombing the whole area). | Those are "close" range weapons. You don't need to be very | precise with an ICBM to obliterate the target, as it's usually | city-sized. A mile off here or there will still destroy the | target. Planes can and do still fly without GPS. There also | haven't been too many wars involving the poles as basically no | one lives there except science teams and no one wants the | "land" as you can't do anything economically practical with it. | Most of our ICBM's are still ancient Minuteman III's which were | manufactured in the 1960's (my dad launched one in 68 out of | Minot AFB, ND) and recently updated in 2015 to extend their | useful life. | chipsa wrote: | ICBMs don't use GPS. The almost universally use a inertial | guidance system. For example: https://en.wikipedia.org/wiki/Adv | anced_Inertial_Reference_Sp.... | | Bombers use a similar inertial guidance system, but with | updates from GPS and star trackers as applicable. The reduced | precision from GPS doesn't matter too much, as the inertial | guidance systems are pretty good now. | jcrawfordor wrote: | A surprising number of ICBMs have used star trackers as well! | It's somewhat surprising that ICBMs used star trackers | _before_ inertial guidance was sufficiently precise. The idea | of an automated, high-precision star tracker is not so | surprising today but back in the '60s it was quite an | achievement. | jcadam wrote: | The assumption is that in a nuclear conflagration, expect GPS | to become... unavailable. | detaro wrote: | It does affect precision, but it also isn't needed that much in | an area you travel over. | ChrisMarshallNY wrote: | That is a really well-done page! | | Kudos to the author. | jcadam wrote: | 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 :) | cwt137 wrote: | Best non-rocket scientist explanation of GPS ever! | hwers wrote: | This person deserves to get filthy rich off of their patreon. | whiteboardr wrote: | Not just filthy rich i guess. | | Bartosz is a one of a kind explainer of things - no matter what | topic he touches, he always manages to outright nail the | communication of the core concepts in a manner almost anyone | can understand. | | Let alone the interactive visualizations. | | There should be some sort of Nobel Prize for people that | contribute to humanity's education - and methods therof. | | Kudos! | fikama wrote: | I like this idea much also I would say that Ben Eater also | deserve such a prize if one will exists | epaulson wrote: | A MacArthur Fellowship would be a good award for him. | anon_123g987 wrote: | That's for Americans only. | nielsbot wrote: | Thought I'd link Patreon, here: | https://www.patreon.com/ciechanowski | arendtio wrote: | Thanks, I created a Patreon account just to support him :-) | | For anyone who is still hesitant: Just do it, it feels so | good to put your money where you mouth is ;-) | marai2 wrote: | This guy is a (inter-)national treasure! | DaltonCoffee wrote: | Agreed, amazing content and presentation! The article covers | much of what you'd learn in an advanced positioning course. | hwers wrote: | @dang Why was this suddenly pushed to the bottom of the | comments? (After being second in rank.) Possibly a bot | detection false positive. Hope this is fixed so the author gets | the reward he deserves for this amazing work | drawkbox wrote: | Yes what an absolute solid educational interactive, from | presentation to code to writing and simplicity. | | Additionally the code level, If you view the source you can | see, nice clean, non-minified code that is clear and has no | dependencies other than browser/render standards. The project | simply has a base.js and a gps.js, base for common canvas tools | and gps for the project/interactives. | | Very nicely done and very refreshing to see and experience. We | need to get back to this level, it was a simpler higher level | with more innovation. Even HN's code is this way, partially why | this site is great besides the contributors and curation. | | Engineering/creative and good value creation is ultimately | taking complexity and making it simple, this is right along | those lines in every aspect. | | Simple is beautiful and very difficult to achieve in a | cluttered/distracting/dependency/minimal context overload | world. This interactive nails it. Solid work Bartosz | Ciechanowski! | Accacin wrote: | Wonderful, I learnt a lot! | mNovak wrote: | If you want to explore deeper, there's some fun (and well | commented) open source GPS processing codes in Octave/Matlab [1], | coming from the excellent book [2]. Those are compatible with | cheap RTL-SDRs. [3] also looks nice, but as I recall is Linux | only. | | [1] https://github.com/kristianpaul/SoftGNSS | | [2] | https://www.ocf.berkeley.edu/~marsy/resources/gnss/A%20Softw... | | [3] https://gnss-sdr.org/ | AlexanderTheGr8 wrote: | 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! | ranit wrote: | Likely out of love to educate. And/or if you are inclined to | look for less altruistic reasons, just his blog presence in HN | could bring him a lot of visibility. Every of his amazing posts | appeared on first page (disclaimer: I have seen and enjoyed a | few, I don't know that for certain.) | VHRanger wrote: | Similar ones: | | - https://www.redblobgames.com/ | | - https://ncase.me/ | anonporridge wrote: | Legacy? | | Organization and presenting information in a uniquely useful | way can cement your life as having a major impact on the | memetic evolution of human colossus, to a much greater degree | than making babies ever will in most cases, even if no one ever | knows or remembers your name. | | There's a certain satisfaction in knowing that you've made an | impact on millions of minds and that that impact will ripple | into the future for as long as the light of consciousness | burns. | whiteboardr wrote: | Bartosz is a one of a kind explainer of things - no matter what | topic he touches, he always manages to outright nail the | communication of the core concepts in a manner almost anyone | can understand. | | Let alone the interactive visualizations. | | There should be some sort of Nobel Prize for people that | contribute to humanity's education - and methods therof. | | Kudos! | npollock wrote: | https://www.patreon.com/ciechanowski | HeyLaughingBoy wrote: | Some people really like teaching and are very good at it. | mavci wrote: | 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. | pauldavis wrote: | What a debt your friends have to OP! :) | tails4e wrote: | Thoroughly enjoyable read, and explained a complex system | excellently. Well done. | MajorSauce wrote: | Anyone else got the concept by conducting probe scanning in the | MMO Eve Online? | js2 wrote: | As a complement to this amazing explanation of GPS, let me | recommend this documentary about GPS's creation: | | _The Lonely Halls Meeting a GPS Documentary_ | | https://scpnt.stanford.edu/news/tom-sylvester-video-lonely-h... | | https://www.amazon.com/Lonely-Halls-Meeting-GPS-Documentary/... | taubek wrote: | 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. | jandrese wrote: | In order to determine where you are you need to know where all | of the satellites are. For a standalone receiver this involves | downloading a almanac of the satellites from the signal, but | GPS receivers have small antennas and the satellites don't | blast out at tremendous power so the available bandwidth is | very low. This means the effective bitrate of a GPS signal is | only 50 bits per second so it takes twelve and a half minutes | to transmit the entire list. | | Cell phones get around this by downloading the almanac from the | internet. Standalone receivers also keep the almanac in | nonvolatile storage, but the almanacs eventually go stale if | you leave the receiver off for too long. | modeless wrote: | The article explains the delay. The satellites transmit their | ephemeris data and other important data very slowly, 50 bits | per second, so you have to listen to the signals for a long | time to get all of it. Not explained in the article is that | modern GPS receivers in phones download this data separately | from the internet, so they can calculate positions instantly | without waiting for the data to finish transmitting. | kccqzy wrote: | Modern cell phones use A-GPS (Assisted GPS): | https://en.wikipedia.org/wiki/Assisted_GNSS I also remember | back in the early 2000s we were using a GPS-quipped PDA as a | turn-by-turn navigation device, and for the first ten minutes | the device simply asked us to wait. | | At that time the signal was intentionally degraded in a process | called Selective Availability | (https://www.gps.gov/systems/gps/modernization/sa/). I didn't | have any experience with that. | gfd wrote: | 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... | [deleted] | eDameXxX wrote: | I'm so much impressed by the fact that all these graphics are in | fact interactive animations created/written by Bartosz himself. | Well done. | skilled wrote: | What even is this explanation! | | Holy crap. I wish I knew more people to share it with. | masswerk wrote: | 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.) | FabHK wrote: | Related: | | When I fly, I like to cache a map of the region I fly over on | my phone, particularly the airport region at the destination. | Then, you can hold your phone to the window for a few minutes | and get a GPS fix, even if in airplane mode, because as you say | GPS is purely passive. | | Then you can follow along nicely where you are, at the | resolution you want. (Sure, many airlines have moving maps, but | they're not as good as Apple maps or Google maps.) | beerandt wrote: | There are way more (real-world) versions than two, with quite a | few arrangements that can cancel out some of the systematic | error, both with and without inputs requiring a data | connection, and with some augmented solutions passively | broadcast as "one-way" data. | | The funny thing is that the James Bond/ Tomorrow Never Dies | plot device has turned out to be the most realistic, but | doesn't actually require the theft of some encoding device, | with various record and delay replay attacks. | | Other _underused_ plot device: lots is made out of over | reliance on GPS and what would happen in the event of an attack | on the system. But most ignores the fact that the US NAVSTAR | GPS constellation is multipurpose, and is also a (confirmed) | primary component of worldwide nuke detection, with some (afaik | unconfirmed) claims of a missile launch detection capability, | as well. | Rebelgecko wrote: | The original study by Woodford and Nakamura (which laid the | foundations for what eventually became NAVSTAR/GPS) has a | really fascinating slide where they consider the tradeoffs of | alternative configurations. _What if_ GPS receivers had | transmitters? What if the mathy computation was offloaded to a | nearby ground station? What if every GPS receiver had an atomic | clock? Or just a cheap quartz clock? How does that impact the | quality of the signal and the number of satellites you need to | get a fix? | | I think we're really fortunate that they made the choices they | did. If they hadn't take the route that was the most | complicated technically, GPS wouldn't have become as ubiquitous | as it is today. | jcrawfordor wrote: | There's good reason for them to have considered these | questions too, as a lot of the satellite-based positioning | systems prior to GPS, such as the Navy's TRANSIT, involved | both a more active receiver and offloading parts of the work | to ground stations. This was very practical at the time, as | is TRANSIT fixes were so complex that GE had to design a | special computer with a cylindrical chassis so that it would | fit through the porthole for installation in submarines. This | replaced the previous situation of the submarine having to | send its TRANSIT observations to a ground station for fix | calculation. | | You can still do this with GPS if you want. In the surveying | community, it's not unusual to collect an extended period of | raw GPS observations (e.g. 48 hours) and then submit them to | NOAA's offline GPS computation service OPUS which will return | a fix by email a while later. This can result in a more | accurate fix but perhaps more importantly a more consistent | fix, since OPUS will apply the exact same sophisticated | solver used for other government geodetics like survey | benchmarks. The tradeoff is that OPUS is slow enough that it | tends to run on a queue. | | In any case modern GPS involves surprisingly active receivers | since smartphones commonly use AGPS over IP to accelerate | receiving ephemera. | jakub_g wrote: | Auto-upvoted based on domain name. See all submissions from | Bartosz: https://news.ycombinator.com/from?site=ciechanow.ski | [deleted] | masswerk wrote: | Yes, great educational content and great interactive | animations! | | (Also, a constant reminder to learn WebGL. ;-) ) | zeeb wrote: | GPS applies the theory of relativity directly to your everyday | life... pretty cool! | jandrese wrote: | GPS is great because it has to take into account both special | and general relativity. Very few consumer goods can make this | claim. | ModernMech wrote: | Indeed, GPS is the technology I always point to for people | who don't believe in relativity. If relativity isn't real, | then explain how GPS works! | vladstudio wrote: | If you have not yet seen the other articles by Bartosz, I am | jealous :-) | | https://ciechanow.ski/archives/ | copperx wrote: | Why are you jealous of someone not reading the other articles? | Are they factually incorrect? I found them to be amazingly | accurate. | _Microft wrote: | The ones new to them can still experience the wonder of | discovering these articles for the first time. | vladstudio wrote: | sorry for not being clear. Yes I referred to the joy of | discovering them for the first time. | NKosmatos wrote: | Another excelent post with very detailed explanation and step by | step information for GPS. Check out also the other posts by | Bartosz. | juxtaposicion wrote: | 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. | pahn wrote: | not what he/she uses, but if you are interested in these kind | of things, check out https://cables.gl/ . | | it provides you with an in-browser, graphical, node based | interface where you can just connect boxes together and it will | output js-code ready to implement in your website. | | (disclosure: i know the dev plus am a huge fan!) | vbezhenar wrote: | https://ciechanow.ski/js/base.js | https://ciechanow.ski/js/gps.js | | Looks like WebGL to me. | dt3ft wrote: | Beautiful. I also checked the archives on that blog and every | article is a work of art. I would love to work with this dev! | openfuture wrote: | Someone told me that apparently they aren't made, they are | discovered. | onion2k wrote: | It's WebGL in a <canvas>, written by hand by the looks of the | source - https://ciechanow.ski/js/gps.js | tiborsaas wrote: | The author wrote his own WebGL library. If you don't have much | knowledge about 3D, then https://threejs.org/ is a fantastic | library to learn. It abstracts away much of the tedious part. | | Not sure what's the best starting point to learn, but there's | lots of videos on YT to help you get started. | tfsh wrote: | What an interesting read, it feels like a privilege to have free | and open access to such well presented curiosity-led work. | spicybright wrote: | For every handful of crappy sites people use as examples for | why the modern web sucks, we get fantastic sites like this one. | | There's amazing stuff out there, you just have to spend time | looking around! ___________________________________________________________________ (page generated 2022-01-18 23:00 UTC)