GPS Solutions

, 23:46 | Cite as

Open-source MATLAB code for GPS vector tracking on a software-defined receiver

  • Bing Xu
  • Li-Ta HsuEmail author
GPS Toolbox


The research regarding global positioning system (GPS) vector tracking (VT), based on a software-defined receiver (SDR), has been increasing in recent years. The strengths of VT include its immunity to signal interference, its capability to mitigate multipath effects in urban areas, and its excellent performance in tracking signals under high-dynamic applications. We developed open-source MATLAB code for GPS VT SDR to enable researchers and scientists to investigate its pros and cons in various applications and under various environments. To achieve this goal, we developed an “equivalent conventional tracking (CT)” SDR as a baseline to compare with VT. The GPS positioning estimator of this equivalent CT is based on an extended Kalman filter (EKF), which has exactly the same state, system, and carrier measurement models and noise tuning method as VT. This baseline provides users with a tool to compare the performance of VT and CT on common ground. In addition, this MATLAB code is well organized and easy to use. Users can quickly implement and evaluate their own newly developed baseband signal processing algorithms related to VT. The implementation of this VT code is described in detail. Finally, static and kinematic experiments were conducted in an urban and open-sky area, respectively, to show the usage and performance of the developed open-source GPS VT SDR.


GPS Software-defined receiver (SDR) Vector tracking (VT) Open-source software Extended Kalman filter (EKF) 



The authors acknowledge the support of Hong Kong PolyU startup fund on the project 1-ZVKZ, “Navigation for Autonomous Driving Vehicle using Sensor Integration”.


  1. Bhattacharyya S, Gebre-Egziabher D (2010) Development and validation of parametric models for vector tracking loops. Navig J Inst Navig 57:275–295CrossRefGoogle Scholar
  2. Borre K, Akos D, Bertelsen N, Rinder P, Jensen S (2007) A software defined GPS and Galileo receiver—a single-frequency approach. Applied and numerical harmonic analysis, Birkhäuser, BostonGoogle Scholar
  3. Brewer J, Raquet J (2016) Differential vector phase locked loop. IEEE Trans Aerosp Electron Syst 52:1046–1055CrossRefGoogle Scholar
  4. Copps E, Geier G, Fidler W, Grundy P (1980) Optimal processing of GPS signals. Navig J Inst Navig 27:171–182CrossRefGoogle Scholar
  5. Groves P, Mather C (2010) Receiver interface requirements for deep INS/GNSS integration and vector tracking. J Navig 63:471–489CrossRefGoogle Scholar
  6. Hsu L-T, Groves P, Jan S (2013) Assessment of the multipath mitigation effect of vector tracking in an urban environment. In: Proceedings of ION Pacific PNT 2013, Honolulu, Hawaii, 22–25 April 2013, pp 498–509Google Scholar
  7. Hsu L-T, Jan S, Groves P, Kubo N (2015) Multipath mitigation and NLOS detection using vector tracking in urban environments. GPS Solut 19:249–262CrossRefGoogle Scholar
  8. Hsu L-T, Gu Y, Kamijo S (2016) 3D building model-based pedestrian positioning method using GPS/GLONASS/QZSS and its reliability calculation. GPS Solut 20:413–428CrossRefGoogle Scholar
  9. Lashley M, Bevly D (2007) Analysis of discriminator based vector tracking algorithm. In: Proceedings of ION NTM 2007, San Diego, CA, 22–24 January 2007, pp 570–576Google Scholar
  10. Lashley M, Bevly D (2009) Vector delay/frequency lock loop implemenation and analysis. In: Proceedings of ION ITM 2009, Anaheim, CA, 26–28 January 2009, pp 1073–1086Google Scholar
  11. Lashley M, Bevly D (2013) Performance comparison of deep integration and tight coupling. Navig J Inst Navig 60:159–178CrossRefGoogle Scholar
  12. Lashley M, Bevly DM, Hung JY (2009) Performance analysis of vector tracking algorithms for weak GPS signals in high dynamics. IEEE J Sel Top Signal Process 3:661–673CrossRefGoogle Scholar
  13. Liu J, Yin H, Cui X, Lu M, Feng Z (2011) A direct position tracking loop for GNSS receivers. In: Proceedings of ION GNSS 2011, Portland, OR, 20–23 September 2011 2011. pp 3634–3643Google Scholar
  14. Luo Y, Babu R, Wu W, He X (2012) Double-filter model with modified Kalman filter for baseband signal pre-processing with application to ultra-tight GPS/INS integration. GPS Solut 16:463–476CrossRefGoogle Scholar
  15. Maier D, Frankl K, Pany T (2018) The GNSS-transceiver: using vector-tracking approach to convert a GNSS receiver to a simulator: implementation and verification for signal authentication. In: Proceedings of ION GNSS + 2018, Miami, Florida, pp 4231–4244, 24–28 September 2018Google Scholar
  16. Mohamed A, Schwarz K (1999) Adaptive Kalman filtering for INS/GPS. J Geodesy 73:193–203CrossRefGoogle Scholar
  17. Ng Y, Gao GX (2017) GNSS multireceiver vector tracking. IEEE Trans Aerosp Electron Syst 53:2583–2593CrossRefGoogle Scholar
  18. Pany T, Eissfeller B (2006) Use of a vector delay lock loop receiver for GNSS signal power analysis in bad signal conditions. In: Proceedings of 2006 IEEE/ION Position, Location, And Navigation Symposium, Coronado, CA, USA, 25–27 April 2006, pp 893–903Google Scholar
  19. Petovello MG, Lachapelle G (2006) Comparison of vector-based software receiver implementations with application to ultra-tight GPS/INS integration. In: Proceedings of ION GNSS 2006, Fort Worth, TX, 26–29 September 2006, pp 1790–1799Google Scholar
  20. Ren T, Petovello M, Basnayake C (2013) Improving GNSS bit synchronization and decoding using vector tracking. In: Proceedings of ION GNSS + 2013, Nashville, TN, 16–20 September 2013, pp 121–134Google Scholar
  21. Shytermeja E, Garcia-Pena A, Julien O (2017) Dual-constellation vector tracking algorithm in ionosphere and multipath conditions. In: Proceedings of ITSNT 2017, ENAC, Toulouse, France, 14–17 Nov 2017Google Scholar
  22. Spilker JJ (1996) Fundamentals of signal tracking theory. In: Parkinson BW, Spilker JJ, Axelrad P, Enge P (eds) Global positiooning system: theory and application, vol 1. Progress in astronautics and aeronautics, vol 163, 2 edn. American Institute of Aeronautics, Washington, pp 289–327Google Scholar
  23. Sun Z, Wang X, Feng S, Che H, Zhang J (2017) Design of an adaptive GPS vector tracking loop with the detection and isolation of contaminated channels. GPS Solut 21:701–713CrossRefGoogle Scholar
  24. Syed Dardin S, Calmettes V, Priot B, Tourneret J-Y (2013) Design of an adaptive vector-tracking loop for reliable positioning in harsh environment. In: Proceedings of ION GNSS + 2013, Nashville, TN, 16–20 September 2013, pp 3548–3559Google Scholar
  25. Tabatabaei A, Mosavi M (2017) Robust adaptive joint tracking of GNSS signal code phases in urban canyons. IET Radar Sonar Navig 11:987–993CrossRefGoogle Scholar
  26. Van Nee D, Coenen A (1991) New fast GPS code-acquisition technique using. FFT Electron Lett 27:158–160CrossRefGoogle Scholar
  27. Won J, Dötterböck D, Eissfeller B (2010) Performance comparison of different forms of Kalman filter approaches for a vector-based GNSS signal tracking loop. Navig J Inst Navig 57:185–199CrossRefGoogle Scholar
  28. Zhao S, Akos D (2011) An open source GPS/GNSS vector tracking loop - implementation, filter tuning, and results. In: Proceedings of ION ITM 2011, San Diego, CA, 24–26 January 2011, pp 1293–1305Google Scholar
  29. Zhao S, Lu M, Feng Z (2011) Implementation and performance assessment of a vector tracking method based on a software GPS receiver. J Navig 64:S151–S161CrossRefGoogle Scholar

Copyright information

© Springer-Verlag GmbH Germany, part of Springer Nature 2019

Authors and Affiliations

  1. 1.Interdisciplinary Division of Aeronautical and Aviation EngineeringThe Hong Kong Polytechnic UniversityKowloonHong Kong

Personalised recommendations