Use of GNSS Doppler for Prediction in Kalman Filtering for Smartphone Positioning

This article demonstrates an alternative approach that uses global navigation satellite system (GNSS) Doppler measurements in a Kalman filter (KF) to improve the accuracy of GNSS smartphone positioning. The proposed method automates the process of estimating the uncertainty of the dynamics model of the system, which is still a challenge for the conventional KF-based GNSS positioning methods that require heuristic tuning. Automation of dynamics model uncertainty estimation also demonstrates notable improvement in GNSS outlier detection or fault detection and exclusion. In addition, this article will perform a quality assessment of the GNSS observations obtained from two Android smartphones and investigate the performance of the proposed method when using GPS L1 + Galileo E1 signals compared to GPS L5 + Galileo E5a signals.

Conventional EKF methods, which assume a dynamics model is the most popular means of achieving kinematic positioning due to their straightforward theory and implementation [4], [5].Before moving ahead, we define the equation for state prediction used in an EKF where after dropping the subscript "k" denoting discrete time, x is the state vector, Φ is the transition matrix, and w is the white noise driving function.
Three commonly used conventional EKF implementations considered in this article are as follows.
1) Position as random walk (PRW) 2) Velocity as random walk (VRW) 3) Velocity as Random Walk with Doppler-derived velocity in the measurement update (VRWD) In the above-mentioned definitions, z is the measurement vector, p is the position, v is the velocity, I is the identity matrix, Δt is a time increment, ρ is pseudorange, vu is the Doppler-derived velocity estimate, and ω is white noise.
The main limitation of conventional EKF methods is the need to make assumptions about the dynamics model of the system, which for the EKF implementations mentioned above is governed by the stochastic properties of the white noise ω.
The optimal power spectral density (PSD) value for ω or the process noise covariance matrix Q, which adequately represents the error in the dynamics model of the system, is often obtained through heuristic or manual tuning.In reality, the motion of a user is difficult to predict.For example, if we assign a random walk model to a deterministic motion, it can result in significant estimation errors caused by the misrepresentation of the true behavior of the system.To mitigate the need for such demanding assumptions, a methodology called the "go-free" concept was developed in [1].Under this concept, variables, whose stochastic nature is not well known, are made "go-free."This does not imply discarding the variables altogether but rather avoids making speculative assumptions about them.While a complementary filter is suboptimal compared to conventional KFs, in cases where the state vector variables are accurately modeled, it is crucial to emphasize the demanding requirement of accurate modeling for a conventional KF [1].As stated earlier, if the dynamics are mismodeled, the estimation process can yield highly erroneous results.
The formulation of the complementary filter originated from the "go-free" methodology and can be accurately described as one of its implementations [1].It is a well-established method to perform GNSS/INS integration but can also be applied to any sensor or aiding information that can provide a suitable dynamic reference trajectory with high continuity and reliability.One such aiding information is delta-ranges derived from the GNSS carrier phase [1], [2], also known as the time-differenced carrier phase (TDCP).A position state increment (Δx t t−1 ) can be derived from delta-ranges (Δϕ t t−1 ) using a least squares formulation, which helps propagate the position state forward where ϕ is the carrier-phase errors and A is the unit line of sight matrix.W is the weight matrix.The authors in [6] and [7] presented two KF methods, named the stepwise-unbiased-position projection-filter (SUPF) and the stepwise-optimal-position projection-filter (SOPF).These filters also use the carrier phase to propagate the position state forward.Although the methods are formulated as total-state KFs, they can be designed as complementary filters, as shown independently by a team at Tampere University [8], [9], whose work closely corresponds to the SOPF.The differences between Hwang and Brown's complementary filter (HBCF), SUPF, and SOPF are presented as follows: 1) HBCF: W = Identity and ϕ = 0; 2) SUPF: W = Identity; 3) SOPF: W = C −1 ϕϕ ; where C ϕϕ is the covariance matrix of the carrier-phase errors.The HBCF method considers carrier-phase measurement errors as zero and, therefore, provides what it considers an exact reference trajectory It is important to note the existence of another class of filters known as range-domain (RD) filters.The work discussed so far has focused on position-domain (PD) filtering, which uses Doppler or TDCP to estimate velocity or position increment to propagate the position state forward.RD filters predate PD filters and uses Doppler/TDCP measurements to smooth the pseudorange.An early example is the Hatch Filter, introduced in [10].Since then several alternative filters have been proposed [11], [12], [13].Some popular examples include the phase-connected filter [14], phase-adjusted filter [15], and stepwise-optimal RD filter [6], [7], among others.Earlier RD filters employed TDCP for pseudorange smoothing, but over the last decade, new RD filters have emerged that use Doppler-smoothed-code (DSC) [16], [17].DSC was applied to smartphones in [18], where the authors presented enhanced relative positioning between smartphone receivers using DSC.Another study, [19], used DSC with a constant acceleration model to improve multi-GNSS RTK for a moving smartphone.RD filters have been demonstrated to have suboptimal performance compared to PD filters [12], [13], particularly in kinematic situations.Therefore, this study will focus exclusively on PD filters and will not explore the use of RD filters.
Examples of PD filters used for smartphone positioning include using TDCP to estimate the velocity state in the filter [20], [21].Note that these and other publications on smartphone positioning primarily employ TDCP in PD filtering.Doppler is used only in [21], which discusses the possibility of using Doppler-derived velocity when TDCP measurements are invalid.
The motivation of this article is to present a complementary filter that uses Doppler-derived velocity to propagate the position state forward instead of carrier-phase-derived deltarange/velocity.There are significant benefits to using Doppler data compared to the carrier phase, despite the lower precision of Doppler (cm/s versus mm/s) [22].Doppler provides adequately accurate velocity estimates, which is particularly significant considering the limitations of low-cost GNSS chipsets found in smartphones, which are prone to frequent cycle slips that render phase data unreliable.In addition, disabling duty cycling in the phone to perform better phase tracking leads to high power consumption [23].To the best of our knowledge, this article presents the first use of Doppler measurements for dynamic trajectory estimation applied to smartphone positioning.
We also present the results of applying fault detection and exclusion (FDE) to GNSS measurements to highlight the superior performance of the proposed filter in accurately identifying and excluding outliers when compared to existing filters operating with incorrect assumptions about process noise.This is demonstrated with results using both commonly available L1/E1 observations and more precise, but less widely available L5/E5a observations.

