Next Article in Journal
Modeling and Analysis of Mixed Traffic Flow Considering Driver Stochasticity and CAV Connectivity Uncertainty
Previous Article in Journal
Potential for Wearable Sensor-Based Field-Deployable Diagnosis and Monitoring of Mild Traumatic Brain Injury: A Scoping Review
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Centralized Measurement Level Fusion of GNSS and Inertial Sensors for Robust Positioning and Navigation

by
Mohamed F. Elkhalea
1,
Hossam Hendy
1,
Ahmed Kamel
1,
Ashraf Abosekeen
1 and
Aboelmagd Noureldin
2,*
1
Electrical and Computer Engineering, Military Technical College, Cairo 11766, Egypt
2
Electrical and Computer Engineering, Royal Military College of Canada, Kingston, ON K7K 7B4, Canada
*
Author to whom correspondence should be addressed.
Sensors 2025, 25(9), 2804; https://doi.org/10.3390/s25092804
Submission received: 13 March 2025 / Revised: 24 April 2025 / Accepted: 28 April 2025 / Published: 29 April 2025
(This article belongs to the Section Navigation and Positioning)

Abstract

:
In the current era, which is characterized by increasing demand for high-precision location and navigation capabilities, various industries, including those involved in intelligent vehicle systems, logistics, augmented reality, and more, heavily rely on accurate location information to optimize processes and deliver personalized experiences. In this context, the integration of Global Navigation Satellite System (GNSS) and inertial sensor technologies in smartphones has emerged as a critical solution to meet these demands. This research paper presents an algorithm that combines a GNSS with a modified downdate algorithm (MDDA) for satellite selection and integrates inertial navigation systems (INS) in both loosely and tightly coupled configurations. The primary objective was to harness the inherent strengths of these onboard sensors for navigation in challenging environments. These algorithms were meticulously designed to enhance performance and address the limitations encountered in harsh terrain. To evaluate the effectiveness of these proposed systems, vehicular experiments were conducted under diverse GNSS observation conditions. The experimental results clearly illustrate the considerable improvements achieved by the recommended tightly coupled (TC) algorithm when integrated with MDDA, in contrast to the loosely coupled (LC) algorithm. Specifically, the TC algorithm demonstrated a remarkable reduction of over 90% in 2D position root mean square error (RMSE) and a 75% reduction in 3D position RMSE when compared to solutions utilizing the weighting matrix provided by Google with all visible satellites. These findings underscore the substantial advancements in precision resulting from the integration of GNSS and INS technologies, thereby unlocking the full potential of transformative applications in the realm of intelligent vehicle navigation.

1. Introduction

In the context of intelligent transportation systems, vehicle localization plays a pivotal role in enabling autonomous and semi-autonomous functionalities. Accurate localization allows vehicles to determine their position with high precision, which is essential for safe navigation, decision-making, and interaction with dynamic environments. As intelligent vehicles become increasingly integrated with advanced perception and control systems, the demand for robust and reliable localization methods continues to grow [1,2].
Localization plays a critical role in various aspects of our daily lives, from aiding vehicle rescue operations to simplifying parking and enhancing navigation. Beyond these practical applications, localization data have taken on a pivotal role in the broader landscape of the Internet of Things (IoT). In scenarios where human presence or direct involvement may be limited, the provision of precise location information to IoT devices has become indispensable. There are two basic ways to obtain a navigation solution: dead reckoning (DR) and position fixing [3,4]. DR is a navigation method that estimates position based on prior knowledge of the initial location, heading, and velocity. This principle is analogous to the operational concept of an inertial navigation system (INS) in autonomous mode, where position updates are derived from initial conditions and the continuous integration of inertial sensor outputs. In contrast, position fixing, where the location is derived from external references such as Global Navigation Satellite Systems (GNSSs), serves as an excellent example. The navigation system can be independent, rely on external sources, or combine both. A Global Positioning System (GPS) requires the assistance of other sources, such as cellular base stations, motion sensors such as (compass, inertial sensors, odometer), Wi-Fi, aiding sensors such as Radar, LIDAR and cameras, and digital maps to enhance localization [5,6].
Among the numerous navigation techniques available, satellite navigation and inertial navigation are the most common. It is possible to unlock new levels of connectivity and location-based services in the IoT landscape by integrating GNSS/INS capabilities into smartphones. This will have a significant impact on a variety of businesses as well as our daily lives. The IoT gains an essential layer of spatial awareness thanks to the inclusion of GNSS and INS in smartphones. Smartphones can determine their precise position on the Earth’s surface using GNSS technology, which offers accurate Position, Velocity, and Time (PVT) solutions through satellite constellations such as GPS, GLONASS, Galileo, and BeiDou. However, standard GNSS receivers are not capable of independently determining device orientation. To overcome this limitation, smartphones integrate GNSS with INS, which utilize onboard sensors—such as accelerometers, gyroscopes, and, sometimes, magnetometers—to track motion and orientation. Additionally, orientation information can be further enhanced through the use of multi-antenna GNSS configurations or other complementary sensors [3]. This fusion enables smartphones to provide robust navigation capabilities, including not only position and velocity but also reliable orientation estimation [2,7]. The seamless integration of GNSS and INS technologies in smartphones not only extends the capabilities of the IoT but also brings new dimensions to the world of intelligent vehicles.
  • It allows for the continuous surveillance and monitoring of assets and resources. This integration can be used to optimize operations, increase efficiency, and reduce costs in industries such as logistics, supply chain management, and transportation. Companies, for example, may properly track shipments in real-time, monitor routes, and ensure timely deliveries by equipping delivery vehicles with cellphones equipped with a GNSS/INS [2].
  • Context-aware services and personalized experiences are made possible by the integration of GNSS/INS in smartphones. Location-based applications can employ exact positioning data to deliver personalized suggestions, local information, and targeted adverts to users. This technology supports smart city projects by providing real-time information on transport, parking availability, surrounding amenities, and cultural events to city people, encouraging a more connected and comfortable urban lifestyle [8,9].
  • It improves the safety and security of the IoT ecosystem. Emergency response systems can quickly detect and assist persons in need during critical situations by correctly determining the position and motions of humans and assets. In addition, IoT-enabled security systems can benefit from smartphones with a GNSS/INS, which provide exact geolocation for tracing stolen devices, guarding restricted areas, and assuring human safety [10].
There are three various types of integration possible between the two systems to improve navigation data; loosely coupled (LC), tightly coupled (TC), and ultra-tightly coupled integration [11,12,13,14,15]. Over the past decade, the positioning techniques of smartphones and their ability to navigate using GNSSs have advanced significantly [16]. Nowadays, smartphones are equipped with more than 25 sensors, making it possible to use these sensors like gyroscopes and accelerometers to create a complete INS [3,17]. Google announced in May 2016 access to raw GNSS measurements (RGNSSM) on all Android devices operating with Nougat Android (7.0) and higher [18]. RGNSSM processing enables new localization and navigation methods, one of which involves integrating smartphone GNSS technology with an INS [16,19]. LC integration is the simplest integration technique with the least computational time. However, there are two Kalman Filters (KFs) used, one for the GNSS and the other for integration, which may cause cascaded filtering problems. Furthermore, as the number of available satellites decreases, the accuracy of the INS prediction degrades. Once the satellite count drops below four, the solution can no longer be updated using GNSS measurements. Such problems can be solved smoothly by the TC integration technique, which is called centralized integration and has a common master filter and GNSS pseudorange and pseudorange rate, and corresponding INS predicted values are used in the master KF to determine the accurate integrated solution. Therefore, the INS can use the remaining satellites, even if the number falls below four satellites, to continuously update its measurements [3,20].

1.1. Objectives

This study aimed to enhance the precision of smartphone positioning by adopting the approach elucidated in [19]. For ease of reference, we will refer to this approach as the Modified Downdate Algorithm (MDDA). The algorithm was precisely designed to select the most optimal visible satellites that are positioned above the horizon. Additionally, it introduces a distinctive weighted matrix aimed at augmenting the precision of smartphone low-cost GNSS receivers. Furthermore, the effectiveness of the new algorithm was evaluated when combined with a low-cost smartphone Inertial Measurement Unit (IMU) using both LC and TC integration techniques, considering the motion dynamics. To validate the proposed method, real road trajectory data collected from low-cost smartphone sensors were utilized. The main contributions of this study are as follows:
  • The application of satellite selection-based MDDA to both LC and TC algorithms for all visible satellites.
  • The application of the proposed algorithm in scenarios where the receiver is limited to a specific number of channels.
  • The analysis of the impact of the selected satellite-based MDDA on the overall positioning performance.
These contributions aim to optimize smartphone positioning accuracy by improving the satellite selection process and investigating the influence of selected satellite-based MDDA on the performance of LC and TC integration techniques. Additionally, the performance of the TC method during various simulated outage periods with different visible satellites at this outage is analyzed.

1.2. Paper Organization

This paper is structured as follows: Section 2 outlines the related research, Section 3 details the approach, Section 4 elaborates on the experimental setup, and Section 5 discusses the analysis and results. The conclusion of this study is presented in Section 6.

2. Related Work

