## Abstract

Interference events, both intentional and unintentional, are significant threats to global navigation satellite system (GNSS) service continuity. In the presence of interference, it can be difficult for GNSS receivers to maintain continuous tracking of carrier phase and frequency. To address this issue, in place of a traditional phase-locked loop (PLL), we develop and validate a new estimation-based approach to allow GNSS receivers to correctly estimate carrier phase and frequency under conditions of low carrier-to-noise power. An adaptive Kalman filter forms the core of the estimator, with a multiple-model algorithm to account for discrete navigation data bit transitions. The performance of the estimator in the presence of wideband interference is validated through simulation and experiment, showing performance markedly superior to that of a PLL.

- adaptive Kalman filter
- GPS carrier phase estimation
- multiple-model estimator
- wideband radio frequency interference

## 1 INTRODUCTION

Jamming events on satellite navigation services, deliberate or unintentional, are becoming more frequent. The Newark airport in August 2013, Denver airport in January 2022, and Dallas Fort Worth airport in October 2022 suffered different levels of radio frequency interference (RFI) jamming and Global Positioning System (GPS) service discontinuity. More than 20 GPS service interruptions are reported every day on the U.S. Coast Guard Navigation Center website (https://www.navcen.uscg.gov). The situation is perhaps not surprising, given that electronic systems and devices that can generate RFI, including commercial products specifically designed for this purpose, are readily accessible to anyone.

Carrier tracking in global navigation satellite system (GNSS) receivers is especially vulnerable to RFI. The carrier tracking function is generally implemented via a phase-locked loop (PLL) to reconstruct the received carrier signal. A PLL uses a phase discriminator and loop filter to continuously measure and compensate for the phase difference between the local signal replica and the incoming carrier signal. The PLL also produces the carrier phase range measurements that are needed in most modern navigation applications. During an RFI event, the additive noise pumped into the PLL degrades the the ability of the phase discriminator to measure the true carrier phase, which, in turn, causes an accumulated error in the carrier reconstruction and eventually a loss of phase lock.

Typical methods for PLL tracking of weak signals include extending coherent averaging times (*T _{av}*) and tightening noise bandwidths. With the use of large

*T*values (for example, greater than 20 ms for GPS signals), in-phase (

_{av}*I*) and quadrature (

*Q*) signal samples must be integrated across navigation data bit transitions. Existing techniques for extending the averaging time over multiple data bits, such as non-coherent memory discriminators (Borio & Lachapelle, 2009) and real-time bit estimation techniques (Stevanovic & Pervan, 2017), introduce biases in the discriminator output in the presence of strong RFI, which, in turn, lead to biases in the reconstructed carrier frequency and ultimately a loss of phase lock.

Tightening the noise bandwidth can be effective in reducing the tracking error variance, given a linear classic control PLL model, but it does not help to reduce the discriminator output variance (Stevanovic & Pervan, 2017). In the presence of strong RFI, the discriminator output can saturate, making the PLL nonlinear and leading to instability and loss of lock.

The PLL is fundamentally a feedback control system, where the *I* and *Q* samples, as interpreted by the discriminator, serve as the sensor (measurement) and the loop filter serves as the compensator (controller). However, the feedback control model is not the only approach for addressing the carrier “tracking” problem. As first proposed by Psiaki & Jung (2002) and advocated more recently by Vila-Valls et al. (2017), this problem can also be understood as an estimation problem amenable to Kalman filtering.

Kalman filter implementations are more flexible than PLLs because their component dynamic and measurement models can be designed to suit the needs of specific implementation scenarios. Kalman filters are also optimal estimators for applications with Gaussian input noise, which is the case for wideband RFI. In earlier work, Kalman filters were used to estimate carrier phase through ionospheric scintillation with *T _{av}* < 20 ms by Vila-Valls et al. (2015) and Humphreys et al. (2010) in simulation tests and by Humphreys et al. (2005) and Vila-Valls et al. (2020) in limited experiments. A Kalman filter architecture was also used by Psiaki & Jung (2002) to track numerically simulated weak GPS signals.

A major challenge in using a Kalman filter for GNSS carrier phase “tracking” is that this tracking corresponds to a hybrid stochastic estimation problem, requiring simultaneous estimation of discrete navigation data bits and continuous carrier phase. For the case in which data bits are completely unknown, Psiaki & Jung (2002) addressed the bit transition using a Bayesian bit estimation technique in which equal *a priori* probabilities were assumed for each new data bit. Of course, when the receiver is operating under low signal strength conditions, the data bits are difficult to distinguish; thus, the authors also provided a means for incorporating *a priori* data bit knowledge. For the limiting case in which all data bits are assumed to be known, the problem collapses to assisted GNSS (A-GNSS) (Morton et al., 2021), which makes use of broadcast navigation data from an external source to remove the data bits. In this case, the receiver must obtain new data whenever there is an ephemerides cutover or new navigation data upload, which, in the case of GPS operations, can happen at any time. As we will show, the use of incorrect bits can result in a loss of phase lock and navigation continuity.

Properly utilizing previously decoded navigation data and maintaining an awareness of any ephemeris cutovers and uploads can significantly improve tracking performance. We analyze multiple days of GPS navigation data transitions to develop a data bit prediction strategy that covers any navigation data change. Understanding that navigation data changes happen infrequently for GPS, we then introduce a detection method for such changes to enable adaptive updates of *a priori* bit probabilities when needed, while simultaneously maximizing the use of data bit knowledge for cases in which a navigation data transition has not occurred.

In the latter case, it is possible to have an averaging time longer than 20 ms, but we limit ourselves to *T _{av}* = 20 ms because this setting is also applicable to the case in which data bit changes have been detected. Further, the Kalman filter uses

*I*and

*Q*measurements directly, unlike a PLL, where it is necessary to average out noise prior to the construction of a nonlinear discriminator. The Kalman filter itself effectively “extends” the averaging time to the level permitted by oscillator phase noise and, in the case of moving users, inertial random walk errors. Additionally, longer averaging times result in one carrier frequency output as an average value over the entire period, leading to larger biases in carrier frequency estimation as the averaging period becomes longer.

The applications we are initially targeting are aviation operations threatened by unpredictable wideband RFI events. Currently, there is no reliable method for supplying navigation data bits from an external source to aircraft or related GNSS ground-based augmentation systems (GBASs). We do not address the problem of signal acquisition during interference because our goal is to continue tracking existing satellites through RFI events of limited duration, not to start up and operate continuously in low-signal-strength environments (e.g., indoors with A-GNSS). However, we do leverage the fact that the broadcast ephemeris decoded prior to the onset of RFI, except for events of especially long duration, will still be valid for satellite position and clock determination during the event, corresponding to at least 2 h in the case of GPS (Dunn, 2013).

In our prior work (Zhao & Pervan, 2019), we performed preliminary simulation trials to study the feasibility of a multiple-model (MM, special case of IMM, interacting multiple model) Kalman filter approach for carrier phase estimation, with encouraging results for a static phase and different levels of knowledge of navigation data bits. Additionally, we showed experimental results under interference-free conditions (Zhao & Pervan, 2020b). The MM filter was able to generate the same carrier phase estimates as the PLL in scenarios with nominal signal strength. We also performed experiments under interference, with results showing superior performance of the MM filter over the PLL (Zhao & Pervan, 2020a). When strong wideband RFI was present, the MM filter produced correct carrier phase estimates, whereas the PLL could not track the signal.

In this paper, we provide a review of our prior work (Zhao et al., 2021; Zhao & Pervan, 2019, 2020a, 2020b), present new experimental results quantifying performance for different interference powers, and implement and assess the effectiveness of data bit prediction and navigation data transition detection via the MM approach to further boost estimator performance during wideband RFI events.

Presently, we consider an example application in a GBAS reference station receiver subjected to broadband interference, for instance, from nearby use of personal privacy devices (Pullen & Gao, 2012). However, the developed methods can, and will in future work, also be applied to moving GPS reference receivers with inertial aiding.

In Section 2, the MM algorithm and its Kalman filter components are described. Section 3 presents and discusses simulation results for the MM estimator. Section 4 describes the experimental scenario and setup. Section 5 presents experimental results under normal and interference conditions. Section 6 shows experimental results for the MM estimator with navigation data bit prediction. Section 7 quantifies the probability of detection of new navigation data uploads. In Section 8, we summarize the results and share ideas for future research.

## 2 KALMAN FILTER AND MM ALGORITHM

Whereas PLLs are typically fixed structures with predefined discriminators and loop filters, Kalman filters have internal adaptability to rely more heavily on either measurements or phase dynamics depending on the noise levels. Extended coherent averaging times are needed to track through strong interference. If no external information about the navigation data bits is available, the maximum coherent integration time for GPS is 20 ms, which is the duration of one navigation data bit. However, if achievable, even longer coherent integration times could help to significantly average out noise, resulting in cleaner *I* and *Q* measurements.

The carrier tracking loop updates the local carrier frequency using *I* and *Q* samples averaged over each successive coherent integration window. Wideband interference events contribute additive white Gaussian noise directly to the *I* and *Q* measurements. For typical PLL implementations using phase discriminators, these noisy measurements can easily cause phase errors exceeding the pull-in limit of the discriminator, which usually leads to cycle slips and an eventual loss of lock.

The shortcomings of a traditional PLL can be overcome by using a Kalman filter to estimate the carrier frequency and phase directly. The goal in carrier tracking is to produce the best phase and frequency estimates under noisy conditions, which the Kalman filter can optimally accomplish given that the noise is white (which is the case for wideband interference). Figure 1 shows a top-level block diagram of an IMM/Kalman-based carrier phase tracking architecture as it would be implemented in a software-defined receiver (SDR).

In our interference scenario, we assume that the receiver is already tracking, post-acquisition, before being subjected to an RFI event, and as a result, the Kalman filter estimate error is small immediately prior to the event onset.

### 2.1 Dynamic Model

Our goal is to estimate the carrier phase and frequency in real time. Over one pre-detection averaging interval, *T _{av}*, the total phase change is

*ϕ*=

_{tot}*ϕ*+

_{Dopp}*ϕ*, where

_{clk}*ϕ*is the phase change due to relative movement between the satellite and receiver. For our current development, we assume a static receiver, e.g., a GBAS reference receiver, such that

_{Dopp}*ϕ*is the result of satellite motion only, which is known and removed by using the last decoded broadcast ephemeris. (In future work, user motion can be accounted for by using inertial sensors.) Therefore, we need only a clock phase dynamic model for our Kalman filter.

_{Dopp}The power spectral density (PSD) for clock phase noise can be expressed by the conventional power law model:

1

The values of the *h* coefficients will depend on the specific receiver and satellite clocks.

As an example, in the experimental and simulation work described later in this paper, we use independent SpectraTime Low Cost & Profile Frequency Rubidium Standards (LPFRS) for both the receiver and satellite signal simulator. The clock product specifications provide phase noise data points at 1, 10, 100, 1000, and 10000 Hz as −80, −100, −130, −140, and −150 dBc/Hz, respectively. Using the coefficients *h*_{2} = 0, *h*_{1} = 0, *h*_{0} = 1.241 × 10^{−6}, *h*_{−1} = 0, and *h*_{−2} = 2.4819 × 10^{−12}, we upper bound the specifications, as shown in Figure 2.

In the figure, the solid lines represent the PSDs after pre-detection averaging with *T _{av}* = 20 ms, and the dashed lines show the results obtained before averaging. The blue circles are data points from the clock phase noise PSD specifications.

For Kalman filter implementation, we now define a state vector to include the signal amplitude (*A*), clock phase (*ϕ _{clk}*), and clock frequency (

*f*). We also define the following dynamic process model:

_{clk}2

where Δ*t* = *T _{av}* is the time increment represented by index

*k*and

*w*~

_{k}*N*(0,

*W*) is time-independent white noise. The process noise covariance matrix is as follows (Chan et al., 2014):

3

where:

4

5

*f*_{0} is the carrier frequency (e.g., *f*_{0} = *f*_{L1} = 1575.42 MHz for the GPS L1 signal), and *δ*^{2} ≈ 0 is included to allow for small nominal process noise on the amplitude state.

### 2.2 Measurement Model

The measurement model, with the known contributions of *ϕ _{Dopp}* to the

*I*and

*Q*components removed, is as follows:

6

7

where *d _{k}* = ±1 is the navigation data bit and

*v*and

_{i,k}*v*are white measurement processes distributed as [

_{q,k}*v*

_{i,k}*v*]

_{q,k}^{T}~

*N*(0,

*V*) with . The measurement error variance for a unit amplitude signal is related to the carrier-to-noise ratio (

_{k}*C/N*

_{0,k}) by the following:

8

9

The observation equations (Equations (6) and (7)) are nonlinear in state *ϕ _{clk,k}*; thus, for the Kalman measurement update to be conducted, the equations must be linearized about the best available estimate, , obtained from the previous dynamic update.

### 2.3 MM Algorithm

The MM algorithm is a dynamic multiple-hypothesis estimator. It assumes that the system obeys one of a finite number of continuous models at a time but is capable of switching between models at discrete intervals. The algorithm has been described comprehensively by Bar-Shalom et al. (2004); thus, only a brief summary is given here, with additional clarifications in the Appendix and with an emphasis on application to the problem at hand—GNSS data bit transitions.

A flowchart of an example two-hypothesis MM estimator is shown in Figure 3. At the top, prior state estimate vectors *x*_{1}(*k* – 1|*k* – 1) and *x*_{2}(*k* – 1|*k* – 1) and their corresponding error covariance matrices *P*_{1}(*k* – 1|*k* – 1) and *P*_{2}(*k* – 1|*k* – 1) are obtained from two component Kalman filters executed in the previous cycle. These are input into a “mixing” function to compute modified inputs for the next Kalman filter cycle: *x*_{1m}(*k* – 1|*k* – 1), *P*_{1m}(*k* – 1|*k* – 1) and *x*_{2m}(*k* – 1|*k* – 1), *P*_{2m}(*k* – 1|*k* – 1). Each Kalman filter represents a specific mode, which may differ from each other in the dynamic model or measurement model (or both). Using its own measurement model, each filter will then perform a measurement update using the same measurement *z*(*k*) and a time update with its own dynamic model. Likelihood functions Λ_{1}(*k*) and Λ_{2}(*k*) are then evaluated and used to calculate current mode-state (*μ _{k}*) and mixing (

*μ*

_{k|k}) probabilities, with the latter used to commence the next cycle. The Appendix provides additional details. The output state estimate vector and error covariance matrix,

*x*(

*k*|

*k*) and

*P*(

*k*|

*k*), are computed using the individual Kalman filter results

*x*

_{1}(

*k*|

*k*),

*P*

_{1}(

*k*|

*k*) and

*x*

_{2}(

*k*|

*k*),

*P*

_{2}(

*k*|

*k*) and the mode probability vector

*μ*.

_{k}In our MM application, two modes are run in parallel, as shown in Figure 4, corresponding to two measurement models with navigation data bit values of *d* = 1 and *d* = −1. The Kalman measurement updates for both modes are performed using the same *I* and *Q* measurements. The dynamic models are also the same for both modes, as defined in Section 2.1.

For now, we assume that the data bits are sequentially independent, the mode (bit) transition probabilities are both , and the mode transition matrix is a 2 × 2 matrix with each element equal to . The “mixing” process shown in Figure 3 for the standard MM algorithm is not needed in this case because of the uniform structure of the mode transition probability matrix. The proof is provided in Appendix A. The result, as illustrated in Figure 4, is that the final (fused) output state and covariance can be fed directly into both mode filters at the next time step. However, the MM approach can also accommodate more general cases, where there is reduced uncertainty in bit transitions, as will be discussed in Section 6.

## 3 SIMULATION

In our simulation tests, we integrated the measurement models and the dynamic model into the component Kalman filters to evaluate the carrier frequency estimation performance of the MM algorithm. We generated “true” carrier phase and frequency time profiles as well as random data bits. We also added white noise into the true signal to simulate the effect of an interference event. The initial interference-free signal carrier-to-noise ratio was set to 51 dB-Hz, and we evaluated the effects of subsequent interference events that reduced *C/N*_{0} to 25 dB-Hz and 15 dB-Hz.

We started the simulation with a steady-state covariance matrix corresponding to a high initial signal power. A 20-ms coherent averaging time was applied throughout the simulation, and the total simulation duration was 4 min. The interference events started at 110 s for all scenarios. The results of the simulation were captured as carrier phase and frequency estimation errors between the MM Kalman filter output and the corresponding true inputs.

Figures 5 and 6 show results for the case with 25-dB-Hz interference, and Figures 7 and 8 present results for the 15-dB-Hz case. The resulting phase and frequency errors have a zero mean throughout the run. After the interference onset, the estimator-predicted standard deviations of phase and frequency error increase but remain within a controlled range: 2.73° and 0.0097 Hz for the phase and frequency error, respectively, for the 25-dB-Hz case and 7.96° and 0.0142 Hz for the phase and frequency error for the 15-dB-Hz case. In both cases, the computed sample deviations were nearly identical to the predicted values derived by the covariance analysis of Zhao et al. (2021).

## 4 EXPERIMENTAL SCENARIO AND SETUP

### 4.1 Experimental Setup

GPS radio frequency signals were generated using a Spectracom GSG-6 GNSS simulator. Two LPFRS clocks were used as time references for the satellites and receiver. A Universal Software Radio Peripheral (USRP) N200 was used as the radio frequency front-end to collect the sampled data for post processing. The IMM estimator was implemented in an SDR. Figure 9 shows an overview of the experimental setup.

### 4.2 Experimental Scenario

The experiment involved a static GPS reference receiver operating over a 4-min period with five satellites (pseudorandom noise [PRN] 1, 7, 11, 28, 30). The normal signal strength prior to the onset of the RFI event was set to 51 dB-Hz. The onset of the RFI event was 2 min after the beginning of the experiment so that the receiver had sufficient time for acquisition and for locking on to the nominal signals.

The interference event was instigated by reducing *C/N*_{0} from 51 dB-Hz (which was the starting signal strength for all five satellites) as follows: no drop for PRN 1, 6-dB-Hz drop for PRN 30, 16-dB-Hz drop for PRN 7, 26-dB-Hz drop for PRN 11, and 36-dB-Hz drop for PRN 28. These scenarios are described in Table 1.

## 5 ESTIMATOR PERFORMANCE

The MM carrier frequency estimate errors were compared with those of a traditional PLL. For the PLL, the carrier frequency estimate error is the same as the frequency tracking error because the PLL does not have an “estimation” process.

To make as fair a comparison as possible, we also applied traditional interference mitigation methods for the PLL, including tightening the noise bandwidth and setting the pre-detection averaging time to the maximum of 20 ms (the MM filter and the PLL were both running with a 20-ms averaging time).

Preliminary experimental results showed that rapid tightening of the PLL bandwidth after acquisition caused the PLL to become unstable. Thus, the PLL noise bandwidth was tightened gradually, starting at 15 Hz and ending at 1 Hz, before the MM filter was initialized. Bandwidths lower than 1 Hz resulted in unstable PLL performance.

The receiver started without interference for acquisition and initial PLL tracking. During the initial tracking period, information useful to the MM estimator was collected in preparation for the start of the MM filter. This information is shown in the box in Figure 10, including the past navigation data bits and the initial conditions of the MM filter state vector.

The past navigation data bits were used to generate a Doppler table to remove satellite motion from the received carrier frequency and to (partially) predict navigation data bits (used later in Section 6). The initial state vector included the signal amplitude (calculated from ), clock frequency (calculated by subtracting the satellite motion from the PLL carrier frequency), and clock phase (calculated by integrating the clock frequency).

In the timelines shown in the results, the MM filter was initialized at 80 s, and the interference event onset was at 110 s. After initialization, the MM estimator and the PLL ran in parallel independently to enable a comparison of their responses to the interference events.

### 5.1 Validation

We first assessed the results for PRN 1, which had no interference. In this case, the MM filter was expected to have approximately the same level of carrier frequency estimation error as the PLL. Figure 11 shows the carrier frequency estimation error results for the MM filter (red) and the PLL (blue).

The results show that the tracking error of the PLL decreased slowly as we tightened the PLL noise bandwidth. At 80 s, the coherent averaging time of the PLL was increased to 20 ms, and the MM filter was initialized (with the same *T _{av}*). At 80 s, after a short period of MM convergence, the variances of the carrier frequency estimation error (MM) and tracking error (PLL) were nearly the same. Thus, in the interference-free case, we see that the MM filter preserves the same carrier frequency estimation ability as the traditional PLL.

### 5.2 Wideband Interference

Next, we performed the same test as in Section 5.1 for the other PRNs, which experienced different levels of interference starting at 110 s. Figure 12 shows the carrier frequency estimation error for PRN 7, whose carrier-to-noise ratio decreased from 51 dB-Hz to 35 dB-Hz at 110 s. As shown in the figure, the PLL and the IMM filter operate with no interference from 80 to 110 s with similar output error variances. After the interference onset, both error variances increase, but the MM filter output shows a notably smaller increase compared with the PLL output. At 35 dB-Hz, the PLL is still functional, as its tracking error output maintains a zero mean; thus, there is no loss of lock.

Figure 13 shows the results for PRN 11, which has an interference event at 110 s in which *C/N*_{0} is decreased to 25 dB-Hz. Beginning at 110 s, the carrier frequency tracking error of the PLL drifts away from zero (recall that we have already applied interference mitigation methods, including tightening the noise bandwidth and increasing the coherent averaging time). Because the frequency tracking error does not have a zero mean, the PLL is no longer able to maintain a lock on the carrier. In contrast, the MM filter was able to maintain a zero mean on the carrier frequency estimation error output. The frequency estimation error variance is 0.0818 Hz during the 25-dB-Hz jamming period.

Figure 14 shows the results for PRN 28, which experiences a carrier-to-noise ratio of 15 dB-Hz after interference onset at 110 s. As expected, given the results of the previous case at 25 dB-Hz, the PLL again lost lock. In contrast, the MM filter was able to produce zero-mean carrier frequency estimation results at 15 dB-Hz, albeit with a larger variance than in the 25-dB-Hz case. The standard deviation of the filter-predicted frequency estimation error was 0.1688 Hz during the 15-dB-Hz jamming period. Again, the actual sample standard deviation of the frequency error output is nearly the same as the filter-predicted value for all scenarios. The frequency estimation error variance in the experimental test results is larger than the simulation value because the simulation used identical measurement error models for the filter and the random noise generation in the *I* and *Q* samples and also assumed perfect (zero-error) linearization points in the measurement model.

The results of these experiments show that the MM filter is more stable and reliable than the PLL under wideband interference. The integrated clock dynamic model and the two-hypothesis MM implementation help the estimator to distinguish data bits under noisy conditions and produce accurate estimates of carrier phase and frequency.

## 6 DATA-BIT-ASSISTED ESTIMATOR

Before we can develop a strategy for data bit assistance, we must understand how the navigation data bits are updated during ephemeris cutovers and navigation data uploads. For aviation applications, which are of primary interest in this study, there is no reliable mechanism for supplying navigation data bits from an external source, as is done with A-GNSS.

In a new GPS upload, the ground control segment uploads to the satellite all elements of navigation messages for the next day (or longer). Information in all of the frames is updated, including the ephemeris, clock parameters, almanac, and so on. A new upload usually happens once a day and can happen at any time.

A GPS data cutover occurs when the satellite begins broadcasting the next segment of ephemeris data from the last upload to users. These cutovers normally happen every 2 h at the top of the hour.

### 6.1 Upload-Robust Data Bit Prediction Strategy

Navigation data messages are standardized, well-structured binary bits broadcast by satellites to communicate with GPS receivers about ephemerides, almanacs, satellite health status, and other information. For this work, we focus only on the GPS L1 signal and its “legacy” navigation data bits. The navigation data message is modulated on the carrier at 50 bps and contains five subframes, each of which has 300 bits, with each bit being 20 ms in length. Subframes 4 and 5 each have 25 separate pages. At every 30 s, GPS satellites will transmit one frame: 1500 bits including subframes 1, 2, and 3 and one page each from subframes 4 and 5. Thus, collection of the whole navigation data message (superframe) takes at least 12.5 min.

The navigation data bit structures are pre-defined in IS-GPS-200H (Dunn, 2013). Some bits never change or rarely change, which opens the possibility of predicting future data bits using old data bit information. We consider the case in which a receiver decodes a sufficient number of subframes before RFI onset to enable partial data bit prediction during the event. This assumption is reasonable, given that an aircraft would not take off in the presence of RFI and that any external augmentation systems that are vulnerable to RFI operate continuously.

Using navigation data bits collected over several days, we have categorized the bits that remain predictable through ephemeris cutovers and new uploads. Some bits never change (e.g., preamble bits) or are easily predictable (e.g., time-of-week and subframe identification bits). For a number of other parameters (e.g., related to space vehicle (SV) clock corrections and certain orbit elements), the most significant bits do not change. Based on the information gained, we have developed a partial bit prediction strategy that predicts only the bits that remain unchanged through navigation data uploads. This strategy is conservative most of the time because a larger number of bits would remain predictable even through ephemeris cutovers, but it is necessary to ensure tracking continuity through uploads, which can happen at any time. The prediction strategy (i.e., exactly which bits are predicted) is detailed in Appendix B.

Figure 15 shows example data bit prediction maps for the five upcoming subframes based on the five previous subframes. The data bits from the last five subframes (50 rows × 30 columns = 1500 bits in total, each block representing one data bit) are shown on the left. The bits predictable through a subsequent upload are shown on the right. Dark blue blocks represent bit “*d* = 1,” light blue blocks indicate bit “*d* = −1,” and unpredictable bits are shown in grey. For predictable bits, we use a prior probability of 1 in the MM estimator; for bits deemed unpredictable, we use a prior probability of 1/2. The figure provides a rough visual idea of how many data bits are predictable. With this bit prediction strategy, an average of approximately 38% of bits are predicable over the entire set of 25 frames.

In the following section, we show results for the MM filter with and without data bit prediction. We also show results for an assisted-GPS-like prediction strategy, i.e., where all bits are assumed to be predictable through an upload.

### 6.2 Data Bit Prediction Results

Figures 16 and 17 show carrier frequency estimation error results for PRN 28 (15-dB-Hz case) and the standard deviation during interference without and with upload-robust data bit prediction. Blue points represent the MM filter carrier frequency estimation error output, and black points indicate the corresponding standard deviation. Comparing the results in the two figures, we observe that the standard deviation of the carrier frequency estimate error decreases when the predictable bits are exploited. These experimental results show that modest (≈ 40%) data bit prediction can help the MM filter to improve estimation results.

After a new navigation data upload, approximately 31% of the bits change, on average. In the next test, we evaluate the performance of a 100% bit prediction strategy (e.g., A-GNSS) through a navigation data upload by deliberately seeding 31% incorrect bits that are randomly placed.

The results in Figures 18 and 19 show large estimation errors for both carrier frequency and phase during the RFI event, which starts at 100 s. We assume that a navigation data upload occurs at 100 s, but the MM filter is not aware of the upload and therefore still applies the 100% bit prediction strategy. As the results show, there is a high risk of losing continuity if the 100% bit prediction strategy (e.g., A-GNSS) is applied without any detection of ephemeris uploading.

## 7 ADAPTIVE APPROACH FOR NEW UPLOADS

Using the upload-robust strategy described in Section 6.1 guarantees good performance regardless of whether there is a new upload. However, it is undeniable that further potential performance improvement is possible during periods when the data bits remain unchanged. For this reason, it is worth considering using a 100% bit prediction strategy during those times and then adaptively switching to upload-robust prediction if a new ephemeris cutover or upload is detected. This adaptability to real-time ephemeris updates enables the MM filter to optimize the utilization of existing ephemeris data while ensuring uninterrupted service continuity.

### 7.1 IODE Check

Issue of data ephemeris (IODE) bits provide users a convenient way to detect any change in the ephemeris representation parameters. The IODE is a string of eight bits located in three places: word 8 of subframe 1, word 3 of subframe 2, and word 10 of subframe 3. Compared with those in the immediately previous frame, any difference in the IODE bits in a new block of subframes indicates that either an ephemeris cutover or a navigation upload has occurred. GPS ephemeris cutovers always happen on the hour, normally at every two hours; thus, if the detection does not happen on the hour, the detection signifies a new upload. There are other bits that can also serve as a means for detecting changes in navigation data, but none occurring so early in the message and so frequently (every 6 s).

Given the risk of losing continuity, as shown in the carrier phase and frequency error plots in Figures 18 and 19, where the carrier phase error increased by 40 rad (nearly seven cycles) in just 6 s, the best strategy is to use the upload-robust bit prediction until the data transition test is passed. For each subframe we receive, we perform an IODE check against the previous IODE. If the IODEs are the same, we assert that the navigation data have not changed, and we move to a 100% bit prediction strategy for the remainder of the navigation data bits. Obviously, interference events greatly increase the difficulty of correctly verifying whether the IODE bits have changed. We denote the probability of making a false claim *P _{f}* as the probability of incorrectly estimating a single bit; we will quantify this probability later in Section 7.2.

Because there are redundant IODEs available in each block of five subframes of navigation data, we will evaluate two methods for checking these IODEs. The first is a “single-check” method, in which we compare the IODE in current subframe 1 to the IODE in subframe 1 of the previous frame. The second is a “triple-check” method, in which we check all three IODEs from current subframes 1, 2, and 3 to ensure that they are the same and then compare them with the IODEs in the previous frame.

There is a trade-off between making mistakes in IODE change detection and improving performance. The single-check method allows us to apply a 100% bit prediction strategy for the remaining four subframes if no new upload is detected, but with a higher risk of losing continuity. For the triple-check method, the risk of losing continuity is lower, but the 100% bit prediction strategy can be applied only to the last two subframes.

There is little consequence in “detecting” a navigation data change when there actually is none because the data bit prediction strategy simply remains in upload-robust mode. However, the opposite is not true. If a new navigation data upload is not detected and we switch to 100% prediction mode, we can expect to lose continuity, as shown in Figures 18 and 19. However, the probability of this happening is relatively low, as there are typically only one or two new uploads per day out of 2880 frames received, which means that the probability of the current frame being from a new upload is approximately per frame or equivalently per hour (as the frame update interval is 30 s). Therefore, the risk of losing continuity due to missing an IODE change in a new frame is approximately for a single IODE check and for a triple IODE check per hour.

### 7.2 Continuity Risk Quantification

It is not easy to determine with 100% confidence that certain bits have changed during broadband interference because of the increased noise. Figure 20 shows example data bit probabilities obtained from the MM filter output for different levels of *C/N*_{0}.

The green bar represents normal operation conditions with *C/N*_{0} = 45 dB/Hz, with the data bit probability samples from the MM filter output tightly lumped near 1 and 0, indicating that the MM filter can easily distinguish whether the current bits are 1 or 0. As the *C/N*_{0} degrades to 35 dB/Hz, the blue samples shift towards the center point (50% probability) and start to overlap. When *C/N*_{0} is lowered to 15 dB/Hz, the red samples spread out more uniformly between 0% to 100%, indicating that the MM filter has notable difficulty in determining the bits.

Consider the example *I*–*Q* scatterplot shown in Figure 21, where the amplitude of the *I* and *Q* samples is normalized to 1. In this example case, the carrier phase is set to 45°, and the red dot is the ideal *I*–*Q* sample location without noise. The blue dots are the simulated *I* and *Q* samples for *C/N*_{0} = 15 dB/Hz. The averaging time is *T _{av}* = 20 ms.

Whenever the blue *I*–*Q* samples enter the region in the lower left half plane bounded by the black dashed line, the MM filter will make a false determination on the data bit. The probability of a wrong bit determination is a function of current carrier phase, *C/N*_{0}, and averaging time, *T _{av}*. The

*I*and

*Q*samples are independently and identically distributed as

*N*(1,

*σ*

^{2}), where

*σ*is related to

*C/N*

_{0}and

*T*by Equations (8) and (9). Given

_{av}*C/N*

_{0}= 15 dB/Hz and

*T*= 20 ms, the probability of false bit determination

_{av}*P*is 13%.

_{f}For an example (typical) navigation service continuity risk requirement of 10^{−5} per hour, we can evaluate whether either of the two types of IODE checks meet the requirement. Figure 22 shows the continuity risk as a function of *C/N*_{0} and *T _{av}* = 20 ms for both checks. The single-IODE-check method fails to meet the continuity requirement for

*C/N*

_{0}≤= 24 dB/Hz. The triple-IODE-check method manages to maintain continuity down to approximately 15 dB/Hz.

We evaluated the performance improvement of the MM filter using the same data as in Section 6.2. The results are shown in Figures 23 and 24. Compared with the results in Figure 17, the single-IODE-check method reduces the standard deviation of carrier frequency estimation error from 0.1388 Hz to 0.0832 Hz, but does not meet the example continuity requirement for *C/N*_{0} ≤ 24 dB/Hz. The triple-IODE-check method achieves a smaller improvement of nearly 17%, reducing the standard deviation to 0.1107 Hz, but significantly lowers the continuity risk.

## 8 CONCLUSION

In this paper, we proposed an MM carrier phase estimation algorithm to enable GPS receivers to track carrier phase and frequency through wideband RFI events. We demonstrated the effectiveness of the estimator and its component Kalman filters in carrier phase tracking through simulations and experimental tests. Even under strong wideband interference events with *C/N*_{0} = 15 dB-Hz, we show that the new estimator is able to accurately estimate carrier phase and frequency, whereas PLLs cannot maintain a lock. Finally, we show experimental results obtained by using the estimator with new navigation data bit prediction strategies to further improve performance.

## HOW TO CITE THIS ARTICLE

Zhao, W., Khanafseh, S., & Pervan, B. (2024). Adaptive multiple-model Kalman filter for GNSS carrier phase and frequency estimation through wideband interference. *NAVIGATION, 71*(2). https://doi.org/10.33012/navi.646

## CONFLICT OF INTEREST

The authors declare no potential conflicts of interest.

## ACKNOWLEDGMENTS

We thank our sponsors at the Federal Aviation Administration for supporting this research. The views and opinions expressed in this paper are those of the authors and do not necessarily reflect those of any other organization or person.

## APPENDIX A: MM ALGORITHM SIMPLIFICATION

Following Bar-Shalom et al. (2004), the standard MM mixing process for mode *j*, with *r* modes in total, is as follows:

A1

where the mixing probabilities *μ*_{i|j}(*k* – 1|*k* – 1) are as follows:

A2

*p _{ij}* is the (

*i*,

*j*)-th element of the transition probability matrix, and

*μ*(

_{i}*k*– 1) is the mode probability. We have the following:

A3

The mode probabilities are given by the following:

A4

where:

A5

and Λ_{j}(*k*) is the likelihood function for mode *j* at time *k*.

Given measurement vector *z*(*k*) and observation matrix *H _{j}*(

*k*), the Kalman filter innovation vector is , and its covariance matrix is

*G*(

_{j}*k*) =

*V*(

_{j}*k*) +

*H*(

_{j}*k*)

^{T}

*P*(

_{j}*k*|

*k*– 1)

*H*(

_{j}*k*). The likelihood function for mode

*j*at time

*k*is then given as follows:

A6

**Example**

For *r* = 2, as in our application and for the case in which no prior knowledge of the data bits is available, . We then have the following:

A7

By substituting into Equation (A2), we obtain the following:

A8

Therefore, we have the following relationship:

A9

as claimed.

Following Bar-Shalom et al. (2004) and taking mode 1 as an example, the standard covariance matrix mixing process is as follows:

A10

By substituting Equations (A8) and (A9) into Equation (A10), we obtain the following:

A11

where the right-hand side is the expression for the (combined) output covariance, *P*(*k* – 1|*k* – 1), so that the following holds:

A12

Similarly, we have the following:

A13

The mode probabilities themselves are obtained by substituting Equation (A7) into Equations (A5) and (A4):

A14

A15

## APPENDIX B: DATA BIT PREDICTION STRATEGY

Tables B1 and B2 present the details of our data bit prediction strategy. In these tables, we show how many bits we can predict among the total bits of each parameter in the navigation message over a long time period including an ephemerides cutover and new upload.

This is an open access article under the terms of the Creative Commons Attribution License, which permits use, distribution and reproduction in any medium, provided the original work is properly cited.