A Modified Kalman Filter for Integrating the Different Rate Data of Gyros and Accelerometers Retrieved from Android Smartphones in the GNSS/IMU Coupled Navigation

Recent study indicates that by using the inertial measurement unit (IMU) sensors inside smartphones, we can obtain similar navigation solutions to the professional ones. However, the sampling rates of the gyros and accelerometers inside some types of smartphones are not set in the same frequencies, i.e., the gyros of “Huawei p40” are in 50 Hz while the accelerometer is 100 Hz. The conventional method is resampling the higher frequency to the lower frequency ones, which means the resampled accelerometer will lose half frequency observations. In this work, a modified Kalman filter was proposed to integrate all these different rate IMU data in the GNSS/IMU-smartphone coupled navigation. To validate the proposed method, a terrestrial test with two different types of android smartphones was done. With the proposed method, a slight improvement of the attitude solutions can be seen in the experiments under the GNSS open-sky condition, and the obvious improvement of the attitude solutions can be witnessed at the simulated GNSS denied situation. The improvements by 45% and 23% of the horizontal position accuracy can be obtained from the experiments under the GNSS outage of 50 s in a straight line and 30 s in a turning line, respectively.


Introduction
The quick development of modern miniaturization technology makes it possible to embed more high-performance sensors into smartphones, and the population of the smartphones in the mass market also gives great promotions to feedback this technology. We are focused on using the chips inside smartphones, including IMU (inertial measurement unit), GNSS, camera, etc., to develop potential professional-level works, such as high precision navigation, photogrammetry and remote sensing.
Recently, the performance of the IMU sensors inside the latest smartphones has been improved significantly, and many potential applications based on these sensors can be validated. Castro-Palacio et al. (2014) used a smartphone acceleration sensor to study the accelerated circular motions and obtained high agreement results compared with other reference methods [1]. Mourcou et al. (2015) analyzed the reliability of the clinical motion detection using the IMUs of smartphones [2]. Masiero and Vettore (2016) improved the image feature matching capacity with the simultaneously recorded image and IMU data from a smartphone [3]. Hakim et al. (2017) designed a system for detecting the fall accident for disabled people using the IMUs inside smartphones [4]. Andriamandroso et al. (2017) tried to use the smartphone's internal IMU sensors to characterize cattle eating and ruminating behaviors, with a high detection accuracy of more than 90% [5]. Poulose et al. (2018) studied the indoor position algorithm using a Samsung Galaxy Note 8 smartphone and obtained a 0.94-2.6 m accuracy trajectory result in a floor of one building. Sun et al. (2019) used the accelerometers and gyros inside the smartphone to detect the vehicle driving event, achieving a high correct accuracy of 97.5% [6].
IMU modules inside the smartphones also have great potentials to improve the navigation performance coupled with the GNSS observables. Mostafa et al. (2019) used the integration of GNSS, an INS-smartphone (inertial navigation system) and other visual sensors to enhance the USV (unmanned surface vehicle) navigation system, with around 80% reduction in errors [7]. Our previous studies on the assessment of the navigation performance of the IMUs inside smartphones provided an initial discussion about the integration method of the gyros and accelerometers of smartphones [8].
Recently, we found the sampling rates of the gyros and accelerometers in some types of smartphones, however, are not set in the same frequencies, for instance, the gyro data of "Huawei P40" is in 50 Hz whilst the accelerometer is 100 Hz. The conventional Kalman filter used in previous work was resampling the high frequency to the lower frequency ones, i.e., the 100 Hz accelerometers data were shrunk into 50 Hz to match the lower rate gyro data, which caused the great loss of the high frequency data. In this work, the structure of the prediction process of the Kalman filter was modified to prevent the discarding of the high frequency IMU data, to seek an improvement in the GNSS/IMU-smartphone coupled navigation. In the following section the modified Kalman filter will be described in detail, after that a terrestrial test strapped with two types of smartphones is validated to test the reliabilities of the proposed method.

The Kalman Filter for the GNSS/IMU Coupled Navigation
GNSS/IMU coupled navigation is one of the most classical navigation strategies, which can take full advantage of the GNSS and IMU system. The Kalman filter plays an essential role in the GNSS/IMU coupled algorithm. In general, the Kalman filter comprises two parts, the prediction process and the update process.