Numerous investigations have been undertaken to assess and augment the localization accuracy of smartphones. Nevertheless, it is important to highlight that a significant portion of these studies have primarily concentrated on scrutinizing performance in optimal open-sky conditions, thereby neglecting the inherent reality that real-world smartphone positioning activities are predominantly executed within the intricate and demanding contexts of urban environments, where formidable challenges and adverse conditions persist [21,22,23,24,25].
In [2], an approach was introduced to enhance the integration of GNSS/INS and visual inertial navigation systems (VINSs). This approach involved the application of the Semantic Proximity Update (SPU) technique, making use of a pre-trained model for real-time object detection. SPU entails the identification of geo-referenced objects along with tracking their relative movement to ascertain an absolute position. The empirical findings indicated that the proposed method yielded significantly reduced errors in horizontal and three-dimensional positioning, with respective decreases of 51.6% and 86.8% compared to a conventional integration technique.
In [7], a TC multi-GNSS precise point positioning (PPP)/INS/LiDAR integrated system was designed to harness the complementary capabilities of these onboard technologies for urban navigation. In order to enhance navigation accuracy and computational efficiency, a novel LiDAR sliding-window plane-feature tracking approach was developed. The proposed integration of GNSS/INS/LiDAR demonstrated the ability to achieve submeter-level horizontal positioning accuracy in challenging GNSS environments, yielding substantial improvements of 73.3% in the east direction, 59.7% in the north direction, and 64.2% in the up direction (ENU) when compared to conventional GNSS/INS integration methods.
In [12], two multi-constellation smartphone models were used. A The Samsung Galaxy S21+ (Samsung Electronics, Suwon, Republic of Korea) and the Xiaomi Mi 8 (Xiaomi Corporation, Beijing, China) were attached to a vehicle dashboard. The total root mean square error (RMSE) could be improved to less than 2 m by TC integrating PPP with the smartphone IMU in ideal conditions.
In [26], digital surface models (DSMs) pertaining to diverse urban scenarios were simulated. In urban canyon environments, a considerable portion of epochs failed to provide a minimum of four visible satellites, and numerous epochs exhibited suboptimal position dilution of precision (PDOP). Simulations were conducted to explore various geometric configurations of 5G base stations surrounding the observer. An integration between 5G service and GNSS improved the redundancy and the quality of the solutions by using five 5G base stations around the observer.
In [27], the LC algorithm was used with an iPhone 4 (Apple Inc., Cupertino, CA, USA) as a platform in a car dashboard, and the findings showed that under real GPS signal conditions, the RMSE could reach 2.07 m in the horizontal and 2.19 m in the vertical plane. This RMSE increased to 70.2 m horizontally and 16.5 m vertically within 30 s of GPS outage and decreased to 33.2 m horizontally and 15.7 m vertically after using non-holonomic constraints.
In [28], with a Huawei Mate 8 (Huawei Technologies Co., Ltd., Shenzhen, China) smartphone inside a vehicle, two scenarios were examined the first using the smartphone IMU only, reaching 2000 m to the east and 100 to the north. Only 45 s of data and 10 s of GPS outage were used during the test. Using LC integration between the phone sensors and the GPS, the error was decreased to 11 m, as mentioned during the outage.
In [29], the performance of the Xiaomi Mi 8 smartphone, equipped with dual-band capabilities, in conjunction with a geodetic receiver was examined. Specifically, the study focused on investigating the influence of multipath effects on positioning accuracy. The results indicated that the Galileo E5 frequency exhibited a horizontal RMSE of 4.57 m, while the L1/E1 multi-constellation frequency demonstrated a 2D RMSE of 5.36 m.
In [30], the authors evaluated the quality of contemporary Android smartphones’ multi-GNSS observations Xiaomi MI 8, 9 (Xiaomi Corporation, Beijing, China), and Huawei P20, P30 (Huawei Technologies Co., Ltd., Shenzhen, China)). Signal strength, observational noise, and satellite tracking capabilities were all included in the study. The positioning experiment demonstrated that it was possible to solve a smartphone positioning problem precisely at the cm level even when there were fixed integer ambiguities.
In [31], the analysis commenced with an examination of methodologies that solely relied on data acquired from vehicle on-board sensors. It demonstrated that while certain approaches can attain the requisite accuracy for autonomous driving, they encounter constraints imposed by the substantial cost of the sensors and performance limitations encountered in diverse driving scenarios, including but not limited to cornering, intersections, and challenging environmental conditions such as low light or snowy conditions. In view of this analysis, the prospect of developing cost-effective localization systems exhibiting robustness and high accuracy arose through the fusion of off-board information with sensory input. However, it is crucial to acknowledge that the efficacy of such systems is contingent upon factors such as the infrastructure availability or penetration rate of neighboring connected vehicles, as well as the level of network service.
In [32], an algorithm named “The Whole Work” was introduced, which involved tightly coupling GNSS and IMU within a filter for robust GNSS positioning with local ground augmentation gtrategies. The Unscented Kalman Filter (UKF) was employed as a primary estimator. The recorded data were obtained from a Samsung S20 Ultra device, utilizing code observations and carrier-phase measurements. The application of this algorithm resulted in improvements in horizontal accuracy. Specifically, the d50 accuracy was enhanced by 6.4%, the d80 accuracy by 5.0%, and the d95 accuracy by 18.1% when using the combination of pseudorange and Doppler measurements. d50 represented the radius of the circle within which 50% of the horizontal position errors fell. A smaller d50 value indicated higher accuracy, meaning that more of the position estimates were closer to the true location. The author used d50, along with d80 and d95, to provide a comprehensive evaluation of the distribution of errors and better illustrate the performance of the algorithm across different probability levels. Furthermore, when integrating pseudorange, Doppler, and phase measurements, the d50 accuracy was improved by 8.6%, the d80 accuracy by 8.3%, and the d95 accuracy by 19.8%.
In [33], a literature review highlighted the limitations of traditional GNSS/INS integration methods, such as the Extended Kalman Filter (EKF) and the Robust Kalman Filter (RKF), particularly in urban environments characterized by frequent signal obstructions and measurement noise. In addressing these challenges, the Factor Graph Optimization (FGO) method has shown superior robustness and accuracy. In high-precision inertial navigation experiments, the FGO approach yielded improvements of up to 81.1% in position, 69.8% in velocity, and 75.1% in attitude estimation compared to EKF and RKF. Even in consumer-grade inertial systems, the FGO model achieved up to 36.4% improvement in position, 73.8% in velocity, and 62.3% in attitude, demonstrating its effectiveness across varying sensor qualities.
In [34], a comprehensive analysis of double-differenced GNSS observations from GPS, GLONASS, and Galileo systems revealed significant variability in noise characteristics across constellations and signal types. Utilizing autocorrelation functions, Lomb–Scargle periodograms, and modified Allan deviation metrics, the study showed that GPS C5Q and Galileo C7Q/C8Q code signals exhibited the lowest noise levels (≤10 cm standard deviation), whereas GLONASS C1C and C2C signals demonstrated the highest (up to 90 cm ). Carrier phase observations were notably consistent across all systems, with noise levels ranging from 1.5 to 3.5 mm . Temporal correlation analysis indicated that 1 Hz carrier phase data could be considered temporally uncorrelated, unlike code observations, which required intervals exceeding 20 s to achieve temporal independence. Furthermore, noise types were classified as flicker or white phase modulation (PM) for code signals, while GPS and Galileo carrier phases were exclusively characterized by white PM.

3. Methodology

The proposed methodologywas structured around three core components designed to enhance positioning accuracy. The first component, represented by the proposed MDDA algorithm, addresses the GNSS receiver level by optimizing satellite selection through an appropriate weighting matrix and applying satellite exclusion strategies when necessary.
The second component focuses on the inertial navigation system (INS), where accuracy is improved through precise calibration techniques aimed at minimizing inertial sensor errors.
The third component involves the integration of refined GNSS and INS data using two fusion strategies: loosely coupled (LC) and tightly coupled (TC), as illustrated in Figure 1. Each of these components is discussed in detail in the following sections.

3.1. Data Recording and Analysis

Google has recently unveiled a set of valuable resources aimed at fostering developer engagement with RGNSSM. These resources include the GNSS Logger v3.0.6.4, MATLAB Mobile v6.3.0, and GPS Test v3.10.3 applications, which are conveniently available on the Android application store, enabling developers to efficiently gather data for analysis. Subsequently, Windows-based programs such as Emlid Studio and GNSS Analysis v4.6.0.1 were employed to analyze the data acquired during the initial stage.

3.2. Coordinate Frames

The transformation of quantities, encompassing parameters such as attitude, velocity, and position, across diverse coordinate frames is an essential requirement for any navigation system. In this research, four specific coordinate frames were utilized: the Earth-centered Earth-fixed (ECEF), local level (LLF), body (B), and Earth-centered inertial (ECI) frames. The coordinate frames utilized in this paper are illustrated in Figure 2 [3].

3.3. Traditional Weighting Matrix Model

