sensors Article Standalone GPS L1 C/A Receiver for Lunar Missions Vincenzo Capuano *, Paul Blunt, Cyril Botteron, Jia Tian, Jérôme Leclère, Yanguang Wang, Francesco Basile and Pierre-André Farine École Polytechnique Fédérale de Lausanne (EPFL), Electronics and Signal Processing Laboratory (ESPLAB), Rue de la Maladière 71b, CH-2002 Neuchâtel 2, Switzerland; paul.blunt@epfl.ch (P.B.); cyril.botteron@epfl.ch (C.B.); jia_epfl_tian@163.com (J.T.); jerome.leclere@lassena.etsmtl.ca (J.L.); wggaily@163.com (Y.W.); basile.fran1989@gmail.com (F.B.); pierre-andre.farine@epfl.ch (P.-A.F.) * Correspondence: vincenzo.capuano@epfl.ch; Tel.: +41-21-6954-537 Academic Editor: Vittorio M. N. Passaro Received: 13 January 2016; Accepted: 26 February 2016; Published: 9 March 2016 Abstract: Global Navigation Satellite Systems (GNSSs) were originally introduced to provide positioning and timing services for terrestrial Earth users. However, space users increasingly rely on GNSS for spacecraft navigation and other science applications at several different altitudes from the Earth surface, in Low Earth Orbit (LEO), Medium Earth Orbit (MEO), Geostationary Earth Orbit (GEO), and feasibility studies have proved that GNSS signals can even be tracked at Moon altitude. Despite this, space remains a challenging operational environment, particularly on the way from the Earth to the Moon, characterized by weaker signals with wider gain variability, larger dynamic ranges resulting in higher Doppler and Doppler rates and critically low satellite signal availability. Following our previous studies, this paper describes the proof of concept “WeakHEO” receiver; a GPS L1 C/A receiver we developed in our laboratory specifically for lunar missions. The paper also assesses the performance of the receiver in two representative portions of an Earth Moon Transfer Orbit (MTO). The receiver was connected to our GNSS Spirent simulator in order to collect real-time hardware-in-the-loop observations, and then processed by the navigation module. This demonstrates the feasibility, using current technology, of effectively exploiting GNSS signals for navigation in a MTO. Keywords: GNSS; GPS; orbital filter; space navigation; Kalman filter; lunar mission; signal processing 1. Introduction GNSS receivers have been successfully adopted as key elements of the navigation systems for many space borne missions. Typically, they are used in LEO where the availability of the GNSS signals is very good and high accuracy positioning can be achieved. Using a GNSS receiver as the core navigation system enables greater autonomy of a spacecraft and reduces the burden and costs of network operations [1]. For this reason, the autonomous navigation capabilities of GNSS are extremely appealing, not only for LEO but for higher altitude Earth orbits as well. It is even possible for spacecraft orbiting at altitudes beyond the GNSS constellations to receive weak signals from the opposite side of the Earth. These receivers are picking up the spillover of the main lobe of the GNSS transmit antenna pattern around the Earth mask and also signals from the weaker side lobes of the antenna pattern. Research presented in [2–8] shows feasibility studies of GNSS as navigation system for space missions in High Earth Orbits (HEO) and beyond up to Moon altitude. Other research work, such as [9–12] and [13] has proposed GNSS receivers designed for such missions and the demonstration of a receiver positioning in HEO is detailed in [14]. In [15–17] experimental demonstrations are described that show the GNSS signals availability even at higher orbits than GEO. Research continues to investigate the potential of using GNSS for lunar missions, in particular for Earth-Moon transfer orbits. Sensors 2016, 16, 347; doi:10.3390/s16030347 www.mdpi.com/journal/sensors Sensors 2016, 16, 347 2 of 21 In this paper, we describe the GPS L1 C/A hardware receiver, named “WeakHEO” receiver, which we have designed and developed as a proof of concept for lunar missions at the ESPLAB EPFL. Firstly, the hardware architecture of the receiver is presented followed by a description of the defined mission and expected GNSS signal environment in which the receiver has to operate. The high-sensitivity acquisition and tracking algorithms of the receiver are then described before concluding with navigation test results from the receiver. 2. The WeakHEO Receiver Architecture The architecture of the WeakHEO receiver is shown in Figure 1. The system comprises of three main elements as follows. ‚ ‚ ‚ A tri-band (L1, L2, L5) RF front end, which amplifies, filters and down converts the GNSS signals to an intermediate frequency (IF) where they are sampled. The reported initial implementation is focused on processing and utilisation of the GPS L1 C/A code signal. However, a triple frequency L1, L2, L5 front end (an early version of the front end in [18]) was selected to allow future expansion to these frequencies. A high sampling rate is used to enable the receiver to support precision tracking architectures and additional wider bandwidth signals in the future. A common IF frequency of 53.78 MHz is used for all three bands and signals are sampled at 40.96 MHz with 4-bit resolution. The RF front is driven by a stable, low-phase noise Oven Controlled Crystal Oscillator (OXCO). A DE3 FPGA platform. An FPGA platform was required to allow custom designs of the acquisition and tracking engines within the receiver. The WeakHEO receiver uses the same development platform and builds on the FPGA-based architecture of the “Signature” receiver developed by ESPLAB in EPFL [19]. Its core component is a Stratix III FPGA (Field Programmable Gate Array) receiving the parallel sampled data from the RF front end. The FPGA contains a softcore NIOS II (32bit RISC) processor and performs all the high sensitivity acquisition, tracking and navigational data decoding processes. Raw measurements (pseudoranges, pseudorange rates, signal parameters, time, etc.) are passed to the PC through a UART interface at a rate of 0.1 Hz. Note that this rate has been chosen in order to allow the real-time processing of the navigation solution on the PC (currently programmed in Matlab). In the next version of the receiver, a faster update rate will be selected. An external memory (DDR2 SDRAM) connected to the FPGA is also used as buffer for the acquisition. A PC, The PC then performs the navigation solution in real time or can record and compute the orbital filter calculations offline. Sensors 2016, 16, 347 3 of 21 Sensors 2016, 16, 347 3 of 21 DDR2 SDRAM OCXO RF Frontend Decimation & down conversion I Q Buffer & I DDR2 control Q Acquisition Nios II softcore processor Acquisition control GPS tracking channel 1 I Q Cos Sin Carrier NCO correlator E P I E P L PC Raw measurement data Navigation Algorithm Serial port L Code NCO GPS tracking channel 2 Tracking control GPS tracking channel N Navigation data Decode Decode Assistance data Stratix III FPGA Figure Figure 1. 1. Architectural Architectural components components of of the the WeakHEO WeakHEO receiver. receiver. 2.1. 2.1. Operations Operations of of the the Receiver Receiver The operations of the the receiver receiver are are performed performed in in several several steps steps as as follows: follows: The operations of (1) The navigation software on the PC determines which GPS satellites are visible and estimates the (1) The navigation software on the PC determines which GPS satellites are visible and estimates the Doppler for each satellite. This information is then sent to the FPGA through the UART interface. Doppler for each satellite. This information is then sent to the FPGA through the UART interface. This allows a reduction of the frequency search space for the acquisition thus a reduction of the This allows a reduction of the frequency search space for the acquisition thus a reduction of the acquisition time. acquisition time. (2) The acquisition searches the satellites in view within a frequency search space around the coarse (2) The acquisition searches the satellites in view within a frequency search space around the coarse Doppler given. Once a satellite is acquired, there is a transition phase before the tracking to Doppler given. Once a satellite is acquired, there is a transition phase before the tracking to determine the position of the bit edge. Following this, tracking is started and the Time Of Week determine the position of the bit edge. Following this, tracking is started and the Time Of Week (TOW) is decoded from the received navigation data. (TOW) is decoded from the received navigation data. (3) The measurements (pseudoranges, pseudorange rates, satellite PRN, estimated C/No and TOW) (3) are Thesent measurements (pseudoranges, pseudorange satellite PRN,solution estimated C/No and TOW) to the computer by the FPGA at a rate ofrates, 0.1 Hz and a PVT is computed. are sent to the computer by the FPGA at a rate of 0.1 Hz and a PVT solution is computed. 2.2. Description of the Mission Scenario 2.2. Description of the Mission Scenario The reference trajectory for our study is a direct Earth-Moon Transfer Orbit (MTO). The initial The reference trajectory for our study is a direct Earth-Moon Transfer Orbit (MTO). The initial position and velocity with the respect to the Earth Centered Inertial frame (ECI) are reported in Table position and velocity with the respect to the Earth Centered Inertial frame (ECI) are reported in Table 1, 1, as well as some characteristics assumed for the host spacecraft. The full trajectory is propagated as well as some characteristics assumed for the host spacecraft. The full trajectory is propagated from from the initial conditions by the PosApp software of our Spirent GSS8000 simulator, taking into the initial conditions by the PosApp software of our Spirent GSS8000 simulator, taking into account account gravitational effects from the Earth, Sun and Moon, atmospheric drag and the solar radiation gravitational effects from the Earth, Sun and Moon, atmospheric drag and the solar radiation pressure. pressure. The reference trajectory is represented by the blue portion of the MTO shown in Figure 2. The reference trajectory is represented by the blue portion of the MTO shown in Figure 2. The reference The reference orbit has been validated using the System Tool Kit (STK) [20]. Figure 3 shows the orbit has been validated using the System Tool Kit (STK) [20]. Figure 3 shows the relation between relation between altitude and time during the considered MTO and also the GPS satellites altitude. altitude and time during the considered MTO and also the GPS satellites altitude. Sensors 2016, 16, 347 4 of 21 Sensors 2016, 16, 347 4 of 21 Table Initial Sensors1.2016, 16,, xposition and velocity of the considered receiver trajectory and spacecraft parameters. 4 of 21 Table 1. Initial position and velocity of the considered receiver trajectory and spacecraft parameters. Table 1. Initial position and velocity of the considered receiver trajectory and spacecraft parameters. Parameters Values Parameters Parameters ECI Initial position (km) ECI Initial position (km) ECI Initial (km) ECIposition Initial velocity (km/s) ECI Initial velocity (km/s) Departure ECI Initial velocity (km/s) date Departure date Mass ofdate the spacecraft (kg) Departure Mass of the spacecraft (kg) (m2 ) Mass of theReference spacecraftsurface (kg) 2) Reference surface (m Radiation pressure Reference surface (m2) coefficient Radiation pressure coefficient Radiation pressure coefficient ` ˘ Values Values 2395.52 ´5298.28 ´3022.82 2395.52 ` −5298.28 −3022.82˘ (2395.52 −5298.28 10.19 3.58 1.72 ) −3022.82 10.19 3.58 1.72 (10.192 July ) 3.582005, 1.7200:34:18 2 July 2005, 00:34:18 1000 2 July 2005, 00:34:18 1000 1000 20 20 1 20 1 1 Figure 2. STK representation of the considered MTO. altitude (km) Figure 2.2.STK considered Figure STKrepresentation representation ofof thethe considered MTO.MTO. Figure 3. Relation between altitude and time during the considered MTO and GPS constellation altitude. Figure 3. Relation between altitude and time during the considered MTO and GPS constellation 2.3. GNSS Characteristics Figure 3. Signal Relation between altitude and time during the considered MTO and GPS altitude. constellation altitude. 2.3.1. Simulation Models and Assumptions 2.3. GNSS Signal Characteristics In our simulations we have modelled a GPS constellation consisting of 32 GPS satellites, 2.3. GNSS Signal Characteristics allocated in the six orbital planes according to [21]. Realistic GPS L1 C/A signals are generated by our 2.3.1. Simulation Models and Assumptions Spirent GSS8000 full constellation simulator, where the signal power level at the receiver is 2.3.1. Simulation andweAssumptions In ourasModels simulations have modelled a GPS constellation consisting of 32 GPS satellites, modelled [22]: allocated in the six orbital planes according to [21]. Realistic GPS L1 C/A signals are generated by our In our simulations we have modelled a GPS constellation consisting of 32 GPS satellites, allocated in the six orbital planes according to [21]. Realistic GPS L1 C/A signals are generated by our Spirent GSS8000 full constellation simulator, where the signal power level at the receiver Pr is modelled as [22]: ˆ Pr “ PICD ` OG ` 20 ˆ log10 R0 R ˙ ´ Ltx ´ Lrx (1) Sensors 2016, 16, 347 5 of 21 where: PICD “ ´128.5 dBm OG “ `3 dB R0 R Ltx Lrx is the guaranteed minimum signal level for the GPS L1 C/A signals on the Earth according to [21]. is the global offset, chosen to obtain in simulation the performance obtained when real signals are received. Typically, the transmitted signal power levels are from 1 to 5 dB higher than the minimum received ones [23], for this reason an intermediate value of 3 dB has been chosen. is the reference range used for inverse-square variation calculation and equal to the range from a receiver to the GNSS satellite at zero elevation. is the range from GNSS satellite to the receiver. is the loss from the GNSS satellite transmit antenna in the direction of the receiver. 3D GPS antenna patterns have been modelled, as described in our previous study [24,25]. is the loss from the receiver antenna in the direction of the GNSS satellite. 2.3.2. Signal Power and Dynamics In this section we report some significant simulation results from our previous studies [13,24], and [26] used to define the main receiver characteristics. Figure 4 shows the received power levels of all the GPS L1 C/A signals as a function of the time, during the full considered trajectory. As shown in Figure 5, the fourth strongest GPS L1 C/A signal (at least four ranges are required to compute the 3D position) at receiver antenna reaches approximately a minimum power level of ´168.5 dBm. For this reason, a very high sensitivity receiver architecture is required. Moreover, the carrier frequency is affected by Doppler shifts and Doppler rates (see Figures 6 and 7 respectively) of up to 20 kHz and up to 4 Hz/s respectively at the Moon altitude (where the signals are weaker) and of up to 60 kHz and up to 65 Hz/s at the beginning of the MTO (where the signals are stronger), requiring a certain robustness against high dynamics for the receiver. The identified minimum power level of ´168.5 dBm of the fourth strongest signal during the full considered MTO can be seen as a power sensitivity value required for the receiver to acquire and track at least four signals (and then provide the navigation solution) with a certain probability. Then, assuming a receiver antenna gain of 10 dBi, we have targeted a sensitivity of at least ´159 dBm, slightly higher than the minimum required. According to [27], it is possible to calculate the carrier-to-noise density ratio C/N0 (in dB-Hz) from the received power Pr (in dBm) by using the following formula, valid for a front-end noise figure of 2 dB and an effective antenna temperature of 130 K: C{N0 “ Pr ` 174 (2) A received signal level of ´159 dBm then corresponds to a C/N0 of 15 dB-Hz. However, when a GNSS simulator is used, the effective antenna temperature is the room temperature, which increases the noise. In that case, the carrier-to-noise ratio can be obtained as C{N0 “ Pr ` 172 (3) A received signal level of ´157 dBm then corresponds to a C/N0 of 15 dB-Hz for testing with the GNSS simulator. Sensors 2016, 16, 347 Sensors Sensors 2016, 16,, x Sensors2016, 2016,16,, 16, x 347 6 of 21 666of of21 21 of 21 Figure 4. 4. Received Received power power levels levels of of the the GPS GPS L1 L1 C/A C/A signals signals as aaa function function of of the the time, time, during during the the full full Figure Figure 4. Received power levels of the GPS L1 C/A signals as function of the time, during the full Figure 4. Received the GPS L1 C/A signalsas considered trajectory, by assuming a 0 dBi receiver antenna gain. considered dBi receiver antenna gain. trajectory,by byassuming assumingaaa000dBi dBireceiver receiverantenna antennagain. gain. considered trajectory, trajectory, by assuming Figure 5. First, second, third and fourth highest received power levels of the GPS L1 C/A signals as a function thesecond, time, during considered by assuming 0the dBi receiver antenna Figure 5. First, second, third and fourth highest received power levels GPS L1 signals as Figure 5. First, third and fourth highest received levels of the GPS L1 C/A signals as Figure 5.of First, second, thirdthe andfull fourth highesttrajectory, receivedpower power levelsof ofathe GPS L1C/A C/A signalsgain. asaaa function of the time, during the full considered trajectory, by assuming dBi receiver antenna gain. function functionof ofthe thetime, time,during duringthe thefull fullconsidered consideredtrajectory, trajectory,by byassuming assumingaaa000dBi dBireceiver receiverantenna antennagain. gain. Figure 6. Doppler shift of received GPS L1 C/A signals across the MTO. Figure Figure6. 6.Doppler Dopplershift shiftof ofreceived receivedGPS GPSL1 L1C/A C/Asignals signals across the MTO. Figure 6. Doppler shift of received GPS L1 C/A signalsacross acrossthe theMTO. MTO. Sensors Sensors 2016, 2016,16, 16,,347 x 77ofof21 21 Figure signals across across the Figure7.7. Doppler Doppler rates rates of of received receivedGPS GPSL1 L1C/A C/A signals the MTO. MTO. 2.4. 2.4. Geometric Geometric Dilution Dilution of of Precision Precision (GDOP) (GDOP) and and Ranging Ranging Errors Errors As As described described in in [24] [24] in in detail, detail, the the achievable achievable navigation navigation accuracy accuracy at Moon Moon altitude altitude is strongly strongly limited limited by by aa very very poor poor relative relative geometry geometry between between the the receiver receiver and and the the transmitters transmitters (very (very large large GDOP GDOP values) errors. ForFor instance, at Moon altitude, simulations in [26]inshow values values)and andlarge largeranging ranging errors. instance, at Moon altitude, simulations [26] GDOP show GDOP much higher than 1000 for an acquisition sensitivity of 15 dB-Hz. Due to the very low carrier to noise values much higher than 1000 for an acquisition sensitivity of 15 dB-Hz. Due to the very low carrier ratio C{Nratio processing GPS L1 C/A signals, thesignals, code tracking thermal range jitter σ to noise 𝐶/𝑁when when processing GPS L1 C/A the code tracking thermal range 0 values, tDLL 0 values, can values larger than larger 6 m [24]. A6detailed characterization of GDOP and ranging for jitterachieve σ𝑡𝐷𝐿𝐿 can achieve values than m [24]. A detailed characterization of GDOP anderror ranging different sensitivity values and different GNSS signals is provided in [24]. error for different sensitivity values and different GNSS signals is provided in [24]. 2.5. 2.5. GPS GPS Acquisition Acquisition 2.5.1. Acquisition Strategy 2.5.1. Acquisition Strategy The three main acquisition methods for GNSS signals are the serial search (SS), the parallel The three main acquisition methods for GNSS signals are the serial search (SS), the parallel frequency search (PFS), and the parallel code-phase search (PCS) [28]. Compared to the PCS and frequency search (PFS), and the parallel code-phase search (PCS) [28]. Compared to the PCS and the the PFS methods, the acquisition time of the SS method is extremely long, therefore, the SS was PFS methods, the acquisition time of the SS method is extremely long, therefore, the SS was not not considered. Compared to PCS, PFS has two main drawbacks. Firstly, an extra loss due to the considered. Compared to PCS, PFS has two main drawbacks. Firstly, an extra loss due to the integration before the fast Fourier transform (FFT) and secondly a loss due to the mismatch between integration before the fast Fourier transform (FFT) and secondly a loss due to the mismatch between the replica code chipping rate and the received code chipping rate, especially important for long the replica code chipping rate and the received code chipping rate, especially important for long integration times [28]. Since the sensitivity is of prime importance in high altitude space applications, integration times [28]. Since the sensitivity is of prime importance in high altitude space applications, these additional losses are not acceptable, and therefore the PCS technique was selected. these additional losses are not acceptable, and therefore the PCS technique was selected. The acquisition structure of receiver is illustrated in Figure 8. In acquisition, the receiver uses The acquisition structure of receiver is illustrated in Figure 8. In acquisition, the receiver uses coherent accumulations, which are the length of a full navigation data-bit (20 ms for GPS C/A code). coherent accumulations, which are the length of a full navigation data-bit (20 ms for GPS C/A code). The results are then non-coherently accumulated to gain further sensitivity. To reduce the effect of The results are then non-coherently accumulated to gain further sensitivity. To reduce the effect of the data-bit transitions a number of different accumulations are formed with different starting points. the data-bit transitions a number of different accumulations are formed with different starting points. Ideally, for GPS C/A code we would have 20 accumulations spaced 1 ms apart. However, to limit the Ideally, for GPS C/A code we would have 20 accumulations spaced 1 ms apart. However, to limit the impact on the FPGA resources we form 10 accumulations spaced 2 ms to achieve a balance between impact on the FPGA resources we form 10 accumulations spaced 2 ms to achieve a balance between performance and the available resources. performance and the available resources. Following the results of Section 2.3.2, the sensitivity targeted is 15 dB-Hz, slightly higher than Following the results of Section 2.3.2, the sensitivity targeted is 15 dB-Hz, slightly higher than the minimum required to acquire at least four signals. Using the methodology proposed in [27], the the minimum required to acquire at least four signals. Using the methodology proposed in [27], the theoretical analysis of the acquisition parameters is presented in Table 2. This is used to estimate theoretical analysis of the acquisition parameters is presented in Table 2. This is used to estimate the the total required integration time required for a successful acquisition. In acquisition, the receiver’s total required integration time required for a successful acquisition. In acquisition, the receiver’s sampling rate of 40.96 MHz is decimated to 4.096 MHz as a compromise to improve processing sampling rate of 40.96 MHz is decimated to 4.096 MHz as a compromise to improve processing performance. The resolution in the code search is one sample so this results a resolution around ¼ performance. The resolution in the code search is one sample so this results a resolution around ¼ of of a chip. A higher sampling frequency requires more samples to be processed but results in a fine a chip. A higher sampling frequency requires more samples to be processed but results in a fine resolution in the code search domain. A lower frequency means less samples to process but poorer Sensors 2016, 16, 347 8 of 21 Sensors 2016, 16, 347 8 of 21 resolution in the code search domain. A lower frequency means less samples to process but poorer resolution with fromtracking the codefrom misalignment. In tracking the fullAsample rate of 40.96 MHz MHz is used tohigher allow losses precision narrow correlator spacings. frequency step of 25 Hz is used to selected, allow precision tracking from narrow spacings. A frequency step tolerable of 25 Hz has been has been again as compromise for the correlator performance. Finally, the maximum Doppler selected, again as compromise for the performance. maximum Doppler rate error rate error is defined as the Doppler rate, which Finally, implies the a shift of onetolerable frequency bin during the is defined as the Doppler rate, which implies a shift of one frequency bin during the integration time. integration time. Read data from SDRAM Coherent accumulator Carrier mixer Complex multiplier FFT Incoherent accumulator Peak extraction FFT Carrier generator Code generator Magnitude calculator FFT Determina tion module Control module output conj Coherent accumulator Magnitude calculator Incoherent accumulator Peak extraction Figure 8. 8. Block Block scheme scheme of of the the acquisition acquisition module. module. Figure Table 2. Theoretical acquisition parameters. Table 2. Theoretical acquisition parameters. Quantity Value C/N0 (dB-Hz) 15 Quantity Value Sampling rate (MHz) 4.096 C/N0 (dB-Hz) 15 4 Quantization (bit) Sampling rate (MHz) 4.096 Quantization loss (dB) 0.05 Quantization (bit) 4 Coherent integration time (ms) Quantization loss (dB) 0.0520 Coherent integration timegain (ms)(dB) 20 46 Coherent Coherent gain (dB) 46 25 Frequency search step (Hz) Frequency search step (Hz) 25 Worst case frequency mismatch loss (dB) 0.91 Worst case frequency mismatch loss (dB) 0.91 Code search step (chip) 0.25 Code search step (chip) 0.25 Worst case code alignment 1.16 Worst case code alignment loss (dB) loss (dB) 1.16 Data bitData alignment loss (dB) 0.92 bit alignment loss (dB) 0.92 SquaringSquaring loss (dB) loss (dB) 5.73 5.73 Final desired SNR (dB) 16 Final desired SNR (dB) 16 Non-coherent gain required (dB) 26.77 Non-coherent required (dB) 26.77 Number of non-coherent gain integration 475 Total accumulation time (s) 9.5475 Number of non-coherent integration Maximum tolerable Doppler rate error (Hz/s) 2.639.5 Total accumulation time (s) Maximum tolerable Doppler rate error (Hz/s) 2.63 2.5.2. Acquisition Hardware Implementation 2.5.2. Acquisition Hardware Implementation The FPGA implementation of the acquisition is shown in Figure 9. The Nios II processor is used to manage configure the different blocks (e.g., theisacquisition configured with parameters Theand FPGA implementation of the acquisition shown in module Figure 9.isThe Nios II processor is used such as Doppler code, number of integrations, etc.), and to analyzeisthe data provided to manage and frequency, configure PRN the different blocks (e.g., the acquisition module configured with by the acquisition module to decide if a signal been detected. The acquisition module parameters such as Doppler frequency, PRNhas code, number of integrations, etc.), and toprocesses analyze the the input data usingby thethe PCS method asmodule shown in provides statistics value, data provided acquisition to Figure decide8 ifand a signal hasacquisition been detected. The(peak acquisition mean value, standard deviation, etc.) tothe thePCS Nios II processor. Since the integration time isacquisition very long module processes the input data using method as shown in Figure 8 and provides (9.5 s), the(peak amount of data to save is significant 39 etc.) M samples). Therefore, a DDR2Since SDRAM statistics value, mean value, standard (around deviation, to the Nios II processor. the external to the FPGA is used save thisamount data. of data to save is significant (around 39 M samples). integration time is very long to (9.5 s), the Therefore, a DDR2 SDRAM external to the FPGA is used to save this data. Sensors 2016, 16, 347 9 of 21 Sensors 2016, 16, 347 9 of 21 NIOS II Processor Acquisition Reset Manager Input Data Data Buffer Manager DDR2 SDRAM Controller Acquisition Module DDR2 SDRAM Figure 9. Global structure of the acquisition implementation. Figure 9. Global structure of the acquisition implementation. In high sensitivity acquisition, the acquisition time can be very long and the transition between In high sensitivity the acquisition timeThus, can bewe very long and transition between the the acquisition and theacquisition, tracking becomes difficult. propose to the acquire the signal twice, acquisition and the tracking becomes difficult. Thus, we propose to acquire the signal twice, reducing reducing the frequency search space after the first step. the frequency search space after the first step. The time spent to search one frequency bin is defined as: The time spent to search one frequency bin is defined as: fSTI 4.096 106 9.5 TFB f TI 4.096 ˆ 106 ˆ6 9.5 237.5 ms “ 163.84 10 6 “ 237.5 ms TFB “ fSFPGA (4) (4) f FPGA 163.84 ˆ 10 where fS is the sampling rate, TI is the total integration time, and fFPGA is the clock frequency of the where fS is the sampling rate, T I is the total integration time, and fFPGA is the clock frequency of the FPGA. For the first acquisition, the frequency search space considered is ±35 kHz. With a frequency FPGA. For the first acquisition, the frequency search space considered is ˘35 kHz. With a frequency step of 25 Hz, there are NFB,1 = 2801 frequency bins, thus the time to search the entire frequency search step of 25 Hz, there are NFB,1 = 2801 frequency bins, thus the time to search the entire frequency search space is: space is: 3 ´3 “ 674.5 s TA,1 “ 2801ˆ 237.5 (5) T TI`T NFB,1 N TTFB “99.5 .5`2801 237 .51010 674.5s (5) A,1 I FB,1 FB According to Figure 7, the Doppler rate is less than 4 Hz/s after the initial few hours of the MTO. According to Figure 7, the Doppler rate is less than 4 Hz/s after the initial few hours of the MTO. Therefore, during the first acquisition the frequency of the received signal may have shifted by up to Therefore, during the first acquisition the frequency of the received signal may have shifted by up to 2700 Hz (4 Hz/s ˆ 675 s). For the second acquisition, the frequency search space is then ˘2700 Hz, 2700 Hz (4 Hz/s × 675 s). For the second acquisition, the frequency search space is then ±2700 Hz, which corresponds to NFB,2 = 217 frequency bins. The time to search the frequency search space of the which corresponds to NFB,2 = 217 frequency bins. The time to search the frequency search space of the second step is: second step is: TA,2 “ TI ` NFB,2 TFB “ 9.5 ` 217 ˆ 237.5 10´3 « 61 s (6) 3 TA,2 TI ofNthe 217237 .510 61 s by up to 244 Hz, which (6) FB,2T FB 9.5signal During this time, the frequency received could have shifted is still too large to start correctly the tracking. However, provided we recorded the time between the During this time, the frequency of the received signal could have shifted by up to 244 Hz, which two consecutive acquisitions, the Doppler rate can been estimated by looking at the evolution of the is still too large to start correctly the tracking. However, provided we recorded the time between the Doppler frequency, or from the evolution of the code delay. From Figure 7, we can assume the Doppler two consecutive acquisitions, the Doppler rate can been estimated by looking at the evolution of the rate is constant during a short time interval and therefore it is possible to initialise the tracking from Doppler frequency, or from the evolution of the code delay. From Figure 7, we can assume the these results. Doppler rate is constant during a short time interval and therefore it is possible to initialise the tracking from these results. Sensors 2016, 16, 347 10 of 21 2.5.3. Acquisition Aiding from Navigation For a standalone receiver, some aiding can still be obtained from the navigation result. The a priori knowledge consists of: - Position (from the last known position stored in memory), Time (from the real-time clock), Reference frequency (since the receiver oscillator offset is determined by the navigation solution) Approximate GNSS satellite positions and velocities (calculated from the almanac data stored in memory). Therefore, the frequency search uncertainty for the acquisition mainly depends on the time uncertainty, receiver velocity and position uncertainties, and almanac uncertainty, which will be discussed below. Time Uncertainty By time, we mean the time of week (TOW) from the navigation data. This can be delivered as the GPS week and seconds of the week. Provided the receiver is tracking at least one satellite above 15 dB-Hz the time can be decoded and considered to be known within 1 s. The rate of change of the Doppler frequency is up to 4 Hz/s according to Figure 7. Therefore, for 1 s of error in time, the corresponding error in the Doppler estimation is up to 4 Hz. Once a navigation fix is achieved, as we are using a stable OCXO our time knowledge will not drift quickly in periods of poor GNSS visibility (around 1 ms/day) and so is likely to be much better. Receiver Velocity Uncertainty According to our post processing simulations, whose assumptions are described in [25], when the GPS solution is not filtered through any orbital forces model, the receiver velocity uncertainty can reach approximately 700 m/s at Moon altitude, that means that the corresponding frequency uncertainty is 700 m/s/0.19 m = 3684 Hz (0.19 m being the wavelength of the L1 C/A signal). Receiver Position Uncertainty According to our simulations, when the GPS solution is not filtered through any orbital forces model, the receiver position uncertainty can reach peaks of 80 km at Moon altitude (neglecting a very few higher peaks). Using the equations given in Section 3.6.5 of [27], the corresponding frequency uncertainty is (3800 m/s ˆ 80 km)/(380 000 km ˆ 0.19 m) = 4.2 Hz, where 3800 m/s is the GPS satellite speed, 380,000 km is the distance between the Earth and the Moon, and 0.19 m is the wavelength of the L1 C/A signal. Almanac Uncertainty The precision of the ephemeris is very high, so the frequency uncertainty induced by the ephemeris can be ignored. According to Section 3.6.6 of [27], if the almanac data are used for frequency assistance, the frequency uncertainty is 60 Hz. Total Search Uncertainty According to the analysis above, the total frequency uncertainty is about ˘3692 Hz. Note that for the position and velocity uncertainty, to be conservative we have considered the worst case that is obtained at Moon altitude; in fact it is the highest altitude of the trajectory and it corresponds to the highest GDOP and accordingly to the highest position and velocity errors. Sensors 2016, 16, 347 11 of 21 Sensors 2016, 16, 347 11 of 21 2.6. GPS Tracking 2.6. GPS Tracking 2.6.1. Bit Synchronisation and Navigation Data Decoding from very Weak Signals 2.6.1. Bit Synchronisation and Navigation Data Decoding from very Weak Signals Following the acquisition stage, the acquisition engine passes its estimates of Doppler, Doppler stage, thetracking acquisition engine estimates rate, Following code offsetthe andacquisition bit position to the channel andpasses is thenitsfree to look of forDoppler, the next Doppler satellite. rate, code offset and bit position to the tracking channel and is then free to look for the satellite. The position of the navigation data bit edge must be located and confirmed. This is next necessary as The position of the navigation data bit edge must be located and confirmed. This is necessary as although the acquisition uses full navigation data bit length accumulations of 20 ms, it only computes although the spaced acquisition fulltonavigation data bit length accumulations of 20 ms, it only computes 10 branches 2 msuses apart reduce complexity. In the tracking channel 20 branches, spaced 10 branches spaced 2 ms apart to reduce complexity. In the tracking channel 20 branches, spaced 1 1 ms apart are then formed and accumulated to confirm the bit edge position. During this process the ms apart are then formed and accumulated to confirm the bit edge position. During this process the tracking channel operates a low bandwidth FLL (0.2 Hz) initialised with the estimation of Doppler, tracking operates a low FLL the (0.2 acquisition Hz) initialised with Following the estimation of Doppler, Doppler channel rate, code offset and bitbandwidth position from engine. confirmation of Doppler rate, code offset and bit position from the acquisition engine. Following confirmation of the the bit edge position, decoding of the navigation data bits is started. The theoretical probability of a bit edge position, of C/A the navigation bits iscarrier started. Thetracking theoretical probability navigation data bitdecoding error of the code signaldata assuming phase is given by [23]:of a navigation data bit error of the C/A code signal assuming carrier phase tracking is given by [23]: ¯ ´a 1 PB “ 1 er f c c{n0 τa (7) (7) ⁄ =2 2 where error function, c{n0⁄is the carrier to noise density ratioratio (scalar) and where er f c isisthe thecomplementary complementary error function, is the carrier to noise density (scalar) τ is the accumulation time (20 ms for C/A code). The probability of a bit error is 0.13 at a C{N a and τ is the accumulation time (20 ms for C/A code). The probability of a bit error is 0.13 at a ⁄0 of 15 dB-Hz and 0.056 at at 1818 dB-Hz. AA C{N⁄0 of 27.5 dB-Hz is required to give a probability of of bitbit error of of 15 dB-Hz and 0.056 dB-Hz. of 27.5 dB-Hz is required to give a probability error ´6 .−6As each subframe is 300 bits long, this probability would result in less than one contaminated 10 of 10 . As each subframe is 300 bits long, this probability would result in less than one contaminated subframe in every 3000. 3000. However, However, as shown in in [29,30], [29,30], the the fact fact that that the the message message is is regularly regularly repeating repeating subframe in every as shown can be be exploited exploited to to effectively effectively increase increase the the accumulation accumulation time time and and reconstruct reconstruct the the message message at at weaker weaker can signal levels. signal levels. The data procedure can be divided into two into steps,two the first stepthe is frame The datadecoding decoding procedure can be divided steps, first synchronization step is frame (finding the preamble), thethe second step is to decode thestep desired from multiple repetitions. synchronization (finding preamble), the second is to data decode the desiredsubframe data from multiple As depicted in Figure 10, each GPS frame contains 5 sub-frames. Every sub-frame has 6 s duration. It subframe repetitions. As depicted in Figure 10, each GPS frame contains 5 sub-frames. Every substarts with 8 bit preamble consists 10 words. Each wordofhas 30 bits. Each The preamble frame has 6as known duration. It starts with and a known 8 bitofpreamble and consists 10 words. word has marks the beginning of each sub-frame and is repeated every 6 s. 30 bits. The preamble marks the beginning of each sub-frame and is repeated every 6 s. TLM(8+14) 22 bits TLM(8+14) 22 bits TLM(8+14) 22 bits TLM(8+14) 22 bits TLM(8+14) 22 bits Par HOW(TOW+ID) Par 6bits 19+3 bits 6bits Par HOW(TOW+ID) Par 6bits 19+3 bits 6bits Par HOW(TOW+ID) Par 6bits 19+3 bits Par HOW(TOW+ID) 6bits 19+3 bits Par HOW(TOW+ID) 6bits 19+3 bits 6bits Par 6bits Par 6bits NAVI data NAVI data NAVI data NAVI data NAVI data Par 6bits Par 6bits Par 6bits Par 6bits Par 6bits NAVI data NAVI data NAVI data NAVI data NAVI data Par 6bits Par 6bits Par 6bits Par 6bits Par 6bits Figure Figure 10. 10. GPS GPS frame frame structure. structure. The following steps are used to find out the position of the preamble from received data (see The following steps are used to find out the position of the preamble from received data (see also Figure 11). also Figure 11). (1) Store 20 frames (i.e., 20 × 30 s, or 100 sub-frames, i.e., 30,000 bits) of original demodulated data (1) in Store 20 frames a vector A. (i.e., 20 ˆ 30 s, or 100 sub-frames, i.e., 30,000 bits) of original demodulated data in a vector A. (2) Search for all the preamble-like sequences. Find all the likely preambles of vector A, and store (2) these Search for all thevalues preamble-like Find all the180° likely preambles of vector A, and store correlation in vectorsequences. B. Due to the possible phase ambiguity induced by phase ˝ phase ambiguity induced by phase these correlation values in vector B. Due to the possible 180 tracking and the chance of cycle slips with weak signals, positive and negative correlations are tracking and searched for. the chance of cycle slips with weak signals, positive and negative correlations are searched for.generated by reshaping the correlation vector B into sub-frame length rows. Each (3) Matrix C is (3) column Matrix C is generated reshaping the correlation into sub-frame length rows. Each then representsby a possible preamble locationvector in the B sub-frame. The size of this matrix is column then possible preamble location in the sub-frame. The of thisto matrix 300 × 100. Therepresents absolutes avalues of matrix C are then accumulated down thesize columns form is a 300 ˆ 100. The absolutes values of matrix C are then accumulated down the columns to form a vector D. vector D. largest correlations of vector D are recorded. The largest value should be the correct (4) The three position of the preamble, however, with weak signals other possible locations may need to be checked. (5) The first position is assumed correct, the vector A reshaped into a matrix of sub-frame length rows and the sub-frame number from each successive sub-frame is checked after column wise Sensors 2016, 16, 347 12 of 21 The three largest correlations of vector D are recorded. The largest value should be the correct position of the preamble, however, with weak signals other possible locations may need to Sensors 2016, 16,, x 12 of 21 be checked. (5) (5) The The first first position position is is assumed assumed correct, correct, the the vector vector A A reshaped reshaped into into aa matrix matrix of ofsub-frame sub-framelength length rows rows and and the the sub-frame sub-frame number number from from each each successive successive sub-frame sub-frame is is checked checked after after column columnwise wise accumulation. If the sub-frame number is incrementing correctly, this position is declared correct accumulation. If the sub-frame number is incrementing correctly, this position is declared correct and used in in subsequent subsequentprocessing. processing.Otherwise, Otherwise,the the other probable positions of the preamble and used other probable positions of the preamble are are checked. checked. (4) A True preamble locations B 30000 Data bits C D Figure 11. GPS preamble location. Figure 11. GPS preamble location. Assuming the signal signalis is tracked consistently throughout, after preamble correlation and Assuming the tracked consistently throughout, after preamble correlation and column column wise accumulation, the right position of preamble andwill thebe sub-frame will wise accumulation, the right position of preamble will be foundwill and be the found sub-frame synchronized. be synchronized. Once the subframe is synchronised it is possible to reconstruct the desired data items from the Once the is synchronised it is possible reconstruct desired items stored data bysubframe accumulation down the column. The to parity of each the word in thedata matrix canfrom thenthe be stored data by accumulation down the column. The parity of each word in the matrix can then be checked individually. If the parity check is passed, the word is decoded and its position marked. The checked If the parity check is passed, thesub-frames word is decoded and be its repeated position marked. choice ofindividually. 20 entire navigation frames is made so that 1 to 3 will 20 times −6 atbe The choiceinofa20 entire navigation frames is accumulated made so that data sub-frames 1 to 310will resulting probability of bit error in the of less than 15repeated dB-Hz. It20 is times likely ´ 6 resulting a probability bit error in thebeaccumulated of less than 15 dB-Hz. It is likely that timein and ephemeris of parameters can provided bydata the platform and10 onlyatframe synchronisation that time andTherefore, ephemeriswe parameters be provided by of thethe platform frame synchronisation is required. have onlycan decoded the time week inand ouronly hardware implementation istorequired. Therefore, we have only decoded the time of the week in our hardware implementation to demonstrate the principle. demonstrate the principle. The success rate of the acquisition engine with signals of different carrier to noise density ratios Theissuccess of the12. acquisition engine with signals ofat different carrier to noise density ratios (C/No) shown rate in Figure Here 25 trials were performed each signal level and the success rate (C/No) is shown in Figure 12. Here 25 trials were performed at each signal level and the success rate recorded for the acquisition, bit synchronization, and data decoding stages. The signals were recorded forwith the acquisition, synchronization, and the dataoutput decoding stages. The signals generated generated our Spirentbit GSS800 simulator and power is displayed inwere Figure 12. The decoding of the time of the week is used to determine if frame synchronisation was successful. Using typical derivations from [23,31] the detection threshold is chosen such that the probability of detection is theoretically 0.95 at 15 dB-Hz and probability of false alarm is 10−3.The acquisition results of Figure 12 are slightly worse but within 1 dB of the expected values. Clearly, the receiver is limited by its ability to synchronise and decode the navigation data before the acquisition limit is Sensors 2016, 16, 347 13 of 21 with our Spirent GSS800 simulator and the output power is displayed in Figure 12. The decoding of the time of the week is used to determine if frame synchronisation was successful. Using typical derivations from [23,31] the detection threshold is chosen such that the probability of detection is theoretically 0.95 at 15 dB-Hz and probability of false alarm is 10´3 .The acquisition results of Figure 12 are slightly worse but within 1 dB of the expected values. Clearly, the receiver is limited by its ability Sensors 2016, 16,, x 13 of 21 to synchronise and decode the navigation data before the acquisition limit is encountered. Despite this, at 15 dB-Hz the receiver is at still to acquire and decode the navigational data with the a success rate of encountered. Despite this, 15able dB-Hz the receiver is still able to acquire and decode navigational around 60% for eachrate attempt. data with a success of around 60% for each attempt. Figure Figure 12. 12. Sucess Sucess rate rate of of acquisition acquisition stages stages with with varying varying signal signal levels. levels. 2.6.2. Weak Signal Tracking 2.6.2. Weak Signal Tracking The WeakHEO receiver is assumed to be a stand-alone receiver with a low rate communication The WeakHEO receiver is assumed to be a stand-alone receiver with a low rate communication interface to the spacecraft platform. Therefore, knowledge of the full navigational data sequence is interface to the spacecraft platform. Therefore, knowledge of the full navigational data sequence not assumed and data wipe-off is not used. Data wipe-off allows the use of pure (non-squaring) PLL is not assumed and data wipe-off is not used. Data wipe-off allows the use of pure (non-squaring) discriminators to be used in tracking for lower jitter and a larger pull-in range compared to CostasPLL discriminators to be used in tracking for lower jitter and a larger pull-in range compared to type discriminators. Costas-type discriminators. Typical expressions for the jitter of conventional GNSS tracking loop can be found in [23,32]. Typical expressions for the jitter of conventional GNSS tracking loop can be found in [23,32]. Figure 13a shows the expected PLL jitter and a conservative loss of lock threshold for a third order Figure 13a shows the expected PLL jitter and a conservative loss of lock threshold for a third order Costas PLL, assuming thermal and oscillator noise (based on the WeakHEO OCXO) are the only error Costas PLL, assuming thermal and oscillator noise (based on the WeakHEO OCXO) are the only error sources and an integration time of 20 ms. This indicates that in the presence of navigation data flips sources and an integration time of 20 ms. This indicates that in the presence of navigation data flips we we need to use bandwidth as low as 1 Hz to operate at 15 dB-Hz. The code tracking loop of the need to use bandwidth as low as 1 Hz to operate at 15 dB-Hz. The code tracking loop of the receiver receiver is a first order loop aided by the carrier loop and uses a bandwidth of 0.1 Hz. Figure 13b is a first order loop aided by the carrier loop and uses a bandwidth of 0.1 Hz. Figure 13b shows shows the DLL jitter for the dot-product power discriminator with a 0.1 Hz, a 20 ms integration time the DLL jitter for the dot-product power discriminator with a 0.1 Hz, a 20 ms integration time and and different early-to-late correlator spacing d. Correlator spacings of 0.25 chip or greater are required different early-to-late correlator spacing d. Correlator spacings of 0.25 chip or greater are required to to maintain code tracking at 15 dB-Hz. If an adaptive spacing is used, smaller correlator spacings can maintain code tracking at 15 dB-Hz. If an adaptive spacing is used, smaller correlator spacings can be be used at higher signal levels to reduce the pseudorange jitter. It should be noted that using such used at higher signal levels to reduce the pseudorange jitter. It should be noted that using such low low bandwidths to improve the performance in weak signal environments lengthens the time bandwidths to improve the performance in weak signal environments lengthens the time between between statistically independent measurements from the code and carrier loops [32]. This is not statistically independent measurements from the code and carrier loops [32]. This is not critical for this critical for this application. These low bandwidths are suitable for operation at altitudes significantly application. These low bandwidths are suitable for operation at altitudes significantly above the GNSS above the GNSS constellation; however, during the first part of the MTO the line-of-sight jerk can ´ be constellation; however, during the first part of the MTO the line-of-sight jerk can be as high as 6 ms 3 . as high as 6 ms−3. The received signal strength is far greater at this point but still requires a carrier The received signal strength is far greater at this point but still requires a carrier loop PLL bandwidth loop PLL bandwidth of around 5 Hz to tolerate this jerk [32]. Therefore, when conventional approaches to GNSS tracking are used for this application the carrier loop bandwidth will need to be adjusted during the MTO. Sensors 2016, 16, 347 14 of 21 of around 5 Hz to tolerate this jerk [32]. Therefore, when conventional approaches to GNSS tracking are used Sensors 2016,for 16,,this x application the carrier loop bandwidth will need to be adjusted during the MTO. 14 of 21 (a) (b) Figure Figure 13. 13. (a) (a) PLL PLL jitter; jitter; (b) (b) DLL DLL jitter jitter versus versus C/No. C/No. Conventional tracking models the incoming system as having deterministic dynamics by Conventional tracking models the incoming system as having deterministic dynamics by typically typically using fixed tracking loop bandwidths. An alternative method, which provides more using fixed tracking loop bandwidths. An alternative method, which provides more flexibility is based flexibility is based on Kalman filter theory. Rather than assuming deterministic dynamics, the on Kalman filter theory. Rather than assuming deterministic dynamics, the Extended Kalman Filter Extended Kalman Filter (EKF) assumes that the signal dynamics follow a linear stochastic model. (EKF) assumes that the signal dynamics follow a linear stochastic model. This allows an adaptive This allows an adaptive scheme where the response to dynamics is adjusted based on the signal scheme where the response to dynamics is adjusted based on the signal conditions. Therefore, the conditions. Therefore, the ranging processor is designed to adapt the tracking loop bandwidths as a ranging processor is designed to adapt the tracking loop bandwidths as a function of the measured function of the measured C/N0, to maintain the optimum trade-off between noise resistance and C/N0 , to maintain the optimum trade-off between noise resistance and dynamics response. It should dynamics response. It should be noted that this is not exclusively possible with the EKF based be noted that this is not exclusively possible with the EKF based tracking and can be applied to tracking and can be applied to conventional tracking. However, this is performed implicitly when conventional tracking. However, this is performed implicitly when using the EKF approach as part of using the EKF approach as part of its dynamic model. its dynamic model. A number of variations on EKF tracking have been developed for both code and carrier tracking A number of variations on EKF tracking have been developed for both code and carrier [29,33–35]. Comparing EKF tracking to conventional architectures is troublesome as the non-linear tracking [29,33–35]. Comparing EKF tracking to conventional architectures is troublesome as the models used in the EKF implementation are effectively constantly adapting its tracking bandwidth. non-linear models used in the EKF implementation are effectively constantly adapting its tracking Generally, jitter comparisons are made with conventional architecture under different dynamic bandwidth. Generally, jitter comparisons are made with conventional architecture under different conditions. However, this does provide to opportunity to choose scenarios and tracking loop settings dynamic conditions. However, this does provide to opportunity to choose scenarios and tracking to exaggerate the benefits of one technique over another. An attempt to compare the techniques by loop settings to exaggerate the benefits of one technique over another. An attempt to compare the experimentally determining the steady-state bandwidth of the EKF and finding the equivalent techniques by experimentally determining the steady-state bandwidth of the EKF and finding the performing PLL is found in [36]. Here, the EKF is demonstrated to be able to track the carrier phase equivalent performing PLL is found in [36]. Here, the EKF is demonstrated to be able to track the down to 10 dB-Hz, around a 7 dB improvement under equivalent conditions. Tests with software carrier phase down to 10 dB-Hz, around a 7 dB improvement under equivalent conditions. Tests with receiver implementations of conventional and EKF tracking in [37] show around a 4 dB to 7 dB software receiver implementations of conventional and EKF tracking in [37] show around a 4 dB to improvement in sensitivity for the EKF approach. 7 dB improvement in sensitivity for the EKF approach. The EKF is well suited to applications such as the one considered here where the platform has The EKF is well suited to applications such as the one considered here where the platform has predictable dynamics and the receiver’s oscillator can be measured and modelled. For the WeakHEO predictable dynamics and the receiver’s oscillator can be measured and modelled. For the WeakHEO receiver we have implemented a first order EKF for carrier phase tracking as detailed in [29]. The receiver we have implemented a first order EKF for carrier phase tracking as detailed in [29]. The EKF EKF is only used for the carrier tracking and conventional tracking is used for the code loop to is only used for the carrier tracking and conventional tracking is used for the code loop to minimise minimise the computational load. the computational load. In [26] we show how Doppler and Doppler rate aiding from an integrated orbital filter can be In [26] we show how Doppler and Doppler rate aiding from an integrated orbital filter can be used used to improve sensitivity of conventional FLL tracking to around 11 dB-Hz. This is considered to improve sensitivity of conventional FLL tracking to around 11 dB-Hz. This is considered suitable suitable for a stand-alone receiver as the orbital filter can be integrated into the receiver’s navigation for a stand-alone receiver as the orbital filter can be integrated into the receiver’s navigation software. software. Figure 14 shows double difference measurements of the WeakHEO DLL jitter taking with our Figure 14 shows double difference measurements of the WeakHEO DLL jitter taking with our GNSS simulator with varying carrier to noise density ratios. Reasonable agreement with the theoretical GNSS simulator with varying carrier to noise density ratios. Reasonable agreement with the values can be found. theoretical values can be found. Sensors 2016, 16, 347 Sensors 2016, 16,, x 15 of 21 15 of 21 Figure Figure14. 14.WeakHEO WeakHEODLL DLLjitter jitterversus versusC/No. C/No. 2.7. GPS Navigation 2.7. An orbital orbital filter filter has has been been implemented implemented that that integrates integrates the the GPS GPS observations observations with with an an orbital orbital An forces model, model, by by means means of of an an adaptive adaptive Extended Extended Kalman Kalman filter filter (EKF). (EKF). The The EKF EKF integrates integrates the the least least forces square single-epoch single-epoch position position and and velocity velocity solutions solutions that that are are computed computed using using the the pseudoranges pseudoranges and and square the pseudorange pseudorange rates output by the WeakHEO GPS receiver, receiver, together together with with the the position position and and velocity the predictedby by an an orbital orbital forces forces model. model. The resultant filtered navigation navigation solution solution can efficiently efficiently mitigate mitigate predicted the effect of the very high GDOP and large ranging errors; indeed, it is significantly more accurate the effect of the very high GDOP and large ranging errors; indeed, it is significantly more accurate than the the unfiltered unfiltered least least square square single-epoch single-epoch solution, solution, as as shown shown in in Section Section 3. 3. Thus, it can can be be used used to to than aid the the GPS GPS receiver receiver to to acquire acquire and and track track weak weak GPS GPS signals signals while while experiencing experiencing high high dynamics. dynamics. A aid detailed description of and tracking modules cancan be detailed of the the orbital orbitalfilter filterand andits itsaiding aidingtotothe theacquisition acquisition and tracking modules found in in [26]. InIn a adifferent can be found [26]. differentconfiguration, configuration,less lesssimple simplebut butpotentially potentiallymore more efficient, efficient, the EKF can integrate directly pseudoranges and pseudorange rates provided by the tracking loops together with integrate directly pseudoranges and pseudorange rates provided by the tracking loops together with their prediction prediction provided provided by by the the orbital orbital forces forces model. model. This has been been investigated investigated in our our previous previous their study [25], [25], which which also also describes describes the the performance performance of of our our orbital orbital filter filter when when it it uses uses signals signals transmitted transmitted study by the GPS-Galileo combined configurations is is described in by combined constellation. constellation.AAcomparison comparisonofofthe thetwo two configurations described [38]. in [38]. As described described in [24], [24], during during aa MTO, MTO, once once the the receiver receiver is is above above the the GPS GPS constellation, constellation, the the GPS GPS As accuracy strongly decreases with the altitude. Both pseudorange error and GDOP worsen as the accuracy strongly decreases with the altitude. the receiver goes goes further further from from the the GPS GPS constellation. constellation. For this reason, if the covariance matrix of the the receiver measurements R is composed of constant variance values over time, the filter cannot be tuned measurements R is composed of constant variance values over time, the filter cannot be tuned properly properly the (Figures full MTO6 and (Figures 6 and 7 of the [38]effect shows effect ofR modelling as constant during theduring full MTO 7 of [38] shows of the modelling as constantRmatrix). matrix). As described in [38], the covariance matrix R of the filter has to be adapted to the GPS As described in [38], the covariance R of as thefunction filter has to GDOP be adapted to thebyGPS measurements accuracy. Indeed, the R matrixmatrix is modelled of the multiplied the measurements accuracy. Indeed, R matrix is modelled as function of the multiplied the estimated pseudorange error. The the adaptive strategy is illustrated in Figure 15. GDOP From the estimatedbystate estimated at pseudorange The adaptive illustrated in Figure 15.onFrom estimated computed the previouserror. time-step, the filter strategy estimatesisthe GDOP and the noise boththe pseudorange statepseudorange computed atrate themeasures previoustotime-step, filter estimates the GDOP and the noise on both and update thethe covariance matrix R. pseudorange and pseudorange rate measures to update the covariance matrix R. Sensors 2016, 16, 347 16 of 21 Sensors 2016, 16, 347 16 of 21 Estimated state tk-1 GDOP Rk EKF Pseudorange and pseudorange rate error GPS measures tk Figure 15. Dynamic tuning of the covariance matrix of the measurements. Figure 15. Dynamic tuning of the covariance matrix of the measurements. 3. WeakHEO Navigation Performance 3. WeakHEO Navigation Performance In order to test the achievable performance in terms of position and velocity determination we have selected twothe representative of the MTO, eachofofposition one-hourand duration. In order to test achievable portions performance in terms velocity determination we The first portion starts approximately at 36,000 km of altitude (altitude of the Geostationary have selected two representative portions of the MTO, each of one-hour duration. Earth Orbit) and a second portion starts approximately at the average distance of theGeostationary Moon from theEarth The first portion starts approximately at 36,000 km of altitude (altitude of the centre of the Earth of 384,400 km, very close to the apogee of the MTO. Figures 16 and illustrate Orbit) and a second portion starts approximately at the average distance of the Moon17 from the centre the ECI 3D position and velocity accuracy, respectively, of a least square (LS) single-epoch solution, of the Earth of 384,400 km, very close to the apogee of the MTO. Figures 16 and 17 illustrate the ECI a pure propagated (Pp) solution (obtained only propagating the initial condition through the orbital 3D position and velocity accuracy, respectively, of a least square (LS) single-epoch solution, a pure forces model), and the orbital filtered (OF) solution, which integrates by means of the developed propagated (obtained propagating condition through orbital adaptive(Pp) EKFsolution the LS together withonly the Pp solution. Thethe LSinitial solution is as expected verythe noisy due toforces model), and the orbital filtered (OF) solution, which and integrates by means the developed the noise, which affects pseudorange measurements it increases with theofaltitude because ofadaptive the EKF the LS together the Pp18). solution. LSside, solution as expected very due to the increasing GDOPwith (see Figure On theThe other the Ppisposition solution hasnoisy a significant driftnoise, to thepseudorange error in the initial condition; in fact, aboutwith 250 sthe thealtitude position because error reaches 50increasing m as whichdue affects measurements and it after increases of the expected because of On the initial 0.2 m/s error the initial velocity. (0.2 m/s × 250 s = 50 drift m). The OFto the GDOP (see Figure 18). the other side, theinPp position solution has a significant due is several times more accurate; GPS250 measurements prevent orbital50propagation errorsolution in the initial condition; in fact, after the about s the position errorthe reaches m as expected solution drifting, the error orbitalin propagation GPS solution. 19–21 illustrate the because of the initial while 0.2 m/s the initial smooths velocity.the (0.2 m/s ˆ 250 Figures s = 50 m). The OF solution is same quantities but for the MTO portion at Moon altitude. In this case as well, the benefit of the several times more accurate; the GPS measurements prevent the orbital propagation solution drifting, orbital filter is even more significant since the OF solution is more than one order of magnitude more while the orbital propagation smooths the GPS solution. Figures 19–21 illustrate the same quantities accurate than the LS solution. but for the MTO at Moon thistests casehave as well, the benefit orbital filter is even Note thatportion the Hardware in altitude. the Loop In (HIL) not been carried of outthe over the full MTO moreduration significant since the OF solution is more than one order of magnitude more accurate than as it lasts almost 5 days and we currently do not have that simulation capability. Instead, the LS solution. the full MTO test has been performed in post processing by simulating pseudorange and pseudorange measurements Figures 10 and in [26]) assesscarried the OF out performance. Note that therate Hardware in the(see Loop (HIL) tests11have nottobeen over the Then, full MTO several tests we performed for the portion different of thecapability. full MTO allowed duration as HIL it lasts almost 5 days and wesame currently doand notforhave that potions simulation Instead, the us to test determine thatperformed a 1 h test duration is well enough to let the OFpseudorange converge. Afterwards, we have rate full MTO has been in post processing by simulating and pseudorange performed HIL tests for several representative portions of 1 h durations to assess the acquisition, measurements (see Figures 10 and 11 in [26]) to assess the OF performance. Then, several HIL tests we tracking, data decoding, and finally navigation performance (as reported in this section) of the performed for the same portion and for different potions of the full MTO allowed us to determine that WeakHEO receiver for the signals encountered in a lunar mission. It is also important also to keep in a 1 h mind test duration is well enough to let the OF converge. Afterwards, we have performed HIL tests for that the current WeakHEO receiver is only a proof of concept and thus not the final device ready several representative portions h durations assess acquisition, tracking, data decoding, and to operate in a lunar mission,of for1 which clearly to more and the longer tests will be required. finally navigation performance (as reported in this section) of the WeakHEO receiver for the signals encountered in a lunar mission. It is also important also to keep in mind that the current WeakHEO receiver is only a proof of concept and thus not the final device ready to operate in a lunar mission, for which clearly more and longer tests will be required. Sensors 2016, 16, 347 17 of 21 Sensors 2016, 16,, x Sensors 2016, 16,, x Sensors 2016, 16,, x 17 of 21 17 of 21 17 of 21 Figure position error error for portion whichwhich starts at GEO at altitude the singleFigure 16. 16. 3D3Dposition forthe theconsidered considered portion starts GEOfor: altitude for: the Figure least 16. 3Dsquare position error for the(in considered portion which starts at GEO altitude for: theand singleepoch (LS) solution blue); the orbital filtered (OF) solution (in red); the the single-epoch square error (LS) for solution (in blue); the orbital solutionfor: (inthe red); and Figure 16.least 3D position the considered portion which filtered starts at (OF) GEO altitude singleepoch least (Pp) square (LS) (in solution (in blue); the orbital filtered (OF) solution (in red); and the propagated solution green). propagated (Pp) square solution(LS) (in solution green). (in blue); the orbital filtered (OF) solution (in red); and the epoch least propagated (Pp) solution (in green). propagated (Pp) solution (in green). Figure 17. 3D velocity error for the considered portion which starts at GEO altitude for: the singleFigure least 17. 3Dsquare velocity error for the(in considered portion which starts at GEO altitude for: theand singleepoch (LS) solution blue);portion the orbital filtered (OF) solution (in red); the Figure 17. 3D error for the which starts at GEO altitude for: the Figure 17.velocity 3D velocity error for considered the considered portion which starts at GEO altitude for: thesingle-epoch singleepoch least square (LS) solution (in blue); the orbital filtered (OF) solution (in red); and the propagated (Pp) solution (in green). least epoch squareleast (LS) square solution (in solution blue); the (OF)filtered solution (in solution red); and(inthered); propagated (LS) (inorbital blue); filtered the orbital (OF) and the (Pp) propagated (Pp) solution (in green). propagated (Pp) solution (in green). solution (in green). Figure 18. GDOP during the MTO portion that starts at 36,000 km altitude. Figure 18. GDOP during the MTO portion that starts at 36,000 km altitude. Figure GDOP duringthe theMTO MTO portion portion that 36,000 kmkm altitude. Figure 18. 18. GDOP during thatstarts startsatat 36,000 altitude. Sensors 2016, 16, 347 18 of 21 Sensors 2016, 16,, x 18 of 21 Sensors 2016, 16,, x 18 of 21 Sensors 2016, 16,, x 18 of 21 Figure 19. 3D position error for the considered portion at Moon altitude for: the single-epoch least Figure 19. 3D position error for the considered portion at Moon altitude for: the single-epoch least square solution (inerror blue); filtered (OF) at solution red); for: andthe thesingle-epoch propagated least (Pp) Figure (LS) 19. 3D position forthe theorbital considered portion Moon (in altitude square (LS) solution (in blue); the orbital filtered (OF) solution (in red); and the propagated (Pp) solution (in 3D green). square solution (inerror blue); filtered (OF) solution red); for: and the thesingle-epoch propagated (Pp) Figure (LS) 19. position forthe theorbital considered portion at Moon (in altitude least solution (in green). solution (in green). square (LS) solution (in blue); the orbital filtered (OF) solution (in red); and the propagated (Pp) solution (in green). Figure 20. 3D velocity error for the considered portion at Moon altitude for: the single-epoch least square (LS) solution (inerror blue); the orbital filtered (OF) at solution (in red); for: andthe thesingle-epoch propagated least (Pp) Figure 20. velocity 3D velocity theconsidered considered portion Figure 20. 3D error forfor the portion at Moon Moonaltitude altitude for: the single-epoch least solution (in green). square (LS) solution (in blue); the orbital filtered (OF) solution (in red); and the propagated (Pp) Figure 3D velocity error for considered portion Moon altitude for:and the single-epoch least (Pp) square (LS) 20. solution (in blue); thethe orbital filtered (OF) atsolution (in red); the propagated solution (in green). square (LS) solution (in blue); the orbital filtered (OF) solution (in red); and the propagated (Pp) solution (in green). solution (in green). Figure 21. GDOP during the MTO portion at Moon altitude. Figure 21. GDOP during the MTO portion at Moon altitude. Figure 21. GDOP during the MTO portion at Moon altitude. Figure 21. GDOP during the MTO portion at Moon altitude. Sensors 2016, 16, 347 19 of 21 4. Conclusions Following our previous feasibility studies of GNSS as navigation system to reach the Moon, this research paper describes the proof of concept of the GPS L1 C/A “WeakHEO” receiver for lunar mission, wholly developed in our laboratory in the last two years. After highlighting the characteristics of the GPS L1 C/A signals for the considered MTO, which have been identified in our previous research work, the requirements and constraints in the receiver design are defined. Afterwards, the general receiver architecture is described, providing a more detailed description of the acquisition, tracking and navigation modules. These modules are specifically designed for use with the dynamic environment and signal conditions seen in high altitude space applications, and the architecture presented is capable of performing acquisition, tracking, data synchronization and demodulation down to a level of 15 dB-Hz. This is verified on the hardware with tests using representative RF signals produced by a GNSS simulator. The navigation module makes use of an adaptive orbital filter, which exploits an orbital forces model to filter the noisy GPS least square single-epoch solutions and is able to significantly increase the navigation accuracy to a few hundred meters at Moon altitude. The filtered navigation solution can then be used to aid the acquisition and tracking modules allowing higher sensitivities also in high dynamics. 5. Future Work The performance will be further improved in the new “WeakHEO 2” version of our receiver, where the available hardware resources will be increased, allowing the integration of the navigation module into the processor within the FPGA. This will allow the orbital filter to provide aiding to the acquisition and tracking modules at a high rate to improve performance as shown in [26]. The orbital filter of the “WeakHEO 2” receiver will directly filter the raw pseudorange and pseudorange rate observations instead of the single-epoch least square solution, with an expected higher navigation accuracy also in case of less than four GPS observations available. In addition, the iteration rate of the navigation output will be increased from 0.1 Hz to 1 Hz and the number of tracking channel increased from 6 to at least 12 channels. Furthermore, in the future we will also consider processing other frequencies and signals of other GNSS constellations to further improve the overall performance. Author Contributions: The work presented in this paper was carried out in collaboration between all authors. Cyril Botteron was leading the project and contributed together with Pierre-André Farine to the system requirement and implementation definitions as well as to the overall design discussions. Vincenzo Capuano was concerned with the definition the MTO scenario and system requirements, as well as with the design and the implementation of the navigation module (adaptive orbital filter). He also contributed to carry out the simulation tests and hardware-in-the-loop tests of the navigation performance. Paul Blunt contributed to the testing and design verification detailed in this paper and is now responsible for the maintenance and development of the WeakHEO and WeakHEO 2 receivers. Jia Tian and Yanguang Wang contributed respectively to the design and the hardware implementation of the acquisition and of the tracking modules. Jérôme Leclère contributed to the supervision of the overall FPGA design and implementation of the signal processing engine. Francesco Basile contributed to the implementation of the orbital filter. All authors contributed to revisions of the manuscript. Conflicts of Interest: The authors declare no conflict of interest. References 1. 2. 3. Miller, J. Enabling a fully interoperable GNSS space service volume. In Proceedings of the 6th International Committee on GNSS (ICG), Tokyo, Japan, 5–9 September 2011. Marmet, F.; Bondu, E.; Calaprice, M.; Maureau, J.; Laurichesse, D.; Grelier, T.; Ries, L. GPS/Galileo navigation beyond low earth orbit. In Proceedings of the 6th European Workshop on GNSS Signals and Signal Processing, Neubiberg, Germany, 5–6 December 2013. Capuano, V.; Botteron, C.; Wang, Y.; Tian, J.; Leclère, J.; Farine, P.A. GNSS to Reach the Moon. In Proceedings of the 65th International Astronautical Congress, Toronto, ON, Canada, 29 September–3 October 2014. Sensors 2016, 16, 347 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 20 of 21 Braasch, M.S.; de Haag, M.U. GNSS for LEO, GEO, HEO and beyond. In Proceedings of the Advances in the Astronautical Sciences, Rocky Mountain Guidance and Control Conference, Breckenridge, CO, USA, 31 January–4 February 2009. Silva, P.F.; Lopes, H.D.; Peres, T.R.; Silva, J.S.; Ospina, J.; Cichocki, F.; Dovis, F.; Musumeci, L.; Serant, D.; Calmettes, T.; et al. Weak GNSS signal navigation to the moon. In Proceedings of the ION GNSS+, Nashville, TN, USA, 16–20 September 2013. Palmerini, G.B.; Sabatini, M.; Perrotta, G. En route to the moon using GNSS signals. Acta Astronaut. 2009, 64, 467–483. [CrossRef] Palmerini, G. GNSS software receiver as a navigation sensor in very high orbits. In Proceedings of the IEEE International Workshop on Metrology for Aerospace, Benevento, Italy, 29–30 May 2014. Manzano-Jurado, M.; Alegre-Rubio, J.; Pellacani, A.; Seco-Granados, G.; Lopez-Salcedo, J.; Guerrero, E.; Garcia-Rodriguez, A. Use of weak GNSS signals in a mission to the moon. In Proceedings of the 7th ESA Workshop on Satellite Navigation Technologies and European Workshop on GNSS Signals and Signal Processing (NAVITEC), Noordwijk, The Netherlands, 3–5 December 2014. Bamford, W.A.; Heckel, G.W.; Holt, G.N.; Moreau, M. A GPS receiver fot lunar missions. In Proceedings of the ION NTM 2008, San Diego, CA, USA, 28–30 January 2008. Bamford, W.; Naasz, B.; Moreaus, M. Navigation performance in high earth orbits using navigator GPS receiver. In Proceedings of the American Astronautical Society Guidance and Control Conference, Breckenridge, CO, USA, 4–8 February 2006. Winternitz, L.; Moreau, M.; Boegner, G.; Sirotzky, S. Navigator GPS receiver for fast acquisition and weak signal space applications. In Proceedings of the ION GNSS Conference, Long Beach, CA, USA, 21–24 September 2004. Moreau, M.C.; Axelrad, P.; Garrison, J.L.; Wennersten, M.; Long, A. Test results of the PiVot receiver in high earth orbits using a GSS GPS simulator. In Proceedings of the ION, Salt Lake City, UT, USA, 11–14 September 2001. Capuano, V.; Botteron, C.; Farine, P.-A. GNSS performances for MEO, GEO and HEO. In Proceedings of the 64th International Astronautical Congress, Beijing, China, 23–27 September 2013. Unwin, M.; van Steenwijk, R.D.V.; Blunt, P.; Hashida, Y.; Kowaltschek, S.; Nowak, L. Navigating above the GPS constellation—Preliminary results from the SGR-GEO on GIOVE-A. In Proceedings of the 26th International Technical Meeting of the Satellite Division of the Institute of Navigation (ION GNSS+ 2013), Nashville, TN, USA, 16–20 September 2013. Balbach, O.; Eissfeller, B.; Hein, G.; Enderle, W.; Schmidhuber, M.; Lemke, N. Tracking GPS above GPS satellite altitude: First results of the GPS experiment on the HEO mission Equator-S. In Proceedings of the IEEE Position Location and Navigation Symposium, Palm Springs, CA, USA, 20–23 April 1998. Moreau, M.; Davis, E.P.; Carpenter, J.R.; Kelbel, G.D.P.A.D. Results from the GPS flight experiment on the high earth orbit AMSAT OSCAR-40 spacecraft. In Proceedings of the ION GPS Conference, Tampa, FL, USA, 24–27 September 2002. Davis, G.; Moreau, M.; Carpenter, R.; Bauer, F. GPS-based navigation and orbit determination for the AMSAT AO-40 satellite. In Proceedings of the AIAA, Monterey, CA, USA, 5–8 August 2003. Ruegamer, A.; Foerster, F.; Stahl, M.; Rohmer, G. A flexible and portable multiband GNSS front-end system. In Proceedings of the ION ITM, Nashville, TN, USA, 17–21 September 2012. Sheridan, K.; Wells, D.; Botteron, C.; Leclère, J.; Dominici, F.; Defina, A. An assisted-GNSS solution for demanding road applications using the EGNOS Data Access System (EDAS). In Proceeedings of the Toulouse Space Show, Toulouse, Franch, 8–11 June 2010. AGI. Available online: http://www.agi.com/products/stk/ (accessed on 10 November 2015). ICD-GPS-200F Navstar GPS Space Segment/User Segment Interfaces. 21 September 2011. Spirent. SimGen Software User Manual. July 21 2015. Kaplan, E.D.; Hegarty, C.J. Understanding GPS: Principles and Applications; Artech House: Norwood, MA, USA, 2006. Capuano, V.; Botteron, C.; Leclere, J.; Tian, J.; Yanguang, W.; Farine, P.A. Feasibility study of GNSS as navigation system to reach the Moon. Acta Astronaut. 2015, 116, 186–201. [CrossRef] Capuano, V.; Basile, F.; Botteron, C.; Farine, P.-A. Gnss Based Orbital Filter for Earth Moon Transfer Orbits. J. Navig. 2015. [CrossRef] Sensors 2016, 16, 347 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 21 of 21 Capuano, V.; Blunt, P.; Botteron, C.; Farine, P.-A. Orbital filter aiding of a high sensitivity GPS receiver for lunar missions. In Proceedings of the International Technical Meeting of the Institute of Navigation, Monterey, CA, USA, 25–28 January 2016. Van Diggelen, F. A-GPS: Assisted GPS, GNSS and SBAS; Artech House: Norwood, MA, USA, 2009. Leclère, J.; Botteron, C.; Farine, P.-A. Comparison framework of FPGA-based GNSS signals acquisition architectures. IEEE Trans. Aerosp. Electron. Syst. 2013, 49, 1497–1518. [CrossRef] Ziedan, N.I. GNSS Receivers for Weak Signals; Artech House: Norwood, MA, USA, 2006. Duffett-Smith, P.J.A.R.P. Reconstruction of the satellite ephemeris from time-spaced snippets. In Proceedings of the ION GNSS 2007, Fort Worth, TX, USA, 25–28 September 2007. Musumeci, L.; Dovis, F.; Silva, P.F.; Lopes, H.D.; Silva, J. Design of a very high sensitivity acquisition. In Proceedings of the Position, Location and Navigation Symposium—PLANS 2014, Monterey, CA, USA, 5–8 May 2014. Groves, P.D. Principles of GNSS, Inertial, and Multisensor Integrated Navigation Systems; Artech House: Norwood, MA, USA, 2013. Ziedan, N.I.; Garrison, J. Extended Kalman filter-based tracking of weak GPS signals under high dynamic conditions. In Proceedings of the ION GNSS 17th International Technical Meeting of the Satellite Division, Long Beach, CA, USA, 21–24 September 2004. Psiaki, M.L.; Jung, H. Extended Kalman filter methods for tracking weak gps signals. In Proceedings of the ION GNSS, Albuquerque, NM, USA, 24–26 June 2002. Jee, G.; Kim, H.; Lee, Y.; Park, C. A GPS C/A code tracking loop based on extended Kalman filter with multipath mitigation. In Proceedings of the ION GPS 2002, Portland, OR, USA, 24–27 September 2002. Salem, D.; O’Driscoll, C.; Lachapelle, G. Methodology for comparing two carrier phase tracking techniques. In GPS Solutions; Springer: Berlin, Germany, 2012; Volume 16, pp. 197–207. Petovello, M.; O’Driscoll, C.; Lachapelle, G. Carrier phase tracking of weak signals using different receiver architectures. In Proceedings of the ION NTM 2008, San Diego, CA, USA, 28–30 January 2008. Basile, F.; Capuano, V.; Botteron, C.; Farine, P.-A. GPS based orbital filter to reach the moon. Int. J. Space Sci. Eng. 2015, 3, 199–218. [CrossRef] © 2016 by the authors; licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons by Attribution (CC-BY) license (http://creativecommons.org/licenses/by/4.0/).