The Prediction Process of the Kalman Filter
In the prediction process, the gyros and the accelerometers observations are compensated, integrated and converted to calculate the navigation parameters. Taking a 15-state Kalman filter as an example, the navigation parameters vector can be written as: where r n means the position vector in the navigation frame, v n means the velocity vector in the navigation frame, ψ means the vector of the Euler angles that rotate from the navigation frame to the body frame, b a and b ω mean the bias error vector of the accelerometers and gyros. The prediction equation of the state parameters can be written with a dynamic form as: .
where f is the system dynamic function, w is the system noise matrix and G is a time-varying matrix. The detail form of the position and velocity state dynamic equations can be written as [9]: and where L, l and h mean the latitude (in radians), longitude (in radians) and height (in meters) of the position parameters, respectively, Ω is the turn rate of the earth (7.2921151467e-5 rad/s), R 0 is the mean radius of the Earth (6,371,008.7714 m), ξ and η represent angular deflections (in radians) in the direction of local gravity vector with respect to the local vertical owing to gravity anomalies (g), (f N , f E , f D ) mean the converted accelerometer observations in the navigation frame along the North, East and Down direction, respectively, which can be calculated as: mean the accelerometer observations (in m/s 2 ), and C n b is the direct cosine matrix for the transformation from the body frame to the navigation frame, calculated with the Euler angles as [8]: The detail form of the Euler angle state dynamic equations can be written as [9]: The direct cosine matrix C n b can also be calculated by the quaternions q = [a b c d] T as: and the quaternions dynamic equations is: where (ω x , ω y , ω z ) (in rad/s) represent the turn rate of the body frame with respect to the navigation frame in body axes, which can be notated as a vector as ω n nb that is calculated by: where ω b ib is the observations of the gyros (in rad/s), C b n is the transpose of C n b , ω n ie is the turn rate of the Earth in the local geographic frame, which can be calculated as: and ω n en in Equation (10) is the turn rate of the local geographic frame with respect to the Earth-fixed frame, which can be calculated by: The biases of the gyros and accelerometers are assumed to be constant, then the dynamic equations of these sensors' biases can be written as: In a non-linear expression, Equation (2) can be deduced as: Substituting f(x) in Equation (14) with Equations (3)-(13), the state parameters can be predicted by the integral of the IMU's observations with time.
After the prediction of the state parameters in Equation (1), the corresponding errors need to be estimated. The vector of the state errors can be written as: The prediction process of the state errors and the corresponding covariance matrix can be deduced as [10]: where φ i|i−1 is the prediction of the system matrix, which can be calculated by: where F is the system dynamic matrix, and the detail form can be found in the documents of [9,11,12]. Q i in Equation (16) is the process noise matrix, which can be formed as [10,12]: where G is the design matrix for the noise of the IMU observations, which can be deduced as: and Qin Equation (18) is the Spectral Density Matrix of the gyros and accelerometers observations [10,11]: where σ a and σ ω are the standard deviation of the accelerometers and gyros, respectively, which can be characterized by the noise of the IMUs that could be found in the manufacture document. In general, the prediction processes of the states of the position, velocity, attitude and the sensor bias are accomplished via Equation (14), which is filled by Equations (3), (4), (7) and (13), respectively, while the corresponding errors and their covariance prediction processes are Equation (16).

The Update Process of the Kalman Filter
During the running of the prediction process, the update process can be trigged in the case of the GNSS observations happening. For the loosely coupled strategy, the update equations can be taken as: where K 15×15 is the Kalman gain matrix, R 3×3 is the GNSS covariance matrix, δz is the update observation vector of the state errors-in our work referring to the delta position calculated through the differences between GNSS observations and system predictions, which can be written as: where z i is the GNSS observations: , and The GNSS observation vector z i can be expended as , if there are reliable velocity solutions retrieved from Doppler observations, and the line number of H matrix becomes 6.

