Skip to main content

Main menu

  • Home
  • Current Issue
  • Archive
  • About Us
    • About NAVIGATION
    • Editorial Board
    • Peer Review Statement
    • Open Access
  • More
    • Email Alerts
    • Info for Authors
    • Info for Subscribers
  • Other Publications
    • ion

User menu

  • My alerts

Search

  • Advanced search
NAVIGATION: Journal of the Institute of Navigation
  • Other Publications
    • ion
  • My alerts
NAVIGATION: Journal of the Institute of Navigation

Advanced Search

  • Home
  • Current Issue
  • Archive
  • About Us
    • About NAVIGATION
    • Editorial Board
    • Peer Review Statement
    • Open Access
  • More
    • Email Alerts
    • Info for Authors
    • Info for Subscribers
  • Follow ion on Twitter
  • Visit ion on Facebook
  • Follow ion on Instagram
  • Visit ion on YouTube
Research ArticleRegular Papers
Open Access

Tightly Coupled Graph Neural Network and Kalman Filter for Smartphone Positioning

Adyasha Mohanty and Grace Gao
NAVIGATION: Journal of the Institute of Navigation December 2024, 71 (4) navi.670; DOI: https://doi.org/10.33012/navi.670
Adyasha Mohanty
Department of Aeronautics and Astronautics, Stanford University
  • Find this author on Google Scholar
  • Find this author on PubMed
  • Search for this author on this site
Grace Gao
Department of Aeronautics and Astronautics, Stanford University
  • Find this author on Google Scholar
  • Find this author on PubMed
  • Search for this author on this site
  • Article
  • Figures & Data
  • Supplemental
  • References
  • Info & Metrics
  • PDF
Loading

Article Figures & Data

Figures

  • Tables
  • Additional Files
  • FIGURE 1
    • Download figure
    • Open in new tab
    • Download powerpoint
    FIGURE 1

    Our proposed framework, which consists of two modules: a GNN and a learned Kalman filter

    In the learned Kalman filter, we first perform prediction to propagate the state and uncertainty forward. During the measurement update, we receive position corrections, which are computed by first aggregating the embeddings of all nodes in the GNN graph, averaging the embeddings via mean pooling, and then passing them through fully connected layers. These corrections are used as measurements during the state and covariance update step of the BKF. The output from the learned Kalman filter is the 3D position. Using the predicted and true positions, we compute the MSE loss and backpropagate the gradients of the loss with respect to parameters of the GNN and the Kalman filter to jointly update their parameters. In the next time step, we use the updated GNN parameters to perform prediction.

  • FIGURE 2
    • Download figure
    • Open in new tab
    • Download powerpoint
    FIGURE 2

    Integration of the GNN with the learned Kalman filter

    GNSS measurements are processed, passed through the GraphSAGE layers, normalized via batch normalization, and activated through a ReLU function. The node embeddings are then aggregated by a mean aggregation method, followed by a fully connected layer that outputs the measurement vector, which is then utilized in the learned Kalman filter state update to learn the absolute position.

  • FIGURE 3
    • Download figure
    • Open in new tab
    • Download powerpoint
    FIGURE 3

    A sample feature vector and feature matrix for a small-scale GNN graph.

    Here, GLONASS refers to the Russian global navigation satellite system and GALILEO refers to the navigation system created by the European Union.

    We construct a comprehensive feature vector for each satellite, also referred to as a node, in the network. This vector is formulated by concatenating several critical metrics: the LOS vector, range residual, carrier-to-noise density ratio, and pseudorange uncertainty. The feature matrix is a result of combining the feature vectors for all nodes in the graph.

  • FIGURE 4
    • Download figure
    • Open in new tab
    • Download powerpoint
    FIGURE 4

    Trajectory tracking from our algorithm and the loosely coupled GNN/Kalman filter baseline for one test data set collected in San Jose

    The left plot shows an aerial view of the entire trajectory. The right plots show magnified versions of selected portions of the entire trajectory. Our trajectory closely matches ground truth, outperforming the baseline, and achieves a 2.2-m mean error in the north and 0.6-m error in the east direction.

  • FIGURE 5
    • Download figure
    • Open in new tab
    • Download powerpoint
    FIGURE 5

    Trajectory tracking from our algorithm and the loosely coupled GNN/Kalman filter baseline for one test data set collected in Sunnyvale

    The left plot shows an aerial view of the entire trajectory. The right plots show magnified versions of selected portions of the entire trajectory. Our trajectory closely matches ground truth, outperforming the baseline, and achieves a 0.9-m mean error in the north and 1.1-m error in the east direction.