In the literature, numerous weighting models rely on either the satellite’s elevation ( E L ), carrier-to-noise density ( C / N o ), or a combination of both these parameters to give a weight for each satellite signal. Additionally, this step acts as an input to the satellite selection/rejection techniques. An overview of the traditional weighting matrix models is explained as follows:
  • Elevation-based model ( E L model): In this particular model, the variance, carrier-phase observation model is dependent on the satellite’s elevation angle ( E L ) and utilizes mathematical functions such as sin 2 ( E L ) or sin ( E L ) [35,36,37]:
    σ P r 2 = σ o 2 sin 2 ( E L )
    σ P r 2 = σ o 2 sin ( E L )
    where σ o 2 is the error variance of the pseudorange.
  • Carrier to noise density-based model ( C / N o model): In [35,36], the model was structured around the signal-to-noise ratio C / N o , expressed as follows:
    σ P r 2 = b · 10 C / N 0 10
    where b is constantly defined empirically and equals 10 4   m 2 . In [12,38,39], the proposed standard deviation of code observation
    σ p r = a + b 10 C / N o 20
    In this context, the coefficient a represents the root mean square value (RMS) of pseudorange observation residuals, while b corresponds to the pseudorange coarse acquisition (C/A-code) chipping length, which was defined as 293 m for L1 measurements.
  • E L C / N 0 -model: In [35,37,40,41], a combination model was proposed that depended on both E l and C / N o :
    σ p r 2 = k 10 C / N o 10 sin 2 E l
    where k is 1 if the line-of-sight (LOS) signal is available and 2 or if no LOS signal is available:
    σ p r 2 = x + y 10 C / N o 10 sin E l
    σ p r 2 = x + y sin E l + z 10 C / N o 10
    where x, y, and z model a nonlinear regression problem that relates the mean of Inverse-Gamma estimated distributions and the corresponding E L C / N o pair [40].
  • Google proposed sigma: In the smartphone’s RGNSSM, there is a provided value referred to as Received Space Vehicle Time Uncertainty Nanos (RSVTUN). This value signifies the estimated discrepancy in the received GNSS time.
    σ p r 2 = RSVTUN × 10 9 × c
    Google advises filling the weighting matrix with this value, yet neither the Android developer’s guide nor the accompanying white paper offers guidance on its calculation [16].

3.4. Satellite Selection (SS) Techniques

In this subsection, various methods are explored for eliminating noisy measurement satellites or, in other words, determining the set of satellites used for positioning.
  • Based on El: This model is employed by selecting the satellite with the highest (EL) angle and disregarding the rest. While this approach ensures good traceability, it may not provide the best availability [42,43].
  • Based on C / N 0 : In [44], a fuzzy SS algorithm was utilized to select a set of satellites with the highest C / N 0 and minimum geometrical dilution of precision (GDOP).
  • Brute force (optimal) method: Through the process of evaluating all possible combinations and selecting the optimal performance set, this approach ensures the best performance. However, it comes with the drawback of high computational cost [43].
    Given n satellites on the horizon and a receiver with k channels, the set of available options for the optimal method, denoted as A S opt , is determined by
    A S o p t = n ! ( n k ) ! k !
    For example, if n = 30 and k = 25, 142,506 geometries should be evaluated.
  • Greedy method: Similar to the optimal method for evaluating subset performance, this approach removes only one satellite at a time and utilizes the determined geometry to calculate the next iteration [43,45].
    The numbers of A S g r e e d y are given by
    A S g r e e d y = 1 2 [ n ( n + 1 ) k ( k + 1 ) ]
    For example, if n = 30 and k = 25, then the number of geometries to evaluate is reduced to 140.
  • Downdate method: Given our objective to optimize elements of the covariance matrix, we revert to employing the greedy algorithm approach. The position covariance matrix (CM) in the north–east–down (NED) frame is used:
    CM = ( G T R G ) 1
    where G is the geometry matrix in the NED frame and R is the weighting matrix.
    To find the best subset, the CM must be calculated in Equation (12):
    CM i = CM + S i . S i T P i , i
    where C M i is the position CM with the i t h removed satellite and S i is the i t h S matrix column.
    S = ( G T R G ) 1 G T R
    P = R R G ( G T R G ) 1 G T R
    Although the downdate method suggests a more efficient way to implement the greedy algorithm, it also provides insights into an even more efficient algorithm. By examining Equation (12), we can observe this potential improvement.
    ( CM j , j ) i = CM j , j + S j , i 2 P i , i
    The rise in CM will manifest in the final term of Equation (15). The smaller this term, the less impact it will have on increasing the corresponding covariation term.
    To obtain the best subset, one can sort the values in Equation (16) from all calculations and then retain the largest values of this cost function [43,46].
    cost function = 0.25 ( S 1 , i 2 + S 2 , i 2 ) + S 3 , i 2 P i , i
    This method outperforms the greedy approach. Similar to the EL-based method, it involves calculating a set of all in-view solutions initially and then selecting the optimal subset.

3.5. The Proposed MDDA Algorithm

The proposed MDDA algorithm introduces a distinctive weighted matrix designed to enhance the accuracy of low-cost GNSS receivers in smartphones. This weighting matrix is then integrated into the downdate SS algorithm to provide the best set of satellites that can be utilized in better positioning calculations.
The proposed weighting matrix is constructed by combining Equations (1), (4) and (6) to factor in the influence of both satellite elevation ( E l ) and carrier-to-noise ratio ( C / N 0 ). This integration is expressed as follows:
σ P r 2 = k + c l 10 C / N 0 10 sin 2 ( E l )
where σ P r 2 is the proposed variance value, k represents the RMS of pseudorange observation residuals, while c l corresponds to the chipping length of pseudorange-coarse-acquisition (C/A-code), which is defined as 293 m for L1 measurements, based on standard GNSS specifications that optimize signal processing. Moreover, the weighting matrix R is formulated as follows:
R = d i a g [ σ P r 2 1 σ P r 2 2 σ P r 2 m ]
where σ P r 2 1 : m is the proposed variance value from satellite 1 to satellite m.
Additionally, this weighting matrix is integrated with the downdate SS algorithm to filter out satellites with noisy measurements. The selection process entails picking satellites that demonstrate both 3D position RMSE values lower than the average of the C / N 0 values on the horizon and elevation angles below a designated threshold. Moreover, in situations where the receiver has a restricted number of channels, the MDDA selects the most optimal satellite while disregarding the rest.
Assessing the efficacy of the MDDA algorithm, it transcends its exclusive application with a GNSS receiver. Furthermore, its effectiveness is observed when incorporated into the integration framework of a GNSS receiver and an inertial navigation system, encompassing both loosely coupled and tightly coupled integration schemes.

3.6. MDDA Augmented GNSS/INS Integration

In a GNSS/INS fusion, IMU usually provides a higher data rate than the GNSS receivers. In our case, the GNSS receiver sampling rate was 1 Hz, with 100 Hz for the IMU. In this study, two integration models were employed to combine the RGNSSM with data from smartphone inertial sensors, and these models were further enhanced by the proposed MDDA.
The architecture for LC integration, incorporating the MDDA module, is visually depicted in Figure 3. In this LC configuration, the module was positioned before the GNSS Kalman Filter (KF) to select the most suitable subset of satellite measurement. This subset is then used to compute the GNSS receiver’s position and velocity.
Similarly, in Figure 4 for TC integration, the module is placed after the tracking loop. It performs the task of selecting the optimal subset, which includes pseudorange and pseudorange rate data. The subsequent procedural step descriptions will elucidate these processes in greater detail.

3.6.1. IMU Calibration

In the realm of smartphone sensors, calibration holds paramount importance as it facilitates the computation of deterministic errors. The process of calibration entails assessing sensor errors in a controlled laboratory environment. The calibration requirements may vary depending on the specific technology employed in an IMU. The precise determination of all parameters necessitates the use of specialized calibration instruments, such as three-axial turntables, to conduct a six-position static test. In [11], calibration was carried out specifically for the gyroscope (gyro) and accelerometer (acc) of the smartphone. This study primarily focused on investigating the impact of scale factor and bias, two prominent sources of deterministic errors, on the IMU solution and the resulting position error d x as follows:
d x a c c 1 2 b a c c t 2
d x g y r o 1 6 b g y r o g t 3
where b a c c and b g y r o are biases in the acc and gyro, which are responsible for the position errors d x a c c and d x g y r o , respectively. t is the mechanization time of IMU and g is the Earth’s gravity. In other words, as shown in Equations (19) and (20), this bias introduces a second-order and third-order error in position, respectively [3,11,28,47].
Table 1 presents the specification and deterministic error of the BMI160 BOSCH gyro and acc, which were installed on the REALME RMX2030 smartphone [48].

3.6.2. INS Mechanization

