An Open Source Implementation of KF-based Carrier Synchronization for SDR GNSS Receivers
Javier Arribas, Jordi Vilà-Valls, Carles Fernández Prades (CTTC), Spain; Luis Esteve Elfau, Epsilon Formacion SL
Global Navigation Satellite Systems (GNSS) is accepted as the technology of choice for most outdoor position-related applications. Synchronization is a key step of the receiver, where after the acquisition stage, the system must track the time-varying code delay and carrier phase. The latter is of particular interest in modern carrier phase-based positioning techniques such as real-time-kinematic (RTK) and precise point-positioning (PPP), used in high-precision GNSS receivers. Carrier synchronization is more sensitive than timedelay tracking, then being the most challenging receiver stage. Standard mass-market GNSS receivers’ carrier tracking architectures rely on well-known phase-locked loops (PLL), inherited from the analog era. The performance obtained with such techniques is good enough in benign propagation scenarios, but typically deliver poor performances under harsh propagation conditions. In the literature, it has been shown that Kalman filter (KF) based carrier tracking solutions may overcome the performance limitations of standard approaches . The main advantages of KFs over PLLs are: i) optimal filtering formulation, ii) implicit adaptive filter bandwidth , and iii) a nonlinear KF allows to avoid the problems associated to the use of phase discriminators . The main disadvantage is that the performance of these techniques have only been shown in simulated scenarios. Even with the advent of software defined radio (SDR) receivers in real-life applications , digital versions of traditional tracking techniques are still commonly found in software implementations. This work shows how the flexible and open architecture of GNSS-SDR enables the implementation of complex KF architectures in tracking loops, including those that use dynamic covariance estimations for the measurements. It opens the door of further integration of more sensors to improve the tracking performance, such as the ultra-tight integration of Inertial Measurement Units (IMUs). In addition, the C++ implementation enables the use of highly-optimized matrix algebra libraries and high-performance Single Instruction Multiple Data (SIMD) operations that enable real-time operation of the receiver in multiple architectures, such as consumer-grade laptops and embedded computers. In this article, we present a fair performance comparison of KF-based architectures vs. PLLs and its impact in high-level receiver metrics, such as in the variance of carrier phase and code observables, and in positioning precision when carrier smoothing techniques are applied. The implementation of the full software receiver, including the implementations used in this paper, will be freely available online at http://gnss-sdr.org
 J. Vilà-Valls, P. Closas, M. Navarro, and C. Fernández-Prades, “Are PLLs dead? A tutorial on Kalman filterbased techniques for digital carrier synchronization,” in IEEE Aerospace & Electronic Systems Magazine, 2017.
 J. Vilà-Valls, P. Closas, and C. Fernández-Prades, “On the identifiability of noise statistics and adaptive KF design for robust GNSS carrier tracking,” in Proc. of the IEEE Aerospace Conference, March 2015.
 “Advanced KF-based methods for GNSS carrier tracking and ionospheric scintillation mitigation,” in Proc. of the IEEE Aerospace Conference, March 2015.
 C. Fernández-Prades, J. Arribas, P. Closas, C. Avilés, and L. Esteve, “GNSS-SDR: An open source tool for researchers and developers,” in Proc. of the ION GNSS 2011 Conference, Portland, Oregon, Sept. 2011.