Advanced Developments of the Kalman Filter in the GNSS/IMU Coupled Navigation
In order to get the more accurate and robust solutions from the GNSS/IMU coupled navigation, the form of the conventional Kalman filter has been developed from different aspects.
Some developed strategies modified the update process, i.e., the tightly and ultra-tightly Kalman filter introduces the GNSS raw pseudorange and carrier observations as the update information; the Kalman filter that introduces odometer, vision-camera, or other exterior arguments for the GNSS/INS coupled navigation; the non-holonomic constrain method uses the zero velocity in the side and vertical direction of the vehicle, as the update information of the Kalman filter to limit the growth of the system errors. These methods optimize the structure of the Kalman filter to involve more update information to the navigation system, which makes the system keep running even under the GNSS challenge environment.
Other strategies, such as the adaptive and robust Kalman filter, are focused on the balance of the contributions of the prediction process and the update process, by way of introducing the scale factor α and β into the spectral density matrix Q in Equation (20) and the GNSS covariance matrix R in Equation (21), respectively.
Few development strategies make changes to the prediction process, since the observations of the gyros and accelerometers from the IMU are the main input of the system dynamic equation, as can be seen in Equations (5) and (10), and the sampling rate of the gyros and accelerometers normally is set as the same frequency.

The Modified Kalman Filter for Integrating the Different Rate Data of Gyros and Accelerometers
As stated in the previous section, the data of the gyros and accelerometers can be integrated to calculate the position, velocity and attitude parameters in the predict process, and the data rate of the two sensors needs to be identical in the conventional Kalman filter.
However, we found the data rates of the two sensors are different in some types of smartphones, i.e., the data frequency of gyros of the "Huawei P40" is 50 Hz while that of accelerometers is 100 Hz. As shown in Figure 1, where the triangles mean the gyros observations with the time interval as ∆t 1 = 0.02 s, and the hollow circles mean the accelerometer observations with the double frequency samplings compared to the gyros, the time interval for this is ∆t 2 = 0.01 s. Theoretically, the data of the accelerometers can be resampled into the same frequency as the gyros to apply the conventional Kalman filter. This resampling method is not the optimal way to integrate the data since half of the accelerometers are abandoned. In this work, we make the changes of structure of the prediction process of the Kalman filter to include all the data of the gyros and accelerometers.
From Figure 1, we can see that there are two different epochs of the data sequence, one is with the observations of both gyros and accelerometers tagged with the symbol of a circle inside a triangle, and we named it as "both" epoch; the other one is only with the accelerometers, with the symbol of a simple circle, and named as "only" epoch.
At first, the conventional Kalman filter can be applied at the "both" epoch, but the item of "Δt" in Equation (14) should be taken with different values for the gyros and accelerometers-take the "Huawei P40" as an example, "Δt1" 0.02 s is for the conventional Kalman filter and the accelerometers "Δt2" 0.01 s is for the proposed method.
Secondly, at the "only" epoch the attitude predication using Equation (7) is not taken since there are no gyro observations. Subsequently, a new noise matrix base using Equation (18) was designed as: and Then, the modified Kalman filter with the two steps above, can be adopted to the data sequence shown in Figure 1.
In a short summary, to include the high rate data of the accelerometers, the prediction process was performed twice more than the conventional Kalman filter, and the covariance matrix Q was modified according to the IMU sampling "epoch" status; the process procedures can be summarized as Figure 2. This proposed method mainly works on the prediction process of the Kalman filter to include more IMU data, which differs from the other modification strategies that were stated in the previous section, such as GNSS/IMU tightly coupled, GNSS/IMU/Vision or non-holonomic constrains.  Theoretically, the data of the accelerometers can be resampled into the same frequency as the gyros to apply the conventional Kalman filter. This resampling method is not the optimal way to integrate the data since half of the accelerometers are abandoned. In this work, we make the changes of structure of the prediction process of the Kalman filter to include all the data of the gyros and accelerometers.
From Figure 1, we can see that there are two different epochs of the data sequence, one is with the observations of both gyros and accelerometers tagged with the symbol of a circle inside a triangle, and we named it as "both" epoch; the other one is only with the accelerometers, with the symbol of a simple circle, and named as "only" epoch.
At first, the conventional Kalman filter can be applied at the "both" epoch, but the item of "∆t" in Equation (14) should be taken with different values for the gyros and accelerometers-take the "Huawei P40" as an example, "∆t 1 " 0.02 s is for the conventional Kalman filter and the accelerometers "∆t 2 " 0.01 s is for the proposed method.
Secondly, at the "only" epoch the attitude predication using Equation (7) is not taken since there are no gyro observations. Subsequently, a new noise matrix base using Equation (18) was designed as: and Then, the modified Kalman filter with the two steps above, can be adopted to the data sequence shown in Figure 1.
In a short summary, to include the high rate data of the accelerometers, the prediction process was performed twice more than the conventional Kalman filter, and the covariance matrix Q was modified according to the IMU sampling "epoch" status; the process procedures can be summarized as Figure 2. This proposed method mainly works on the prediction process of the Kalman filter to include more IMU data, which differs from the other modification strategies that were stated in the previous section, such as GNSS/IMU tightly coupled, GNSS/IMU/Vision or non-holonomic constrains.

