PointPerfect L-band Configuration

Introduction

PointPerfect L-band is a correction service delivered through an L-band satellite.  This delivery is ideal for use in remote and rural areas where cellular data services are unavailable, including offshore areas up to 12 nautical miles (roughly 22 kilometers) off coastlines.   

This guide will review the hardware requirements and device configuration to receive and use the PointPerfect service via L-band.  Instructions on configuring NEO-D9S and F9 receivers for this purpose are explained below. 

Note:  PointPerfect L-Band Satellite distribution is intended for customers in enterprise environments or those with B2B (business-to-business) agreements, and access may be provided when requested from an appropriate commercial domain account. At u-blox's discretion, exceptions may be made when the intended use is for academic purposes. Please email services-support@u-blox.com to request PointPerfect L-band access.

Benefits of PointPerfect L-band Corrections Distribution

PointPerfect L-band provides corrections offline without the need for a continuous internet connection.

                               -------------------------------------------------------------------------------------------

Do's & Don'ts: Best Practices and Common Pitfalls 

 

Do's: 

 

Don'ts: 

                               -------------------------------------------------------------------------------------------

Architecture

With our L-band service, encrypted continental SPARTN PointPerfect corrections are provided by a geostationary L-band satellite positioned above the equator. The corrections are delivered to a NEO-D9S receiver. The NEO-D9S receiver then passes the data to a high-precision receiver, such as the ZED-F9P.

The diagram below shows the L-band solution architecture.

Please note:  PointPerfect corrections are provided via L-band, internet connectivity is not needed with our L-band service.  The MQTT delivery of PointPerfect keys depicted in this diagram is simply one method to transfer the dynamic keys to the F9 device, which are required to decrypt the corrections data.  More information about the L-band Dynamic Keys and Decryption is provided in later sections in this document. 

Hardware Requirements and Prerequisites 

To use the PointPerfect L-band solution, you need two receivers:

The correction receiver (NEO-D9S) receives encrypted PointPerfect L-band corrections from the L-band satellite and passes them to the F9 receiver.  The decryption of SPARTN messages happens within the F9 module using the current L-band dynamic keys.  

If you have not acquired the hardware to use L-band corrections, you can get started with both NEO-D9S and F9 receivers such as: 

The NEO-D9S and F9 receivers must be connected via UART2 which is common practice and recommended for customer designs. (See jumper configuration example in C101-D9S user guide.)  UART1 or USB are the most convenient interfaces for monitoring and configuring both modules (i.e. when using u-center etc.)

The NEO-D9S receiver requires an antenna that supports frequencies between 1540 MHz - 1559 MHz.  Please refer to section 4.2 of the NEO-D9S Integration manual [6] to learn more about antenna requirements. 

Along with the appropriate hardware devices mentioned above, PointPerfect L-band plans must be enabled on your thingstream domain to use the service. If you cannot select our PointPerfect L-band plans within your PointPerfect Location thing, please contact services-support@u-blox.com.   

L-band Receiver Configuration

The sections below describe how each receiver is configured. 

NEO-D9S configuration

NEO-D9S must be configured to receive SPARTN L-band correction data and forward these, encapsulated in UBX-RXM-PMP messages, to the F9 receiver via UART2.

L-band Configuration (D9S)

PointPerfect service-specific configuration for CFG-PMP keys (Point to multipoint configuration) must be implemented for your corresponding region on the NEO-D9S receiver before it can receive PointPerfect correction data. 

Please contact us at services-support@u-blox.com to obtain the NEO-D9S PointPerfect L-band HEX (a decimal) configuration string of these keys for your specific region.

The HEX string can be loaded by:

Interface Configuration (D9S)

The UART2 interface of NEO-D9S needs to be configured to allow communication with the F9 receiver, using the following configuration items.  In u-center, use View -> Generation 9 Configuration View -> Advanced Configuration View.

Configuration item Value

Also, confirm the CFG-MSGOUT-UBX_RXM_PMP_UART2 is set to 1 (by default is enabled).
This message enables UART2 of NEO-D9S to output UBX-RXM-PMP messages. 

Note:  The baud rate of 38400 is stated because it is the default setting for an F9 device.  You can make this higher, but make sure both devices (D9S and F9) have the same baud rate setting.

Functional Check (D9S)

Verify that NEO-D9S is operating correctly with these functional checks, most can be performed with u-center, see the Pointperfect Getting Started Guide for how to download it, and the u-center user guide for more information.


The UBX-RXM-PMP message can be used to check the decoded correction data (the image below is for reference only)

It is important to check the UART2 communication to the F9.  In u-center, go to View, Messages View and find the UBX-MON-TXBUF message as shown in the image below.

F9 Receiver Configuration

Please confirm via the UBX-MON-VER message that the F9P has the latest firmware version.  

To use our L-Band service, the F9P device must be configured to receive and use the SPARTN L-band correction stream from the NEO-D9S in the form of a UBX-RXM-PMP message. 

L-band Configuration (F9)

The CFG-SPARTN-USE_SOURCE configuration key needs be set to LBAND:

Configuration item Value

This message value can be set using the View -> Generation 9 Configuration View -> Advanced Configuration View in u-center, please see the image below.

For more details regarding SPARTN source configuration, please refer to your product’s integration manual. 

