How does GNSS work?

How does GNSS work?

Posted on 09/12/2019 by Hayden Alves

How does GNSS work? 

When discussing GPS or GPS timing, you'll often hear the term "GNSS". GNSS stands for Global Navigation Satellite System and is the generic term for a constellation of satellites that provide timing and location information to receivers on earth. Some well-known constellations include GPS, GLONASS, Galileo, and Beidou. Each of these effectively provides the same service: to send timing and locational information which can be used to calculate local time and location on the ground or in the air. The differences between the different types lies in the number of satellites, how those satellites orbit, and the frequencies that they operate on. 


Number of Satellites 

Height above sea level 

Locational Accuracy 

Operating Frequency 
(for L1 Bands) 

Area/Country of Origin 













Galileo **






Beidou **






QZSS (regional) 





IRNSS (regional) 






  *Currently supported by Tekron GNSS devices
** Planned Tekron device support

How do we get timing?  

Each satellite has one or more atomic clocks on board. Typically these clocks will use Rubidium or Cesium oscillators to stay accurate to their timing reference. This time is sent to the GNSS receiver (L1). The receiving unit can't just use the time "as is" however. Signal delays caused by the distance to the satellite, the atmosphere, and lag caused by the effects of gravity and relativity must be compensated for. To compensate for these, we first need to know the location of the receiver. Once the location of the receiver is determined, we can then use a singular satellite to maintain time to the receiver.

How do we get location information?  

Each satellite sends a string of information to the ground,  the time, location and speed, etc.. We already know the speed of the L1 band message - it's the speed of light - so we can use the delay to determine how far away a particular satellite is from a receiver.  

Say for instance the time on the satellite records 00 Second and 00 Milliseconds. If that time message arrives at the receiver at 00 Second and 67 Millisecond we can calculate that the satellite is ~20,000km away (d=cΔt).  

As stated, the satellite will know its own position in space as well as it’s orbital speed and path. This information is sent as part of the L1 packet and allows the receiver to determine where the nearest satellite is,  by using only the nearest satellites we can ensure that only the most accurate timing and location information is used.  

Unfortunately using one satellite is not enough to accurately determine the coordinates of the GPS receiver, because we don't know the delay unless the clocks are already in sync. It's a chicken and egg situation. The solution then is more satellites. With at least three satellites we can "trilaterate" (note, "triangulation" is a different process) to determine our location using the known locations of the satellites and the relative delays on the different signals. This creates 2 points in which we could be located on, one of which will be on earth, and one in which is in space. As it is unlikely that the receiver is in space, the receiver can make an educated guess about its location. The issue, however, is that in the time period of location acquisition it is likely that the internal oscillator connected to (or onboard) the receiver will have drifted. This in term influences the arrival times and therefore the distance calculations of each satellite. To mitigate this drift multiple satellites (more than 4) can be used to recalculate the time and location. This is done by calculating the time and location from 3 satellites using different combinations. 

For Example, if we have satellites A1, A2, A3, A4 available. We can use A1, A2, A3 for one calculation, A1, A2, A4 for a second and A1, A3, A4 for a third. If the onboard oscillator is perfect it should provide the exact location and time for each combination. In reality, oscillators are not perfect and as such we will often take location and time information from the most reliable combination. To determine the most reliable combination the receiver will account for multiple factors, such as the satellites location (and proximity to the receiver) and the accuracy of the satellites onboard clock. 

On a moving vehicle or device, this location calculation is constantly refreshed and as such the receiver needs regular updates from the satellite constellation.

If however our device is stationary and all we need is time, we can now use just one satellite to maintain timing as our location is locked. However, for redundancy purposes we don't recommend this - the more satellites we can see at all times, the better.

Above: If the signal from each satellite is thought of as an expanding ball, a device performing trilateration locates itself by calculating the point where all three balls intersect. A fourth satellite allows for more three-satellites intersections to occur, allowing the receiver to choose the more accurate combinations.


What happens when we lose a GNSS signal?  

GNSS is a great source of time when connected, but what happens when the connection is lost and/or interfered with? The answer is what we call a "holdover" period. This is a backup time source from an oscillator built into the device with the GNSS receiver. This allows a time signal to still be generated while there is no GNSS signal coming in. Unfortunately, this method of maintaining the time signal is not reliable because the longer the oscillator is used for the main time signal the greater the degradation of the signal accuracy. This means depending on the oscillator the signal may stay accurate for up to a week, but more likely only a few hours depending on the use case.

What about spoofing and jamming?

Please see our article here

Do Tekron clocks have holdover oscillators?

We're so glad you asked! Please see our range for holdover specifications.

How does GNSS work?