II. COMPLEMENTARY FILTER
A complementary filter is implemented as an error-state KF as follows: where x is the true total state, x is the estimated total state, and Δx is the true error state.Then Authorized licensed use limited to the terms of the applicable license agreement with IEEE.Restrictions apply.
Assuming the following model: and substituting ( 1) and ( 2) into (3) yields We can separate the two equations since ẋ = f (x). 1) Total-state first-order differential equation 2) Error-state first-order ODE Now, the error-state KF can be designed based on the firstorder ODE for the error state such that where After performing the KF update, one obtains Δx + t+Δt .Then the last step is This last step makes the filter a feedback complementary KF.

III. PROPOSED FILTER
The same formulation described in Section II will now be used to design a complementary filter that employs velocity, estimated from Doppler measurements to propagate the total state forward and obtain the "Q" matrix or process noise covariance.The proposed complementary filter will be presented both as an error-state KF and a total-state KF.It is essential to note that these two representations are entirely equivalent.The reason for formulating the proposed filter as a total-state KF is to show the similarities and dissimilarities the proposed filter has with conventional EKF filters.

A. Error-State Complementary Filter
Only pseudorange measurements will be used in the measurement update step of the error state filter.Note that the filter only contains position states; velocity is only estimated epochwise and is not sequentially filtered.The following equations represent the total-state prediction step and formulation of the process noise covariance matrix (Q): where p and vu are estimated position and velocity after performing least squares on the Doppler Since Φ and G will each be the identity matrix, the Q matrix simplifies to The problem of integration in ( 11), (12), and ( 13) can be addressed in two ways.The first approach involves simple averaging of the velocity between the two epochs being considered.The second approach entails using the velocity from the first epoch for the entire duration of integration.Although the first approach may provide a better approximation of the true velocity, it violates the principles of Kalman filtering.The KF assumes that the information used at each epoch is independent or uncorrelated.With the first approach, the velocity estimate from each epoch is used twice, which introduces a correlation between the estimates and violates the assumption of independence.Therefore, in order to adhere to the principles of Kalman filtering, it is recommended to use the second approach, especially if the time interval (Δt) between each epoch is small.