Local level frame (LLF) mechanization equations have been requested in many applications because the user may easily understand the navigation solution provided by the LLF navigation equations when they are on or near the surface of the Earth [49]. In the ECEF frame, the position vector p l is defined as shown in Equation (21):
p l = φ λ a l t
where λ is the longitude l o n g , φ is latitude l a t , and a l t is altitude. The velocity components influence the temporal rate of variation of the position components [3]:
φ ˙ λ ˙ a l t ˙ = 1 R m + a l t 0 0 0 1 cos ϕ ( R n + a l t ) 0 0 0 1 v e l n v e l e v e l d l
p ˙ l = A 1 v e l l
where λ ˙ , φ ˙ , and a ˙ l t are temporal rate of variations of long, lat, and alt. v e l n , v e l e , and v e l d are the velocities in the north, east, and down (NED) directions, respectively. R n and R m are normal and meridian ellipsoid radii. A 1 is the transformation matrix of the velocity vector between rectangular and curvilinear coordinates.
The time derivative of LLF velocity component v e l l is shown in Equation (24).
v e l l = C b l a x b ( 2 Ω i e l + Ω e l l ) v e l l + g l
where the C b l matrix transforms the b-frame to the l-frame, a x b is the accelerometer’s measurement in the b-frame, g l is the vector of gravity in the l-frame, and Ω i e l , Ω e l l are the skew–symmetric matrices related to ω i e l , ω e l l , which are Earth rotation rate and transportation rate [3].
The orientation (attitude) is calculated by solving the transformation matrix’s time derivative equation C ˙ b l as follows:
C ˙ b l = C b l [ Ω i b b C l b ( Ω i e l + Ω e l l ) C b l ]
where Ω i b b is the skew–symmetric matrix of the gyro-measurement vector. The quaternion was used for the following reasons [3,49,50]:
  • The singularity issue that can occur when using Euler angles is avoided by the quaternion solution.
  • It is rather easy to execute the quaternion computation.
  • Instead of six differential equations if directions cosines are used, just four equations are numerically solved.
Quaternion q has four parameters ( q 1 , q 2 , q 3 , and q 4 ) and is represented as follows:
q = cos ( θ 2 ) , ( θ x θ ) sin ( θ 2 ) , ( θ y θ ) sin ( θ 2 ) , ( θ z θ ) sin ( θ 2 ) T
where θ is the rotational angle of the quaternion and equals ( θ x 2 + θ y 2 + θ z 2 ) and θ x θ , θ y θ , θ z θ is the directional cosine of the rotation axis. Additionally, quaternion obeys the unity restriction where 1 = q 1 2 + q 2 2 + q 3 2 + q 4 2 Hence,
q ˙ = 1 2 [ Ω ¯ ( ω ) ] q
Ω ¯ ( ω ) = 0 ω z ω y ω x ω z 0 ω x ω y ω y ω x 0 ω z ω x ω y ω z 0
where ω = [ ω x ω y ω z ] T is the body rotation angular velocity.
The transformation matrix from the body frame to the L L F using the direction cosine matrix and quaternion states is illustrated by (29) [49,51,52].
C b l = q 2 2 + q 1 2 q 3 2 q 4 2 2 ( q 2 q 3 q 4 q 1 ) 2 ( q 3 q 4 + q 3 q 1 ) 2 ( q 2 q 3 + q 4 q 1 ) q 3 2 + q 1 2 q 2 2 q 4 2 2 ( q 3 q 4 q 2 q 1 ) 2 ( q 2 q 4 q 3 q 1 ) 2 ( q 3 q 4 + q 2 q 1 ) q 4 2 + q 1 2 q 2 2 q 3 2
The attitude angles ε 3 × 1 l can be demonstrated as follows:
ε 3 × 1 l = ϕ θ ψ = atan 2 ( C b l 31 , C b l 33 ) asin ( C b l 32 ) atan 2 ( C b l 12 , C b l 22 )

3.6.3. Extended Kalman Filter (EKF)

The EKF is a Kalman Filter modification that manages nonlinear systems’ state estimation [49,50]. A nonlinear system is linearized by the EKF with respect to its current states covariance and mean; hence, the state errors can represent the linear system (rather than the system’s states), which thus permits the use of the linear KF. The KF makes the assumption that each state’s time derivative is a function that is linear with the others and the white noise sources [49]. The first-order Taylor series approximation is applied to derive the linearized error-state model δ x ˙ ( t ) , expressed as
δ x ˙ ( t ) = F ( t ) δ x ( t ) + G ( t ) w ( t )
where δ x = x x ^ represents the estimation error between the true state vector x and its estimate x ^ and consists of the position errors, velocity errors, attitude errors, and errors in the inertial sensors. Here, w ( t ) denotes zero-mean, unit-variance white, Gaussian-process noise; G ( t ) is the noise distribution matrix; and F ( t ) is the system dynamics matrix.
The measurement model is similarly linearized as
δ z ( t ) = H ( t ) δ x ( t ) + v ( t )
where H ( t ) is the measurement matrix, determined based on known system parameters, and v ( t ) is the measurement noise vector, assumed to be zero-mean white Gaussian noise.

3.6.4. Error Model

Inertial sensor error is one of the main causes of process noise error.
The error model is defined as in (33):
u m e a s u r e d ( t ) = u ( t ) ( 1 + s ( t ) ) + b ( t ) + w ( t )
where u ( t ) is the sensor input, s ( t ) is the scale factor error, b ( t ) is the bias, w ( t ) is random walk noise, and the measured value of the sensor is u m e a s u r e d ( t ) . The stochastic sensor’s errors like scale factor and bias are frequently modeled using the first-order Gauss–Markov (GM) process as follows:
n ˙ ( t ) = β n ( t ) + ( 2 β α 2 ) w u ( t )
where n ( t ) is a random process, w u ( t ) a unity variance zero-mean Gaussian noise, β is correlation time inverse, and α 2 is the white noise variance. By analyzing the sensor measurements over a fixed length of time, these parameters can be roughly determined [50,53].

3.6.5. LC Integration Model

As shown in Figure 3, after choosing the best set of the satellite by the MDDA, the receiver can determine the position and the velocity LC integration fuses the final six-element results of the GNSS receiver position and velocity with the INS navigation solution.
The state vector is defined as
δ x 15 × 1 l = [ δ p 3 × 1 l δ v e l 3 × 1 l δ ε 3 × 1 l δ ω 3 × 1 δ a x 3 × 1 ] T
where δ p 3 × 1 l is the error vector of position, δ v e l 3 × 1 l is the error vector of velocity, ε 3 × 1 l is the attitude error vector, δ ω 3 × 1 is the gyroscope drift error vector, and δ a x 3 × 1 is the accelerometer bias error vector. The measurement vector of the LC model contains the difference between the INS prediction and GPS reading as follows:
p I N S l p G P S l v e l I N S l v e l G P S l
The G, F, and H matrices in (31) and (32) can be expressed as follows:
G 1 × 15 = [ σ p , 1 × 3 σ v e l , 1 × 3 σ ε , 1 × 3 σ ω , 1 × 3 σ a x , 1 × 3 ]
where G is the vector of noise distribution and includes the standard deviation of the state vector x l .
F 15 × 15 = 0 3 × 3 F p 0 3 × 3 0 3 × 3 0 3 × 3 0 3 × 3 0 3 × 3 F v e l 0 3 × 3 C b l 0 3 × 3 F ε 0 3 × 3 C b l 0 3 × 3 0 3 × 3 0 3 × 3 0 3 × 3 F ω 0 3 × 3 0 3 × 3 0 3 × 3 0 3 × 3 0 3 × 3 F a x
F p = 1 R m + a l t 0 0 0 1 cos ϕ ( R n + a l t ) 0 0 0 1
F v e l = 0 f d f e f d 0 f n f e f n 0
where f n , f e , and f d are accelerations of the body along the NED directions; we can transform from ENU to NED and vice versa with the following transformation matrix [54]:
C N E D E N U = C E N U N E D = 0 1 0 1 0 0 0 0 1
F ε = 0 1 R n + a l t 0 1 ( R m + a l t ) 0 0 0 tan ϕ R n + a l t 0
F a x = β a x x 0 0 0 β a x y 0 0 0 β a x z
F ω = β ω x 0 0 0 β ω y 0 0 0 β ω z
The H matrix is the design matrix of measurements and, in LC integration, the measurements exactly fit the states of the position and velocity errors; hence,
H 6 × 15 = [ I 6 × 6 0 6 × 9 ]
Sequentially, after substitution in Equations (31) and (32), we can obtain the system and measurement LC model, respectively. Finally, the covariance matrix R, which has the measured states’ variance in its diagonal, can be expressed as
R = d i a g [ σ ϕ 2 σ λ 2 σ a l t 2 σ v e l n 2 σ v e l e 2 σ v e l d 2 ]
Also, the prediction covariance matrix P 15 × 15
P 15 × 15 = d i a g [ σ p , 3 × 3 2 σ v e l , 3 × 3 2 σ ε , 3 × 3 2 σ ω , 3 × 3 2 σ a x , 3 × 3 2 ]

3.6.6. TC Integration Model

