Abstract
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.
1. 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.
3. 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 Δt1 = 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 Δt2 = 0.01 s.
Figure 1.
The sequence of the inertial measurement unit (IMU) data of the “Huawei P40”.
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:
where
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.
Figure 2.
Summary of the process procedures of the GNSS/IMU-P40 coupled navigation.
4. 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.
Figure 3.
The physical setup of the devices used in the terrestrial test.
4.1. 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.
Figure 4.
The trajectory projected in Google Earth.
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.
4.2. 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:
- “Honor Play” 100 Hz gyros and 100 Hz accelerometers in GNSS open-sky condition.
- “Huawei P40” 50 Hz gyros and 50 Hz accelerometers in GNSS open-sky condition.
- “Huawei P40” 50 Hz gyros and 100 Hz accelerometers in GNSS open-sky condition.
- “Huawei P40” 50 Hz gyros and 50 Hz accelerometers in a 50 s GNSS denying condition (straight line).
- “Huawei P40” 50 Hz gyros and 100 Hz accelerometers in a 50 s GNSS denying condition (straight line).
- “Huawei P40” 50 Hz gyros and 50 Hz accelerometers in a 30 s GNSS denying condition (turning).
- “Huawei P40” 50 Hz gyros and 100 Hz accelerometers in a 30 s GNSS denying condition (turning).
4.2.1. 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.
Table 1.
The specifications of the IMUs used in the test [13,14,15].
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 Figure 5, Figure 6 and Figure 7.