Interface Configuration (F9)

The UBX protocol needs to be enabled on the ZED-F9P UART2 input (via View -> Generation 9 Configuration View -> Advanced Configuration View):

Configuration item Value

PointPerfect Configuration (F9)

Below is a continuation of configuration steps from the PointPerfect Getting Started guide. 

You should already have:

1.      Created a PointPerfect location thing in your Thingstream domain account,

2.      Downloaded the JSON file from your Thingstream PointPerfect location thing and

3.      Downloaded/installed/opened u-center and connected to the port of your F9P device

The final step is to load the JSON configuration file using u-center.

NOTE:  The steps below are to connect your MQTT client and retrieve the dynamic keys provided in your plan to decrypt the SPARTN messages from L-band corrections using the NEO-D9S.  

Open the Receiver menu and select the MQTT Client item as shown in this screenshot.

In the dialog box shown below, click on the ellipsis (...) icon to browse your file system and select the correct JSON config file. 

Choose the Continental correction type.  Continental corrections are the only correction type applicable to our PointPerfect L-band corrections.

Select “Subscribe to key topic” to retrieve the dynamic keys from MQTT.  Optionally you can “Subscribe to AssistNow topic.” Do not select “Subscribe to data topic”, as your source of corrections will be via L-band.   

After clicking 'OK,' u-center will establish a connection with the PointPerfect MQTT service and receive your encryption keys.  You can check the MQTT connection status in the u-center's status bar. Clicking on the green connector icon will open the log, where you can monitor the dynamic key (and AssistNow) messages being received, as demonstrated below. 

At this point the F9P is receiving data from the PointPerfect service via L-band.  You can see the performance of the solution via u-center. Please refer to u-center [2] and F9 documentation (integration manuals) for more information on how to analyze the high-precision GNSS performance.  

Functional Check (F9)

Functional checks that are required to verify the F9 module is operating correctly with NEO-D9S:

If all these checks pass, the ZED-F9P receiver should get into RTK positioning fix. If you are not able to see any of the messages above, please contact services-support@u-blox.com for assistance.

Maintaining Fix in degraded locations

It is IMPORTANT to NOTE there may be circumstances that cause your device to lose its corrections and fall back to 3D/DGNSS. This could be due to an interrupted L-Band connection - for example when driving under trees.  

To delay the fallback to DGNSS we recommend increasing the CFG-NAVSPG-CONSTR_DGNSSTO timeout value, please see the following article for further information: My Rover loses RTK Fix & goes into 3D/GNSS

Increasing the timeout value will need to be managed against how important it is for your use case to drop to DGNSS faster.  The accuracy degrades by a few Centimetre per minute, so setting the timeout to the maximum value of 255 seconds (approximately 4 minutes) will mean a reduced accuracy of approximately 10-20 CM.  

Determining your rover's line of sight to the PointPerfect L-Band satellite

You can use this third-party website www.dishpointer.com to determine the line of sight from your rover's position to the PointPerfect L-band satellite. Simply enter your location and select the matching satellite from the list below.


L-band Dynamic Keys and Decryption

The SPARTN corrections are decrypted within the F9 module itself.  When an internet connection is available, the host controller can subscribe to the specified topic "/pp/ubx/0236/Lb" via MQTT to collect the L-band dynamic keys and transfer them to the F9 receiver in UBX format. The F9 will then use the keys to decrypt the SPARTN corrections. If an internet connection is not available, you can extract the keys from the u-center config json file provided within your Thingstream Portal and send them directly to the F9.  See:  L-band "send key" example python script. Please contact services-support@u-blox.com if you need help with getting the L-band keys to the F9 receiver.

Note: The keys are not stored in non-volatile memory and will be deleted on every module reset or restart. In such cases, the keys need to be passed to the F9 again. 

Each encryption key is rotated every four weeks, and both the current and next keys are always available in your Thingstream Portal.  The current dynamic key must be provided to the F9 to retain connectivity.  The host controller must manage the dynamic keys and reconnect every 4 to 8 weeks, based on the key cycle and acquisition date, to collect the new set of dynamic keys.

Understanding Age of Corrections in PointPerfect L-band Delivery

For customers accustomed to IP-based correction services, where correction ages are typically around 1-5 seconds, the 30-second correction age seen with L-band delivery may raise concerns. However, this is a normal characteristic of L-band transmission, which involves more transmission paths and higher latency compared to the faster IP method. In open-sky environments, an average correction age of 30 seconds is expected and does not affect performance. PointPerfect's hybrid PPP-RTK service is designed to operate reliably with these higher correction ages, maintaining precision and accuracy. As long as corrections remain under 60 seconds, the service functions as intended; beyond this threshold, the F9 module will revert to 3D/DGNSS to ensure reliable positioning data. 

Reference Documentation

[1] ZED-F9P Integration manual, UBX-18010802
[2] u-center User guide, UBX-13005250
[3] u-blox F9 HPG 1.32 Interface description, UBX-22008968
[4] C099-F9P application board User guide, UBX- 18063024
[5] EVK-F9P-01 evaluation kit User guide, UBX-22038408  
[6] NEO-D9S Integration manual, UBX-19026111
[7] u-blox Knowledge Base – Services Support