Unlike LC, in TC integration, the raw measurements of the GNSS receiver (such as pseudo-range and pseudorange-rate) of all MDDA visible satellites are integrated into the sensor fusion system. The system state vector will be [50]
δ x 17 × 1 l = [ δ p 3 × 1 l δ v e l 3 × 1 l ε 3 × 1 l δ ω 3 × 1 δ a x 3 × 1 δ b r δ d r ] T
where δ b r , δ d r is the receiver clock bias and drift.
Also, the additional part is added to the F, G, and H matrices. Depending on Equation (31), the final system model will be
δ p ˙ 3 × 1 1 δ v e l ˙ 3 × 1 l ε ˙ 3 × 1 1 δ ω ˙ 3 × 1 δ a x ˙ 3 × 1 δ b ˙ r δ d ˙ r = I 3 × 3 F p 0 3 × 3 0 3 × 3 0 3 × 3 0 0 0 3 × 3 I 3 × 3 F v e l 0 3 × 3 C b l 0 0 0 3 × 3 F e I 3 × 3 C b l 0 3 × 3 0 0 0 3 × 3 0 3 × 3 0 3 × 3 I 3 × 3 + F w 0 3 × 3 0 0 0 3 × 3 0 3 × 3 0 3 × 3 0 3 × 3 I 3 × 3 + F a x 0 0 0 1 × 3 0 1 × 3 0 1 × 3 0 1 × 3 0 1 × 3 1 0 0 1 × 3 0 1 × 3 0 1 × 3 0 1 × 3 0 1 × 3 0 1 δ p 3 × 1 l δ v e l 3 × 1 l ε 3 × 1 l δ ω 3 × 1 δ a x 3 × 1 δ b r δ d r + σ p , 3 × 1 σ v e l , 3 × 1 σ z , 3 × 1 σ w , 3 × 1 σ a x , 3 × 1 σ b σ d w
where σ b , σ d is the standard deviation for the clock bias and drift, respectively. The crucial component of the GNSS receiver that needs to be evaluated is the pseudorange. Smartphones give all the components for evaluating the pseudorange, but not its value. The period of time it takes for a navigation message to be transmitted from the satellite to the receiver provides the pseudorange between the m t h satellite and the GNSS receiver. Pseudorange can be calculated as follows:
ρ m = [ t R X t T X ] c
where ρ m is the pseudorange from the m t h satellite; t T X , t R X are the times of transmission and arrival, respectively; and c is the speed of light. On the other hand, the pseudorange rate for the m t h satellite ρ ˙ m can be determined as
ρ ˙ m = D m c L 1
where D m is the Doppler shift, which is based on the receiver and satellite motion, and L 1 is the transmission frequency of the satellite.
D m = [ ( v e l m v e l ) · 1 m ] L 1 c
where v e l , v e l m are the velocity vector of the receiver and the m t h satellite in ECEF, respectively, and 1 m is the line-of-sight (LOS) unit vector from the m t h satellite to the GNSS receiver, expressed as
1 m = [ ( x x m ) , ( y y m ) , ( z z m ) ] T ( ( x x m ) 2 + ( y y m ) 2 + ( z z m ) 2 )
where x , y , and z are the receiver position and x m , y m , and z m are the position of the m t h satellite in ECEF. The linearization of Equations (50) and (51) leads to the TC measurement model:
δ ρ 1 δ ρ m δ ρ ˙ 1 δ ρ ˙ m = [ H ] 2 m × 17 δ p 3 × 1 l δ v e l 3 × 1 l ε 3 × 1 l δ ω 3 × 1 δ a x 3 × 1 δ b r δ d r + v ρ 1 v ρ m v ρ ˙ 1 v ρ ˙ m
where δ ρ m and δ ρ ˙ m are the pseudorange error from the m t h satellite and pseudorange rate error, respectively; v ρ m is the effect of residual errors; and v ρ ˙ m is the observation error.
The flowchart depicted in Figure 5 provides an overview of the comprehensive MDDA-TC integration process. It commences with the selection of the most suitable weighting matrix that delivers the best 3D position accuracy. Following this, the initial step of the satellite selection strategy is implemented. This entails selecting the satellite with the minimum 3D position error from among three methods: eliminating satellites with C / N o values lower than the average of the C / N o values on the horizon, eliminating satellites with elevation angles less than 5 , or retaining all satellites without elimination.
Subsequently, a check is performed to ascertain if the number of available satellites exceeds the receiver’s channel capacity. If there are more satellites than available channels, the dawndate satellite selection method is applied to identify the best subset. This constitutes the primary segment of the proposed algorithm, hereafter referred to as MDDA.
The following step is that for the TC algorithm, which comes into play after the selection of the optimal satellite set. In this phase, pseudorange computation takes place. The KF is then employed to gauge the discrepancies between GPS pseudo-range and pseudo-range rate measurements and their respective INS-predicted values. These disparities are utilized to estimate the errors inherent to the INS. Subsequently, the output produced by the INS is fine-tuned to accommodate these errors, ultimately yielding an enhanced integrated navigation solution.

4. Experimental Setup

To validate the proposed methodology, a road trajectory was conducted in Cairo, Egypt, within a suburban environment. The smartphone used for the experiment was securely mounted inside the testing land vehicle, as depicted in Figure 6, aligning with the vehicle’s axes. The starting point of the trajectory was carefully selected, considering the initialization of the employed sensors, and the entire trajectory lasted approximately 8 min. The data collection process was carried out using the REALME RMX2030 smartphone, which operates on Android 11 and is equipped with a Qualcomm Snapdragon 665 SM6125 processor. The road test was performed using the fused location provider (FLP) trajectory data as a reference. The FLP system integrates multiple location technologies, including GNSS (multiple constellations), Wi-Fi, and network-based positioning, to provide accurate location information [55,56].

5. Results and Discussion

This study explored various scenarios:
  • MDDA was applied to all visible satellites and processed exclusively by the receiver.
  • MDDA was integrated into the LC architecture to enhance its overall performance.
  • MDDA was also incorporated into the TC architecture to further optimize performance.
  • Lastly, all these scenarios were assessed while taking into account the additional constraints posed by restricted receiver channels.
The MDDA algorithm proposed in this study was applied to all visible satellites, resulting in a significant improvement in position accuracy. The evaluation of the algorithm’s performance was based on the comparison of 2D and 3D position root mean square error (RMSE) values. The RMSE was calculated by squaring the differences between the reference solution and the solution obtained from the proposed system and then taking the square root of the mean of these squared errors, as described by Abosekeen et al. [57]. The equation for calculating the RMSE is shown in Equation (55):
R M S E = 1 k k ( p k , r e f p k , p r o p o s e d ) 2
where k is the time epoch number, p k , r e f is the reference position, and p k , p r o p o s e d is the position for the proposed system.

5.1. MDDA with Receiver-Only Scenario

In this scenario, the receiver solution was subjected to the MDDA and then compared with the solution obtained from all visible satellites. The horizontal RMSE improved by 13%, while the 3D position RMSE experienced a significant improvement of 43% over the solution from all visible satellites based on the Google weighting matrix. To further explore the challenges, a low-cost GPS receiver was employed, limiting the maximum number of accessible channels to 10. Instead of utilizing all observed satellites on the horizon, various satellite selection (SS) approaches were examined to assess the algorithm’s performance. The results, presented in Table 2, illustrate the efficacy of the MDDA compared to alternative algorithms. In terms of the 2D position RMSE, the MDDA demonstrated a 12.5% improvement over the EL-based algorithm and a 8.7% improvement over the CNR-based algorithm. Similarly, for the 3D position RMSE, the MDDA showcased a 5.5% improvement over the EL-based algorithm and about 4% improvement over the CNR-based algorithm. It is noteworthy that these improvements were achieved solely utilizing the GPS constellation as the data source.
In Figure 7, the visibility of all satellites and the eliminated satellites using MDDA during samples of epochs are shown.
In Figure 8, the satellite visibility chart for the trajectory is presented.

5.2. MDDA with LC Integration Scenario

In the current scenario, the LC algorithm was employed to improved the position’s RMSE. The MDDA-LC algorithm improves the 2D and 3D position RMSE by 25% and 66.8%, respectively, over the solution from all visible satellites based on the Google weighting matrix in the case of using only the receiver and about 8% improvement in both against the solution from all satellites with LC integration. Additionally, it improved the limited receiver with only 10 channels 10MDDA-LC by 24% in 2D and 40% in 3D position RMSE over 10MDDA with a receiver only, shown in Table 2, and about 18% and 4% in 3D position RMSE over 10EL-LC and 10CNR-LC, respectively. The results are shown in Table 3.
In Figure 9 and Figure 10, the 2D and 3D position RMSE values are plotted, with data points sampled at 30-s intervals. The results clearly demonstrate the superior performance of the MDDA-LC algorithm compared to other algorithms, as it consistently achieved the lowest position RMSE.
Additionally, Figure 11 includes an illustration of the cumulative distribution function (CDF) curve with the 3D position RMSE for LC integration. The comparison indicates that the MDDA, when compared with all satellites on the horizon, exhibited the highest accuracy. Furthermore, when confronted with reducing the number of satellites to match the maximum receiver channels, the MDDA outperformed other techniques, demonstrating superior performance.

5.3. MDDA with TC Integration Scenario

