How do our smartphones calculate our position on Earth using the global navigation satellite system (GNSS)? A GNSS satellite transmits signals that allow a receiver to calculate its distance from the satellite, known as the range. In order to calculate position on Earth, the GNSS receivers of our smartphones need the signals of at least three different satellites, so that they can perform trilateration. Each satellite has its own signal. How do the smartphone receivers identify the different satellite signals required?
Let us consider a specific global navigation satellite system (GNSS), the GPS, in its original design. All GPS satellites transmit a frequency termed L1 which is equal to 1575.42 MHz. (It is noted that this is an UHF or L band frequency).
This frequency represents the carrier (frequency) onto which is modulated a code that is unique for each of the GPS satellites, and is called the "ranging code". It consists of a sequence/stream of binary digits (bits), i.e., 0 and 1 — or alternatively +1 and -1. Such a bit sequence is also called a bitstream. The ranging code bitstream consists of 1023 bits. (It is noted that it is transmitted in 1 millisecond).
Onto this bitstream is modulated the navigation message [1] which includes the time the GPS signal was emitted by the satellite and the orbital position of the satellite.
The GPS receiver of our smartphone has replicas of all the ranging code bitstreams used by the GPS satellites. It scans at the L1 frequency of 1575.42 MHz and processes the incoming signal which is expected to include sequential repetitions of one specific bitstream. The receiver performs autocorrelation with a bitstream replica for the purpose of identification.
It is possible that the incoming bitstream is time-shifted relative to the receiver’s replica. For instance, the bitstream received may be BCDA instead of ABCD.
* BCDA
| | |
ABCD *
In this case, the receiver must adjust the timing of the replica until alignment is achieved. In other words, the receiver must slide the replica to obtain alignment.
More generally, autocorrelation may be performed with time-shifted versions of a bitstream to detect alignment.
We may conclude that the timing of the bitstream is important for autocorrelation.
This process allows the receiver to lock onto the signal and obtain the data that are needed to perform ranging, i.e. distance determination
Reference - image: https://www.e-education.psu.edu/geog862/book/export/html/1407
[1] twenty five 1500-bit long frames transmitted in 30 seconds
Figure 1: Signal correlation. Reference: https://www.e-education.psu.edu/geog862/book/export/html/1407