Designing Low-Correlation GPS Spreading Codes with a Natural Evolution Strategy Machine Learning Algorithm
Total Page:16
File Type:pdf, Size:1020Kb
Designing Low-Correlation GPS Spreading Codes with a Natural Evolution Strategy Machine Learning Algorithm Tara Yasmin Mina and Grace Xingxin Gao, Stanford University ABSTRACT With the birth of the next-generation GPS III constellation and the upcoming launch of the Navigation Technology Satellite-3 (NTS-3) testing platform to explore future technologies for GPS, we are indeed entering a new era of satellite navigation. Correspondingly, it is time to revisit the design methods of the GPS spreading code families. In this work, we develop a natural evolution strategy (NES) machine learning algorithm with a Gaussian proposal distribution which constructs high-quality families of spreading code sequences. We demonstrate the ability of our algorithm to achieve better mean-squared auto- and cross-correlation than well-chosen families of equal-length Gold codes and Weil codes, for sequences of up to length-1023 and length-1031 bits and family sizes of up to 31 codes. Furthermore, we compare our algorithm with an analogous genetic algorithm implementation assigned the same code evaluation metric. To the best of the authors’ knowledge, this is the first work to explore using a machine learning approach for designing navigation spreading code sequences. I. INTRODUCTION On January 13th of 2020, the U.S. Air Force 2nd Space Operations Squadron (2 SOPS) issued a statement that the first GPS III satellite was marked healthy and available for use [1]. This announcement officially marked the birth of the next-generation GPS constellation. In addition to broadcasting the new L1C signal, the modernized constellation is distinguished by its reprogrammable payload, which allows it to evolve with new technologies and changing mission needs. Furthermore, with the upcoming launch of the Navigation Technology Satellite-3 (NTS-3) testing platform in 2022 [2], the United States Air Force (USAF) seeks to explore technologies which will help shape future GPS constellations [3]. NTS-3 will demonstrate the agility of the next-generation satellite-based navigation architecture and the ability to rapidly deploy new technological advancements and capabilities via the reprogrammable nature of the upcoming GPS system. Indeed, this is the third Navigation Technology Satellite (NTS) mission, with the previous two, NTS-1 and NTS-2, developed in the 1970s in order to validate technologies, including the rubidium and cesium atomic clocks [4], that were integrated into the first generation of GPS satellites, which were launched later that decade [5]. Illustrations of the three NTS testing platforms are shown in Fig. 1. arXiv:2101.02850v2 [eess.SP] 23 Apr 2021 Figure 1: Illustrations of the satellite testing platforms used in each of three Navigation Technology Satellite (NTS) initiatives. Illustration credit: Lt. Jacob Lutz, AFRL Space Vehicles Directorate. The NTS-3 program will further test several new technologies, including new signal designs for improved GPS security and interference mitigation [3]. According to a Request for Information announcement [6], the Air Force Research Lab (AFRL) has expressed interest in exploring modifications to all layers of the GPS signal in order to enhance PNT resiliency and performance. As we enter a new era of satellite navigation, we believe it is time to revisit the design methods of the GPS spreading code families. Correspondingly, in this work, we leverage recent advances in machine learning techniques to explore a new platform for learning high-quality spreading codes via a natural evolution strategy (NES) machine learning framework. 1. Advantages of Using Memory Codes for GPS Currently, all broadcast GPS signals use algorithmically generable spreading code sequences. The legacy L1 C/A signal uses Gold codes [7], while the modernized L1C signal, to be broadcast on the GPS III satellites, uses Weil codes [8] [9], along with a 7-bit extension in order to satisfy the desired spreading code length of 10,230 bits. Having algorithmically generable sequences was an important design consideration during the initial development phase of GPS in the 1970s due to memory storage constraints, as well as computation limitations which restricted the ability to search for better sequences. However, memory has become an increasingly inexpensive resource, allowing receivers to store complete families of spreading code sequences – though it should be acknowledged that currently, memory is still one of the main influencers of receiver chip size [10] [11]. Furthermore, over the past several decades, processing power has also significantly increased, which correspondingly has allowed the field of machine learning and related research advancements to flourish [12]. Lower bounds on the maximum periodic non-central auto- and cross-correlation value for spreading code families have been analytically derived in prior work [13], including the Welch bound [14], the Sarwate bound [15], and the Sidelnikov bound [16] [17]. The Welch bound is valid for any sequence with symbols of a fixed norm, including potentially complex spreading codes, while the Sidelnikov bound is a tighter lower bound for sequences with symbols that are roots-of-unity. As a result, for binary spreading codes, which fall into this roots-of-unity classification with symbols in the set f+1; −1g, the Sidelnikov bound provides a tighter lower bound than the Welch bound on the maximum periodic correlation performance. Gold code families are known to be asymptotically optimal with respect to the Sidelnikov bound, as the code length increases [18]. However, this optimality characteristic only applies for the specific sequence length and the complete set of code sequences provided by the Gold code family definition. For the length-1023 bit Gold codes, for example, this optimality characteristic only applies for the complete Gold family size, made up of over 1000 spreading codes in total [7]. Indeed, the lower bounds on the maximum correlation sidepeak increase with the size of the spreading code family [14] [15] [16] [17], suggesting that for the same sequence length, better performance could be found for a smaller code family size. Furthermore, there is debate as to whether the maximum correlation sidepeak is an ideal metric for spread spectrum system applications [19] [20] [21] [22]. Indeed, the multiple access interference (MAI) of a spread spectrum system, i.e. the signal noise caused by inter-signal interference within the shared channel, relates to the average correlation performance rather than the worst-case. Spreading codes which are not algorithmically generable are commonly called memory codes, since these codes must be stored in memory. Memory codes are not limited to specific lengths of code sequences or specific code family sizes. Indeed, designing a nonconforming spreading code length, as was done for the GPS L2C, L5, and L1C signals, would require truncation or extension of the algorithmically generable sequences, which disturb the coveted correlation properties of these codes [23]. As a result, by expanding the design space to the set of all binary sequences, we have a greater range of possible code families and a better opportunity to find a superior set of codes; although, the exponentially larger design space also greatly complicates the code design method. 2. Related Prior Work Several past works have designed memory codes using genetic algorithms (GAs), including for the E1 Open Service (OS) and the E6 Commercial Service (CS) signals of the Galileo satellite constellation [23] [24]. Genetic algorithms [25] are optimization algorithms which mimic the process of biological evolution. In particular, GAs maintain a population of design points, while selecting and recombining high-performing candidate solutions at each iteration. Genetic algorithms were utilized to design spreading codes for Galileo which exhibit the Autocorrelation Sidelobe Zero property, where the auto-correlation is 0 at a relative delay of ±1 chip [23]. GAs were also utilized to design spreading code families for improved indoor positioning applications [26]. Work has also been done to define several cost parameters for selecting high quality GNSS spreading codes [27] [28], including evaluating the mean squared auto- and cross-correlation components above the Welch bound [14]. Additionally, in our prior work, we designed a multi-objective GA platform for designing navigation spreading codes which improved on two objectives simultaneously: the mean absolute auto-correlation and cross-correlation of the code family [29]. Learning-based techniques have also been explored to design Error Correcting Codes (ECCs) [30], which are binary sequences that encode messages to improve the detection of communication transmission errors. In their work, Huang et al. [30] explore policy gradient and advantage actor critic methods to design ECCs by optimizing the code set performance with regards to the block error rate. 3. Objective and Key Contributions In this work, we seek to explore using a machine learning technique for the application of navigation spreading code design. This work is based on our recent ION GNSS+ 2020 conference paper [31], and to the best of our knowledge, this is the first work which explores using a machine learning approach to design navigation spreading codes. In particular, the key contributions of our work are the following: 1. We develop a natural evolution strategy (NES) machine learning algorithm which constructs high-quality families of spreading code sequences. 2. We utilize a Gaussian proposal distribution