https://github.com/ailocar/androidGnss.
Android raw Global Navigation Satellite System (GNSS) measurements are expected to bring smartphones power to take on demanding localization tasks that are traditionally performed by specialized GNSS receivers. The hardware constraints, however, make Android raw GNSS measurements much noisier than geodetic-quality ones. This study elucidates the principles of localization using Android raw GNSS measurements and leverages Moving Horizon Estimation (MHE), Extended Kalman Filter (EKF), and Rauch-Tung-Striebel (RTS) smoother for noise suppression. Experimental results show that the RTS smoother achieves the best positioning performance, with horizontal positioning errors significantly reduced by 76.4% and 46.5% in static and dynamic scenarios compared with the baseline weighted least squares (WLS) method. Our codes are available at