BUILDING GPS RECEIVER’S CORRELATION FUNCTIONS WITH KOTLIN PROGRAMMING LANGUAGE

Authors

  • H.A. Gomtsyan National Polytechnic University of Armenia Author
  • R.K. Apikyan National Polytechnic University of Armenia Author

Keywords:

GPS receiver, C/A code, correlation, software approach, Gold codes, Kotlin

Abstract

A GPS receiver uses signal correlation in order to decode and determine navigation signals. This article explains and builds correlation mechanisms that are used in GPS receivers with software approach. The correlation functions are written with Kotlin programming language.

In GPS satellites, before broadcasting, the signal is modulated with the C/A code, where the C/A code is a pseudo-random signal. It is unique for each satellite, because the generation process of the C/A code depends on the satellite's index in the  table of "Gold" numbers. The aggregated signal field will be formed near the GPS receiver's antenna. By iterating through the numbers of satellites a receiver generates all kinds of C/A  codes locally for each satellite and starts the correlation process  in order to filter this summary signal near the antenna. For correlation, the GPS receiver uses different types of correlation functions. In this article, cross correlation and circular correlation will be discussed, and the process will be achieved with a software approach. This method allows to better explain the correlation process with digital signals, and most probably in the future, receivers will rely on the software approach instead of hardware. All functions that are written in this article are open source and available on GitHub.

Downloads

Published

17.09.2026

Issue

Section

Articles

Similar Articles

1-10 of 116

You may also start an advanced similarity search for this article.