Advertisement

GPS Solutions

, 23:72 | Cite as

A SIMD intrinsic correlator library for GNSS software receivers

  • Damian MirallesEmail author
  • Dennis M. Akos
GPS Toolbox
  • 111 Downloads

Abstract

An open-source implementation of a code division multiple access software correlator library that leverages single instruction multiple data (SIMD) is presented. We initially discuss the key aspects involved in the correlation operation for software radio applications. Afterward, we present the state-of-the-art application programming interface that provides SIMD capable methods for each of the components in a correlation operation, including the first of its kind parallelized code and carrier generation using lookup tables and SIMD instructions. The library was developed using SIMD intrinsic instructions, which are a C-type nomenclature offering access to the assembly instructions originally designed for the SIMD extensions in the processor. This design paradigm presents an advantage in terms of readability and simplified code development to accommodate future modifications. Recorded data were used with a standalone global navigation satellite system software receiver where the methods hereby presented were tested and profiled to validate theoretical assumptions.

Keywords

GNSS correlation SIMD instructions Software radio 

Notes

Acknowledgements

This material is based upon work partially supported by the National Science Foundation Graduate Research Fellowship under Grant No. DGE 1144083.

Compliance with ethical standards

Conflict of interest

The authors declare that they have no conflict of interest.

References

  1. Fernández-Prades C, Arribas J, Closas P (2016) Accelerating GNSS software receivers. In: Proceedings of the ION GNSS 2016, Institute of Navigation, Portland, Oregon, USA, 12–16 Sept, pp 44–61Google Scholar
  2. Fog A (2017) Instruction tables: lists of instruction latencies, throughputs and micro-operation breakdowns for Intel, AMD and VIA CPUs. Manual 4:2017Google Scholar
  3. Greene MA (1997) Pentium (R) processor with MMX/sup TM/technology performance. In: Proceedings of the IEEE COMPCON 97.  https://doi.org/10.1109/CMPCON.1997.584726
  4. Heckler GW, Garrison JL (2006) SIMD correlator library for GNSS software receivers. GPS Solut 10(4):269–276CrossRefGoogle Scholar
  5. Ledvina BM, Psiaki ML, Powell SP, Kintner PM (2014) Bit-wise parallel algorithms for efficient software correlation applied to a GPS software receiver. IEEE Trans Wirel Commun 3(5):1469–1473CrossRefGoogle Scholar
  6. Matic V, Marinkovic-Nedelicki V, Tadic V (1998) Comparison of digital signal processing methods for sine wave signal generation. In: SBT/IEEE international telecommunications symposium.  https://doi.org/10.1109/ITS.1998.713134
  7. Miralles D, Iwamoto J (2018) Accelerating software radios by means of SIMD Instructions. A case for the AVX2 and AVX512 extensions. In: Proceedings of the GNU radio conference, Henderson, Nevada, USA, 17–21 Sept, pp 1–7Google Scholar
  8. Mitola J (1995) The software radio architecture. IEEE Commun Mag 33(5):26–38CrossRefGoogle Scholar
  9. Pany T (2010) Navigation signal processing for GNSS software receivers. Artech House, NorwoodGoogle Scholar
  10. Principe F, Bacci G, Giannetti F, Luise L (2011) Software-defined radio technologies for GNSS receivers: a tutorial approach to a simple design and implementation. Int J Navig Obs.  https://doi.org/10.1155/2011/979815 CrossRefGoogle Scholar
  11. Psiaki M (2001) Block acquisition of weak GPS signals in a software receiver. In: Proceedings of the ION GPS 2001, Institute of Navigation, Salt Lake City, Utah, USA, 11–14 Sept, pp 2838–2850Google Scholar
  12. Rondeau T, McCarthy N, O’Shea T (2012) SIMD programming in GNU radio: maintainable and user-friendly algorithm optimization with VOLK. In: Proceedings of the WinnForum’s SDR Conference, Brussels, Belgium, 27–29 June, 101–110Google Scholar
  13. Rupp K (2018) Forty two years of microprocessor trend data. https://www.karlrupp.net/2018/02/42-years-of-microprocessor-trend-data/. Accessed 1 Jan 2019
  14. The Intel Corporation (2017) Intel® 64 and IA-32 architectures software developer’s manual. Volume 1: basic architecture. Technical report 253665, The Intel Corporation, 2017.  https://doi.org/10.1109/MAHC.2010.22 CrossRefGoogle Scholar
  15. Xu L, Zhang H, Guo W, Zhang D (2013) A new SIMD correlator algorithm for GNSS software receivers to process complex IF data. In: Proceedings of the China satellite navigation conference, Wuhan, China, 15–17 May, pp 565–573Google Scholar

Copyright information

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

Authors and Affiliations

  1. 1.Ann and H.J. Smead Aerospace Engineering SciencesUniversity of Colorado at BoulderBoulderUSA

Personalised recommendations