Signal autocorrelation

Signal autocorrelation - Matching a signal to self, to a replica

A GNSS satellite basically determines the range, meaning the distance at which a specific receiver is found. In order to calculate position on Earth, the GNSS receivers of our smartphones need the signals of three different satellites, so that they can perform trilateration. They need to match the three signals to replicas they have in-storage. How does a receiver know it has obtained signals from three different satellites?

Let us consider a specific global navigation satellite system (GNSS), the GPS, in its original design. All GPS satellites use a frequency termed L1 which is 1575.42 MHz (UHF or L band frequency).

This represents the carrier frequency onto which is modulated the ranging code. Every one of the 24 satellites has its own ranging code. It consists of a sequence/stream of binary digits (bits) i.e. 0 and 1 or +1 and -1. Such a bit sequence is also called a bitstream. There are 1023 bits transmitted in 1 millisecond. Given that the code repeats itself every one millisecond, the transmission rate is a 1023 Mbits/s.

Onto this bitstream is modulated the navigation message* 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 scans in the frequency of 1575.42 MHz. It has replicas of all the 24 ranging codes used by the GPS satellites; in other words, it has templates of all 24 different bitstreams. 

The receiver has to correlate the received repeating bitstream to the replica corresponding to the same signal. It practically has to correlate the signal to itself. It finds the repeating unit and matches it to the corresponding template. The process is called autocorrelation.

Note that when the bitstream e.g. ABCDEF arrives to the receiver, it may present itself as being time-shifted e.g. BCDEFA. The receiver may not be able to correlate BCDEFA to ABCDEF i.e. it will identify the following mismatch:

*BCDEFA

| |  | |  | | |

ABCDEF*

The timing of the bitstreams is important for autocorrelation to be performed by the receiver. The receiver must time-shift the received bitstream to perform autocorrelation and establish a match.


Reference - image: https://www.e-education.psu.edu/geog862/book/export/html/1407



*twenty five 1500-bit long frames transmitted in 30 seconds

Figure 1: Signal autocorrelation. Reference: https://www.e-education.psu.edu/geog862/book/export/html/1407