Global Navigation Satellite Systems (GNSS) are playing a key role in modern society finding applications in several crucial sectors. Strategic areas of applications include vehicular and personal navigation, aircraft and maritime navigation, location based and rescue services. However, despite its worldwide success and diffusion, GNSS is still a sensitive system vulnerable to failure and disruptions. This is of particular concern for user of safety of life services demanding high reliability, availability and continuity. The disruptions potentially threatening GNSS are usually classified as intentional and unintentional. Intentional disruptions, such as jamming, spoofing, are produced to deliberately impair GNSS receiver operation. Unintentional disruptions can be man-made interference, for example originating from satellite communications, TV broadcasting and Ultra Wide Band (UWB) communications, and natural interference, due to space weather events. One of the main natural threats to the reliability and availability of GNSS is represented by the non-stationary propagation conditions experienced by Radio Frequency (RF) signals inside the ionosphere. In particular small scale ionospheric irregular structures may refract and diffract GNSS signals producing random and fast variations in their amplitude and phase . Amplitude scintillation manifests itself as instantaneous increases and decreases of the transionospheric signal intensity. This phenomenon, when severe, can lead to deep signal fading and, consequently, induce the signal to noise ratio to drop below the receiver tracking threshold. Moreover, phase scintillation could increase the Doppler shift so to render it larger than the phase lock loop bandwidth. As a consequence cycle slips or even a loss of lock could occur. Even if this phenomenon usually does not affect all satellites in view at the same time, involving only a portion of the sky, it may be able to degrade the final solution accuracy. Moreover if the healthy satellite links are not enough to provide a solution, outages in the GNSS operation could be experienced. A way to mitigate scintillation effects on GNSS is to increase the robustness of GNSS receivers, and in particular of the carrier tracking stage that is the receiver part most vulnerable to scintillation effects. In particular, the literature has shown that Kalman Filter (KF) based tracking schemes represent good candidates to replace traditional Phase Locked Loop (PLL) tracking algorithms in presence of scintillation , . The main advantage of KF PLLs is the possibility to automatically optimize the loop filter, minimizing the phase mean square error. However, the effectiveness of KF based tracking algorithms is dependent on the use of a correct state space dynamic model to predict the parameters to be estimated, and on the monitoring of the actual measurement noise. Consequently, in presence of variable conditions, as in the case of scintillation, the initially assumed model could not be valid anymore, leading to a filter divergence. In this paper first of all the design and the implementation of a classical adaptive KF based PLL with variable measurement noise is detailed. In this scheme the measurement noise is a function of the carrier to noise ratio (C/N0) which is computed in real time. Then, a second adaptive KF based PLL is proposed. The latter scheme tunes the covariance matrix, the measurement noise and the KF gains according to the working conditions, i.e. the detected level of scintillation. The weighting of the KF gain represents the element of novelty with respect to the architecture previously presented by the authors . First tests carried out by using both simulated and real data affected by scintillation, respectively at high and equatorial latitudes, are presented herein. The remainder of this paper is organized as follows. Section 2 provides a general overview about scintillation effects on the tracking loop of a GNSS receiver. Section 3 describes the design and the implementation of the KF based algorithms examined herein. Section 4 details the methodology and the experimental set up exploited for the assessment of the above algorithms. Moreover, initial results are discussed. Finally, Section 5 draws some conclusions
2. Ionospheric scintillation
Ionospheric scintillation is determined by regions of enhanced or depleted  electron density affecting the propagation of Radio Frequency (RF) signals. The characteristics and the occurrence of these irregularities show a stochastic dependence on both spatial and temporal parameters, such as the local time, the season, the magnetic activity, the solar activity, and the geographical region of occurrence. Indeed, ionospheric scintillation is predominant at high latitude and equatorial regions. However the different ionospheric morphology of these two regions is responsible for different scintillation characteristics. While at high latitudes scintillation manifests itself as strong phase fluctuations and weak amplitude variations in the signal, at equatorial regions scintillation can show both significant phase fluctuations and amplitude fades. A GNSS signal affected by scintillation at the receiver input can be modelled as follows 
A is the nominal signal amplitude,
δA is the amplitude signal variation due to scintillation,
C (t) is the Pseudo Random Noise (PRN) spreading code,
D (t) is the navigation data,
fIF is the intermediate frequency,
φ0 is the phase variation due to scintillation,
φi is the phase variation due to any other source apart from scintillation,
n (t) is the additive Gaussian noise.
To measure the level of scintillation two indices are widely used, namely S4 and σϕ. S4 quantifies the level of amplitude scintillation and is computed as the standard deviation of the receiver power normalized by its mean value. σϕ measures the phase scintillation and is obtained evaluating the standard deviation (in radians) of the detrended carrier phase, averaged over a specific temporal window, of 1minute of data. According to the temporal duration of the window used to perform the average, different versions of σϕ can be defined. The widely used 60 seconds version of σϕ is indicated as Phi60 . The scintillation effects on the tracking loop of a GNSS receiver consist in an increase of thermal noise due to a decrease of C/N0 and an increase of the phase error. The Power Spectral Density (PSD) of the phase error due to scintillation can be modelled as in  by an inverse power law given by the following
Where T is the spectral strength of the phase noise at 1 Hz and p is the spectral slope of the phase PSD, f is the frequency of phase fluctuations, f0 is the frequency of the maximum irregularity size present into the ionosphere. Assuming that f ≫ f0 the (2) can be approximated by =.
3. Designing a carrier tracking architecture robust under scintillation
The fast dynamics and the weak signals induced by scintillation can be particularly challenging for the PLL of a GNSS receiver. The latter has the purpose to compare the incoming carrier phase with its local replica and to minimize this error tuning the phase generated by the Numerical Controlled Oscillator (NCO). To increase the robustness of a GNSS receiver under scintillation, a careful selection of the PLL parameters is necessary. In order to follow the high dynamics induced by phase scintillation, short prediction integration time and wide carrier loop bandwidth should be preferred. On the other side, to minimize the noise induced by amplitude scintillation and to obtain accurate carrier phase measurements a long prediction integration time and a narrow carrier loop bandwidth should be selected. To cope with scintillation effects advanced tracking schemes have been proposed in the literature. For example FLL assisted PLL algorithms can be used with the purpose of exploiting the advantages of both tracking schemes . In fact a FLL, although less accurate than the PLL, is less vulnerable to scintillation effects. Another possible approach consists in using the FLL as a backup solution in case of a loss of lock . In order to select the optimum loop parameters an alternative strategy is to exploit adaptive tracking schemes which tune the loop filter bandwidth according to an optimization criteria depending on the estimated C/N0 and signal dynamics . Alternatively, the loop filter can be replaced with a KF  which allows selecting the optimum loop filters coefficients so to minimize the mean square error between the input signal and the replica generated by the NCO ,. However, in order to ensure the optimality of the KF, some assumptions should be fulfilled. First of all, the additive noise should be white and Gaussian, then the process noise covariance and the measurement noise should be known . Indeed any mismodelling could lead to a solution degradation and, in the worst case scenario, to a filter divergence. In this section two KF based PLLs are proposed. Both schemes are based on the use a three state KF. The first architecture is a classical , adaptive KF PLL with the measurement noise tuned according to the monitored C/N0. This scheme will be indicated as AKF (Adaptive Kalman Filter) PLL in the rest of this paper. The second KF PLL scheme adapts in real time not only the measurement noise but also the covariance matrix and the weight of the KF gain, according to the detected scintillation phase variation level. This second scheme will be indicated with the acronym SAKF (Scintillation based Adaptive Kalman Filter) PLL. The latter is based on the algorithm presented in  but it includes also an algorithm to weight the KF gains, as detailed later on in this section. For both schemes the KF state vector, defining the parameters to be estimated, is composed of the following three terms
δϕ, which is the difference between the input carrier and the phase of the local carrier provided by the NCO at the beginning of the integration period,
δf, which is the difference between the Doppler shift of the input signal and the Doppler shift affecting the carrier provided by the NCO at the beginning of the integration period,
δa, which is the difference between the frequency rates of the input signal and the carrier provided by the NCO at the beginning of the integration period.
Specifically, the proposed KF PLLs are based on the system model presented in  and it can be so described
Where δφ, δf, and, δa are the driving noise, respectively, of the phase, frequency, and the rate of the frequency variations. In order to define the process noise, the error covariance matrix Q, determined by the expected value of the noise vector, should be defined. The latter can be represented as a diagonal matrix whose elements are PSDs (S (∙)) of the related process noise as in 
In the literature, KF based PLL architectures are traditionally designed assuming that the clock is the main contributor to the bias and the drift error sources and that, when the receiver is static, the frequency rate component error is only due to the dynamics along the Line Of Sight (LOS) between satellite and receiver ,,. Consequently, Sδφ and Sδf can be expressed using the standard expressions provided by the literature for the clock bias and drift spectrum noise  and defined as:
The terms h0 and h-2 are determined by the type of oscillator used by the receiver . The AKF PLL presented herein is based on the traditional assumption that the main bias and drift contributions are due to the clock noise, and, consequently the related PSDs are given by (5) and (6). The SAKF PLL, however, takes into account both clock and scintillation error noise contributions so that and are computed as the sum of the clock and the scintillation spectral noise as in the following
In equations (7) and (8) the sum operation is valid since the clock and the scintillation noise are independent. Moreover, the phase error contributor due to scintillation is computed as =by exploiting the approximation introduced in Section 2. Then, the frequency noise PSD is derived by the phase noise PSD as Sδf-scintillation=f2Sδφ  where f represents the frequency of the maximum irregularity size inside the ionosphere. The value of f is set to 0.19 Hz, which is considered a typical value for this parameter . Furthermore, the scintillation parameters p and T are computed by detrending the carrier phase obtained from the PLL and by evaluating respectively the slope and the strength of the carrier Fast Fourier Transform (FFT) computed at 1 Hz, as presented in . For the work performed in this paper, the computation of the above parameters has been performed over a sliding window of 3000 samples corresponding to 3 seconds of GPS L1 C/A signal integrated every 1 ms. The general scheme of the proposed SAKF PLL is reported in Figure 1 where it is clear that the above scintillation parameters, computed by a dedicated block, are fed into the KF replacing the traditional PLL loop filter. In Figure 1 it can be seen that also C/N0 is exploited to tune the KF. The use of C/N0 as a KF tuning parameter is detailed further in this section.
After defining the system dynamic model, the dynamic process measurements must be estimated . This can be done using directly the correlator output as measurements. In this case the relationship between these measurements and the state vector is highly non-linear and, consequently, an extended iterative KF should be adopted . Alternatively, the output of the discriminator can be used as measurement. Indeed the discriminator provides the estimates of the (aforementioned) parameters of interest from the correlator output. This second approach is adopted in this paper. Consequently, since an atan discriminator has been used, the measurement function is expressed as:
With Q and I indicating the in-quadrature and in-phase components of the correlator output. Lastly, the observation noise variance can be obtained by computing the variance of the discriminator output which, for an atan discriminator, can be approximated  by
With Ts and C/N0 indicating the time of integration and the carrier to noise ratio. From the system process and the measurement model, the KF predictor based PLL can be applied by computing the KF gain vector K as in  so to obtain the final update equation:
Where the superscripts indicate the a posteriori state estimation. The KF gain values assume a fundamental role indicating how much the estimator should rely on the measurements . The gain values can also be fixed a priori and selected in order to have a desired bandwidth as in . The selection of a fixed gain vector is motivated by the reduction of the computational cost. However, the basic assumption of this approach is that the covariance matrix is not changing (assumption of steady state). It has been proved that a three state KF in steady state is equivalent to a third order loop . Furthermore, in  it has been shown that, for different levels of scintillation, there is an optimum gain vector that optimizes the performance of the KF. Consequently, it can be advantageous to design an adaptive KF able to automatically tune the gains according to the scintillation level. With the above consideration in mind the SAKF PLL has been designed in order to have also variable gains changing according to the phase scintillation level. Specifically for the SAKF approach, the gain has been described as a function of Phi3. The latter has been computed as the standard deviation of the detrended carrier phase computed over 3 seconds (3000 samples of GPS L1 C/A signals that have been integrated over a period of 1 ms).
Where is a constant value empirically determined and Phi3 is computed by a sliding window in order to get an update value at each time of integration. The above relationship does not directly include the effect of the signal intensity variation due to scintillation. However it should be considered that the KF gains are evaluated as function of R and, which in turn is computed from the signal’s C/N0. A more direct use of a KF gain weight directly depending on the intensity of the signal amplitude variations is currently under investigation.
4. Experimental set-up and sample results
This section describes the experimental set up and the methodology adopted to test the algorithms described in Section 3. Specifically, a first experiment, described in Section 4.A, has been conducted to assess the proposed tracking scheme by using simulated high latitude GPS L1 data affected by scintillation. Then, a second test, detailed in Section 4.B, has been carried out by exploiting real equatorial GPS L1 data affected by scintillation.
4.1. Test 1: High latitude scintillation scenario
The capabilities of a GSS8000 Spirent signal simulator available at the University of Nottingham have been exploited in conjunction with a physics based scintillation model, the SPLN (St Petersburg, Leeds, Newcastle) , in order to recreate a high latitude scintillation scenario. The SPLN model requires as input the ionosphere background profile, in terms of electron density, obtained from the Nequick model , geomagnetic and solar activity indices, the spectral index, cross field outer scale and aspect ratios of irregularities, and the carrier frequency of the signal. These parameters were selected to recreate a severe high latitude scintillation scenario with the purpose to challenge as much as possible the carrier tracking schemes under test. Afterwards the model outputs, namely scintillation amplitude and phase variations, have been formatted in a user command (.ucd) file, a particular type of file which can be input to the Spirent signal simulator to modify its generated GPS L1 signal. Once the signal affected by high latitude scintillation was produced, the data was collected by using a Universal Software Radio Peripheral (USRP) N210 front end connected to the simulator. The USRP has been used in conjunction with a Low Noise Amplifier (LNA) and an external low noise OCXO (Oven Controlled Crystal Oscillator). Moreover, a Septentrio PolaRxS receiver, used as benchmark, has been also connected to the simulator along with the above front end through a signal splitter. In Figure 2, a picture of the test set up is shown. Specifically, we can see the interface of the Spirent simulator and the GNU Radio Software interface used to collect the data using the USRP N210.
Once captured, the collected data has been post-processed using a GNSS software receiver that included the implemented KF based tracking schemes described in Section 3 and a traditional third order PLL with fixed bandwidth of 15 Hz. The carrier tracking scheme has been set with integration time of 1 ms. Moreover, the spectral noise densities of the clock bias and drift in the KF based algorithms have been computed considering that an OCXO has been used for the data collection. In Figure 3, the S4 and Phi60 values recorded by the Septentrio receiver are shown for the simulated data set.
For Phi60 the first four minutes of data are missing since this time is required by the detrending filter to converge. As expected, the values of S4 are at noise level since high latitude scintillation is characterized by very weak amplitude fluctuations. On the other hand, for Phi60 very high values are observed, since, as previously underlined, intentionally an extreme scenario has been created in order to challenge the carrier tracking algorithms. In Figure 4 a comparison of the phase error obtained at the output of the discriminator for the three mentioned tracking schemes is reported.
It can be observed that the SAKF shows the best performance in terms of noise reduction In Figure 5 the comparison between the phase jitter of the three different schemes is reported.
The phase jitter has been computed as the standard deviation of the phase error over temporal windows of 60 seconds. From this plot it is clear that the KF based schemes outperform the traditional PLL scheme.
4.2. Test 2: Equatorial scintillation scenario
A second test has been carried out by exploiting real equatorial data collected in Vietnam, Hanoi (21° 2' 0" N / 105° 51' 0" E) with a USRP N210 driven by a rubidium clock. Also in this case the data has been processed off-line using the three aforementioned tracking schemes. It should be noted that this time the KF algorithms have been tuned considering that a rubidium clock had been used for the data collection. A case of scintillation with moderate amplitude variation and high phase variation is taken into account for the assessment. The S4 and Phi60 values provided by the Septentrio PolaRxS for the considered satellite are shown in Figures 6.
Looking at the carrier Doppler in Figure 7 and at the phase jitter in Figure 8 we can see that the KF schemes allow reducing the noise if compared with the traditional PLL scheme and again the SAKF PLL achieves the best results.
This paper presented results that demonstrate that KF based PLLs achieve better performance than a traditional fixed bandwidth PLL when the tracked GNSS signal is affected by ionospheric scintillation. This paper also introduced and tested a novel adaptive KF tracking scheme. The novel PLL tracking scheme proposed here exploits widely used scintillation parameters to tune the covariance matrix and suitably weight the KF gains. First tests showed that the proposed tracking scheme enables a better performance by reducing the tracking noise and more closely following the signal dynamics during scintillation events. As future work, the algorithm presented herein will be assessed under a wider and more varied set of scintillation conditions. Moreover, further investigations are ongoing to modify the KF gain weight function in order to directly account also for the signal amplitude variation produced by scintillation.
The authors wish to thank Joaquim Fortuny (Joint Research Centre) for providing the real data affected by scintillation used in this work. The authors are also grateful to Rajesh Tiwari (Newcastle University) for providing the SPLN output used by to create the signal affected by high latitude scintillation. This research work is undertaken under the framework of the TRANSMIT ITN funded by the Research Executive Agency within the 7th Framework Program of the European Commission, People Program, Initial Training Network, Marie Curie Actions.