Monday, 3 January 2022

ZED-F9P RTK Receiver Test Measurements

The results of numerous tests carried out using ArduSimple RTK2B-V3 boards are presented
 Giovanni Carrera, 03/01/2022


Introduction

Since the Ublox ZED-F9P GNSS RTK module came out, there are many boards on the market that use it. I have had the opportunity to test the ArduSimple RTK2B-V3 board for a long time with results that I will now describe.

I have performed numerous tests, static and dynamic, to verify the operation and also the connection and the development of firmware of the systems that I have made with 32-bit microcontrollers. I used the ArduSimple RTK2B-V3 board with G4 module for receiving RCM3 messages from a reference station with NTRIP and I also connected the Base-Rover stations directly to see the highest possible accuracy.

The results, as we will see later, were very good even if the operating sites available don’t have the maximum visibility of the sky and the distance to the reference station was quite high.

 

The Ublox ZED-F9P module

The ZED-F9P module can receive and track multiple GNSS  constellations: GPS, GLONASS, Galileo and BeiDou plus SBAS and QZSS satellites as shown in the following table.

GPS

GLONASS

Galileo

BeiDou

L1C/A (1575.42 MHz)

L1OF (1602 MHz + k*562.5

kHz, k = –7,..., 5, 6)

E1-B/C (1575.42 MHz)

B1I (1561.098 MHz)

L2C (1227.60 MHz)

L2OF (1246 MHz + k*437.5

kHz, k = –7,..., 5, 6)

E5b (1207.140 MHz)

B2I (1207.140 MHz)

All satellites in view can be processed to provide an RTK navigation solution when used with correction data. It has a USB interface, two UART ports and also I2C and SPI interfaces.

The ZED-F9P position accuracy in RTK mode, is at the centimeter level, as confirmed by the numerous tests I have done.

 

The RTK2B-V3 board

ArduSimple RTK2B is a very compact and versatile board. In addition to the ZED-F9P module, it also mounts an Xbee-type connector complete with a USB/TTL adapter and a second USB port for its programming.

ArduSimple manufacturer supplies a series of modules to be mounted on this interface for radio communication such as Bluetooth, G4, WiFi, Lora, etc.

Figure 1 shows the board, whose dimensions are similar to that of Arduino Uno/Zero, to which it is perfectly compatible.

Figure 1

The I/O signals are 1.8V, 3.3V and 5V compatible, adjusted automatically on IOREF voltage.

This board can be powered directly from the Arduino headers or via a micro USB connector and is protected against double power source (header and USB). The power consumption, without Xbee modules, is about 200 mW. The board is equipped with a high power, low noise LDO (Low Drop Out) regulator. With only 390 mV dropout it is possible to power the board with a single  Li-ion cell.

Numerous on-board LEDs indicate to the user the operating status of the system.

The board has a connector compatible with ArduPilot systems for high accuracy position control applications.

 

RTK tests with NTRIP

The first tests were carried out with the correction sent by a reference station of the Ligurian Regional GNSS Network via NTRIP, using first the PC with U-Blox U-Center software, then a G4 module on the ArduSimple Xbee slot. The connection via PC to the internet allowed to better test the NTRIP configuration.

NTRIP (Networked Transport of RTCM via Internet Protocol) is a protocol developed by the Federal Agency for Cartography and Geodesy of Germany (BKG) in late 2004 that allows for the streaming of DGPS or RTK correction data via the Internet. With a personal computer or mobile phone supporting TCP/IP, NTRIP is the best way to send RTCM messages to the rover RTK receiver without having to use an expensive local radio, which to comply with radio communication laws, they are low power and therefore short range.

 

The 4G LTE module

The G4 module used is a Telit model LE910 V2. Whose bands, for Europe, the Middle East and Asia, are:

·         4G Bands (MHz): B1(2100), B3(1800), B7(2600), B8(900), B20(800)

·         3G Bands (MHz): B2(2100), B8(900)

·         2G Bands (MHz): B3(1800),B8(900)

This module is mounted by ArduSimple on an Xbee compatible board whose appearance is shown in figure 2.

Figure 2

This module requires high power (HP) and must be mounted on RTK2-V3 type boards.

For its configuration I followed the instructions of the hookup-guide [6] to which I refer the reader.

The functional scheme is shown in figure 3.

Figure 3


I have chosen NEAR3 as the Mount Point.

To achieve a high resolution, High Precision Mode must be configured. In this way latitude and longitude therefore have seven digits after the decimal point and the altitude has three digits after the decimal point.

Connect the Rover to the PC and start the U-Center program, from the 'Configure' menu set 'NMEA protocol' and click on 'High Precision Mode' and then save the configuration.

I have assembled all the components of the Rover in a box, as shown in figure 4.

Figure 4


In this case I used an ATmega328P based OpenLog system to save the corrected NMEA sentences from the RTK receiver to SD. In some tests I used a much more performing system (uChipTFT24), purposely designed by me, based on the SAMD21 MCU with 2.4 inch TFT touch screen with inbuilt SD card slot, as shown in figure 5.

Figure 5

I have also developed software on this system that also calculates the UTM (Universal Transverse Mercator) coordinates, shown on the display along with other information, such as the fix quality index.

 

Fixed point measurement (NTRIP) #1

The measurements saved on a SD card, have been processed in Matlab on a PC.

Here are the outputs of my programs:

 

File name        = LOG00013.mat

Values averaged on 551 epochs, from point = 1, to point = 551

Initial GPS time = 32779 and final = 33329

CEP R95          =    0.010 m

Figure 6

The CEP95 is a very valid index of horizontal accuracy: it is the radius of the circle that contains 95% of the measurements.

Plotted measurements refer to a time interval where HDOP was minimal, as seen in figure 6. However, the fix quality index was equal to 4 (fixed ambiguity solution) for the whole recording, confirming its good quality.

Although the reference station is 16 km away and there is no complete visibility of the sky, the results are excellent.

 

Fixed point measurement (NTRIP) #2

This measurement was made on top of a mountain, therefore in a site without obstacles, unlike the other measurements which were always made in mountain locations, but with some obstacles. Also here I was closer to the reference station GENU (about 6 km).

 

File name       = 01092109.mat

Values averaged on 280 epochs, from point = 174, to point = 453

Initial GPS time = 32973 and final = 33252

average latitude  = 44.458543193°

average longitude =  9.067446390°

Elevation       = 755.25 m

CEP R95         =    0.006 m

Figure 7

I have included this test to show how important it is to have coordinates with many significant digits. In this case my system saved the coordinates with 8 decimal digits which brought a resolution to 0.8 mm on the West-East axis and from 3.3 to 4.4 mm on the South-North axis. Later I modified the program to save the coordinates with 9 decimal places and things have improved a lot.

Despite its relative low resolution, the results were good, with a CEP95 measuring just 6mm.

 

Rectilinear motion at constant speed

I also wanted to make a dynamic measurement: to have a precise spatial reference, I made the rover antenna move along a straight rail with constant speed.

To do this test I made a special device. An aluminum profile creates a rail on which a wooden shoe slides pulled by a rope and a pulley moved by an electric gear-motor. The figure 8 shows the gear-motor and the tow pulley on which I made a double turn of the cable.

Figure 8

Here are the outputs of my Matlab program:

File name         = 30082107.mat

Values averaged on 29 epochs, from point = 309, to point = 337

Initial GPS time  = 26030 and final = 26058

Path traveled     =    1.678 m

Mean speed        =   0.0599 m/s

Figure 9

The red line, in figure 9, was drawn between the average of the start and end points measurements.

 

Fixed point measurement (direct link)

This test of the receivers excludes the transmission system of the correction data transmitted by the base, replacing it with a simple wire, as shown in the figure 10.

I mounted the two boards and the serial data logger in a single case, as shown in fig. 11.

I configured the two units with the base and rover configuration files.

 

Figure 10

Of course this is the system that should give the maximum accuracy precisely because the two antennas are a few meters apart and there are no radio link disturbances.

The Rover must be configured for NMEA output at 115200 baud.

It is necessary to configure the Tx1 output of the Rover for the NMEA protocol in High Precision Mode (coordinates with 7 decimal digits). The data logger used for this test was an OpenLog type system.
Figure 11

The following table shows the configuration of the switches on the two boards.

switch configuration

ArduSimple V3 Base

ArduSimple V3 Rover

Swirch#1

XbeeTo GPS UART1

XbeeTo GPS UART1

Swirch#2

IOREF& 5V ARE INPUTS

IOREF=3V3, 5V = OUTPUT

 

 

ArduSimple Base-Rover wiring

Base

Rover

Tx1

Rx1

Rx1 not connected

Tx1 to logger

5V (input)

5V (out)

Gnd

Gnd

IOREF (input)

IOREF (3V3 out)

USB not connected

USB connected

Arduino rails are used for wirings.

USB is connected to Rover for powering and PC monitoring of  the system.

Here are the outputs of my Matlab program:

GNSS measurements

File name       = LOG00014.mat

Values averaged on 578 epochs, from point = 1, to point = 578

Initial GPS time = 42023 and final = 42600

CEP R95         =    0.007 m

Figure 12

References

1.       “ZED-F9P u-blox F9 high precision GNSS module data sheet”, UBX-17051259- R08, www.u-blox.com, 04-Jun-2020.

2.       “ZED-F9P u-blox F9 high precision GNSS module Integration manual”, UBX-18010802 - R08, www.u-blox.com, 02-Jun-2020.

3.       https://www.kickstarter.com/projects/simplertk2b/simplertk2b-the-first-multiband-rtk-shield-based-o

4.       https://www.ardusimple.com/simplertk2b-v3-hookup-guide/

5.       https://www.ardusimple.com/product/simplertk2b-f9p-v3/

6.       https://www.ardusimple.com/4g-ntrip-client-hookup-guide/

7.       https://www.ardusimple.com/configuration-files/

8.       “Logger GPS con UCHIP”, Giovanni Carrera, ‘Elettronica In’ magazine, n. 257, september 2021