Test and Results
In order to test the reliability of the proposed method, a terrestrial test with two smartphones was carried out on the morning of 27 June 2020. These two mobile phones, "Huawei P40" and "Honor Play" made by Huawei Technologies co. LTD. (Shenzhen, China), were strapped down on the top of an iron board, which was fixed onto a motor tricycle as can be seen in Figure 3. Beside the smartphones, a high-grade fiber IMU, "KVH 1750" (200 Hz) made by KVH Industries, Inc. (Middletown 06457, USA), was taken as the comparing reference. Besides the IMU, a dual-frequency GNSS receiver (1 Hz), "NovAtel OEM6" made by NovAtel Inc. (Calgary, Canada), that was put on the same platform, as well as a GNSS reference nearby, was also involved to provide differential GNSS solutions. Prediction process: errors: at "only" epoch: at "both" epoch:

Test and Results
In order to test the reliability of the proposed method, a terrestrial test with two smartphones was carried out on the morning of 27 June 2020. These two mobile phones, "Huawei P40" and "Honor Play" made by Huawei Technologies co. LTD. (Shenzhen, China), were strapped down on the top of an iron board, which was fixed onto a motor tricycle as can be seen in Figure 3. Beside the smartphones, a high-grade fiber IMU, "KVH 1750" (200 Hz) made by KVH Industries, Inc. (Middletown 06457, USA), was taken as the comparing reference. Besides the IMU, a dual-frequency GNSS receiver (1 Hz), "NovAtel OEM6" made by NovAtel Inc. (Calgary, Canada), that was put on the same platform, as well as a GNSS reference nearby, was also involved to provide differential GNSS solutions.

Test and Results
In order to test the reliability of the proposed method, a terrestrial test with two smartphones was carried out on the morning of 27 June 2020. These two mobile phones, "Huawei P40" and "Honor Play" made by Huawei Technologies co. LTD. (Shenzhen, China), were strapped down on the top of an iron board, which was fixed onto a motor tricycle as can be seen in Figure 3. Beside the smartphones, a high-grade fiber IMU, "KVH 1750" (200 Hz) made by KVH Industries, Inc. (Middletown 06457, USA), was taken as the comparing reference. Besides the IMU, a dual-frequency GNSS receiver (1 Hz), "NovAtel OEM6" made by NovAtel Inc. (Calgary, Canada), that was put on the same platform, as well as a GNSS reference nearby, was also involved to provide differential GNSS solutions.

The Reference Solutions of the GNSS/KVH Coupled Navigations
This test was carried out at the campus of China University of Mining and Technology, the trajectory projected in Google Earth is as shown in Figure 4. The average velocity of the motor tricycle was around 4.5 m/s, and the time duration of this test is around 50 min.

The Reference Solutions of the GNSS/KVH Coupled Navigations
This test was carried out at the campus of China University of Mining and Technology, the trajectory projected in Google Earth is as shown in Figure 4. The average velocity of the motor tricycle was around 4.5 m/s, and the time duration of this test is around 50 min. The GNSS, GNSS/KVH coupled navigation solutions were estimated by the NovAtel "Inertial Explorer" (IE) software in a LC (loosely coupled) mode, and the profile was set as the manufacture "NovAtel SPAN Ground (KVH 1750)". The position, velocity and attitude information from the GNSS/KVGH were taken as the reference to compare with those calculated from the GNSS/IMUsmartphone coupled navigation.
In this work, only the GNSS data from the NovAtel receiver outside the smartphones were taken to provide the GNSS update information, rather than directly using that which were logged from the GNSS chips inside the smartphones. It is due to this, that the precise positioning technology using the smartphone internal GNSS modules is still a challenging task, and in order to get rid of the affection of the different oriented GNSS information, only the NovAtel GNSS solutions were used.

