Development of a Custom GNSS Software Receiver Supporting Supercorrelation †

: Mitigating multipath interference is one of the biggest challenges in radio positioning. The Supercorrelation™ technology developed via Focal Point Positioning (FPP) suppresses multipath interference by performing long coherent integration while undergoing complex motion in order to isolate the Line-Of-Sight (LOS) signals from the unwanted multipath interference. This article presents the current status of a Supercorrelating Global Navigation Satellite System (GNSS) Software-Defined Radio (SDR) and a systematic testing framework. The SDR receiver is capable of real-time processing and facilitates independent testing and demonstrations. The testing framework uses synthetic signals with a Spirent Radio-Frequency Constellation Simulator (RFCS) with Sim3D to create controlled and repeatable scenarios. The initial results demonstrate the benefits of Supercorrelator Technology (S-GNSS) for navigation resilience.


Introduction
Multipath interference limits the accuracy of Global Navigation Satellite System (GNSS) receivers in urban and other cluttered environments.Mitigating it is one of the biggest challenges for reliable navigation, especially in dense urban scenarios.The Super-correlation™ technology developed via Focal Point Positioning (FPP) suppresses multipath interference by enabling very long coherent integration times (many seconds) on low-cost platforms undergoing highly non-linear dynamics.Achieving this requires sub-wavelength scale corrections for receiver clock errors, the receiver motion, and the motion of the satellite during accumulation [1,2].We refer to a GNSS receiver that contains this technology as an S-GNSS receiver.FPP is currently developing a real-time S-GNSS Software-Defined Radio (SDR) demonstrator platform with European Space Agency (ESA) support, and this paper provides information on the project progress and some interim performance testing and demonstrates the Non-Line-Of-Sight (NLOS) rejection and multipath mitigation capabilities of the technology.
The S-GNSS SDR demonstrator platform is a multi-band software receiver and can process the GPS and Galileo signals in the L1/E1 and L5/E5a bands.The evaluation includes controlled laboratory tests with synthesized multipath signals.A multi-band Spirent Radio-Frequency Constellation Simulator (RFCS) with Sim3D capabilities allows for accurate signal generation.Using controlled experiments, a systematic performance evaluation of the S-GNSS technology is conducted.The initial results show significant improvements in code phase and carrier frequency measurements compared to standard GNSS processing, which results in a more accurate and reliable Position, Velocity, and Time (PVT) solution.
The rest of the article is structured as follows: Section 2 presents the background of the project, and Section 3 briefly describes Supercorrelator Technology (S-GNSS).The SDR design approach and real-time performance are exhibited in Section 4. Section 5 defines the test setup, and Section 6 shows the results.Finally, the conclusions are drawn in Section 7.