In the present scenario, the MDDA-TC algorithm demonstrated a significant enhancement, resulting in an increase that exceeded 75.5% in 2D and 90% in 3D position RMSE over the solution from all visible satellites based on the Google matrix in Table 2, in addition to an improvement of about 78% in 2D and 83% in 3D position RMSE against the MDDA only scenario, and about 2.5% in 2D and 1.7% in 3D position RMSE over the solution from all satellites, shown in Table 4. Additionally, with the limited channel receiver, the 10 MDDA-TC algorithm improved the 2D and 3D position RMSE, with the same improvements over 10 MDDA, shown in Table 2, and about 10% and 4% in 3D position RMSE over 10 EL-TC and 10 CNR-TC, respectively. The results are included in Table 4.
Similarly, Figure 12 and Figure 13 demonstrate the improvement in position RMSE achieved by the MDDA-TC algorithm compared to the CNR and EL biased algorithms.
Furthermore, an additional analysis is depicted in Figure 14, which features the CDF curve in conjunction with the 3D position RMSE for TC integration. The comparison reveals that the MDDA demonstrated optimum accuracy in comparison to all satellites on the horizon. Moreover, in situations requiring the reduction of satellites to align with the maximum number of receiver channels, the MDDA exhibited superior performance compared to alternative methods.
Hence, Figure 15 clarifies the optimization of the MDDA-TC over MDDA-LC algorithms and demonstrates the substantial improvement in the positional RMSE during the whole trajectory.
Figure 16 illustrates the differences between the MDDA-LC and MDDA-TC trajectories in comparison to the reference trajectory, using a real-world map as context. Both methods exhibited satisfactory positioning accuracy, with MDDA-TC demonstrating comparatively enhanced performance.
As shown in Figure 17, the NED position error for the MDDA-TC algorithm, which represented the optimized approach, demonstrated the lowest error compared to the other algorithm.
Furthermore, an essential question arose, warranting a comprehensive examination: Among the visible satellites, which one was selected by the satellite selection (SS) techniques, and what were the underlying reasons? In order to provide an elucidating response, two distinct epochs are chosen as illustrative examples. The skyplot of the first epoch is presented on the left Figure 18, while the skyplot of the final epoch is displayed on the right in Figure 19. This visual representation facilitates the analysis of the SS techniques and their impact on satellite selection.
In the first epoch, the MDDA algorithm prioritized satellites 6, 18, 22, and 32 based on their optimal horizon geometry. However, despite having favorable EL angles and CNR, satellites 2 and 11 were excluded from the selection process. The specific satellite positions and the visualization of this selection process can be observed in Figure 20 and Figure 21, respectively.
The proposed MDDA considered both CNR and El to select the optimal satellite geometry on the horizon during the final epoch. In addition, the average of the dilution of precision (DOP) was computed for the whole trajectory to support the findings and insights regarding the optimal satellite geometry. The results of these analyses are summarized in Table 5.
The graphical representation in Figure 22 provides clear evidence that the MDDA consistently maintained the most favorable geometry throughout the trajectory, as observed in the horizontal dilution of precision (HDOP). The MDDA demonstrated a consistent pattern of superiority, with a lower average HDOP value of 1.28, compared to CNR, with an average HDOP of 1.35, and EL, with an average HDOP of 1.54. This indicated that the MDDA consistently offered superior precision and geometry throughout the trajectory.
Finally, a simulated outage was conducted to assess the performance of the TC algorithm implemented in this study. The outage simulations varied in duration, ranging from 10 to 30 s, and were performed with different numbers of available satellites, from 3 down to 1. The results of these simulations are shown in Figure 23. In comparison, the LC algorithm’s performance deteriorated as the number of available satellites decreased. When fewer than four satellites were available, the LC algorithm was unable to update the solution using GPS measurements, as it depended on previously known GPS position and velocity information. Without GPS updates, the LC approach gradually drifted over time, requiring a new update to correct the error and restore accurate positioning. On the other hand, the performance of the TC integration method remained robust, even during satellite outages, showcasing its capability to maintain accurate positioning with fewer satellites.

6. Conclusions

High-precision positioning and navigation have seen significant advancements, with the integration of new technologies aimed at enhancing accuracy and reliability. As these technologies mature, their applications in various domains continue to expand. This study proposes two algorithms for GNSS/INS integration, evaluated using a real-road trajectory to assess the performance enhancement of smartphone sensors. The developed MDDA method was applied to all visible satellites, leading to a 13% improvement in 2D position RMSE and a 43% improvement in 3D position RMSE compared to the solution based on the Google weighting matrix. The LC algorithm was employed to further reduce position RMSE. The combined MDDA-LC algorithm achieved reductions of 25% and 66.8% in 2D and 3D position RMSE, respectively. Meanwhile, the MDDA-TC algorithm demonstrated even greater improvements, exceeding 90% in 2D and 75% in 3D position RMSE compared to the baseline solution. Additionally, the smartphone’s GNSS receiver faced novel constraints, limiting the solution to the most accessible channels rather than utilizing all detected satellites within view. Both the MDDA-LC and MDDA-TC algorithms exhibited equivalent enhancements in 2D and 3D position RMSE, demonstrating their effectiveness in improving positioning accuracy.

Author Contributions

