[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)