The GNSS/IMU-Smartphone Coupled Navigation
Firstly, to record the raw IMU observation from the two smartphones, we developed the app to log these data based on the Google SDK and API via the Android Studio. The sampling data of the raw data of the android smartphones can be configured with four options: • ''SENSOR_DELAY_FASTEST'' -> obtain sensor data as fast as possible; • ''SENSOR_DELAY_GAME''-> rate suitable for games; • ''SENSOR_DELAY_UI''-> rate suitable for the user interface; • ''SENSOR_DELAY_NORMAL''-> rate suitable for screen orientation changes.
In our test, the data collecting app was set with the model of "SENSOR_DELAY_GAME". However, the IMU data were logged at different rates, for instant, the data gyro data rate of "P40" is in 50 Hz but the accelerometer is in 100 Hz, and both of gyros and accelerometers are in 100 Hz in "Honor Play". Therefore, in order to include all the accelerometers data of "P40" and test the reliability of the proposed modified Kalman filter, we designed seven experiments of the data process of the GNSS/IMU-smartphone coupled navigation, which are listed as:  The GNSS, GNSS/KVH coupled navigation solutions were estimated by the NovAtel "Inertial Explorer" (IE) software in a LC (loosely coupled) mode, and the profile was set as the manufacture "NovAtel SPAN Ground (KVH 1750)". The position, velocity and attitude information from the GNSS/KVGH were taken as the reference to compare with those calculated from the GNSS/IMU-smartphone coupled navigation.
In this work, only the GNSS data from the NovAtel receiver outside the smartphones were taken to provide the GNSS update information, rather than directly using that which were logged from the GNSS chips inside the smartphones. It is due to this, that the precise positioning technology using the smartphone internal GNSS modules is still a challenging task, and in order to get rid of the affection of the different oriented GNSS information, only the NovAtel GNSS solutions were used.

The GNSS/IMU-Smartphone Coupled Navigation
Firstly, to record the raw IMU observation from the two smartphones, we developed the app to log these data based on the Google SDK and API via the Android Studio. The sampling data of the raw data of the android smartphones can be configured with four options: • "SENSOR_DELAY_FASTEST" -> obtain sensor data as fast as possible; • "SENSOR_DELAY_GAME"-> rate suitable for games; • "SENSOR_DELAY_UI"-> rate suitable for the user interface; • "SENSOR_DELAY_NORMAL"-> rate suitable for screen orientation changes.
In our test, the data collecting app was set with the model of "SENSOR_DELAY_GAME". However, the IMU data were logged at different rates, for instant, the data gyro data rate of "P40" is in 50 Hz but the accelerometer is in 100 Hz, and both of gyros and accelerometers are in 100 Hz in "Honor Play". Therefore, in order to include all the accelerometers data of "P40" and test the reliability of the proposed modified Kalman filter, we designed seven experiments of the data process of the GNSS/IMU-smartphone coupled navigation, which are listed as: "Huawei P40" 50 Hz gyros and 50 Hz accelerometers in a 50 s GNSS denying condition (straight line). 5.

The Navigation Performance under the Open-Sky Conditions
For the first and second experiments, in the GNSS open-sky condition and with the gyros and accelerometers in the same sampling rate, the conventional Kalman filter can be directly applied according to Figure 2. During the prediction process of the Kalman filter, the correct specification of the IMU bias and white noise level in Equations (16) and (21) are critical in order to obtain reasonable solutions. The manufacture specification of the reference IMU "KVH 1750" and the IMUs in the two smartphones are listed in Table 1. Beside the conventional Kalman filter, the proposed Kalman filter was also applied in the third experiment to include the high rate data of the accelerometers in "Huawei P40".
Then, the position, velocity and attitude parameters can be estimated by the GNSS/ IMU-smartphones for the three experiments. The differences of the solutions between the smartphones and the reference "KVH 1750" are shown in Figures 5-7. Sensors 2020, 20, x FOR PEER REVIEW 9 of 17 5. "Huawei P40" 50 Hz gyros and 100 Hz accelerometers in a 50 s GNSS denying condition (straight line). 6. "Huawei P40" 50 Hz gyros and 50 Hz accelerometers in a 30 s GNSS denying condition (turning). 7. "Huawei P40" 50 Hz gyros and 100 Hz accelerometers in a 30 s GNSS denying condition (turning).