B. Total-State Complementary Filter
The formulation of an equivalent total-state complementary filter is inspired by the "Boosted Q" method within the "Go-Free" concept described in [1] where those filter states whose statistical modeling is difficult to establish can be allowed to "Go-Free" by assigning infinite or outrageously large variance values in the corresponding positions of the process noise variance matrix "Q."This is equivalent to forcing the filter to forget the prior values of these states during the next update step while retaining these states during the prediction step.
The mathematical representation of the method is as follows: where p is the vector containing the position and receiver clock offset states and v u contains the velocity and receiver clock drift states.Note that the process noise covariance matrix Q has an infinite value corresponding to the v u state.This ensures that the prior velocity, while used in the prediction, has no weight in the next update step.The following is the measurement (z) equation for the filter: where ρ is the pseudorange, vu is the velocity estimated from the Doppler at the same epoch, and ε is the measurement noise, whose covariance matrix is Authorized licensed use limited to the terms of the applicable license agreement with IEEE.Restrictions apply.
After each prediction step, the a priori/predicted estimate covariance P − t+1 will have infinite variance at the position of velocity state and clock drift state since the process noise (Q) defined in ( 14) will be added During the KF update, the predicted velocity estimate will be discarded, and entirely new velocity states will be estimated using (15).These new velocity estimates are then subsequently used to propagate the position state forward in the prediction step but are also simultaneously assigned infinite variance due to the boosted Q matrix.This cyclic process repeats effectively and the velocity and clock drift states are never sequentially filtered but are instead used just like the error-state complementary filter previously defined.As stated earlier, it is important to note that both error-state KF and total-state KF representations of the complementary filter are equivalent and are just two different approaches to the same methodology.

IV. NOTE ON FAULT DETECTION AND EXCLUSION
The FDE method applied in this study consists of performing innovation testing in the KF to detect corrupt pseudoranges and residual-based testing in the least squares for Doppler outliers whenever velocity is estimated.Both residual and innovation testings are based on Baarda's iterative data snooping method [24], [25].Innovation testing relies on the measurement noise variance R and process noise variance Q, as extensively detailed in [26].The proposed filter has the advantage of continuously generating an accurate Q matrix that represents the uncertainty of the system's dynamics, allowing it to effectively detect and identify outliers.This contrasts with conventional filters, which rely on manual tuning of the Q matrix for effective outlier detection.The experimental results shown in the following section support this hypothesis.

V. EXPERIMENTAL RESULTS
To investigate the performance of the proposed filter and compare it with existing filters used for kinematic positioning, the filter algorithms were implemented and then tested using the Google Smartphone Decimeter Challenge 2021 dataset [27].This dataset was collected with a Samsung Galaxy S20 Ultra and Google Pixel 4 handsets, which were mounted in a vehicle and driven around the San Francisco Bay Area on 29 April 2021.The dataset label is "2021-04-29-US-SJC-2."The ground-truth file provided in the dataset was generated using the NovAtel SPAN system and Waypoint Inertial Explorer.The Samsung Galaxy and Pixel 4 handsets were chosen because they feature the Qualcomm Snapdragon 865 chipset, which supports multifrequency, multiconstellation GNSS data.Smartphone positioning faces challenges due to the presence of noisy data recorded by the receiver chipset, which is of inferior quality compared to professional-grade GNSS receivers.In such cases, having access to and using a larger number of satellite data is highly advantageous for positioning algorithms.Acknowledging this, data from the GPS, Galileo, and Beidou constellations are part of the dataset.Although both handsets provide dual-frequency GNSS observations, only single-frequency-based positioning is tested.
The dataset has been processed to compare the performance of least squares, the existing three conventional EKF methods defined in Section I: PRW, VRW, and VRWD, and our proposed method described in Section III.
This section is organized into three sections as follows.Section V-A involves performing the quality assessment of GPS L1, Galileo E1, and Beidou B1I signals.Section V-B compares the positioning and FDE performance of the algorithms using the L1 signals.Finally, Section V-C discusses the characteristics and availability of the GPS L5 and Galileo E5a observations and highlights the observed advantages in terms of data quality and positioning performance.

