Abstract
The correlation process in a GNSS receiver tracking module can be computationally prohibitive if it is executed on a central processing unit (CPU) using single-instruction single-data algorithms. An efficient replacement for a CPU is a graphics processing unit (GPU). A GPU is composed of massive parallel processors with high floating point performance and memory bandwidth. It can be used to accelerate the burdensome correlation process in GNSS software receivers. We propose a novel GPU-based correlator architecture for GNSS software receivers, which is independent of the GPU device, the number of the processing channels, the signal type, and the correlation time. The proposed architecture is implemented and optimized using CUDA, a parallel computing platform and programming model for GPUs. We focus on the following aspects: the design and the time complexity analysis of the proposed GPU-based correlator algorithm, the tests that verify the correctness and the optimization of the implementation, and the performance evaluation of the optimized GPU-based correlator. Moreover, we introduce some new CUDA features that can be applied in a GPU-based correlator.
Similar content being viewed by others
References
Buck I, Tim F, Daniel H, Jeremy S, Kayvon F, Mike H, Pat H (2004) Brook for GPUs: stream computing on graphics hardware. ACM Trans Graph (TOG) 23:777–786
Chen YH, Juang JC, Seo J, Lo S, Akos DM, De Lorenzo DS, Enge P (2012) Design and implementation of real-time software radio for anti-interference GPS/WAAS sensors. Sensors 10:13417–13440
Farber R (2011) CUDA application design and development. Elsevier, Amsterdam
Harris M (2007) Optimizing parallel reduction in CUDA. Available on the Internet
Heckler GW, Garrison JL (2006) SIMD correlator library for GNSS software receivers. GPS Solut 10(4):269–276
Hobiger T, Tadahiro G, Jun A, Yasuhiro K, Tetsuro K (2010) A GPU based real-time GPS software receiver. GPS Solut 14(2):207–216
Huang B, Yao Z, Guo F, Deng S, Cui X, Lu M (2013) STARx—a GPU based multi-system full-band real-time GNSS software receiver. ION GNSS+ 2013, Institute of Navigation, Nashville, Tennessee, September, pp 1549–1559
Karimi K, Pamir AG, Afzal MH (2013) Accelerating a cloud-based software GNSS receiver. arXiv preprint arXiv:1309.0052
Nvidia (2014) CUDA C best practices guide. Available on the Internet
Pany T, Gohler E, Irsigler M, Winkel J (2010) On the state-of-the-art of real-time GNSS signal acquisition—a comparison of time and frequency domain methods. Indoor positioning and indoor navigation (IPIN), 2010 international conference, pp 1–8
Pany T, Riedl B, Winkel J (2010) Efficient GNSS signal acquisition with massive parallel algorithms using GPUs. In: Proceedings of ION NTM 2010, San Diego, CA, pp 1889–1895
Park KW, Yang JS, Park C, Lee MJ (2014) Implementation of GPGPU based real-time signal acquisition and tacking module for multi-constellation GNSS software receiver. In: Proceedings of ION GNSS+ 2014, Institute of Navigation, Tampa, FL, September, pp 1410–1416
Roule P, Jakubov O et al (2013) GNSS signal processing in GPU. Artif Satell 48(2):51–61
Seo J, Chen YH, De Lorenzo DS, Lo S, Enge P, Akos D, Lee J (2011) A real-time capable software-defined receiver using GPU for adaptive anti-jam GPS Sensors. Sensors 9:8966–8991
Suzuki T, Kubo N (2014) GNSS-SDRLIB: An open-source and real-time GNSS software defined radio library. In: Proceedings of ION GNSS+ 2014, Institute of Navigation, Tampa, FL, September, pp 1364–1375
Tanenbaum AS, Austin T, Chandavarkar BR (2013) Structured computer organization. Pearson, London
Whitehead N, Fit-Florea A (2011) Precision and performance: Floating point and IEEE 754 compliance for NVIDIA GPUs. Available on the Internet
Wilt N (2013) The CUDA handbook: a comprehensive guide to GPU programming. Pearson, London
Acknowledgments
This work was supported by the National Natural Science Foundation of China (41174028, 61273053, 41404029), China Postdoctoral Science Foundation funded project (2013M542061, 2014T70738), and National Natural Science Foundation of Hubei province (2014CFB727).
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Xu, L., Ziedan, N.I., Niu, X. et al. Correlation acceleration in GNSS software receivers using a CUDA-enabled GPU. GPS Solut 21, 225–236 (2017). https://doi.org/10.1007/s10291-016-0516-2
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10291-016-0516-2