Hacker News new | past | comments | ask | show | jobs | submit login
GPS vs. Glonass vs. Galileo (gpsrchive.com)
228 points by cokernel_hacker on Nov 27, 2022 | hide | past | favorite | 81 comments



The Position Calculation and Satellite Selection sections are a little over-simplified. It's not true that one satellite is used for time synchronization and three are used for trilateration. In a four-satellite case, all four are used to solve the four dimensional problem of "where am I in time and space?" In reality, upwards of 12 satellites are used to find a solution to this problem and adding more data improves accuracy.

It's true that satellites overhead provide better more vertical position information and that satellites at low elevation are more impacted by the atmosphere. But the math isn't that simple - satellites aren't used for specific purposes. They all contribute to a position solution and useful parameters like vertical and horizontal uncertainty.


Out of interest are speaking from a position of authority as someone who’s implemented GPS receivers, or as someone who understands the theory of GPS receivers?

From my reading of the article, it sounded like the author was commenting on an interesting implementation detail of GPS receivers, and how they might deviate from their expected theoretical implementation. Rather than describing how an ideal GPS receiver is implemented.


There's pretty much never a reason (...normally, but see below) you'd use a separate satellite for the time -- you do need four satellites to solve for X/Y/Z/time, but you solve them together. Basically, there's only one combination of satellite positions and (pseudo)ranges that will produce a solution, and one of the outputs of that solution is the time (the inputs are just time offsets between the various signals, based on the receiver's non-precision local clock).

The see below part: There are timing receivers that will do a long "survey" to figure out their exact location (or as close to it as they can), and once they have that they can use a single satellite to determine the current time, since they already have most of the needed equations "solved" when the receiver already knows its own (static) location. This is sometimes preferable, depending on one's application, because it makes for less jumpiness in the time solution as new satellites go into and out of view (since the changing geometry of the constellation will make for slightly different solutions every time it changes)


Fair question - I’m familiar with the theory of operation and I’ve implemented toy receivers (on the software side). I will say that even in the basic designs I worked with it made sense (and was easier) to solve the system of equations and not do something special like assign a “time satellite”. It’s a much easier way to describe the system to someone without a linear algebra background, so I bet that’s the author’s intent.


As someone who did location work based on timing in another context - picking 3 satellites straight above seems weird - we had better accuracy when beacons were right angles - basically if you have a timing error and sats are near each other - the intersection of the two lines moves hugely



It's physically impossible to dedicate one satellite to time synchronization. The satellites broadcasts a time signal, but that's the time at the moment of transmission, not the moment of reception. Since the receiver by definition doesn't know where it is yet, it doesn't know the propagation delay from the satellite, and it can't calculate the time at the reception site (to the accuracy needed for positioning, anyway).


If anyone wants to learn about GPS from the ground up, there's an excellent website with interactive explanations by Bartosz Ciechanowski that I can wholeheartedly recommend [1].

His blog also covers other topics in a similar style - it's a real treasure trove.

[1] https://ciechanow.ski/gps/



Interestingly despite becoming "fully operational" in 1995, GPS was in use in the 1980s and played a huge part in the Gulf War in 1990/1991. "Fully operational" probably means 12 satellites in view at all times for any point on the earth between 55°N/55°S, but it's still very useful even at lower levels of service.

It's pretty amazing that a system like that could be envisioned in the 1970s and be fundamentally life-changing by the 1990s. Truly a modern marvel of engineering that we rely upon for precise timing, power grid synchronization, navigation, and a lot more.


Fully operational in 93, but IMO the real slam dunk was disabling of Selective Availability in 2000, which made GPS significantly more useful. WAAS has been amazing for aviation, allowing for RNAV instrument precision approaches to airports with no RF equipment installation required onsite. And there are still innovations getting rolled out, including L2C, L5 and more!

https://www.gps.gov/systems/gps/modernization/civilsignals/


IMO the secret sauce wasn't necessarily the precision but the ability, granted by technology outside the GPS system, to put a dot on a digital map versus your PLGR giving you a pair of coordinates that you had to look up on a paper map.


> "Fully operational" probably means 12 satellites in view at all times for any point on the earth between 55°N/55°S

Whenever I've checked how many are visible here (around 48°N) I most commonly see 8 or 9, with 7 or 10 next most common.


