  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
https://github.com/ailocar/androidGnss.
