# Analysis of 'Pre-Fit' Datasets of gLAB by Robust Statistical Techniques
## 1 Introduction  
The Global Navigation Satellite System (GNSS) provides positioning, velocity and timing (PVT) services to users equipped with appropriate hardware (i.e., an antenna and a receiver) [1]. There are four GNSS constellations that allow users to compute their PVT on a global basis (i.e., worldwide), two of which have already declared their full operational capability (FOC). Namely, the Global Positioning System (GPS, US Air Force), completed in 1994; the Global Navigation Satellite System (GLONASS, Russian Federal Space Agency) completed in 1995 (and restored in 2011). Two additional constellations are being completed and thus have not reached FOC: the BeiDou Navigation Satellite System (BDS, China National Store Administration) and Galileo (European Union). The Multi-GNSS Experiment (MGEX) [2] of the International GNSS Service (IGS) [3] monitors the rapid development of GNSS constellations. The processing of GNSS data is an essential part of PVT determination [4]. Once the receiver has acquired and demodulated the radio frequency GNSS signals from the antenna, it generates the code and carrier-phase measurements (the so-called observables). Then, these observables undergo a series of processing steps so that they can be used to estimate the PVT of the GNSS receiver by means of least squares (LS) or the Kalman filter [5], among other methods. Several software packages exist that are capable of processing GNSS data automatically. The GNSS LABoratory tool (gLAB) is an advanced educational multi-purpose software used for processing and analyzing GNSS data [6]. The research group of Astronomyand Geomatics (gAGE) started developing gLAB in 2009, in the context of the European Space Agency (ESA) educational program on satellite navigation (EDUNAV). After one decade of evolution, gLAB capabilities include the most common GNSS navigation modes: stand-alone positioning, differential-mode, and augmented positioning with integrity. gLAB is open source and allows to fully control its internal processing through its many configuration options. This is a great advantage with respect to proprietary GNSS data processing programs produced by receiver manufacturers, which do not allow any modification and hence, from the user/scientific point of view, are black boxes. The processing core of gLAB is structured in five highly configurable modules. These modules mimic the aforementioned processing steps, being quite standard in commercial software receiver packages. For completeness, those modules are briefly summarized as follows:  
* The INPUT module: interfaces with the standard input files and the rest of the program. It implements all the reading capabilities and stores the data in the memory structures of gLAB, that contain, as minimum, the raw measurements and the pseudo-Keplerian elements that allow computing the GNSS satellite position and its clock offset. * The PREPROCESSING module: checks and selects the read data to be further processed. It detects cycle-slips (i.e., discontinuities) in the carrier-phase measurements, decimates the input data to a lower processing rate (if required) and selects which satellites and which constellations are used in the following modules, among other functions. * The MODELLING module: provides an accurate model of the measurements from the receiver to each tracked satellite.