Navigation Using RTK GNSS

Madhurima Ghosh
4 min readJun 22, 2021
GNSS Satellites

Global Navigation Satellite System (GNSS) uses geo-stationary satellites to provide autonomous geo-spatial positioning. It allows electronic receivers to determine their location (latitude, longitude and altitude) using radio signals obtained from satellites. This system can be used for determination of position, navigation or object tracking.

Some of the popular GNSS are –

1. Global Positioning System (GPS) by United States

2. GLObal NAvigation Satellite System (GLONASS) by Russia

3. BeiDou by China

4. Galileo by European Union

…and many more

The position of the receiver is obtained from the satellites by a technique called trilateration (which involves measuring distances between the satellites and the receiver).

Determining Position using Trilateration
Determining Position using Trilateration

For instance, if we consider that the receiver is 150000 km from a satellite, it means the receiver can be at any position on the surface of the sphere formed with radius 150000 km and center at the position of the satellite.

Similarly, if we calculate the distance of the receiver from another satellite, we will obtain another such sphere. Now, we will get a circular plane at which both the obtained spheres intersect. Hence, it can be said that the position of the receiver is somewhere on the circle.

After calculating the distance from a third satellite, we will get only two points where all the three spheres intersect. Among the two points, only one point will lie on the surface of the earth whereas the other one will lie in outer space.

Using a fourth satellite, the measurement errors, tropospheric errors caused by temperature, density, pressure or humidity changes, and clock errors can be minimized.

A traditional GNSS receiver (such as the one available in a smartphone) uses code phase measurement technique to calculate its distance from the satellites. A pseudocode is generated at the satellite and the same code is generated internally in the receiver at same instance of time. When the receiver receives the pseudocode from the satellite, it correlates the original signal and the replica pseudocode generated by itself to obtain the time taken for the signal to propagate from the satellite to the receiver. The propagation time multiplied by the speed of light gives the apparent distance of the receiver from the satellite.

Correlation of pseudocode
Correlation of Pseudocode

D = cΔt

where D is the apparent distance, c is the speed of light, and Δt is the propagation time of the signal

This is not a very precise method and the accuracy is 2–30 m.

To improve the positional accuracy, a differential GNSS is used. There are two receivers in such a system — a Base Station and a Rover.

Differential GNSS
Differential GNSS

The Base Station is installed at a known position or its precise location is computed over a period of time using various independent precision methods of survey. Then its location is also obtained using GNSS and the error in the measurement is computed by comparing the obtained measurement from GNSS to its precise location.

This correction data is transmitted to the Rover in real time using communication protocols like Wi-Fi, LoRa or Zigbee. The Rover uses this data to correct its position thus giving centimeter level accuracy.

In applications where millimeter level precision is required such as navigation of aerial drones or unmanned vehicles, RTK (Real Time Kinematic) GNSS is used. In this system, carrier phase measurement technique is used instead of code phase measurement.

The carrier phase measurement is the measure of the range between the satellite and receiver expressed in units of cycles of the carrier signal frequency. We already know that carrier signals have high frequency and thus, the measurements obtained from carrier signal will have low tropospheric errors.

Finally, the receiver is able to determine its position (in latitudes and longitudes) at an accuracy of 5–20mm.

From global coordinates (in latitudes and longitudes), the local coordinates of the object w.r.t the base are obtained for simple and efficient navigation.

In order to calculate the distance and angle (w.r.t north) between two points (the object and the base) whose position (in latitudes and longitudes) is given, we use the following formulae:

a = sin²(Δlat/2) + cos lat1 ⋅ cos lat2 ⋅ sin²(Δlong/2)

c = 2 * atan2( √a, √(1−a) )

Distance between the points, d = R * c

Bearing angle, θ = atan2( sin Δlong ⋅ cos lat2 , cos lat1 ⋅ sin lat2 − sin lat1 ⋅ cos lat2 ⋅ cos Δlong )

where lat1, long1 and lat2, long2 are the latitudes and longitudes of these points,

Δlat = lat2 -lat1 and Δlong = long2 — long1,

R is earth’s radius (mean radius = 6,371km)

To obtain more accuracy, estimation algorithms such as Kalman filter and Particle filter are applied on the measurements.

--

--