A. GNSS L1 Frequency Observation Quality Analysis
Before delving into the positioning results obtained from the filter, let us first examine the quality of the GNSS data and observables available in the dataset used for this study.The focus is on GPS L1, Galileo E1, and Beidou B1I signals, and although the B1I frequency band (1561.098MHz) is not the same as the L1 band (1575.42),for the purpose of greater satellite geometry, it was included in the experiments.Fig. 1 shows the pseudorange and Doppler (range-rate derived from Doppler) error, which is obtained using the ground truth file and estimated receiver clock offset/drift, as a function of time, elevation angle, and carrier-to-noise ratio.The error distribution vividly illustrates that smartphone GNSS data are characterized by noise and are of lower quality compared to data collected by professional-grade GNSS receivers.The standard deviations of these error distributions are stated in Fig. 1 at the top right corner of each plot.Notably, the pseudorange error is in the order of tens of meters, while the Doppler error is approximately 1 m/s.It is also evident from the error plots that the Samsung Galaxy S20 Ultra provides more precise GNSS observables compared to the Google Pixel 4.
In Fig. 2, we plotted delta-ranges derived from the observables of GPS PRN 28 for the Samsung S20 handset; this includes pseudorange, carrier phase, and Doppler, alongside the true delta-range obtained from the ground truth file.The analysis revealed several noteworthy observations: 1) A discernible bias is evident between Doppler and phase-derived delta-ranges when compared to the true delta-range.In contrast, pseudorangederived delta-ranges exhibit no such bias.This phenomenon, termed inter observation-type bias, has been documented in prior research [17].It is attributed to receiver clock drift, highlighting the importance of accounting for it in positioning filter design.
2) The delta-ranges derived from Doppler and carrier-phase measurements exhibit comparable precision and smoothness.This finding supports the rationale put forth in our study, advocating for the use of Doppler as an alternative to carrier phase for enhanced prediction accuracy and outlier detection in smartphones.
Authorized licensed use limited to the terms of the applicable license agreement with IEEE.Restrictions apply.

B. L1 Positioning and Outlier Detection Results
This section will present the positioning results obtained for all the filters mentioned previously along with their outlier detection capabilities for the L1 signals.The tabular data contain results for both the handsets: Samsung Galaxy S20 Ultra and Google Pixel 4, but the plots only show the Samsung S20 results.
The estimation of measurement covariance and weighing functions involves analyzing the processed GNSS data to gain insights into its properties.Based on the true measurement error graphs, satellites with consistently erroneous data were identified and excluded from further analysis.In addition, the a priori variance of unit weight for each measurement type was approximated using the postprocessed results.Note that throughout the entire experiment, this was the only part that involved a postprocessing step.On the other hand, position estimation was done in real-time using a single epoch of data at a time.
Positioning results obtained from the different filtering methods are presented in Table I.An optimal process covariance matrix Q is assigned for conventional EKF methods after performing tuning based on trial and error.The results clearly demonstrate the superior performance of the filtering methods that incorporate Doppler measurements in the form of Dopplerderived velocity, e.g., proposed filter and VRWD, compared to those that do not use Doppler information e.g., WLS, PRW, and VRW.The performance of VRWD and that of the proposed filter are comparable, and with a well-tuned Q matrix, VRWD can outperform the proposed filter.However, the key advantage of the proposed filter over the other position estimation filters is that its Q matrix estimation is automated, requiring no tuning whatsoever.
Figs. 3 and 4, along with Table II present the positioning results obtained when FDE is applied during filtering.Note that both Figs. 3 and 4, only show the results for the Samsung Galaxy handset.Similar trends are observed in these results, as seen in the filtering methods without FDE in Table I.
The filtering process was rerun with adjustments made to the PSD of the noise parameter in the Easting direction of the process Authorized licensed use limited to the terms of the applicable license agreement with IEEE.Restrictions apply.noise matrix Q.Specifically, the PSD value was reduced by a factor of 30 for the VRW and VRWD filters, and by a factor of 10 for the PRW model.Table III presents the positioning results obtained for all the filters, both with and without the application of the FDE method.The results clearly indicate that the assumed Q matrix used in conventional EKF methods is incorrect, resulting in poor performance.This is particularly evident when the FDE method is applied, as the positioning results for PRW and VRW filters deteriorate significantly.The accuracy of the innovation testing heavily depends on the accuracy of the Q matrix, which explains the observed decline in performance Fig. 5 depicts the difference in the Samsung handset horizontal position trajectory obtained from filters using correct and incorrect dynamics models or Q matrix.When the Q matrix  is correct, both the VRWD and proposed filter exhibit similar performance and are better than the rest of the filters.However, when the Q matrix is incorrect, a noticeable pattern emerges, where all conventional EKFs deviate from the true trajectory during vehicle turns and take some time to reconverge on the correct path.In contrast, the proposed filter demonstrates robustness in these scenarios, owing to its continuous automatic adjustment of the error in the dynamics model.