the 12 number probably assumes the middle of a flat plain with no tall structures nearby. buildings, hills etc will reduce the number.


I just checked it for some place in the middle of South Dakota that is a flat plane with no tall structures (or any structures...) nearby [1].

It looks like right for today it is 12 or more about 40% of the time [2]. That includes satellites very close to the horizon which most devices won't use. Limiting it to satellites that are at least 10 degrees above the horizon, the max visible at once today there is 11, with 9 being the number visible that vast majority of the time.

Looking at other days it looks like the pattern of number visible at various times throughout the day repeats, but with a period that is slightly off from 24 hours, so the percent of time that a given number of satellites is visible is about the same every day, the the specific times that number is achieved slowly changes day to day.

[1] https://www.google.com/maps/@44.5831536,-99.4535123,3a,75y,1...

[2] https://satpredictor2.deere.com/chartvisibility?addr=&lat=44...

[3] https://satpredictor2.deere.com/chartvisibility?addr=&lat=44...


If anyone wants to get into the nitty-gritty details of GPS / GNSS, there's a good series of lectures (course) available from Standford University; playlist:

* https://www.youtube.com/watch?v=o1Fyn_h6LKU&list=PLGvhNIiu1u...

Topics include navigation message structure, signal encoding, error budgets, Keplerian parameters, path loss/antenna gain/link budget, plus orbital details of GLONASS/QZSS/BeiDou/Galileo.


GPS can be much more accurate than what the article says. For example, over the continental US the extra WAAS satellites provide accuracy down to more like 3-4 feet for GPS based aircraft navigation. These satellites broadcast correction signals to allow receivers to adjust for small fluctuations in the standard GPS signal. Using that system aircraft can navigate in 3D down to about 200 ft off the ground for a landing approach without the need for any ground-based equipment or transmitters at the airport.


To add to this, WAAS uses a combination of ground based equipment and geostationary satellites.

The ground based equipment is responsible for detecting the necessary corrections, which are then sent up to the WAAS satellites which will in turn broadcast those corrections.

Unlike GPS satellites, WAAS satellites are always located over North America due to the fact that they are in a much higher, geostationary orbit.

Edit - WAAS also provides GPS-based vertical navigation (e.g. descent profile in an approach) - IIRC this is due to the fact that the ground station transmit accurate atmospheric pressure readings up to the geostationary satellites, then the GPS receiver in the aircraft can use those to adjust altimeter readings. GPS-based vertical navigation is a big deal, because many airports don't have systems such as ILS.


WAAS (and other SBAS constellations) are used for RNAV/RNP LPV approaches indeed (for both lateral and vertical navigation), but WAAS is only used to obtain atmospheric corrections for the GPS signals, the WAAS ground stations do not transmit atmospheric pressure. Furthermore, unlike GBAS (Ground Based Augmentation Systems), SBAS ground stations are not located at the airport, they can be dozens or hundreds of kms away making the atmospheric pressure from there not very useful.

Good article on the topic by Airbus: https://aircraft.airbus.com/en/newsroom/news/2022-06-satelli...


Thank you for clarifying, I wasn't sure about that part. Good link! The diagram is very clear. Basically WAAS allows us to triangulate the vertical position of the aircraft. So as you pointed out, it's not related to pressure readings.


The cool part for me was realizing that the three WAAS satellites not only broadcast the correction signals but also act as position / constellation satellites! This adds an additional 2-3 satellites to the "currently visible" mix and helps ensure high availability location data at all times over the continental US.


Only North America for flying … a bit odd. Really?


My first years as a software developer, I worked with gathering data from GPS, Glonass, BeiDou and Galileo for use in a DGNSS product. It's been a while since that time, but I remember implementing RTCM-v3 encoder and decoder, gathering signals from all around the globe, and general TCP/IP/networking to ensure high availability and so on. Oh the memories.

But the thing that taught me most about orbital mechanics, is still KSP (Kerbal Space Program).



Unfortunately, as it is with many European projects, Galileo is over-promised but yet under-delivered. Currently only 22 satellites are usable: https://www.gsc-europa.eu/system-service-status/constellatio...


Care to enlighten us how the satellite failures of Galileo are worse than the satellite failures of the other systems?


Here is an article explaining the 2019 outage and the issues with the satellites: https://berthub.eu/articles/posts/galileo-accident/