The Navigation Performance under the Open-Sky Conditions
For the first and second experiments, in the GNSS open-sky condition and with the gyros and accelerometers in the same sampling rate, the conventional Kalman filter can be directly applied according to Figure 2. During the prediction process of the Kalman filter, the correct specification of the IMU bias and white noise level in Equations (16) and (21) are critical in order to obtain reasonable solutions. The manufacture specification of the reference IMU "KVH 1750" and the IMUs in the two smartphones are listed in Table 1. Beside the conventional Kalman filter, the proposed Kalman filter was also applied in the third experiment to include the high rate data of the accelerometers in "Huawei P40".
Then, the position, velocity and attitude parameters can be estimated by the GNSS/IMUsmartphones for the three experiments. The differences of the solutions between the smartphones and the reference "KVH 1750" are shown in Figures 5-7.    The RMS (root mean square) statistics of the comparison differences between the position, velocity and attitude solutions of the three experiments are shown in Table 2. 1. The GNSS/IMU-smartphones coupled navigation can obtain reasonable solutions, for instance, the position differences with respect to the reference are around 0.1 m, the velocity differences are around 0.05 m/s, the roll and pith differences are around 0.2°, and the yaw differences are around 3°. The RMS (root mean square) statistics of the comparison differences between the position, velocity and attitude solutions of the three experiments are shown in Table 2. Table 2. The root mean square (RMS) statistics of the differences of the GNSS/IMU coupled solutions between the two smartphones (our program in a 15-state Kalman filter) and the "KVH 1750" (IE software). 1.

Phone-KVH
The GNSS/IMU-smartphones coupled navigation can obtain reasonable solutions, for instance, the position differences with respect to the reference are around 0.1 m, the velocity differences are around 0.05 m/s, the roll and pith differences are around 0.2 • , and the yaw differences are around 3 • .

2.
After introducing the high rate data of the accelerometers to the modified Kalman filter, the GNSS/IMU-P40 coupled navigation does not show the obvious improvements at the position and velocity solutions. However, slight improvements can be witnessed at the attitude solutions in the experiment III, as shown in Table 2.

The Navigation Performance in the Simulated GNSS-Denied Environment
In order to test the reliability of the modified Kalman filter in a more challenging environment, 50 s GNSS observables in straight trajectory line and 30 s GNSS observables in a turn trajectory line were removed to simulate the GNSS-denied situation as shown in Figure 8. 2. After introducing the high rate data of the accelerometers to the modified Kalman filter, the GNSS/IMU-P40 coupled navigation does not show the obvious improvements at the position and velocity solutions. However, slight improvements can be witnessed at the attitude solutions in the experiment III, as shown in Table 2.

