Abstract
Global navigation satellite system (GNSS) software-defined radio (SDR) receivers play a very important role in many fields of GNSS due to their flexibility and configurability. In an SDR receiver, the correlation process is the main computational burden. Correlation acceleration based on a graphics processing unit (GPU) meets the real-time requirements of a modern SDR receiver. The chip-shape correlator based on signal compression can effectively measure the correlation function and chip shape, which is necessary for some multipath mitigation and signal quality monitoring algorithms. We present a GPU-based chip-shape correlator architecture implemented with CUDA, in which the chip transitions and multiple correlator values can be calculated by signal compression. Especially for the parallel algorithm of signal compression, a sample-to-thread map** mechanism is further proposed to greatly reduce registers used per thread, which can avoid register spilling and improve performance. The test results show that while processing the 84 channels of 7 signals at the same time, our SDR receiver with the designed chip-shape correlator based on a GPU can complete chip shape transition measurement and calculation of 39 correlator values of 1 ms GNSS data within 0.6 ms, meeting the real-time processing requirement.
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs10291-022-01332-1/MediaObjects/10291_2022_1332_Fig1_HTML.png)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs10291-022-01332-1/MediaObjects/10291_2022_1332_Fig2_HTML.png)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs10291-022-01332-1/MediaObjects/10291_2022_1332_Fig3_HTML.png)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs10291-022-01332-1/MediaObjects/10291_2022_1332_Fig4_HTML.png)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs10291-022-01332-1/MediaObjects/10291_2022_1332_Fig5_HTML.png)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs10291-022-01332-1/MediaObjects/10291_2022_1332_Fig6_HTML.png)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs10291-022-01332-1/MediaObjects/10291_2022_1332_Fig7_HTML.png)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs10291-022-01332-1/MediaObjects/10291_2022_1332_Fig8_HTML.jpg)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs10291-022-01332-1/MediaObjects/10291_2022_1332_Fig9_HTML.png)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs10291-022-01332-1/MediaObjects/10291_2022_1332_Fig10_HTML.png)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs10291-022-01332-1/MediaObjects/10291_2022_1332_Fig11_HTML.png)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs10291-022-01332-1/MediaObjects/10291_2022_1332_Fig12_HTML.png)
Similar content being viewed by others
References
Cheng J, Grossman M, Mckercher T (2014) Professional CUDA C programming. Wiley, Hobroken
Fenton P, Jones J (2005) The theory and performance of Novatel inc.’s vision correlator. In: Proc. ION GNSS 2005, Institute of navigation. Long Beach, CA, USA, January 26–28, pp 2178–2186
Gunawardena S, Graas FV (2012) High fidelity chip shape analysis of GNSS signals using a wideband software receiver,” In: Proc. ION GNSS 2012, Institute of navigation. Nashville, TN, USA, September 17–21, pp 874–883
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. ar**v preprint ar**v:1309.0052
Linty N, Dovis F, Alfonsi L (2018) Software-defined radio technology for GNSS scintillation analysis: bring Antarctica to the lab. GPS Solut 22(4):1–12
Lo Presti L, Falletti E, Nicola M, Troglia Gamba M (2014) Software defined radio technology for GNSS receivers. MetroAeroSpac. https://doi.org/10.1109/MetroAeroSpace.2014.6865941
Nvidia (2022) CUDA C programming guide. Available on the Internet
Park KW, Yang JS, Park C, Lee MJ (2014) Implementation of GPGPU based real-time signal acquisition and tracking module for multi-constellation GNSS software receiver. In: Proceedings of ION GNSS+ 2014, Institute of Navigation, Tampa, FL, September, pp 1410–1416
Reed RE (2017) Real-time implementation and analysis of chip shape software defined receiver. Dissertation, University of Dayton
Thevenon P, Pagot JB, Julien O, Tessier Q (2014) Processing technique and performance of the observation of evil waveform in the chip domain. In: Proc. ESA Navitech 2014, European Space Agency. Noordwijk, Netherlands, December. https://hal-enac.archives-ouvertes.fr/hal-01094193
Ugazio S, Lo Presti L, Falletti E (2013) Multipath mitigation using linear adaptive filtering techniques. In: Proc. ION GNSS+ 2013, Institute of navigation. Nashville, TN, USA, September 16–20, pp 2007–2014
Walter T, Shallberg K, Altshuler E, Wanner W, Harris C, Stimmler R (2018) WAAS at 15. Navigation 65(4):581–600
Wang X, Cui X, Liu G, Wei K, Lu M (in press) Signal quality monitoring based on chip domain observables: theory, design, and implementation. Navigation
Weill L (2007) Theory and applications of signal compression in GNSS receivers. In: Proc. ION GNSS 2007, Institute of navigation. Fort Worth, TX, USA, September 16–20, pp 708–719
Xu L, Ziedan NI, Niu X et al (2017) Correlation acceleration in GNSS software receivers using a CUDA-enabled GPU. GPS Solut 21(1):225–236
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Appendix: example of \({\mathbf{P}}_{\mathbf{i}}\) calculation
Appendix: example of \({\mathbf{P}}_{\mathbf{i}}\) calculation
To better explain the calculation method of \({\mathrm{P}}_{\mathrm{i}}\), an example of \({\mathrm{N}}_{b}=40\), \({\mathrm{f}}_{\mathrm{s}}\)=24 MHz and \({\mathrm{f}}_{\mathrm{c}}\)=1.023 MHz is given to show the process of calculating and determining \({\mathrm{P}}_{\mathrm{i}}\)
Substitute the above values of \({\mathrm{N}}_{b}, {\mathrm{f}}_{\mathrm{s}}\) and \({\mathrm{f}}_{\mathrm{c}}\) into (12)
Therefore, when k \(=1\)
When \(k=2\)
Therefore, \({\mathrm{Q}}_{1}=23,{\mathrm{Q}}_{2}=24,{\mathrm{Q}}_{3}=47\) are the smallest three possible intervals between two samples that fall in the same bin.
Substituting \({\mathrm{Q}}_{1}=23,{\mathrm{Q}}_{2}=24,{\mathrm{Q}}_{3}=47\) into (13) to get,
From (14),
can be obtained.
Therefore, there are only \({\mathrm{P}}_{1}=23,{\mathrm{P}}_{2}=24,{\mathrm{P}}_{3}=47\) for the values of \({\mathrm{P}}_{\mathrm{i}}\).
Rights and permissions
Springer Nature or its licensor holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Wang, C., Wang, X., Cui, X. et al. Efficient chip-shape correlator implementation on a GPU-based real-time GNSS SDR receiver. GPS Solut 26, 143 (2022). https://doi.org/10.1007/s10291-022-01332-1
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s10291-022-01332-1