The article argues that the Galileo project has a bit too many participants in the development. Europe does have some hugely successful multi-participant international projects like Airbus or CERN but it is indeed more challenging to run projects funded by 30 countries each having different culture, language and interests.

It's really a re-occurring theme with no easy fix. The European countries are too small to do such large projects by themselves and our multi millennial history is about fighting each other, so it's not always a smooth sail.


How did L5 get enabled and still leave us with an accuracy worse than 3.5m? Wasn't it supposed to give us 30cm? What happened to that? https://en.wikipedia.org/wiki/Global_Positioning_System


Don't quote me but I believe you have to use both bands to get that accuracy. Some devices support it. https://support.garmin.com/en-NZ/?faq=9NWiPDU4gM0JWMfdWFol7A.

Real life test https://www.dcrainmaker.com/2022/04/garmin-vertix-accuracy.h...


Not all of the satellites have L5 either. As of today only 16.


Thanks. I've tried a phone with support for both L1 and L5 (and other systems) and I don't notice any improvements over my old phone. In fact it seems to take longer to get a fix. I would love to hear if anyone has found a phone that actually gets significantly better performance with L5.


Time to get a fix is mostly what clever techniques the receiver uses. There are various papers demonstrating getting a fix that is probably correct with just a few milliseconds of signal and then lots of processing.

You also have to cut corners to get a (probably correct) fix fast. Things like assuming the almanac hasn't changed since last time, the user hasn't moved more than a few hundred miles, the system clock hasn't drifted by more than a second or so, and no satellites have become unhealthy.


> Things like assuming the almanac hasn't changed since last time, the user hasn't moved more than a few hundred miles, the system clock hasn't drifted by more than a second or so, and no satellites have become unhealthy.

If you are using a smartphone, you could probably validate those assumptions via your other sensors?


I've always noticed my Garmin watch gets a fix extremely fast except for the first time I use it after traveling somewhere new. That first one always takes several minutes.


yes, the math is significantly simplified if you assume you haven't moved. cold start is always much slower (and is called out as such in most GPS datasheets)


My pixel 6 pro has much, much better GPS accuracy than my pixel 3 had.

Here is a comparison between my pixel 6 and my S.O.'s pixel 2, from a hike we did recently: https://imgur.com/a/5VibEUw

This makes it pretty obvious how much the L5 band can improve GPS. These were good conditions in general, but just looking at the bottom right portion alone shows how good L1 + L5 in a phone can get. I'm sure devices with larger antennas (bike computers, larger handheld GPS units, etc) can do even better in worse conditions as well.


Interesting. Did you try comparing it against anything other than a Pixel 2 by any chance (to rule out the Pixel 2 just being worse than better L1 phones)? And have you tried it in the city to see if L5 is any help there?


I have compared it against both the pixel 2 and the pixel 3 xl I previously had. In more urban areas with buildings around it definitely still performs a lot better.

Previously on walks around the neighbourhood gps tracks would just be a general location and bounce around. I can now see pretty regularly which side of the street I was on, street crossings, etc.


Google hosted the Google decimeter challenge, which used post processing of data from dual band phones to try and get as good accuracy as possible. The top submissions got an accuracy of just over one meter.

I have a phone with dual band GNSS, and it's by far the best location accuracy I've had in any device. I can see which side of the cycle path I've been on, and it regularly works indoors. I don't live where there are tall buildings though, but even at fairly open space my older devices gave worse results. And I get a fix within seconds thanks to A-GPS.

https://www.kaggle.com/competitions/smartphone-decimeter-202...


GPS used in survey equipment is accurate to 2cm with ~5 second acquisition time.


This may be differential gps with a local reference


RTK GPS can be 1cm accuracy with sub second time.


According to this paper, if you hook in all four sat nav systems, you can achieve 10 cm accuracy in minutes, 5cm in 30 minutes, and millimeter accuracy in a few hours.

https://www.nature.com/articles/srep08328


The Ublox ZED-F9P receiver is capable of leveraging dual band across all 4 main GNSS systems to create its solution. It is very accurate. If you combine it with RTK (either local, SBAS, or NTRIP) you easily get sub 5cm accuracy in realtime with sub 30 startup times. (Longer if its a really cold start)


You should also have a look at the much better performing Septentrio Mosaic series of GNSS receiver boards. There are dev kits available for a dual antenna heading RTK receiver for around €750. And €645 for single antenna. Dizzyingly cheap compared to what this class of receivers cost just a few years back.