Tables

  • Figures
  • Additional Files
    • View popup
    TABLE 1

    Testing Data Sets Used from the GSDC (Fu et al., 2020)

    Data SetDevices
    2021-08-04-US-SJC-1GooglePixel4, GooglePixel5, SamsungGalaxyS20Ultra
    2021-04-02-US-SJC-1GooglePixel4, GooglePixel5, SamsungGalaxyS20Ultra, XiaomiMi8
    2021-08-24-US-SVL-1GooglePixel4, GooglePixel5, SamsungGalaxyS20Ultra, XiaomiMi8
    2021-04-26-US-SVL-2SamsungGalaxyS20Ultra, XiaomiMi8
    • View popup
    TABLE 2

    Generalization Data Sets Used from the GSDC (Fu et al., 2020)

    Data SetDevices
    2021-12-07-US-LAX-1GooglePixel5, GooglePixel6Pro, SamsungGalaxyS20, XiaomiMi8
    2021-12-07-US-LAX-2GooglePixel5, GooglePixel6Pro, SamsungGalaxyS20, XiaomiMi8
    2021-12-08-US-LAX-1GooglePixel5, GooglePixel6Pro, SamsungGalaxyS20, XiaomiMi8
    2021-12-08-US-LAX-3GooglePixel5, GooglePixel6Pro, SamsungGalaxyS20, XiaomiMi8
    2021-12-08-US-LAX-5GooglePixel5, GooglePixel6Pro, SamsungGalaxyS20, XiaomiMi8
    2021-12-09-US-LAX-2GooglePixel5, GooglePixel6Pro, SamsungGalaxyS20, XiaomiMi8
    • View popup
    TABLE 3

    Experimental Parameters for the BKF Module

    The process and measurement noise parameters are iteratively updated in our algorithm through backpropagation.

    ParameterValue
    State_dim3
    Input_dim6
    Initial process_noiseI3 × 1e – 3
    Initial measurement_noiseI3 × 1e – 2
    • View popup
    TABLE 4

    Key Hyperparameters for the GNN Module

    The edge threshold similarity parameter indicates the minimum similarity score required to establish an edge between nodes in the graph. Note that the final hyperparameter values were determined after multiple Monte Carlo empirical validations had been conducted on a subset of the training data sets.

    ParameterValue
    Hidden_dimension128
    No. of nodes20
    No. of epochs11
    No. of layers8
    OptimizerAdam
    Learning rate0.001
    Weight decay5e – 4
    Loss functionMSE
    Minimum value for edge threshold similarity0.5
    • View popup
    TABLE 5

    Key Parameters in the GNN Architecture

    The weights of different layers in the GNN are jointly updated with the BKF parameters during training.

    Layer NameNumber of Parameters
    Linear1 × 3
    P (covariance matrix)3 × 3
    Linear (input layer)6 × 128
    SAGEConv128 × 128
    BatchNorm1d128 × 1
    Linear (output layer)1 × 128 × 3
    • View popup
    TABLE 6

    Summary of Positioning Error in the East Direction on Test Data Sets

    Our algorithm outperforms all of the baselines on the test data sets. Note that the median, minimum, and maximum errors in the east direction were unavailable for the attention-based neural network baseline.

    Error Metric (m)Kalman FilterAttention (Kanhere et al., 2022)Loose GNN + Kalman Filter (Mohanty & Gao, 2022)Our Approach
    Mean4.65.93.51.1
    Median4.5-3.41.1
    Minimum1.2-2.10.6
    Maximum14.1-4.81.8
    • View popup
    TABLE 7

    Summary of Positioning Error in the North Direction on Test Data Sets

    Our algorithm outperforms all of the baselines on the test data sets with respect to mean, median and minimum metric and provides a comparable maximum positioning error. Note that the median, minimum, and maximum errors in the north direction were unavailable for the attention-based neural network baseline.

    Error Metric (m)Kalman FilterAttention (Kanhere et al., 2022)Loose GNN + Kalman Filter (Mohanty & Gao, 2022)Our Approach
    Mean3.06.42.01.9
    Median2.1-1.81.8
    Minimum1.3-1.00.7
    Maximum7.7-5.75.8
    • View popup
    TABLE 8

    Comparison of Horizontal Localization Errors (m) on Test Data Sets

    Our approach consistently outperforms the baseline, demonstrating significant improvements in localization accuracy. These results underscore the efficacy of our method in enhancing positioning accuracy across a range of conditions and devices.

    No.Test Data Set NameDeviceLoose GNN + Kalman Filter (Mohanty & Gao, 2022)Our Approach
    12021-04-02-US-SJC-1GooglePixel43.72.7
    22021-04-02-US-SJC-1GooglePixel55.02.2
    32021-04-02-US-SJC-1SamsungGalaxyS20Ultra4.12.5
    42021-04-02-US-SJC-1XiaomiMi85.12.6
    52021-04-26-US-SVL-2SamsungGalaxyS20Ultra3.72.1
    62021-04-26-US-SVL-2XiaomiMi85.12.3
    72021-08-04-US-SJC-1GooglePixel42.51.4
    82021-08-04-US-SJC-1GooglePixel56.65.9
    92021-08-04-US-SJC-1SamsungGalaxyS20Ultra3.01.4
    102021-08-24-US-SVL-1GooglePixel44.21.3
    112021-08-24-US-SVL-1GooglePixel54.81.4
    122021-08-24-US-SVL-1SamsungGalaxyS20Ultra2.91.9
    132021-08-24-US-SVL-1XiaomiMi82.82.2
    • View popup
    TABLE 9

    Generalization Error in the East Direction on Previously Unseen Data Sets in the City of Los Angeles

    Note that both our approach and the baseline were trained on an identical number of data sets (49).

    Error Metric (m)Loose GNN + Kalman Filter (Mohanty & Gao, 2022)Our Approach
    Mean12.41.7
    Median12.41.8
    Minimum10.80.8
    Maximum13.93.0
    • View popup
    TABLE 10

    Generalization Error in the North Direction on Previously Unseen Data Sets in the City of Los Angeles

    Note that both our approach and the baseline were trained on an identical number of data sets (49).

    Error Metric (m)Loose GNN + Kalman Filter (Mohanty & Gao, 2022)Our Approach
    Mean5.51.9
    Median5.41.7
    Minimum2.71.0
    Maximum8.24.1
    • View popup
    TABLE 11

    Positioning Error in the East Direction as a Function of Different Similarity Threshold Values for Edge Creation

    The threshold value of 0.5 m is found to be optimal.

    Error Metric (m)Threshold = 0.3 mThreshold = 0.5 mThreshold = 0.9 m
    Mean1.41.11.2
    Median1.31.11.2
    Minimum0.80.60.7
    Maximum2.21.82.0
    • View popup
    TABLE 12

    Positioning Error in the North Direction as a Function of Different Similarity Threshold Values for Edge Creation

    Even in the north direction, the threshold value of 0.5 m is found to be optimal.

    Error Metric (m)Threshold = 0.3 mThreshold = 0.5 mThreshold = 0.9 m
    Mean2.01.92.0
    Median1.81.91.8
    Minimum0.70.70.7
    Maximum5.85.85.8