M.F.E. proposed the algorithm, participated in performing the experiments, and wrote the manuscript; H.H. and A.K. reviewed the manuscript and provided important suggestions to improve the algorithm; A.N. revised the manuscript; A.A. participated in preparing the algorithm, the experimental work, and the analysis of the results and revised the manuscript. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Data are contained within the article.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Li, Y.; Zhuang, Y.; Hu, X.; Gao, Z.; Hu, J.; Chen, L.; He, Z.; Pei, L.; Chen, K.; Wang, M.; et al. Toward Location-Enabled IoT (LE-IoT): IoT Positioning Techniques, Error Sources, and Error Mitigation. IEEE Internet Things J. 2021, 8, 4035–4062. [Google Scholar] [CrossRef]
  2. Chiang, K.W.; Huang, C.H.; Chang, H.W.; Lin, C.X.; Tsai, M.L.; Zeng, J.C.; Hung, M.C. Semantic proximity update of GNSS/INS/VINS for Seamless Vehicular Navigation using Smartphone sensors. IEEE Internet Things J. 2023, 10, 15736–15748. [Google Scholar] [CrossRef]
  3. Noureldin, A.; Karamat, T.B.; Georgy, J. Fundamentals of Inertial Navigation, Satellite-Based Positioning and Their Integration; Springer Science: Berlin/Heidelberg, Germany, 2012. [Google Scholar]
  4. Li, Y.; He, Z.; Gao, Z.; Zhuang, Y.; Shi, C.; El-Sheimy, N. Toward Robust Crowdsourcing-Based Localization: A Fingerprinting Accuracy Indicator Enhanced Wireless/Magnetic/Inertial Integration Approach. IEEE Internet Things J. 2019, 6, 3585–3600. [Google Scholar] [CrossRef]
  5. Abosekeen, A.; Iqbal, U.; Noureldin, A. Improved Navigation Through GNSS Outages: Fusing Automotive Radar and OBD-II Speed Measurements with Fuzzy Logic. GPS World 2021, 32, 36–41. [Google Scholar]
  6. Lin, J.; Zheng, C.; Xu, W.; Zhang, F. A Robust, Real-Time, LiDAR-Inertial-Visual Tightly-Coupled State Estimator and Mapping. IEEE Robot. Autom. Lett. 2021, 6, 7469–7476. [Google Scholar] [CrossRef]
  7. Li, S.; Wang, S.; Zhou, Y.; Shen, Z.; Li, X. Tightly Coupled Integration of GNSS, INS, and LiDAR for Vehicle Navigation in Urban Environments. IEEE Internet Things J. 2022, 9, 24721–24735. [Google Scholar] [CrossRef]
  8. Biancalana, C.; Gasparetti, F.; Micarelli, A.; Sansonetti, G. An Approach to Social Recommendation for Context-Aware Mobile Services. ACM Trans. Intell. Syst. Technol. 2013, 4, 1–31. [Google Scholar] [CrossRef]
  9. Mahdi, A.E.; Azouz, A.; Abdalla, A.E.; Abosekeen, A. A Machine Learning Approach for an Improved Inertial Navigation System Solution. Sensors 2022, 22, 1687. [Google Scholar] [CrossRef]
  10. Alam, N.; Balaei, A.T.; Dempster, A.G. Relative positioning enhancement in VANETs: A tight integration approach. IEEE Trans. Intell. Transp. Syst. 2012, 14, 47–55. [Google Scholar] [CrossRef]
  11. El-Khalea, M.F.; Hendy, H.M.; Kamel, A.M.; Arafa, I.I. Loosely Coupled GNSS/INS for Android Platforms. In Proceedings of the 2022 13th International Conference on Electrical Engineering (ICEENG), Cairo, Egypt, 29–31 March 2022; pp. 37–41. [Google Scholar] [CrossRef]
  12. Yi, D.; Yang, S.; Bisnath, S. Native Smartphone Single-and Dual-Frequency GNSS-PPP/IMU Solution in Real-World Driving Scenarios. Remote Sens. 2022, 14, 3286. [Google Scholar] [CrossRef]
  13. Iqbal, U.; Abosekeen, A.; Elsheikh, M.; Noureldin, A.; Korenberg, M.J. A Review of Sensor System Schemes for Integrated Navigation. In Proceedings of the 2022 5th International Conference on Communications, Signal Processing, and their Applications (ICCSPA), Cairo, Egypt, 27–29 December 2022; pp. 1–5. [Google Scholar] [CrossRef]
  14. Li, X.; Wang, H.; Li, S.; Feng, S.; Wang, X.; Liao, J. GIL: A tightly coupled GNSS PPP/INS/LiDAR method for precise vehicle navigation. Satell. Navig. 2021, 2, 26. [Google Scholar] [CrossRef]
  15. Ibrahim, A.; Abosekeen, A.; Azouz, A.; Noureldin, A. Enhanced Autonomous Vehicle Positioning Using a Loosely Coupled INS/GNSS-Based Invariant-EKF Integration. Sensors 2023, 23, 6097. [Google Scholar] [CrossRef] [PubMed]
  16. European Union Agency for the Space Programme. Using GNSS Raw Measurements on Android Devices. White Paper, 28 January 2018. Available online: https://www.gsa.europa.eu/system/files/reports/gnss_raw_measurement_web_0.pdf (accessed on 3 May 2022).
  17. Radicati Group. Mobile Statistics Report, 2021–2025—Executive Summary 2021. Available online: https://www.radicati.com/wp/wp-content/uploads/2021/Mobile_Statistics_Report,_2021-2025_Executive_Summary.pdf (accessed on 23 April 2025).
  18. Suzuki, T. Precise Position Estimation Using Smartphone Raw GNSS Data Based on Two-Step Optimization. Sensors 2023, 23, 1205. [Google Scholar] [CrossRef] [PubMed]
  19. ElKhalea, M.F.; Hendy, H.M.; Kamel, A.M.; Arafa, I.I.; Abosekeen, A. Smartphone Positioning Enhancement Using Several GNSS Satellite Selection Techniques. In Proceedings of the 2022 5th International Conference on Communications, Signal Processing, and their Applications (ICCSPA), Cairo, Egypt, 27–29 December 2022; pp. 1–6. [Google Scholar] [CrossRef]
  20. Zhou, J.; Knedlik, S.; Loffeld, O. INS/GPS tightly-coupled integration using adaptive unscented particle filter. J. Navig. 2010, 63, 491–511. [Google Scholar] [CrossRef]
  21. Lu, Y.; Ji, S.; Chen, W.; Wang, Z. Assessing the performance of raw measurement from different types of smartphones. In Proceedings of the 31st International Technical Meeting of the Satellite Division of the Institute of Navigation (ION GNSS+ 2018), Miami, FL, USA, 24–28 September 2018; pp. 304–322. [Google Scholar] [CrossRef]
  22. Li, L.; Elhajj, M.; Feng, Y.; Ochieng, W.Y. Machine learning based GNSS signal classification and weighting scheme design in the built environment: A comparative experiment. Satell. Navig. 2023, 4, 21. [Google Scholar] [CrossRef]
  23. Gogoi, N.; Minetto, A.; Linty, N.; Dovis, F. A controlled-environment quality assessment of android GNSS raw measurements. Electronics 2018, 8, 5. [Google Scholar] [CrossRef]
  24. Gomes, A.; Krueger, C.P. Evaluation of the positional quality through the post-processing of raw GNSS data from a smartphone via different satellite positioning methods. Boletim Ciências Geodésicas 2020, 26, e2020020. [Google Scholar] [CrossRef]
  25. Chen, R.; Zhao, L. Multi-level autonomous integrity monitoring method for multi-source PNT resilient fusion navigation. Satell. Navig. 2023, 4, 21. [Google Scholar] [CrossRef]
  26. Alghisi, M.; Biagi, L. Positioning with GNSS and 5G: Analysis of Geometric Accuracy in Urban Scenarios. Sensors 2023, 23, 2181. [Google Scholar] [CrossRef]
  27. Niu, X.; Zhang, Q.; Li, Y.; Cheng, Y.; Shi, C. Using inertial sensors of iPhone 4 for car navigation. In Proceedings of the 2012 IEEE/ION Position, Location and Navigation Symposium, Myrtle Beach, SC, USA, 23–26 April 2012; pp. 555–561. [Google Scholar] [CrossRef]
  28. Sheta, A.; Mohsen, A.; Sheta, B.; Hassan, M. Improved localization for Android smartphones based on integration of raw GNSS measurements and IMU sensors. In Proceedings of the 2018 International Conference on Computer and Applications (ICCA), Beirut, Lebanon, 25–26 August 2018; pp. 297–302. [Google Scholar] [CrossRef]
  29. Robustelli, U.; Baiocchi, V.; Pugliano, G. Assessment of dual frequency GNSS observations from a Xiaomi Mi 8 Android smartphone and positioning performance analysis. Electronics 2019, 8, 91. [Google Scholar] [CrossRef]
  30. Paziewski, J.; Fortunato, M.; Mazzoni, A.; Odolinski, R. An analysis of multi-GNSS observations tracked by recent Android smartphones and smartphone-only relative positioning results. Measurement 2021, 175, 109162. [Google Scholar] [CrossRef]
  31. Kuutti, S.; Fallah, S.; Katsaros, K.; Dianati, M.; Mccullough, F.; Mouzakitis, A. A survey of the state-of-the-art localization techniques and their potentials for autonomous vehicle applications. IEEE Internet Things J. 2018, 5, 829–846. [Google Scholar] [CrossRef]
  32. Lee, D.K.; Taylor, T.; Akos, D.M.; Yun, J.; Jo, Y.; Park, B. GNSS Fault Detection and Mitigation using Android IMU. In Proceedings of the 35th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS+ 2022), Denver, CO, USA, 19–23 September 2022; pp. 1676–1686. [Google Scholar] [CrossRef]
  33. Chai, D.; Song, S.; Wang, K.; Bi, J.; Zhang, Y.; Ning, Y.; Yan, R. Optimization Model-Based Robust Method and Performance Evaluation of GNSS/INS Integrated Navigation for Urban Scenes. Electronics 2025, 14, 660. [Google Scholar] [CrossRef]
  34. Prochniewicz, D.; Kudrys, J.; Maciuk, K. Noises in Double-Differenced GNSS Observations. Energies 2022, 15, 1668. [Google Scholar] [CrossRef]
  35. Angrisano, A.; Del Pizzo, S.; Gaglione, S.; Troisi, S.; Vultaggio, M. Using local redundancy to improve GNSS absolute positioning in harsh scenario. Acta Imeko 2018, 7, 16–23. [Google Scholar] [CrossRef]
  36. Hartinger, H.; Brunner, F.K. Variances of GPS phase observations: The SIGMA model. GPS Solut. 1999, 2, 35–43. [Google Scholar] [CrossRef]
  37. Angrisano, A.; Del Pizzo, S.; Gaglione, S.; Troisi, S.; Vultaggio, M. Enhanced pseudorange weighting scheme using local redundancy. In Proceedings of the IMEKO International Conference on Metrology for The Sea Naples, Naples, Italy, 11–13 October 2017. [Google Scholar]
  38. Shinghal, G.; Bisnath, S. Conditioning and PPP processing of smartphone GNSS measurements in realistic environments. Satell. Navig. 2021, 2, 10. [Google Scholar] [CrossRef]
  39. Banville, S.; Lachapelle, G.; Ghoddousi-Fard, R.; Gratton, P. Automated processing of low-cost GNSS receiver data. In Proceedings of the 32nd International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS+ 2019), Miami, FL, USA, 16–20 September 2019; pp. 3636–3652. [Google Scholar]
  40. Medina, D.; Gibson, K.; Ziebold, R.; Closas, P. Determination of pseudorange error models and multipath characterization under signal-degraded scenarios. In Proceedings of the 31st International Technical Meeting of the Satellite Division of the Institute of Navigation, ION GNSS+ 2018, Miami, FL, USA, 24–28 September 2018. [Google Scholar]
  41. Lyu, Z.; Gao, Y. An SVM based weight scheme for improving kinematic GNSS positioning accuracy with low-cost GNSS receiver in urban environments. Sensors 2020, 20, 7265. [Google Scholar] [CrossRef]
  42. Manandhar, S.; Meng, Y.S. Analysis on the effect of different elevation cut-off angles on GPS time transfer. Meas. Sens. 2021, 18, 100196. [Google Scholar] [CrossRef]
  43. Walter, T.; Blanch, J.; Kropp, V. Satellite selection for multi-constellation SBAS. In Proceedings of the 29th International Technical Meeting of the Satellite Division of the Institute of Navigation (ION GNSS+ 2016), Portland, OR, USA, 12–16 September 2016; pp. 1350–1359. [Google Scholar]
  44. Deng, Z.l.; Dong, H.; Zhan, Z.w.; Wang, G.y.; Yin, L.; Xi, Y. Improved satellite selection algorithm based on carrier-to-noise ratio and geometric dilution of precision. In China Satellite Navigation Conference (CSNC) 2013 Proceedings: BeiDou/GNSS Navigation Applications Test & Assessment Technology User Terminal Technology; Springer: Berlin/Heidelberg, Germany, 2013; pp. 575–583. [Google Scholar]
  45. He, G.; Song, M.; He, X.; Hu, Y. GPS signal acquisition based on compressive sensing and modified greedy acquisition algorithm. IEEE Access 2019, 7, 40445–40453. [Google Scholar] [CrossRef]
  46. Chi, C.; Zhan, X.; Wu, T.; Zhang, X. Ultra-rapid direct satellite selection algorithm for multi-GNSS. In International Conference on Aerospace System Science and Engineering 2019; Springer: Singapore, 2020; pp. 11–25. [Google Scholar]
  47. Odenwald, S. A Guide to Smartphone Sensors Experimeter’ s Guide to Smartphone Sensors; National Aeronautics and Space Administration: Washington, DC, USA, 2019. [Google Scholar]
  48. Bosch Sensortec. BMI160 Small, Low Power Inertial Measurement Unit. 2015. Available online: https://www.bosch-sensortec.com (accessed on 10 October 2023).
  49. Groves, P. Principles of GNSS, Inertial, and Multisensor Integrated Navigation Systems, 2nd ed.; GNSS/GPS, Artech House: London, UK, 2013. [Google Scholar]
  50. Kourabbaslou, S.S.; Zhang, A.; Atia, M.M. A Novel Design Framework for Tightly Coupled IMU/GNSS Sensor Fusion Using Inverse-Kinematics, Symbolic Engines, and Genetic Algorithms. IEEE Sens. J. 2019, 19, 11424–11436. [Google Scholar] [CrossRef]
  51. Diebel, J. Representing attitude: Euler angles, unit quaternions, and rotation vectors. Matrix 2006, 58, 1–35. [Google Scholar]
  52. Elsabbagh, M.S.; Hassaballa, A.H.; Kamel, A.M.; Elhalwagy, Y.Z. Precise Orientation Estimation Based on Nonlinear Modeling and Quaternion Transformations for Low Cost Navigation Systems. In Proceedings of the 2021 3rd Novel Intelligent and Leading Emerging Sciences Conference (NILES), Giza, Egypt, 23–25 October 2021; pp. 147–154. [Google Scholar] [CrossRef]
  53. Atia, M. Design and simulation of sensor fusion using symbolic engines. Math. Comput. Model. Dyn. Syst. 2019, 25, 40–62. [Google Scholar] [CrossRef]
  54. Grewal, M.S.; Andrews, A.P.; Bartone, C.G. Global Navigation Satellite Systems, Inertial Navigation, and Integration; John Wiley & Sons: Hoboken, NJ, USA, 2020. [Google Scholar]
  55. Diggelen, F.V.; Want, R.; Wang, W. How to Achieve 1-Meter Accuracy in Android. Available online: https://www.gpsworld.com/how-to-achieve-1-meter-accuracy-in-android/ (accessed on 15 October 2023).
  56. Google Developers. Fused Location Provider. Available online: https://developers.google.com/location-context/fused-location-provider (accessed on 15 October 2023).
  57. Abosekeen, A.; Iqbal, U.; Noureldin, A.; Korenberg, M.J. A novel multi-level integrated navigation system for challenging GNSS environments. IEEE Trans. Intell. Transp. Syst. 2020, 22, 4838–4852. [Google Scholar] [CrossRef]