These support all GNSS constellations and signals and do a real 50 Hz PVT in RTK mode. And they even come with a built in, quite useful web interface.


I checked out the website. Its not clear to me why they are superior to the F9Ps.


Around 250 bucks for those wondering. Bit heavy for a hobby project but less than expected


We use some f9p's from Ardusimple for building an AgOpenGPS autosteer system.


I'm somewhat curious how one would determine the true position to mm accuracy so as to compare. Put another way, if something says you're at these coordinates, how do you conclude "it should be 1 mm to the north"?


Kind of weird not to describe BeiDou as well...


GPSrChive is very much focused on Garmin GPSr and I don’t think there are any Garmin devices that support BeiDou.


From Garmin, though without a breakdown of proportion of devices:

In addition to GPS, Garmin products utilize other global navigation satellite systems (GNSS) including the Russian Global Navigation Satellite System (GLONASS), the European Union Galileo system (Galileo), and the Chinese BeiDou Navigation Satellite System (BDS), and satellite based augmentation systems (SBAS) including the U.S. Wide Area Augmentation System (WAAS), the Japanese MTSAT-based Satellite Augmentation System (MSAS) and Quasi-Zenith Satellite System (QZSS), and the European Geostationary Navigation Overlay Service (EGNOS) aviation Safety of Life (SoL) service.

Though to the extent this is a US-centric site, the other reason for not caring much about Beidou is that the FCC still has a geofence block for Beidou, so that no signals may be used in US territory: https://www.gps.gov/spectrum/foreign/. It's as if Beidou doesn't exist in the US, and even a receiver that supports it will only start using the signal once it first confirms through other GNSS's that it's not located in US. (Example: most phones made in the last 3-5 years)


I have a recently-introduced Garmin model focused on multi-GNSS (gpsmap 66sr) and it only does GPS, GLONASS and Galileo. So I fear that that is mostly marketing copy from Garmin.


Ublox ZED-F9P uses BeiDou, afaict, even in the US.


There will be soon if not already, but they won't be accessible without an Asian-specific variant of the device and outside of specific Asian countries.


Also interesting is the American extension to GPS called WAAS which is used for aircraft precision.

https://en.wikipedia.org/wiki/Wide_Area_Augmentation_System


GPS and Galileo use the exact same frequencies, but call it different things?

  L1 (1575.42 MHz) and L5  (1176.45 MHz)
  E1 (1575.42 MHz) and E5a (1176.45 MHz)
Is there a difference I'm not aware of?


Another interesting tidbit is apparently Galileo cannot be "seen" in the USA, not because of same frequency but because the FCC forbids its license?

https://galileognss.eu/why-galileo-is-not-seen-in-united-sta...

https://barbeau.medium.com/where-is-the-world-is-galileo-6bb...

At least as of 2019 but maybe has changed as we approach 2023?

Firing up GPStest on various phones to see for myself.


https://www.euspa.europa.eu/newsroom/news/fcc-approves-use-g... is from 2018, before your date of 2019.

But maybe the receivers need updated programming.


literally the next blogpost on that blog is "FCC approves use of Galileo in the US" ;)


I stand corrected but just to add something useful, among my test phones are two made in 2020 or later and neither can see any Galileo sats in GPStest despite android being fully up to date.

So the late to registration/regulation has seriously delayed support, not just legacy support which may never happen.

But I'm far more interested in altitude/MSL accuracy than lat/lon precision. Unfortunately no cheap phone seems to do that yet, none of mine do. Might have to wait for another generation of GPS chips.

Garmin used to support WAAS in their lower end watches but then removed support, that would have been nice to have for very accurate altitude.


I was wondering the same.


Those maps are interesting.

So GPS doesn't work well in Greenland or a good chunk of Russia?


You should still have (oblique) views of the constellation above 55°N, partly due to the large altitude of the GPS satellites. But you're not guaranteed to have 12 satellites in view, so your solution may not be as accurate. There are polar regions where you probably do lose service. It's interesting (though not surprising!) that GLONASS has a slightly higher inclination.


Do polar explorers use some other navigational aides then? I wonder how inaccurate is the GPS really close to the poles.


It was important for USSR/Russia to have positioning service available at high latitudes. Thus, higher inclination.


Given the initial customer of the GPS system, I would have thought full coverage of the USSR would have been a top priority.


I think that inclination is enough to provide such coverage. Maybe with somewhat reduced accuracy in the northern areas.

Also, everything north of ~62°N is basically a wasteland.


What are the sources of positional uncertainty? Is it mainly uncertainty of the exact position of each satellite at a given time? It's interesting how slowly positioning accuracy has improved. For something that first reached global coverage in 1995 I would've expected four or five orders of magnitude improved precision by now.


your main sources of error will be from the Earth's atmosphere and signal bounced which both change the time signals take to reach you. there are pretty hard lower limits on the amount of error. gps already has to deal with relativistic effects to get as accurate as it is.


To expand on this for @causi: The largest thing is the earth's atmosphere, because changes in the ionosphere (and a lesser degree, the troposphere) cause the signals to get refracted differently from moment to moment. Part of the data coming from the constellation includes general ionospheric correction data (and WAAS can provide data that covers smaller (but still kinda large) areas, which allows the receiver to adjust for those refractions to some degree, but there's only so much it can do -- conditions change quickly, and in areas smaller than the correction data can accommodate, so there's still variance that can't be completely removed -- it's not a lot, but at one foot per nanosecond of delay, it can still make a significant difference.

At least, that was generally the case until recently. There is actually a way to almost completely remove the effects of both the ionosphere and troposphere: Those things affect signals differently if you have multiple signals at different frequencies. And, as it happens, GPS does actually have multiple frequencies (L1 and L2, and now L5 as well), and for a fairly long time there have been receivers that could listen to signals from the same satellite but different frequencies, and based on the delay difference between those signals, know exactly what the atmosphere was doing at that exact moment, and dial out the influence of the atmosphere almost completely. You can start getting pretty durned precise once that's not a factor.

The problem is that multi-frequency receivers used to be expensive. Like "started at $10k for the cheap stuff" expensive, even within the last decade. Only in the last few years have inexpensive (under $100) chips become available for doing multi-frequency GNSS. And those can get down into the "under 1 meter in realtime" range trivially, and better than that for a fixed-location station. Phones are getting these now, so things should start getting more accurate, though not that much more accurate.

Multipath is also a big problem in "the urban jungle", but chips are getting better at discriminating, and unless you're just utterly surrounded by skyscrapers, usually isn't too big a deal.

Orbital calculations are also another cause of loss of precision -- the orbits are calculated pretty precisely, but for various reasons the ephemeris data sent down from the satellites doesn't actually represent exact orbital data, but represent data that's "good enough" over the couple of hours the ephemeris data is valid. This can be worked around with patience -- there are ground stations around the world with exactly surveyed locations, which monitor the satellites and calculate the exact orbital paths the satellites actually took, and publish that data (though it takes several weeks to get the "final" data). A typical surveying technique is to record several hours of data from an antenna at a survey location, and then when the precision orbit data is published, post-process that recorded data to remove both orbital and ionospheric effects. This can get you down into the sub-cm range, with enough care.

And then there's also a range of other factors, like solid earth tides, which cause the land masses of the earth to rise and fall by up to a meter(!!!) over time, and when you're trying to figure out exactly where a given point in space is on this big rock ball, that matters!

But, yeah, pretty much it's atmosphere, unaddressed multipath, and orbit precision that makes the difference, and the above is how those are usually dealt with.

</ramble>


wondering is there any upper bound on the error, e.g. is it possible to ever have a timing error of say 100 microsecond seconds.


that would correspond to a 30 km error


yes, 1m for every 3.3ns error, we all know that.

the problem is those GPS vendors only provide long term average error for their products, there is upper bound guarantee at all.


Mandatory mention of a cool related project: https://play.google.com/store/apps/details?id=com.iiasa.cama...


on Android, the "locus" mapping app includes a really good diagnostic on GPS reception which I still refer to in the edge cases (inside trains, planes, where even with a window seat reception can be marginal) to understand whats in the sky above me right now


If you mean the ones made by Asamm Software, unfortunately they contain privacy-concerning trackers. :(


Yes. Those ones. Damn, thanks for telling me. Do you have a good alternative recommendation for the gas diagnostic function?


I use GPS Status (com.eclipsim.gpsstatus2).


You missed the "Beidou" positioning system, your news is too out of date.


does this mean norway cannot receive GPS?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: