Simulating the ISO 17123-8 procedure through Skydel

Technical & Application Notes

Introduction

This document is an application note for replicating the procedures outlined in ISO 17123-8 to collect the receiver’s perceived location with the Skydel Simulation Engine. The data processing is not specified in this document given that it is explained in detail in the ISO 17123-8 documentation. This application note is not certified compliant with the ISO 17123-8 documentation but serves as a guideline to replicating this procedure in Skydel using a Safran GSG device and a Ublox receiver. Note that this document can also serve as a starting point for Skydel users wanting to replicate the ISO 12123-8 procedures using their own hardware.

Skydel scenarios on Safran’s GitHub:

View Skydel Scenarios

ISO 17123-8

The ISO 17123-8 document specifies procedures for determining the precision, reliability and repeatability of GNSS field measurement systems in Real-Time Kinematic (RTK) and their equipment for use cases in building, surveying and industrial measurements. The tests proposed in this document are intended to serve as field verification for the suitability of a particular instrument for the required application. The ISO 17123-8 section is part of a larger ISO 17123 document named “Optics and optical instruments — Field procedures for testing geodetic and surveying instruments”.

Given that test results are influenced by several factors (atmospheric conditions, multipath environment, precision of equipment, satellites visible etc.), 2 different tests are proposed to cover these variations – the simplified test procedure and the full test procedure. It is up to the user to choose which one is deemed to be most relevant according to the use-case. In both cases, they’re intended to verify the suitability of a particular instrument for an immediate task. They are not proposed as tests for acceptance or performance evaluations that are more comprehensive in nature.

Both tests consist of choosing a base station and 2 rover points, and then bringing the receiver from one rover point to another iteratively and noting down the receiver’s perceived location at the rover points. The simplified test procedure requires 5 data samples for each rover site. The full test procedure follows the simplified test procedure but repeats it 3 times at different time intervals.

Once the receiver’s location for all data sets is collected, you may follow the calculations specified in the ISO 17123-8 document to evaluate whether the precision of the equipment in use is within a specified allowable deviation.

1. Simplified procedure using Skydel

1.1 Hardware Setup

A single SDR is required for this procedure, therefore the GSG hardware model that can be used to follow the ISO 17123-8 procedure are:

GSG-7GSG-811GSG-821GSG-831GSG-842
1 RF Output   1 GPU/SDR1 RF Output
1 GPU/SDR
2 RF Outputs
1 GPU/2SDR
RF Outputs 1 GPU/3SDR4 RF Outputs 2 GPU/4 SDR

For this case study, we will show a simple scenario following the simplified procedure from ISO 17123-8 with Skydel and its RTCM plug-in, using a GSG-8.

Simulating the ISO 17123-8 procedure through Skydel

In Figure 1 below is a block diagram showing the system configuration. Both the master and slave instances of Skydel are running on the same GSG-8 unit. In this application note, we configure the L1 signal. But if the user wishes, they may also use dual-frequency for RTK as long as they have the corresponding amount of SDRs, this is optional.

Simulating the ISO 17123-8 procedure through Skydel
Figure 1: Hardware Setup

2.1 Software Setup

Two instances of the Skydel application are required to simulate GNSS constellations for both the base station and the rover. The rover instance uses the RF output connected to the rover receiver under test. The instance used for the virtual base station simulation can be configured to use “NoneRT” output.

2.1.1 Base Station Configuration

Open a Skydel instance and start a new configuration. Navigate to Settings – Output:

Simulating the ISO 17123-8 procedure through Skydel
1.2.1.1 Signal selection

In setting -> Output, select “NoneRT” output and click Add. Choose the signals you want to simulate for the base station in the output settings.

Simulating the ISO 17123-8 procedure through Skydel
1.2.1.2 Time synchronization with the rover

Allow the base station simulator to be synchronized with the rover simulator. Go to Settings -> Global -> Synchronize simulators. Set checkbox “Sync Time (Worker).” This will allow both instances to start at the same time.

Simulating the ISO 17123-8 procedure through Skydel
1.2.1.3 Vehicle trajectory

Select base station position in Settings->Vehicle->Body.

Set trajectory type to “Fixed” and enter the coordinates as shown in the image:

Simulating the ISO 17123-8 procedure through Skydel
1.2.1.4 RTCM configuration

Enable the RTCM plugin. For this, you’ll have to go in “Help>Plug-ins”.

Simulating the ISO 17123-8 procedure through Skydel

Select the RTCM plug-in and enable it.

Simulating the ISO 17123-8 procedure through Skydel

Go to Settings->Plug-ins->RTCM to start configuring the RTCM communication.

Simulating the ISO 17123-8 procedure through Skydel

The “NTRIP Server/Caster” line allows you to select the NTRIP caster port to broadcast the RTCM data. You should make sure to connect as an NTRIP Client on the receiver end so that the rover receives the RTCM corrections, make sure that the NTRIP client port on the receiver side matches the NTRIP Caster Port selected in Skydel.

In the RTCM messages, the messages selected for this scenario are:

  • 1006 (Base Station position)
  • 1033 (1033 Receiver & antenna)
  • 1073 (MSM3 GPS, selected since we have GPS signal in the output)
  • 1077 (MSM7 GPS, selected since we have GPS signal in the output)

Save your configuration

If you would like more information about the RTCM use-case in Skydel, feel free to check out the Skydel RTCM plug-in application note.

1.2.2 Rover Configuration

Open a Skydel instance and start a new configuration.

1.2.2.1 Signal selection

