Computer

How GPS works: Look at how weak the signal is

How GPS works: Look at how weak the signal is

Satellite positioning systems, such as GPS, are used in a wide range of sectors: in the past limited to very specific applications, such as navigators, these tools are now adopted in multiple apps. Indeed, when you take a photo, the image contains the geographic coordinates the point at which it was acquired. In another article we explained what EXIF ​​is and what the photos we take contain.

GPS satellites transmit information about position e tempo towards the earth’s surface. The transmission of the “precise time” from GPS satellites is essential to allow receivers on Earth to accurately calculate their position using their own i GPS signals.

GPS Operation: Signals are very weak indeed

GPS satellites emit extremely weak radio waves, with the signal strength which reaches the receiver on the ground, quantifiable even in the order of -130 dBm. Phillip Tennen, developer of a GPS-based positioning app called gypsum, compares receiving a GPS signal to “watching a light bulb turn on and off 20,000 km away a million times a second“.

Many types of “travel” around our planet where radio and there is a lot of noise, stronger than the signal emitted by GPS satellites. The smartphones we have in our hands and car navigation systems must find the signal GPS by finding it in the “sea of ​​noise” that characterizes communications. GPS signals can be up to 50 dB below background thermal noise.

GPS signal level and background noise

The image is taken from Hearing Whispers (Phillip Tennen)

How GPS works, in brief

Il GPS systemacronym for Global Positioning System, is a satellite navigation system that allows you to determine your position, speed and time anywhere on Earth, 24 hours a day, in any weather condition and in any location, as long as you have an unobstructed view of the sky. The operation of the GPS system is based on a constellation of satellites orbiting the Earth.

As we explained in the article on privacy issues related to the use of GPS and geopositioning systems, US GPS has been available in Europe since the 1990s but since 1998 the European Union has developed Galileowhich entered full operation more recently.

The process of location determination via the GPS system, takes place in three main phases: acquisition, tracking and calculation of the position:

  • Acquisition: During this phase, the GPS receiver detects signals transmitted by satellites. These signals are received by the GPS device’s antenna and passed to the internal receiver. The receiver actively searches for signals from visible satellites and acquires information about their positions and time data.
  • Tracking: Once the satellite signals have been acquired, the GPS receiver begins the tracking phase. During this phase, the receiver constantly follows the satellite signals and measures the variations in the signals over time due to the Doppler shift. Furthermore, the receiver determines the approximate position of the satellites using the information received during the acquisition phase.
  • Position calculation: Using data collected from visible satellites and information about their movements, the GPS receiver calculates its position on the surface of the Earth using the principle of trilateration. This process involves measuring the time it takes for GPS signals to reach the receiver. By knowing the speed at which the signals travel (the speed of light) and measuring the time it takes for the signals to arrive at the receiver, the GPS device can determine the actual distance to each satellite. With at least four satellites visible, the receiver can calculate its three-dimensional position using mathematical algorithms.

PRN codes and signal acquisition

There are 32 GPS satellites in operation and accurate location information can be calculated by receiving signals from quattro of them. Each GPS satellite emits a unique signal called codice PRN 1,000 times per second. A GPS receiver can identify which GPS satellite the signal comes from by reading the PRN code.

GPS positioning: number of satellites, signal noise

To scan for satellites, GPS receivers must generate a copy of each PRN emitted by each of the 32 satellites, then search for each of these PRNs in the data collected by the antenna. This stage is called acquisition because the objective consists precisely in “locking” any satellite that is “visible” in the portion of the sky above the receiver.

Each GPS receiver examines a brief snapshot of the data coming from the antenna (about one second) and correlates the data received with each of the replicated PRN codes. If there is a strong correlation between the replication and incoming data in real time, you can know for sure that the satellite associated with that PRN is transmitting data.

Because GPS satellites move at high speeds in orbit, the signals they transmit are subject toDoppler effect. GPS receivers must also take this phenomenon into account when comparing PRN code information with information arriving from radio waves.

For those wishing to learn more, the document Hearing Whispers it focuses precisely on the difficulty linked to the acquisition of GPS signals, which are by their very nature so weak.

The signal tracing and decoding phases

GPS satellites are extremely precise devices that transmit signals over acarrier wave. The next phase, equally crucial for GPS operation, is to tracking.

During this moment, you carefully follow each satellite’s signal over time: it is important to understand the nature of the carrier wave and how it modulated to carry information.

Then the funniest part begins, that is, reading and reading decoding of bits transmitted by GPS satellites. Read the bits from satellite requires an “ad hoc” methodology due to the way the data bits are positioned on top of the PRN code and carrier wave.

Decoding the GPS signal is a fascinating technological challenge that requires an in-depth understanding of signal physics, software engineering and communication protocols. Overcoming the challenges presented by phase ambiguity, precise timing and decoding navigation messages requires ingenuity and dedication: Tennen demonstrates the approach used by then translating it into “ready-to-use” software, as we see in the following paragraph.

Create a GPS receiver software-defined con gypsum

Based on his profound knowledge of the functioning of GPS satellites, Tennen has developed gypsuma GPS receiver software-defined written in Python. He is able to get the precise location of the user on the earth’s surface in less than 60 seconds, using only the data coming from the antenna.

The software implements one stack of processing of the GPS signal which does not rely on other components, except a numpy. The latter is a Python library widely used for scientific and numerical computing. Provides support for efficient management of multidimensional arrays and offers a wide range of mathematical functions to operate on such arrays.

gypsum transforms any SDR module (Software Defined Radio), easily available on the market, in a GPS receiver. Tennen has typically used an RTL-SDR, but the design is also compatible with HackRF components. Both can be can be connected to any antenna patch sensitive to the frequency of 1.57542 GHz, used for the transmission of GPS signals. A patch antenna is a type of antenna that can be designed to operate at specific frequencies, such as that of the GPS signal in this case.

The receiver also includes a web-based control panel that allows the user to monitor the signal qualityfollow the acquisition progress, location history and track GPS satellites.

How to try gypsum

At this address, Tennen has made available to interested parties a data sample recorded via antenna. You can download the file and place it in the folder /gypsum/vendored_signals/.

To install gypsum you need to Python e pip are present on the system in use and updated to the latest versions. You can then proceed by issuing the following commands:

pip install -r requirements.txt
pip install -r requirements-webapp.txt

The two commands install the addictions necessary; the second should be used if you wish to use the web administration panel.

To perform gypsum using stored antenna samples, you can use the following syntax (satellite search is limited to those…

Leave a Reply

Your email address will not be published. Required fields are marked *