The Navigation Performance in the Simulated GNSS-Denied Environment
In order to test the reliability of the modified Kalman filter in a more challenging environment, 50 s GNSS observables in straight trajectory line and 30 s GNSS observables in a turn trajectory line were removed to simulate the GNSS-denied situation as shown in Figure 8. For experiments IV and V, the 50 s GNSS missing part is in a straight line, and the conventional Kalman filter and the modified Kalman filter were applied, respectively, due to the different rate accelerometers retrieved from the "Huawei P40". The comparison of the estimated trajectories at the experiment IV, V and the reference IMU is also shown in Figure 8. From these trajectories, we can see that the trajectory (blue) of the modified Kalman filter has a much weaker deviation trend compared to the conventional one (red). More detailed comparisons of the horizontal and vertical position differences, roll, pith and yaw differences are plotted as shown in Figures 9 and 10. For experiments IV and V, the 50 s GNSS missing part is in a straight line, and the conventional Kalman filter and the modified Kalman filter were applied, respectively, due to the different rate accelerometers retrieved from the "Huawei P40". The comparison of the estimated trajectories at the experiment IV, V and the reference IMU is also shown in Figure 8. From these trajectories, we can see that the trajectory (blue) of the modified Kalman filter has a much weaker deviation trend compared to the conventional one (red). More detailed comparisons of the horizontal and vertical position differences, roll, pith and yaw differences are plotted as shown in Figures 9 and 10.    Table 3 gives the numerical value from Figures 9 and 10, at different second epochs of GNSS blocked at experiments IV and V. From Figures 9 and 10, as well as Table 3, we can see that, with the modified Kalman filter (experiment V), the horizontal position accuracy was improved by 45%, from 379.0 m to 206.8 m, compared with the conventional ones (experiment IV) at the 50 s epoch of the GNSS observables missing. The attitude accuracy improvements by 40%, 26% and 71% of the roll, pitch and yaw, respectively, can also be obtained at that epoch. Similarly, for experiments VI and VII, the 30 s GNSS simulated observables missing were simulated at a turning part of the trajectory, and the conventional Kalman filter and the modified Kalman filter were applied, respectively, for different rate accelerometers retrieved from the "Huawei P40". The comparison of the estimated trajectories at experiments VI and VII and the reference IMU are also shown in Figure 8, and the detailed comparisons of the horizontal and vertical position differences, roll, pith and yaw differences are plotted as shown in Figures 11 and 12. Sensors 2020, 20, x FOR PEER REVIEW 14 of 17 Table 3 gives the numerical value from Figures 9 and 10, at different second epochs of GNSS blocked at experiments IV and V. From Figures 9 and 10, as well as Table 3, we can see that, with the modified Kalman filter (experiment V), the horizontal position accuracy was improved by 45%, from 379.0 m to 206.8 m, compared with the conventional ones (experiment IV) at the 50 s epoch of the GNSS observables missing. The attitude accuracy improvements by 40%, 26% and 71% of the roll, pitch and yaw, respectively, can also be obtained at that epoch.
Similarly, for experiments VI and VII, the 30 s GNSS simulated observables missing were simulated at a turning part of the trajectory, and the conventional Kalman filter and the modified Kalman filter were applied, respectively, for different rate accelerometers retrieved from the "Huawei P40". The comparison of the estimated trajectories at experiments VI and VII and the reference IMU are also shown in Figure 8, and the detailed comparisons of the horizontal and vertical position differences, roll, pith and yaw differences are plotted as shown in Figures 11 and 12.    Table 4 gives the numerical value from Figures 11 and 12, at different second epochs of GNSS blocked in experiments VI and VII. From Figures 11 and 12 and Table 4, we can see that, with the modified Kalman filter (experiment VII), the horizontal position accuracy was improved by 23%, from 60.89 m to 46.73 m, compared with the conventional ones (experiment VI) at the 30 s epoch of the GNSS observables missing. The attitude accuracy improvements by 23% and 14% of the pitch and yaw, respectively, can also be obtained at that epoch.
Hence, the modified Kalman filter shows a better stability performance compared with the conventional Kalman filter.   Table 4 gives the numerical value from Figures 11 and 12, at different second epochs of GNSS blocked in experiments VI and VII. From Figures 11 and 12 and Table 4, we can see that, with the modified Kalman filter (experiment VII), the horizontal position accuracy was improved by 23%, from 60.89 m to 46.73 m, compared with the conventional ones (experiment VI) at the 30 s epoch of the GNSS observables missing. The attitude accuracy improvements by 23% and 14% of the pitch and yaw, respectively, can also be obtained at that epoch. Hence, the modified Kalman filter shows a better stability performance compared with the conventional Kalman filter.

Discussion
From this work, we can find that, using the modified Kalman filter, the performance of the GNSS/IMU-smartphone coupled navigation can provide significant improvement since it involves more IMU observations. This means that the method could be applied in many potential navigation or positioning applications, such as ITS (intelligent transportation system), smart cities, unmanned vehicles, etc.
Another issue that was not accomplished in this work, is the GNSS precise positioning based on the internal GNSS chips of smartphones. Ideally, the coupled navigation purely based on the smartphone embedded GNSS and IMU chips, will provide a powerful alternative approach to the other high-cost professional ones. However, the quality improvement of the GNSS raw observables tracked by the smartphones is still a challenging topic [16][17][18], as a result of the weak capacity of the duty cycling handling, internal tiny antenna and anti-electronic-inference.