Click the Edit button for the RF-A output of Radio 1 and select GPS L1 C/A.

Simulating the ISO 17123-8 procedure through Skydel
1.2.2.2 Time synchronization with Rover

Allow rover simulator to be synchronized with base station simulator. Go to Settings -> Global -> Synchronize Simulators. Set checkbox “Sync Time (Master).”

This will allow the base station simulation to start with the rover simulation. Set checkbox “Automatically broadcast configuration on simulation start.” Exclude “Radios,” “Outputs and Radios,” “Vehicle motion,” “Vehicle antenna,” “Interference,” and “Plug-in” from synchronization.

Simulating the ISO 17123-8 procedure through Skydel
1.2.2.3 Vehicle trajectory

Select rover trajectory in Settings->Vehicle->Body

Set trajectory type to “fixed point” and import the trajectory file provided:

Simulating the ISO 17123-8 procedure through Skydel

Save your configuration. Note that if you would like to design your own trajectory file, you should make sure that the time lag between successive sets (one set corresponds to the data retrieval at the two rover points) should be approximately 5 minutes. Ensure that there is enough time at each rover point to allow for a cold restart of the receiver at each rover point (this is explained later). You should also make sure that your chosen rover point locations comply with the requirements specified in the ISO 17123-8 document. For example, they should be located between 2 to 20 meters from one another.

To demonstrate the feature, we will use a Ublox receiver. If your receiver is different, please install and configure the receiver according to the manufacturer’s instructions.

1.3 Running and Analyzing the Simulation

1.3.1 Connecting a Ublox receiver

Connect the Ublox receiver to the GSG-8 via Serial USB. Then open the Ublox control center, U-Center, and connect the receiver from the list of available ports under “Receiver>Connection”.

Simulating the ISO 17123-8 procedure through Skydel

To enable the retrieval of RTCM messages to correct the receiver’s position, make sure to configure the NTRIP client in U-Center, you should be using the same NTRIP port as the one previously configured in Skydel. Make sure you use the correct IP address matching the device running your Skydel scenario. For this go to “Receiver > NTRIP client…”.

Simulating the ISO 17123-8 procedure through Skydel
1.3.2 Running the Simulation

We then start the simulation by clicking on the start button in the Skydel Rover instance window, since this is the one we chose as our Main Instance, which means it will automatically and synchronously start the Skydel Base Station instance in parallel.

Then we perform a coldstart of the receiver through U-center and wait for the ambiguous fix to be completed.

Simulating the ISO 17123-8 procedure through Skydel

Once the ambiguous fix completed, you may retrieve the receivers’ location within U-Center.

Simulating the ISO 17123-8 procedure through Skydel

Using the map window in Skydel, track the position of the vehicle during its trajectory. Each time the vehicle arrives at a rover point, perform a cold start as described previously, and retrieve the receivers’ position in U-center.

1.4 Example of the simplified test procedure

Using the exact same settings and parameters as described throughout this entire section, we obtain the following set of locations perceived by the receiver, as shown in table 1. Note that the sets of coordinates were translated from LLA (Latitude, Longitude, Altitude) form to ECEF (Earth-Centered, Earth-Fixed) form to find the deviations.

Note that the nominal horizontal distance is 14.2431 meters and the nominal height difference is 4.110 meters in this scenario.

   MeasurementHorizontal distance
 (m)
Height difference
(m)
Deviations (mm)
Seq No.SetRover pointlatitudelongitudeheight (m)horizontalheight
11145.53649317-73.6305762
21245.536546-73.630401672.0011443.393.5
32145.53649317-73.6305761.998
42245.536546-73.630401172.00314439.96.4
53145.53649317-73.6305761.998
63245.536546-73.6304016721443.1844.2
74145.53649317-73.6305762
84245.536546-73.6304022.001144-21.23.5
95145.53649317-73.630576172.001
105245.536546-73.630401672.00114416.292.8
Limit of each deviation (mm)±53±88
Table 1. Measurements and deviations

Note that we are using a predetermined standard deviation of 15mm for the horizontal distance, and a predetermined standard deviation of 25mm for the height difference. These are the ones used as an example in the ISO 17123-8 document. Using these, we can see that our obtained deviations fit within the limit for all 5 sets following the guidelines depicted in the ISO 17123-8 text. Under these conditions, we can say that the receiver is suitable for a field application for which variations over time are irrelevant.

2. Full Procedure

If you’re looking to take into account the variations of the environment over time that can affect the RF signals (ionospheric conditions, number of satellites visible, etc.), then doing a full test procedure may be more appropriate. Because this test collects more data than the simplified test procedure, you can perform statistical tests, this is detailed in the ISO 17123-8 document.

To perform a full procedure, keeping the same hardware and software configuration, repeat the simplified test procedure 3 times while changing the start time in the Skydel Rover instance by at least 90 minutes between each iteration. For this, you’ll have to go into the Rover instance of Skydel, and then in “Settings > Start Time” you can change the Custom Time between each iteration.

Conclusion

Two different test procedures are proposed in the ISO 17123-8 document, depending on how important taking into account variations over time is for the particular use case. The full test procedure simply follows the simplified test procedure and repeats it 3 times at different time intervals.

Once the receiver’s location for all data sets is collected, you may follow the calculations specified in the ISO 17123-8 document to evaluate whether the precision of the equipment in use is within a specified allowable deviation.

Both test procedures can be operated in Skydel using a simple multi-instance scenario along with the RTCM plugin, which can be saved and re-run as many times as desired for repeatability.

All this is possible thanks to Skydel’s flexibility and expandability.