TABLE II FDE PROCESSED POSITIONING RESULTS
To further demonstrate the superiority of the proposed filter over existing filters in outlier detection/FDE, true pseudorange errors for each satellite at every epoch were plotted for the Samsung Galaxy handset in Figs. 6 and 7 with those that were detected as outliers shown in red.
Filtering was repeated using identity weighting such that all large errors directly correspond to outliers.True pseudorange error was obtained using the ground truth.Plots were generated for the VRWD filter with both correct and incorrectly small Q matrices shown in Fig. 6, and also for the proposed filter shown in Fig. 7.Both the figures show that for correct Q, outlier  detection for both VRWD and the proposed filter is similar and generally correct.However, for the incorrectly small Q case, VRWD flags many good measurements as outliers.No such issues were exhibited by the proposed filter.The proposed filter is compared here only with the VRWD because only VRWD with optimal Q was shown to be comparable to the proposed filter Samsung Galaxy outperforms Google Pixel 4 in terms of positioning accuracy, as evident from the results presented in Tables I-III.This outcome aligns with our expectations, supported by the observations in Fig. 1, which clearly indicate that the former device provides more precise observables compared to the latter.Importantly, the performance trend remains consistent for each filtering method across both handsets.This observation is particularly noteworthy, as it signifies that the benefits of the proposed filter are applicable irrespective of the device being used.

C. Exploring L5 Frequency Signal Capabilities
Modern smartphones are equipped with advanced chipsets that enable dual-frequency GNSS support.They possess the capability of simultaneously tracking multiple radio signals transmitted by satellites operating on distinct frequencies, including GPS L1 and L5, as well as Galileo E1 and E5a.Multiple publications have shown that L5 data are more precise compared to L1 data.Therefore, exploring the capability of L5 frequency GNSS observables will be an appealing prospect.
Both smartphones are equipped with L5 (1176.45MHz) capable hardware; however, the S20 data file listed an unknown time of the week (TOW) for L5, indicating unusable observations.The Google Pixel 4 L5 results are shown as follows.
Fig. 8 shows the pseudorange and Doppler (range-rate derived from Doppler) errors for the L5 and L1 signals.The L5 pseudorange is clearly more precise than L1; however, not all of the GPS satellites currently transmit L5 resulting in an average of 7.8 GPS L5 and Galileo E5a signals available in contrast to 16.4 on L1/E1, as shown in Fig. 9.The Pixel 4 chipset does not support Beidou L5 (B2a).The lack of L5 observables, therefore, will cause a high dilution of precision (DOP), making the direct comparisons of L1 and L5 performance difficult.To overcome this, Beidou's B1I signals were included, adding approximately four additional signals and improving the satellite geometry.
The position performance of the Pixel 4 using GPS L5, Galileo E5a, and Beidou B1I compared with using GPS L1, Galileo E1, and Beidou B1I is given in Table IV.It is evident that using GPS L5 and Galileo E5a signals results in better position accuracy despite poorer satellite geometry compared to L1 only.This was expected based on the L5 signals superior quality over L1 signals shown in Fig. 8.However, when outlier detection is performed, L5 performs more poorly because there is less redundancy for outlier detection and even poorer satellite geometry once suspected outliers are removed.
The same trends that were observed for previous L1 data results can be observed for L5 data as well, further confirming the benefits of the proposed filter over the existing filters in cases when the process noise is incorrectly modeled.

VI. CONCLUSION
This study presented a smartphone positioning method based on the complementary KF principle that uses Doppler-derived velocity for state propagation.The proposed method automates the Q matrix estimation, which allows it to better adapt to changing dynamics.The superiority of the proposed method in cases where the dynamics of the system are difficult to predict and tune is shown both theoretically and with real data.Tests using two different devices and two frequencies confirmed that the proposed filter could provide better outlier detection and position results compared to poorly tuned conventional filters.The proposed filter remains suboptimal compared to VRWD when the correct Q matrix tuning is available.However, correct Q matrix tuning is often not available for mobile smartphone positioning.

Fig. 6 .
Fig. 6.Outliers in pseudorange measurements for VRWD filter.The plot above shows FDE results for correct Q and the plot below for incorrect Q.

TABLE III POSITIONING
RESULTS WITH INCORRECT DYNAMICS MODEL

TABLE IV POSITIONING
RESULTS FOR GOOGLE PIXEL 4 L5 AND L1 OBSERVABLES