Figure 5.
The position 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) in GNSS open-sky condition at experiment I, II and III. (a) Position differences in the North direction; (b) position differences in the East direction; (c) position differences in the Down direction.
Figure 6.
The velocity 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) in GNSS open-sky condition at experiment I, II and III. (a) Velocity differences in the North direction; (b) velocity differences in the East direction; (c) velocity differences in the Down direction.
Figure 7.
The attitude 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) in GNSS open-sky condition at experiment I, II and III. (a) Roll differences; (b) pitch differences; (c) yaw differences.
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).
- 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°.
- 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.
4.2.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.
Figure 8.
The trajectory of experiments IV to VII projected in Google Earth. The green reference trajectory is from the estimation of GNSS/KVH by the NovAtel IE software, under the GNSS open-sky conditions; the red trajectory is from the estimation of GNSS/IMU-P40 with the 50 Hz gyros and accelerometers by the conventional 15-state Kalman filter, under the GNSS-denied environment; the blue trajectory is from the estimation of GNSS/IMU-P40 with the 50 Hz gyros and 100 Hz accelerometer by our modified Kalman filter, under the GNSS-denied environment. (a) The 50 s GNSS observables missing in straight line; (b) the 30 s GNSS observables missing in turn trajectory line.
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 Figure 9 and Figure 10.
Figure 9.
The horizontal and vertical position differences between GNSS/IMU-P40 (our program in a 15-state Kalman filter) and GNSS/KVH coupled navigation (IE software), with the conventional Kalman filter (experiment IV) and the modified Kalman filter (experiment V). (a) Horizontal position differences; (b) vertical position differences.
Figure 10.
The roll, pitch and yaw attitude differences between GNSS/IMU-P40 (our program in a 15-state Kalman filter) and GNSS/KVH coupled navigation (IE software), with the conventional Kalman filter (experiment IV) and the modified Kalman filter (experiment V). (a) Roll differences; (b) pitch differences; (c) yaw differences.
Table 3 gives the numerical value from Figure 9 and Figure 10, at different second epochs of GNSS blocked at experiments IV and V. From Figure 9 and Figure 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.
Table 3.
The difference values of the horizontal and vertical position, roll, pitch and yaw between GNSS/IMU-P40 (our program in a 15-state Kalman filter) and GNSS/KVH coupled navigation (IE software), at different epochs of the seconds of GNSS blocked in experiments IV and V.
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 Figure 11 and Figure 12.
Figure 11.
The horizontal and vertical position differences between GNSS/IMU-P40 (our program in a 15-state Kalman filter) and GNSS/KVH coupled navigation (IE software), with the conventional Kalman filter (experiment VI) and the modified Kalman filter (experiment VII). (a) Horizontal position differences; (b) vertical position differences.
Figure 12.
The roll, pitch and yaw attitude differences between GNSS/IMU-P40 (our program in a 15-state Kalman filter) and GNSS/KVH coupled navigation (IE software), with the conventional Kalman filter (experiment VI) and the modified Kalman filter (experiment VII). (a) Roll differences; (b) pitch differences; (c) yaw differences.
Table 4 gives the numerical value from Figure 11 and Figure 12, at different second epochs of GNSS blocked in experiments VI and VII. From Figure 11 and Figure 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.
Table 4.
The difference values of the horizontal and vertical position, roll, pitch and yaw between GNSS/IMU-P40 (our program in a 15-state Kalman filter) and GNSS/KVH coupled navigation (IE software), at different epochs of the seconds of GNSS blocked in experiments VI and VII.
Hence, the modified Kalman filter shows a better stability performance compared with the conventional Kalman filter.
5. 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.
Author Contributions
Conceptualization, W.Y. and Q.Z.; methodology, W.Y. and L.W.; software, W.Y., L.W. and Q.Z.; validation, W.Y., L.W., Q.Z. and Y.M.; formal analysis, W.Y., A.W. and C.Z.; investigation, W.Y. and Y.M.; data collection, W.Y., Q.Z. and Y.M.; writing—original draft preparation, W.Y.; writing—review and editing, W.Y., Y.M. and C.Z.; funding acquisition, W.Y. All authors have read and agreed to the published version of the manuscript.
Funding
This research was funded by the Natural Science Foundation of Jiangsu Province, grant number: BK20181015; the Project of College Students’ Entrepreneurship Innovation, grant number: XSJCX9015; the Natural Science Foundation of Jiangsu Normal University, grant number: 18XLRS013.
Conflicts of Interest
The authors declare no conflict of interest.
References
- Castropalacio, J.C.; Velazquez, L.; Gomeztejedor, J.A.; Manjon, F.J.; Monsoriu, J.A. Using a smartphone acceleration sensor to study uniform and uniformly accelerated circular motions. Rev. Bras. De Ensino De Fis. 2014, 36, 1–5. [Google Scholar]
- Mourcou, Q.; Fleury, A.; Franco, C.; Klopcic, F.; Vuillerme, N. Performance evaluation of smartphone inertial sensors measurement for range of motion. Sensors 2015, 15, 23168–23187. [Google Scholar] [CrossRef] [PubMed]
- Masiero, A.; Vettore, A. Improved feature matching for mobile devices with IMU. Sensors 2016, 16, 1243. [Google Scholar] [CrossRef] [PubMed]
- Hakim, A.; Huq, M.S.; Shanta, S.; Ibrahim, B.S.K.K. Smartphone based data mining for fall detection: Analysis and Design. Proced. Comput. Sci. 2017, 105, 46–51. [Google Scholar] [CrossRef]
- Andriamandroso, A.; Lebeau, F.; Beckers, Y.; Froidmont, E.; Dufrasne, I.; Heinesch, B.; Dumortier, P.; Blanchy, G.; Blaise, Y.; Bindelle, J. Development of an open-source algorithm based on inertial measurement units (IMU) of a smartphone to detect cattle grass intake and ruminating behaviors. Comput. Electron. Agric. 2017, 139, 126–137. [Google Scholar] [CrossRef]
- Sun, R.; Cheng, Q.; Xie, F.; Zhang, W.; Ochieng, W.Y. Combining machine learning and dynamic time wrapping for vehicle driving event detection using smartphones. IEEE Trans. Intelligent Transp. Syst. 2019. Available online: https://ieeexplore.ieee.org/abstract/document/8924950 (accessed on 31 July 2020). [CrossRef]
- Mostafa, M.Z.; Khater, H.A.; Rizk, M.R.; Bahasan, A.M. A novel GPS/ RAVO /MEMS-INS smartphone sensors integrated method to enhance USV navigation system during GPS outages. Meas. Sci. Technol. 2019, 30, 1–14. [Google Scholar] [CrossRef]
- Yan, W.; Bastos, L.; Magalhães, A. Performance assessment of the android smartphone’s IMU in a GNSS/INS coupled navigation model. IEEE Access 2019, 7, 171073–171083. [Google Scholar] [CrossRef]
- Titterton, D.H.; Weston, J.L. Strapdown Inertial Navigation Techonology, 2nd ed.; The Institution of Electrical Engineers: Stevenage, UK, 2004; pp. 24–53. [Google Scholar]
- Brown, R.G.; Hwang, P.Y.C. Introduction to Random Signals and Applied Kalman Filtering; John Willey & Sons: New York, NY, USA, 1997; pp. 289–306. [Google Scholar]
- Shin, E.H. Accuracy Improvement of Low Cost INS/GPS for Land Application. Master’s Thesis, The University of Calgary, Calgary, AL, Canada, 2001. [Google Scholar]
- Deurloo, R.A. Development of a Kalman Filter Integrating System and Measurement Models for a Low-cost Strapdown Airborne Gravimetry System. Ph.D. Thesis, University of Porto, Porto, Spain, 2011. [Google Scholar]
- 1750 IMU Fiber Optic Gyro Inertial Measurement Unit. Available online: https://www.kvh.com/admin/products/gyros-imus-inss/imus/1750-imu/commercial-1750-imu (accessed on 31 July 2020).
- ICM20602 High Performance 6-Axis MEMS MotionTracking Device. Available online: https://invensense.tdk.com/wp-content/uploads/2016/10/DS-000178-ICM-20690-v1.0.pdf (accessed on 31 July 2020).
- BMI160 Small, Low Power Inertial Measurement Unit. Available online: https://www.boschsensortec.com/media/boschse-nsortec/downloads/datasheets/bst-bmi160-ds000.pdf (accessed on 31 July 2020).
- Zhang, X.; Tao, X.; Zhu, F.; Shi, X.; Wang, F. Quality assessment of GNSS observations from an Android N smartphone and positioning performance analysis using time-differenced filtering approach. GPS Solut. 2018, 22, 70. [Google Scholar] [CrossRef]
- Paziewski, J. Recent advances and perspectives for positioning and applications with smartphone GNSS observations. Meas. Ence Technol. 2020, in press. [Google Scholar] [CrossRef]
- Yan, W.; Bastos, L.; Magalhães, A.; Zhang, Y.; Wang, A. Assessing Android Smartphone Based GNSS Positioning Accuracy, Proceedings of the China Satellite Navigation Conference (CSNC) 2020 Proceeding, Chengdu, China, 2020; Springer: Singapore, 2020; pp. 144–153. [Google Scholar]
© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).