Additional Files

  • Figures
  • Tables
  • Video Abstract

PreviousNext
Back to top

In this issue

NAVIGATION: Journal of the Institute of Navigation: 71 (4)
NAVIGATION: Journal of the Institute of Navigation
Vol. 71, Issue 4
Winter 2024
  • Table of Contents
  • Index by author
Print
Download PDF
Article Alerts
Sign In to Email Alerts with your Email Address
Email Article

Thank you for your interest in spreading the word on NAVIGATION: Journal of the Institute of Navigation.

NOTE: We only request your email address so that the person you are recommending the page to knows that you wanted them to see it, and that it is not junk mail. We do not capture any email address.

Enter multiple addresses on separate lines or separate them with commas.
Tightly Coupled Graph Neural Network and Kalman Filter for Smartphone Positioning
(Your Name) has sent you a message from NAVIGATION: Journal of the Institute of Navigation
(Your Name) thought you would like to see the NAVIGATION: Journal of the Institute of Navigation web site.
Citation Tools
Tightly Coupled Graph Neural Network and Kalman Filter for Smartphone Positioning
Adyasha Mohanty, Grace Gao
NAVIGATION: Journal of the Institute of Navigation Dec 2024, 71 (4) navi.670; DOI: 10.33012/navi.670

Citation Manager Formats

  • BibTeX
  • Bookends
  • EasyBib
  • EndNote (tagged)
  • EndNote 8 (xml)
  • Medlars
  • Mendeley
  • Papers
  • RefWorks Tagged
  • Ref Manager
  • RIS
  • Zotero
Share
Tightly Coupled Graph Neural Network and Kalman Filter for Smartphone Positioning
Adyasha Mohanty, Grace Gao
NAVIGATION: Journal of the Institute of Navigation Dec 2024, 71 (4) navi.670; DOI: 10.33012/navi.670
Twitter logo Facebook logo Mendeley logo
  • Tweet Widget
  • Facebook Like
  • Google Plus One
Bookmark this article

Jump to section

  • Article
    • Abstract
    • 1 INTRODUCTION
    • 2 PROPOSED TIGHT COUPLING FRAMEWORK WITH A GNN AND LEARNED BKF
    • 3 EXPERIMENTAL SETUP
    • 4 EXPERIMENTAL RESULTS
    • 5 CONCLUSIONS
    • HOW TO CITE THIS ARTICLE
    • ACKNOWLEDGMENTS
    • References
  • Figures & Data
  • Supplemental
  • References
  • Info & Metrics
  • PDF

Related Articles

  • Google Scholar

Cited By...

  • No citing articles found.
  • Google Scholar

More in this TOC Section

  • Performance Evaluation of DFMC SBAS Messages Broadcast by the Japanese Quasi-Zenith Satellite System (QZSS) in Oslo, Norway
  • Overbounding of Near Real-Time Estimated Ionospheric Gradient Slope in Low-Latitude Regions
  • Analysis of a High Accuracy Service based on JPL’s Global Differential GPS
Show more Regular Papers

Similar Articles

Keywords

  • graph neural network
  • Kalman filter
  • machine learning
  • smartphone

Unless otherwise noted, NAVIGATION content is licensed under a Creative Commons CC BY 4.0 License.

© 2025 The Institute of Navigation, Inc.

Powered by HighWire