Project Background
With the support of the ESA under the NAVISP Element 2 program (https://navisp.esa.int/element/competitiveness (accessed on 15 May 2023)).
FPP is designing, building, and deploying an S-GNSS SDR real-time receiver, which is a hardware and software platform, for the development and demonstration of the S-GNSS technology.The approach of this receiver is to use hardware Commercial-Off-The-Shelf (COTS) components for the Radio-Frequency Front-End (RFFE) and an SDR approach for the GNSS processing in the software.This approach allows for rapid development and maximal flexibility in design.
The existing demonstrators of the S-GNSS technology rely on recordings generated via partner and customer company GNSS receivers.Although this is a great approach to demonstrate the performance improvements that S-GNSS provides, the results and experiments are held under Non-Disclosure Agreements (NDAs) and cannot be publicized, and the receivers are generally not directly accessible to FPP for our own specific research and development.As such, this project allows FPP to demonstrate current and future capabilities to the public more freely and provides a mechanism for Original Equipment Manufacturers (OEMs) to trial S-GNSS directly without requiring support from the thirdparty chipset suppliers.
Figure 1 shows the main building blocks of the S-GNSS hardware: an NTLab ® NT1065-USB3 RF IC EVALUATION KIT is the RFFE, a Linux-based Personal Computer (PC) is the processing unit of the receiver, and an FPP Inertial Sensor Data Logging and Streaming Unit (DLSU) is the inertial sensor data source.This paper focuses on the initial results of the GNSS SDR, but integration with the inertials from the DLSU is planned for future publications.The NTLab ® NT1065-USB3 RFFE is configured for dual-band operation and receives the L1 and L5 frequency bands with a real-valued sample rate of approximately 48 MHz and uses 2-bit precision.

S-GNSS Background and Operation
S-GNSS suppresses multipath interference through extended correlation by correcting the receiver clock, the receiver motion, and the motion of the satellite during accumulation [2].Longer correlation allows a separation between the correct Line-Of-Sight (LOS) signal and multipath interference using the carrier frequency offset.The technique is similar to synthetic aperture processing [3][4][5], although it is specifically designed to overcome the challenges [6][7][8][9] provided by the low-quality oscillators found in smartphones and smartwatches and the highly non-linear motion dynamics that those devices can undergo in typical use.S-GNSS is ideal for urban environments with challenging multipath interference [10] and has shown benefits when integrated with 3D mapping [11] and inertial navigation systems [12].Furthermore, it has been adopted by mass-market receivers [1], has been tailored for easy integration into smartphones [13,14], and is being integrated into the automotive sector [15].A benefit of S-GNSS is that it allows for spatial processing (i.e., synthetic aperture processing), which is ideal for GNSS (https://www.youtube.com/watch?v=9vj_yW0YJFg (access on 15 May 2023)) spoofing detection and correction [2].
The core of S-GNSS is the extended accumulation of the satellite signal based on the correlation outputs.It allows for processing after tracking, making it practical for existing receiver systems.However, improved performance is possible when it is tightly coupled to tracking.The Cross Ambiguity Function (CAF) after correlation is scaled inversely proportional to the integration time for the carrier frequency offset.This correlation property allows S-GNSS to discriminate between LOS and NLOS signal components according to their small variations in Doppler shifts.
Figure 2a shows the theoretical (i.e., noise-free) CAF for 20 ms integration for a multipath interference scenario.An LOS signal with zero code delay and frequency offset represents the correct peak.An NLOS signal with equal power, a code offset relating to 40 m, and a carrier frequency offset of 5 Hz represents a multipath interference.It is a challenging scenario as both components have the same power (e.g., such as for a reflection from a large metal surface).As a result, the Delay-Locked Loop (DLL) in tracking is expected to have a mean pseudorange bias of 20 m.It will significantly affect the PVT solution.Figure 2b shows the same scenario but extends the correlation to 0.5 s.Notice that the two peaks are separated, making the removal of the NLOS signals simple.It allows the pseudorange bias to be corrected by only accumulating correlation output values of several epochs.Therefore, this approach can be applied in post-processing to the correlator In-phase and Quadrature-phase (IQ) values of an existing receiver.

SDR Design and Performance
GNSS SDR receivers [16,17], also known as software receivers, are becoming more common due to the improvements in computing technology [18].A typical approach is to use interpreted languages, such as Matlab ® [19] or Python [20], as they facilitate rapid development and simple debugging but severely limit performance.Therefore, compiled languages, such as C++, which are significantly more processing-efficient but more challenging to design, are required for real-time performance.The SDR receiver in this project is developed with C++ and utilizes concurrency implemented through multi-threading for improved real-time processing capabilities.
Several open-source GNSS SDR projects are based on C++, such as GNSS-SDR (https: //gnss-sdr.org/(accessed on 8 May 2023)) and GNSS-SDRLIB (https://github.com/taroz/GNSS-SDRLIB (accessed on 8 May 2023)).However, these often have copyright limitations when it comes to commercial applications and code reuse.Therefore, it emphasizes the need for an in-house-developed but highly performant SDR for FPP.It allows development with fewer restrictions.Furthermore, developing an in-house SDR allows for the complete control and development of the entire GNSS processing chain.Therefore, future extensions of the Supercorrelation™ technology are possible.
The developed GNSS SDR interfaces to the NTLAB ® NT1065-USB RFFE, de-interleaves the data stream, performs base-band signal conditioning, acquires L1 and E1 signals, and tracks L1-band and L5-band signals from GPS and Galileo.Currently, the S-GNSS processing and PVT calculation are conducted off-line with pre-existing software from FPP.However, these later stages will be integrated in the forthcoming months.
An Intel NUC computer with a 13th Gen Intel ® Core™ i9-13900K processor is used for primary testing and development.It will also be the target device for later studies.The Central Processing Unit (CPU) has 24 cores supporting 32 threads and can be clocked up to 5.8 GHz.In the current version, it is capable of tracking at least 40 signals in realtime in live operation with three correlation taps each (i.e., complex early, prompt, and late).It simultaneously tracks ten signals each for GPS L1 C/A, GPS L5I, Galileo E1B, and Galileo E5aI.However, the development is still in the early optimization stages, and better performance and capabilities are expected in future development.Currently, S-GNSS is run in post-processing on the correlator IQ values from tracking, but the excess processing resources will facilitate the future integration of the S-GNSS for real-time processing.It is currently under development.
In the second performance test, the SDR is run on an Apple MacBook Pro with an M1 Pro processor and 32 GB Random Access Memory (RAM).In this test, a 100 s data recording is processed in 87 s using 24 tracking channels, each with 11 complex correlator taps.More taps accommodate superior signal reconstruction for S-GNSS.Both these cases showcase real-time processing with a significant number of signals and correlator taps.

Test Setup
Previous investigations with S-GNSS used real-world data [10,[12][13][14].Although these are great approaches to demonstrating the practical benefits of the technology, it does not allow for systematic performance analysis.Therefore, this paper uses a systematic approach using an RFCS. Figure 3 shows the test setup with a Spirent ® GSS7000 (https: //www.spirent.com/products/gnss-simulator-gss7000(accessed on 13 May 2023)) RFCS to create the synthetic GNSS signals and the NTLAB ® NT1065-USB (http://ntlab.com/section/sec:v:44979.htm (accessed on 13 May 2023)) RFFE to receive them.A PC running Spirent ® Sim3D™ (https://www.spirent.com/products/multipathand-obscuration-simulation-sim3d(accessed on 13 May 2023)) Multipath Simulation Software, developed by Oktal-SE (https://www.oktal-se.fr/(accessed on 13 May 2023)), generates a realistic multipath scenario.The Sim3D™ and GSS7000 combination allows for controllable and repeatable tests, which is ideal for systematic analysis and benchmarking.Furthermore, the same scenario can be run with and without multipath interference, allow-ing for a direct comparison with the same satellite constellation and trajectory to analyze the impact of multipath interference.

NT1065-USB IC Eval Kit
Figure 4 shows the generated scenario at the Trumpington Park and Ride near Cambridge, UK.This scenario is close to FPP's headquarters, allowing a future real-world recording to verify the scenario.The scenario starts in the car park and moves at a rate of 5 m/s toward a high building (a commercial delivery hub).The received NLOS intensity from the building is expected to increase as the receiver approaches the building.Once the receiver is near the building, it moves along briefly and then loops back to the starting point.This loop is repeated several times to allow for repeated comparisons of the multipath scenarios.Each loop takes just under a minute.In the test setup, a scenario is recorded with NLOS signal components with the RFFE.GPS L1 CA and L5 signals and Galileo E1B/C and E5a signals are generated with the Spirent RFCS.The signals are processed with the GNSS SDR and evaluated in the next section.

Scenario Tracking
A case study of two satellites demonstrates general tracking performance in this subsection and the improvement achievable with S-GNSS in the next one.The vehicular scenario described in Section 6 and in Figure 4a is used for this case study.
First, Figure 5 shows the tracking results of PRN07, which has a high elevation with high carrier-to-noise density ratio (C/N 0 ), resulting in generally good tracking performance.However, there are some disruptions (e.g., between 10 s and 20 s) caused by multipath interference when the receiver moves past the building to the west of the trajectory.
Figure 6 shows the tracking results of PRN30, which has a lower elevation and is opposite the large building, resulting in significant reflections from the building.Significant oscillations and noise are visible in tracking the observed multipath interference.It demonstrates how multipath interference degrades the receiver tracking performance.In particular, it shows that the multipath interference results in position-dependent distortions that exceed the effects of thermal noise in tracking.For example, compare the variance in the graphs between 25 s and 35 s (i.e., close to the building) with considerable multipath interference to the times between 45 s and 60 s (i.e., far from the building) with mostly ther-mal noise.As a result, the errors significantly influence later pseudorange determination, which will degrade the position solution.The purpose of Supercorrelation™ is to identify these multipath interference components and to suppress them.

S-GNSS Performance
S-GNSS processing is now applied to the scenario.Figure 7 shows the pseudorange errors over time along with the geometry of the satellites (highlighted in blue) and selected CAFs (blue is without S-GNSS correction, red is with) for PRN07.As this satellite is less frequently impacted by multipath interference, the CAF is not always improved by the S-GNSS processing (e.g., CAF at 87 s).However, there are still many cases-even with this high elevation satellite-where S-GNSS enhances the performance.It is emphasized in Figure 8 where the error Cumulative Distribution Function (CDF) for the pseudorange and frequency measurements are displayed.The errors after S-GNSS processing are significantly reduced; for example, the 90% pseudorange error is reduced from 5 m to 2.4 m after applying S-GNSS.Figure 9 shows the processing results for PRN30, where the multipath interference is more present.In the CAFs, there are even multiple peaks visible.In this case, applying S-GNSS significantly improves the pseudorange and frequency measurements, as shown with the CAFs in Figure 10.

Conclusions
This paper showcases the current development of FPP's GNSS SDR software receiver capable of S-GNSS processing.Initial performance results are exhibited with a systematic testing methodology.This paper tests with controlled multipath interference scenarios and could compare with the ground truth, which is extremely challenging to do in realworld scenarios.Furthermore, Supercorrelation™ processing demonstrates improved position availability due to the multipath interference rejection.Future work includes a benchmarking comparison between Supercorrelation™ in multipath interference scenarios and nominal receiver performance in multipath-free scenarios.
The results show that the GNSS SDR software receiver is capable of multi-frequency multi-GNSS processing in real time.The S-GNSS performance showed that NLOS rejection is possible and improves PVT performance.
Future work includes further testing and evaluating the platform, as only the initial results are shown.Integration with the inertial measurements and deeper coupling with the S-GNSS tracking engine is also the next step on the project roadmap.Finally, some real-world evaluations are also planned.

Figure 2 .
Figure 2. Theoretical CAF with the LOS and NLOS peaks highlighted with the red points.(a) Normal correlation: 20 ms integration.(b) S-GNSS extended correlation: 500 ms.

Figure 3 .
Figure 3. Hardware test setup for final tests.