Figure 1. Flowchart of the main methodological components.
Figure 1. Flowchart of the main methodological components.
Sensors 25 02804 g001
Figure 2. The coordinate frames.
Figure 2. The coordinate frames.
Sensors 25 02804 g002
Figure 3. LC integration architecture.
Figure 3. LC integration architecture.
Sensors 25 02804 g003
Figure 4. TC integration architecture.
Figure 4. TC integration architecture.
Sensors 25 02804 g004
Figure 5. MDDA-TC algorithm flowchart.
Figure 5. MDDA-TC algorithm flowchart.
Sensors 25 02804 g005
Figure 6. Mounting of the smartphone within the vehicle.
Figure 6. Mounting of the smartphone within the vehicle.
Sensors 25 02804 g006
Figure 7. Satellite visibility and elimination.
Figure 7. Satellite visibility and elimination.
Sensors 25 02804 g007
Figure 8. Satellite visibility chart.
Figure 8. Satellite visibility chart.
Sensors 25 02804 g008
Figure 9. The 2D position RMSE.
Figure 9. The 2D position RMSE.
Sensors 25 02804 g009
Figure 10. The 3D position RMSE.
Figure 10. The 3D position RMSE.
Sensors 25 02804 g010
Figure 11. CDF vs 3D-osition RMSE for LC.
Figure 11. CDF vs 3D-osition RMSE for LC.
Sensors 25 02804 g011
Figure 12. The 2D position RMSE.
Figure 12. The 2D position RMSE.
Sensors 25 02804 g012
Figure 13. The 3D position RMSE.
Figure 13. The 3D position RMSE.
Sensors 25 02804 g013
Figure 14. CDF vs. 3D position RMSE for LC.
Figure 14. CDF vs. 3D position RMSE for LC.
Sensors 25 02804 g014
Figure 15. The 3D position error using MDDA-(LC and TC) revealed a noteworthy improvement achieved by utilizing MDDA-TC with a restricted set of 10 visible satellites.
Figure 15. The 3D position error using MDDA-(LC and TC) revealed a noteworthy improvement achieved by utilizing MDDA-TC with a restricted set of 10 visible satellites.
Sensors 25 02804 g015
Figure 16. Trajectory depicted on Google earth map.
Figure 16. Trajectory depicted on Google earth map.
Sensors 25 02804 g016
Figure 17. The MDDA-TC position error in (north, east, down) NED.
Figure 17. The MDDA-TC position error in (north, east, down) NED.
Sensors 25 02804 g017
Figure 18. First epoch skyplot.
Figure 18. First epoch skyplot.
Sensors 25 02804 g018
Figure 19. Last epoch skyplot.
Figure 19. Last epoch skyplot.
Sensors 25 02804 g019
Figure 20. Geometry of the selected satellite.
Figure 20. Geometry of the selected satellite.
Sensors 25 02804 g020
Figure 21. Carrier-to-noise ratio (CNR) of the selected and eliminated satellites.
Figure 21. Carrier-to-noise ratio (CNR) of the selected and eliminated satellites.
Sensors 25 02804 g021
Figure 22. Horizontal dilution of precision (HDOP) for different algorithms.
Figure 22. Horizontal dilution of precision (HDOP) for different algorithms.
Sensors 25 02804 g022
Figure 23. Horizontal position RMSE comparison with respect to the number of available satellites and a simulated outage duration.
Figure 23. Horizontal position RMSE comparison with respect to the number of available satellites and a simulated outage duration.
Sensors 25 02804 g023
Table 1. Specifications of MEMS inertial sensors for the used smartphone [48].
Table 1. Specifications of MEMS inertial sensors for the used smartphone [48].
GyroscopeAccelerometer
Max measurement range ± 2000 deg / s ± 8 g
Bias error ± 0.4 deg / s ± 0.6 mg
Output noise 0.007 deg / s / Hz 180 g / Hz
Resolution 4.8 × 10 4 deg / s ± 0.975 mg
Table 2. Receiver-only 2D and 3D position RMSE in meters.
Table 2. Receiver-only 2D and 3D position RMSE in meters.
Method 2 D Position 3 D Position
All Visible Satellites
All Satellites4.5811.89
MDDA-Based3.966.78
Selected Satellites According to Max. Number of Rx Channels (10 Satellites)
10 EL-Based5.677.59
10 CNR-Based5.437.40
10 MDDA-Based4.967.17
Table 3. MDDA-LC algorithm 2D and 3D position RMSE in meters.
Table 3. MDDA-LC algorithm 2D and 3D position RMSE in meters.
MethodEastNorthDown2D Position3D Position
All Visible Satellites
All Satellites3.171.982.123.744.30
MDDA-LC-Based2.861.891.93.433.95
Selected Satellites According to Max. Number of Rx Channels (10 Satellites)
10 EL-LC-Based3.762.522.414.535.13
10 CNR-LC-Based3.192.172.213.864.45
10 MDDA-LC-Based3.181.992.063.754.28
Table 4. MDDA-TC algorithm 2D and 3D position RMSE in meters.
Table 4. MDDA-TC algorithm 2D and 3D position RMSE in meters.
MethodEastNorthDown2D Position3D Position
All Visible Satellites
All Satellites0.660.540.820.861.19
MDDA-TC-Based0.640.540.820.841.17
Selected Satellites According to Max. Number of Rx Channels (10 Satellites)
10 EL-TC-Based0.640.731.050.971.43
10 CNR-TC-Based0.630.720.940.951.34
10 MDDA-TC-Based0.580.690.920.911.29
Table 5. The average dilution of precision (DOP) error of the whole trajectory.
Table 5. The average dilution of precision (DOP) error of the whole trajectory.
    EL-Based       CNR-Based     MDDA-Based  
Geometric Dilution of Precision (GDOP)1.901.731.67
Horizontal Dilution of Precision (HDOP)1.541.351.28
Position Dilution of Precision (PDOP)1.701.561.50
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Elkhalea, M.F.; Hendy, H.; Kamel, A.; Abosekeen, A.; Noureldin, A. Centralized Measurement Level Fusion of GNSS and Inertial Sensors for Robust Positioning and Navigation. Sensors 2025, 25, 2804. https://doi.org/10.3390/s25092804

AMA Style

Elkhalea MF, Hendy H, Kamel A, Abosekeen A, Noureldin A. Centralized Measurement Level Fusion of GNSS and Inertial Sensors for Robust Positioning and Navigation. Sensors. 2025; 25(9):2804. https://doi.org/10.3390/s25092804

Chicago/Turabian Style

Elkhalea, Mohamed F., Hossam Hendy, Ahmed Kamel, Ashraf Abosekeen, and Aboelmagd Noureldin. 2025. "Centralized Measurement Level Fusion of GNSS and Inertial Sensors for Robust Positioning and Navigation" Sensors 25, no. 9: 2804. https://doi.org/10.3390/s25092804

APA Style

Elkhalea, M. F., Hendy, H., Kamel, A., Abosekeen, A., & Noureldin, A. (2025). Centralized Measurement Level Fusion of GNSS and Inertial Sensors for Robust Positioning and Navigation. Sensors, 25(9), 2804. https://doi.org/10.3390/s25092804

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop