devising high-performing random spreading code ...gracegao/publications...genetic algorithms were...

14
Devising High-Performing Random Spreading Code Sequences Using a Multi-Objective Genetic Algorithm Tara Yasmin Mina and Grace Xingxin Gao Stanford University BIOGRAPHIES Tara Yasmin Mina is a graduate student in the Department of Electrical Engineering at Stanford University. She received her B.S. degree with honors in Electrical Engineering from Iowa State University in 2017 and completed her M.S. degree in Electrical and Computer Engineering form the University of Illinois at Urbana-Champaign in 2019. Grace Xingxin Gao is an assistant professor in the Department of Aeronautics and Astronautics at Stanford University. Before joining Stanford University, she was an assistant professor at University of Illinois at Urbana-Champaign. She obtained her Ph.D. degree at Stanford University. Her research is on robust and secure positioning, navigation and timing with applications to manned and unmanned aerial vehicles, robotics and power systems. ABSTRACT Reinvigorating the Navigation Technology Satellite (NTS) experimentation platform from its previous initiative in 1977, the United States Air Force (USAF) has expressed recent interest to enhance PNT resiliency and performance, while seeking to explore modificaiton to all layers of the GPS signal. For satellite navigation, developing spreading codes with reduced correlation sidelobes would correspondingly reduce inter-channel interference between the simultaneously broadcast satellite signals. Utilizing low-correlation spreading codes would enable GPS to provide improved navigation performance as well as incorporate a greater number of navigation signals, which further improves redundancy and accuracy. In this work, we develop a multi-objective, genetic algorithm-based architecture to devise high-quality code families with low mean, circular non-central auto-correlation and cross-correlation properties. Our search algorithm explores the multi-objective cost function space and seeks to progress and expand the local Pareto-optimal front of solutions. We demonstrate that our algorithm devises high-quality families of spreading code sequences which achieve low mean non-central auto-correlation and cross-correlation values, out-performing well-chosen families of equal-length Gold codes and Weil codes. 1 I NTRODUCTION Delivering a 2016 Request for Information (RFI) announcement [1], the United States Air Force has expressed recent interest to enhance Position, Navigation, and Time (PNT) resiliency and performance, with an ultimate vision to develop the future generation of the Global Positioning System (GPS). Indeed, the Air Force Research Lab (AFRL) is currently reinvigorating the Navigation Technology Satellite (NTS) experimentation platform from its previous initiative in 1977, with plans to launch NTS- 3 in 2022 to explore new techniques for improving GPS security and performance. Amongst the list of objectives specified in the RFI, the AFRL seeks to explore technologies which allow for an increased number of signals to be broadcast on the GPS L1 frequency band. To improve navigation resiliency and performance, the AFRL plans to re-examine the PNT signal, exploring modifications to all layers of the signal, including carrier, data, and spreading code layers. In addition to examining signal modifications, recent articles [2] and government announcements [3] indicate that the Air Force seeks to fundamentally transform the GPS satellite architecture to leverage the currently expanding commercial presence in space, including upcoming mega-constellations in low-earth orbit (LEO). By uploading the satellite payload onto commercial spacecraft and scattering the architecture across the abundantly available constellations of commercial satellite vehicles, the Air Force envisages a future GPS asset which is resilient to single-point failures and adversarial attacks. Moreover, this hosted payload architecture will incorporate a reprogrammable PNT signal, testing key technologies and hardware aboard NTS-3. The digital reprogrammable payload will allowing for increased flexibility to implement new, future enhancements to GPS and the broadcast signal. We are entering a new era of satellite navigation, with a corresponding drive to search for new GPS technological advance- ments. Indeed, the original development of GPS advanced the development of atomic clocks, tested on the two previous NTS initiatives in the 1970s, and implementation challenges with applying code-division multiple-access (CDMA), or spread spec- trum, techniques in space [4] [5]. Furthermore, the process of augmenting signals for GPS in the early 2000s and development

Upload: others

Post on 23-Jan-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Devising High-Performing Random Spreading Code ...gracegao/publications...Genetic algorithms were initially proposed by John Holland [6] [18], who was inspired by the Darwinian concept

Devising High-Performing Random Spreading Code Sequences Using aMulti-Objective Genetic Algorithm

Tara Yasmin Mina and Grace Xingxin GaoStanford University

BIOGRAPHIESTara Yasmin Mina is a graduate student in the Department of Electrical Engineering at Stanford University. She receivedher B.S. degree with honors in Electrical Engineering from Iowa State University in 2017 and completed her M.S. degree inElectrical and Computer Engineering form the University of Illinois at Urbana-Champaign in 2019.

Grace Xingxin Gao is an assistant professor in the Department of Aeronautics and Astronautics at Stanford University. Beforejoining Stanford University, she was an assistant professor at University of Illinois at Urbana-Champaign. She obtained herPh.D. degree at Stanford University. Her research is on robust and secure positioning, navigation and timing with applicationsto manned and unmanned aerial vehicles, robotics and power systems.

ABSTRACTReinvigorating the Navigation Technology Satellite (NTS) experimentation platform from its previous initiative in 1977, theUnited States Air Force (USAF) has expressed recent interest to enhance PNT resiliency and performance, while seekingto explore modificaiton to all layers of the GPS signal. For satellite navigation, developing spreading codes with reducedcorrelation sidelobes would correspondingly reduce inter-channel interference between the simultaneously broadcast satellitesignals. Utilizing low-correlation spreading codes would enable GPS to provide improved navigation performance as wellas incorporate a greater number of navigation signals, which further improves redundancy and accuracy. In this work, wedevelop a multi-objective, genetic algorithm-based architecture to devise high-quality code families with low mean, circularnon-central auto-correlation and cross-correlation properties. Our search algorithm explores the multi-objective cost functionspace and seeks to progress and expand the local Pareto-optimal front of solutions. We demonstrate that our algorithm deviseshigh-quality families of spreading code sequences which achieve low mean non-central auto-correlation and cross-correlationvalues, out-performing well-chosen families of equal-length Gold codes and Weil codes.

1 INTRODUCTIONDelivering a 2016 Request for Information (RFI) announcement [1], the United States Air Force has expressed recent interestto enhance Position, Navigation, and Time (PNT) resiliency and performance, with an ultimate vision to develop the futuregeneration of the Global Positioning System (GPS). Indeed, the Air Force Research Lab (AFRL) is currently reinvigorating theNavigation Technology Satellite (NTS) experimentation platform from its previous initiative in 1977, with plans to launch NTS-3 in 2022 to explore new techniques for improving GPS security and performance. Amongst the list of objectives specified inthe RFI, the AFRL seeks to explore technologies which allow for an increased number of signals to be broadcast on the GPS L1frequency band. To improve navigation resiliency and performance, the AFRL plans to re-examine the PNT signal, exploringmodifications to all layers of the signal, including carrier, data, and spreading code layers.

In addition to examining signal modifications, recent articles [2] and government announcements [3] indicate that the Air Forceseeks to fundamentally transform the GPS satellite architecture to leverage the currently expanding commercial presence inspace, including upcoming mega-constellations in low-earth orbit (LEO). By uploading the satellite payload onto commercialspacecraft and scattering the architecture across the abundantly available constellations of commercial satellite vehicles, theAir Force envisages a future GPS asset which is resilient to single-point failures and adversarial attacks. Moreover, this hostedpayload architecture will incorporate a reprogrammable PNT signal, testing key technologies and hardware aboard NTS-3. Thedigital reprogrammable payload will allowing for increased flexibility to implement new, future enhancements to GPS and thebroadcast signal.

We are entering a new era of satellite navigation, with a corresponding drive to search for new GPS technological advance-ments. Indeed, the original development of GPS advanced the development of atomic clocks, tested on the two previous NTSinitiatives in the 1970s, and implementation challenges with applying code-division multiple-access (CDMA), or spread spec-trum, techniques in space [4] [5]. Furthermore, the process of augmenting signals for GPS in the early 2000s and development

Page 2: Devising High-Performing Random Spreading Code ...gracegao/publications...Genetic algorithms were initially proposed by John Holland [6] [18], who was inspired by the Darwinian concept

of the Galileo satellite system spurred the investigation of using new spreading codes. With the development of a new GPSarchitecture and the search for PNT signal enhancements, it is time to re-visit the design of the navigation spreading codesignals.

In this work we develop an architecture using genetic algorithms (GAs) [6], which are population-based evolutionary learningalgorithms, to derive spreading code families with low mean non-central auto-correlation and cross-correlation values. ForGPS satellite navigation, spreading codes must have low auto-correlation side peaks to perform accurate signal acquisitionat the receiver. Furthermore, having reduced cross-correlation between spreading codes reduces inter-channel interferencebetween the simultaneously broadcast satellite signals. Thus, by utilizing low-correlation spreading codes, GPS can provideimproved PNT accuracy and broadcast an increased number of navigation signals on the same frequency band without addedinterference, corresponding to key objectives of the USAF in the process of enhancing and modernizing GPS. Experimentingwith families of shortened code sequences, we additionally demonstrate that the code sequences generated from our algorithmhave lower mean non-central auto-correlation and cross-correlation values than equal-length code families previously used forGPS applications: Gold codes and Weil codes.

1.1 Utilizing Random Codes in a Modern ContextCurrently, the spreading codes utilized by the GPS satellites are algorithmically generated sequences. GPS L1 C/A codesutilize Gold codes, which can be generated using two 10-bit linear shift feedback registers (LFSR) to establish a length-1023sequence [7]. Having algorithmically generable sequences was an especially important design consideration during the initialdevelopment phases of GPS in the 1970s, due to hardware memory limitations.

Although the current GPS Gold codes have strong auto- and cross-correlation properties, these codes are not optimal. Further-more, the original design considerations and limitations for these spreading codes, from before the first GPS satellite launch,are no longer relevant in the modern context. After decades of advancements in digital receiver chipsets, memory is currentlyan abundant, inexpensive resource. Thus, modern receivers can readily store complete sequences of spreading codes, includ-ing random codes, or codes which one may not necessarily be able to generate algorithmically. The memory and processingcapabilities of modern receivers thereby greatly extends the range of possible spreading code families to use.

Although the immense space of randomized codes provides a greater opportunity for finding a superior set of PRN codes,it also complicates the process of effectively searching for potential solutions. Indeed, performing an exhaustive search ofthe complete space of codes is computationally intractable. Thus, we require and correspondingly design our architecture toeffectively explore and optimize within the vast range of possible PRN code families.

1.2 Prior WorkPrior work has shown that genetic algorithms can be utilized to generate improved code sequences. Genetic algorithms havebeen utilized to design spreading codes for the Galileo E-band signals with binary offset carrier (BOC) modulation, in orderto develop sequences which have the Autocorrelation Sidelobe Zero (ASZ) property [8], where the auto-correlation is 0 at adelay of ±1 chip. The algorithm by Wallner et al. [8] performs random mutations, or bit flips, until a better code is foundand subsequently added to the population. This GA implementation was also utilized to additionally develop improved signalwaveforms and spreading codes for indoor positioning applications [9].

Significant work has been done designing variations of the conventional genetic algorithm proposed by Holland [6], as outlinedin multiple survey papers [10] [11] [12]. Additionally, a significant amount of work has been done to utilize GAs for multi-objective problems by leveraging the population-based nature of the search algorithm. Konak et al. [13] presents a thoroughsurvey of techniques utilized within GAs for multi-objective design problems. Section 2.1 presents an overview of GAs,focusing on the classic genetic algorithm, upon which countless variations and specialized techniques have been implementedwithin the literature.

Furthermore, Soualle et al. [14] have proposed several parameters for selecting high quality codes for GNSS applications.To reflect acquisition and tracking performance, Soualle et al. developed cost functions using the squared auto- and cross-correlation values above the Welch bound [15], averaging across multiple chip delays and Doppler frequencies of interest. TheWelch bound, adapted for binary sequences [16], is a theoretically derived lower-bound on the maximum correlation value ofauto-correlation and cross-correlation side peaks which can be obtained within a code family of specified size and sequencelength. A U.S. patent by Jon Winkel [17] also presents several 1-dimensional cost functions which combine several key costs ofinterest and can be utilized to select high performing individuals from randomly modified code sequences. A disadvantage toperforming a weighted summation of costs for optimization is that one must define relative priorities between the cost functions

Page 3: Devising High-Performing Random Spreading Code ...gracegao/publications...Genetic algorithms were initially proposed by John Holland [6] [18], who was inspired by the Darwinian concept

to minimize. Additionally, the set of minimizing solutions cannot broadly examine and explore the complete cost functionspace, unless one performs multiple runs of the algorithm with new weights during each trial.

1.3 Key Contributions of This WorkIn this work, we propose and develop a multi-objective genetic algorithm-based architecture to devise high-quality code fam-ilies. We define the performance of each group of PRN code families according to a cost vector which penalizes sequenceswith large mean auto-correlation and cross-correlation sidelobes. Our search algorithm seeks to progress and expand the localPareto-optimal front of the multi-objective cost function space.

The algorithm presented in this paper incorporates the following key features:

1. Performs scattered crossover to increase recombination between parent chromosomes and provide improved final results

2. Ranks individual candidates using scaled, non-dominated sorting of the individual cost vectors, in order to select high-performing individuals

3. Incorporates elitism to directly propagate high-performing individuals into the next generation and ensure consistentimprovement in each subsequent generation

4. Utilizes fitness sharing via niching in order to maintain the diversity of the individuals and provide a well-spread Pareto-optimal front

With the incorporated features listed above, we demonstrate that our multi-objective genetic algorithm architecture deviseshigh-quality families of spreading code sequences which achieve low mean non-central auto-correlation and cross-correlation,performing better than well-chosen families of equal-length Gold codes and Weil codes.

1.4 Paper OrganizationThe remainder of the paper is organized as follows: Section 2 describes some relevant technical background, Section 3 outlinesour multi-objective genetic algorithm for spreading code optimization, Section 4 presents experimental results demonstrat-ing the ability of our algorithm to develop code families which exhibit lower mean non-central auto-correlation and cross-correlations than same-sized families of Gold and Weil codes, and Section 5 concludes the paper.

2 TECHNICAL BACKGROUND2.1 Overview of Genetic AlgorithmsGenetic algorithms were initially proposed by John Holland [6] [18], who was inspired by the Darwinian concept of evolutionvia natural selection and sought to incorporate this innate, biological learning process into a machine learning algorithm.Individuals in the population can be represented as binary sequences, or chromosomes. To allow the population to evolve overtime, high-performing individuals are chosen and re-combined via a crossover operation, which is inspired by processes foundnaturally in biological reproduction, as shown in Fig. 1. The resulting offspring individuals then establish the next generationof solutions.

Figure 1: Conventional crossover operation between 2 parent chromosomes to create offspring chromosomes. The classic, single-pointcrossover operation was inspired by the crossover process observed naturally in biological reproduction.

Genetic algorithms encompass a wide variety of population-based evolutionary learning algorithms. As illustrated in Fig. 2,genetic algorithms start with an initial population of candidate solutions, then iteratively select high-performing individuals

Page 4: Devising High-Performing Random Spreading Code ...gracegao/publications...Genetic algorithms were initially proposed by John Holland [6] [18], who was inspired by the Darwinian concept

from the population and form the next generation of candidate solutions through recombination and mutation of the chosenindividuals.

Figure 2: High-level, cyclical process of the conventional genetic algorithm. Upon defining an intitial population of candidate solutions, thefitness of each individual is evaluated, then highly fit individuals are selected to reproduce and perform the next generation of solutions.

2.2 Binary Sequence Representation with (+1,−1)For a binary sequence a(0,1), where each bit value in the sequence has a value in the binary set {0, 1}, we can simplify themathematical notation by converting the sequence a(0,1) to a sequence a with values in the set {+1,−1}. Thus, we canperform the following conversion for the bit at each index j in the L-length sequence, where j ∈ N ∩ [0, L − 1], definingsequence a:

∀j : a(0,1)(j) = 0, a(j) := +1

∀j : a(0,1)(j) = 1, a(j) := −1 (1)

More simply, we replace each 0 in sequence a(0,1) with a +1 in the converted sequence a. Similarly, each 1 in sequence a(0,1)

is replaced with a −1. This conversion thereby simplifies the binary addition, or exclusive-OR operation, between two bits b1and b2 (i.e. (b1 ⊕ b2)) to a simple multiplication operation (i.e. (b1 · b2)), as illustrated in Fig. 3.

Figure 3: Converting a binary sequence from bits from the set {0, 1} to bits from the set {+1,−1} allows us to replace the exclusive-OR operator between two bits, i.e. (b1 ⊕ b2), with a multiplication operator between the two bits, i.e. (b1 · b2), thereby simplifying themathematical notation.

2.3 Auto- and Cross-Correlation DefinitionsUsing the (+1,−1) sequence representation described in Section 2.2, we now define the auto-correlation of a given sequenceand the cross-correlation between two sequences. Let ak denote the kth binary code sequence in a given code family of size

Page 5: Devising High-Performing Random Spreading Code ...gracegao/publications...Genetic algorithms were initially proposed by John Holland [6] [18], who was inspired by the Darwinian concept

M codes, each with code length L. Additionally, let ak(j) ∈ {−1, 1} denote the jth value of the n-periodic binary sequence;thus, ak(j) = ak(j + L). We define the normalized, circular auto-correlation of binary sequence k as:

θk(l) =1

L

L−1∑j=0

ak(j)ak(j + l)e2πi

(fDfs

)j (2)

where fD denotes the Doppler frequency offset between the two correlated signals, and fs denotes the sampling frequency.Similarly, the normalized, circular cross-correlation of binary sequence k and m as:

θk,m(l) =1

L

L−1∑j=0

ak(j)am(j + l)e2πi

(fDfs

)j (3)

2.4 Gold CodesThe spreading codes currently utilized for the GPS L1 C/A signal are 1023-length Gold codes, which can be generated usingtwo 10-bit linear shift feedback registers (LSFRs), as shown in Fig. 4.

Gold codes [19] are families of spreading sequences which can be generated using 2 maximum length sequences, also known asm-sequences. Each m-sequence is generated using a LSFR with well-chosen feedback taps, which undergo binary addition, oran exclusive-OR operation, to feedback the result to the input of the register. Fig. 4 illustrates the LFSRs for two m-sequences,along with the corresponding feedback taps. For an m-sequence, these feedback taps must be well-chosen such that the resultingsequence output has a maximal length of L = 2n − 1 bits, where n corresponds to the length of the LFSR.

Figure 4: Diagram of linear shift-feedback registers (LFSR) with exclusive-OR taps to generate the GPS Gold codes. The Gold codecharacteristic polynomials G1 and G2 represent the feedback, exclusive-OR taps and correspond to a specific family of Gold codes.

Two carefully chosen m-sequences of length L can be used to generate a family of (L+2) Gold codes of length L. This familyof Gold codes consist of the two original, characteristic m-sequences. The remaining L codes in the family can be generatedby performing L circular shifts of one characteristic m-sequence and conducting binary addition with the second characteristicm-sequence, as shown by the final exclusive-OR operation in Fig. 4.

Using the (+1,−1) binary representation defined in Section 2.2, the complete set of Gold code sequences have 3 characteristicnon-central, normalized, circular auto-correlation values θGk (l), as defined in Eq. (2) for integer time-shifts:

θGk (l) ∈{−1L,−β(n)L

,β(n)− 2

L

}(4)

where β(n) := 1 + 2bn+22 c with n being the number of bits in the LSFRs, and l ∈ N ∩ [1, L− 1].

Similarly, for any two sequences k and m within the complete family of Gold codes, the normalized, circular cross-correlationθGk,m(l) , as defined in Eq. (3) come from the same set of 3 characteristic values, i.e. θGk,m(l) ∈

{−1L ,−β(n)L , β(n)−2L

}where

k 6= m and l ∈ N ∩ [0, L− 1].

Page 6: Devising High-Performing Random Spreading Code ...gracegao/publications...Genetic algorithms were initially proposed by John Holland [6] [18], who was inspired by the Darwinian concept

2.5 Weil CodesA relatively newer family of spreading sequences are Weil codes [20], which exist for any prime length sequence. This providesan advantage to Gold codes by increasing the number of possible spreading code lengths to select from. However, the set ofprime number lengths still presents a limitation; in fact, the modernized GPS L1C signal must incorporate a 7-bit pad with Weilcodes of length 10, 223 to achieve the desired code length of 10, 230 bits.

For a given prime sequence length p, the corresponding family of Weil codes are generated from an equal-length Legendresequence, which correspond to a sequence of Legendre symbols, initially proposed by Adiren-Marie Legendre in the late 18thcentury [21]. To define the Legendre symbol, we must first define the notion of a quadratic residue (modulo p). By definition,an integer q > 0 is said to be a quadratic residue (modulo p), i.e. qRp, if the following condition is satisfied:

∃ x ∈ N ∩ [1, p− 1] : x2 mod p = q (5)

Otherwise, if the condition in Eq. (5) is not met, we state that q is not a quadratic residue (module p), i.e. qNp. To illustrate, weevaluate below the quadratic residues (modulo 5). This is done by iterating over the range of possible x ∈ N∩ [1, 4] which cansatisfy the condition in Eq. (5), as shown in the following computations:

x = 1 : 12 mod 5 = 1

x = 2 : 22 mod 5 = 4

x = 3 : 32 mod 5 = 4

x = 4 : 42 mod 5 = 1 (6)

Thus, the set of quadratic residues (modulo 5), denoted by QR(5), form the following set of unique values: {1, 4}.

Using the definition of quadratic residues from Eq. (5), we now define the qth Legendre symbol corresponding to the odd primenumber length p, which we denote as

(qp

):

(q

p

)=

1 if q is a quadratic residue modulo p, i.e. qRp−1 if q is a non-quadratic residue modulo p, i.e. qNp0 if q ≡ 0

(7)

where q ∈ N ∩ [0, p− 1]. Correspondingly, the length-p Legendre sequence, denoted as Lp can be defined as:

Lp(q) =

−1 if q ≡ 0(q

p

)otherwise

(8)

where q ∈ N[0, p− 1] and p is an odd prime number.

Finally, the family of p-length Weil code sequences can be generated by performing multiplication of the p-length Legendresequence Lp with a circularly shifted version of itself. For length-p sequences, the corresponding family of Weil codes has sizeK = (p−1)

2 . Let us denote L(k)p as the p-length Legendre sequence, circularly shifted by k bits, and let us denote the set of

K total Weil code sequences as Wp ={Wkp

}Kk=1

. Then, we can correspondingly define each sequence of Weil codes in thecomplete set Wp as the following:

Wkp (j) = Lp(j) · L(k)

p (j) (9)

where j ∈ N ∩ [0, p− 1] and k ∈ N ∩ [1,K].

3 DUAL-OBJECTIVE GENETIC ALGORITHM FOR SPREADING CODE OPTIMIZATIONIn this section, we outline of our multi-objective optimization architecture, as represented in the high-level process diagramshown in Fig. 5.

Page 7: Devising High-Performing Random Spreading Code ...gracegao/publications...Genetic algorithms were initially proposed by John Holland [6] [18], who was inspired by the Darwinian concept

Figure 5: High-level process diagram of our multi-objective genetic algorithm architecture.

To design and optimize a family of spreading codes, the chromosome of each individual in the GA population represents acandidate solution: a complete family of binary code sequences. Correspondingly, for a family of M sequences of length L,each chromosome is M · L bits long. To commence the optimization, we randomly initialize the starting population of binarysequences.

3.1 Evaluate Cost VectorGold codes and Weil codes are high-quality families of spreading codes with low auto-correlation side peaks and low cross-correlation values between any pair of codes within the family. Correspondingly, we define the following two key objectives:

1. Mean normalized circular auto-correlation side peak value

2. Mean normalized circular cross-correlation peak value

We consider the circular correlation, due to the periodic nature of the spreading code sequences in the broadcast GPS signal.

Using the definition in Eq. (2) of the normalized, circular auto-correlation of the kth binary sequence in a code family, our firstcost objective, the mean circular auto-correlation side peak value, is defined as:

µAC =1

M

M−1∑k=0

L−1∑l=1

θk(l) (10)

where M denotes the size of the spreading code family and L denotes the length of each binary sequence within the family.

Similarly, using the definition in Eq. (3) of the normalized, circular cross-correlation of the kth and mth sequences in the codefamily, our second cost objective, the mean circular cross-correlation side peak value, is defined as:

µCC =1

Np

M−1∑k=0

M−1∑m=k+1

L−1∑l=1

θk,m(l) (11)

where Np represents the number of pairs sequences from the family of M codes, i.e.(M2

).

In this work, we set our algorithm to generate high performing codes using fD = 0 Hz for the mean auto- and cross-correlationminimization objectives. To explore high-performing codes for additional Doppler frequency offsets, the mean correlationvalues can include a series of frequency offsets in the averaging process, as suggested in the code selection criteria by Soualleet al. [14].

Page 8: Devising High-Performing Random Spreading Code ...gracegao/publications...Genetic algorithms were initially proposed by John Holland [6] [18], who was inspired by the Darwinian concept

Thus for each generation, the cost vector is evaluated for each individual as:

ν = [µAC , µCC ]> (12)

where the metrics µAC and µCC are defined in Eqs. (10) and (11) respectively.

3.2 Perform Pareto RankingThe concept of ranking GA candidate solutions via non-dominated sorting, also known as Pareto ranking, was proposed byGoldberg [22]. Furthermore, Deb et al. [23] develops a computationally efficient method of performing non-dominated sortingin their presented algorithm NSGA-II.

In particular, a point p in an m-dimensional cost space dominates, or is strictly better than, point q if each cost component of pis less than or equal to the corresponding cost component of q, with at least 1 component being strictly less. In other words, pdominates q, i.e. p ≺ q, if the following 2 conditions are satisfied:

pi ≤ qi ∀ i ∈ N ∩ [1,m] and ∃ i : pi < qi (13)

Correspondingly, a set of points P is said to dominate a set of points Q, i.e. P ≺ Q if:

p ≺ q ∀p ∈ P, ∀q ∈ Q (14)

Thus, to perform Pareto ranking, we sort the population of points into ordered sets of non-dominated fronts P1, P2, P3, . . .,such that P1 ≺ P2 ≺ P3 . . ., thus forming consecutive layers of non-dominated points as shown in Fig. 6. Each point in a givennon-dominated front achieves the rank corresponding to the domination order of that set. Thus, p ∈ Pi achieves rank i.

Finally, we define the unbiased fitness score of each point p, denoted as fp to be inversely proportional to the square-root of thedetermined Pareto rank, denoted as rp, as represented in Eq. (15).

fp =1√rp

(15)

Figure 6: Performing ranking via non-dominated sorting. The first layer of non-dominated points P1 is associated a rank of 1. Points in thenext layer of non-dominated points P2 achieve a rank of 2. More generally, points in the non-dominated layer Pi achieve a rank i.

3.3 Bias Fitness Score with NichingTo ensure diversity of the population of candidate solutions and expand the local Pareto-optimal front, our GA implementsfitness sharing via niching. Fitness sharing [24] encompasses a wide variety of techniques which bias the fitness values of thecandidate solutions in order to encourage searching in unexplored regions of the objective function space.

We incorporate fitness sharing in order to penalize solutions which are densely clustered, thereby preventing over-selection ofindividuals from these regions of the objective function space and correspondingly increasing the likelihood that high perform-ing points in less explored regions will be chosen. The increased variation not only provides diversity and prevents prematureconvergence due to clustering, but it also helps establish a broad and well spread Pareto-optimal front.

Page 9: Devising High-Performing Random Spreading Code ...gracegao/publications...Genetic algorithms were initially proposed by John Holland [6] [18], who was inspired by the Darwinian concept

Utilizing niching [25] to perform fitness sharing, for each individual, we measure a degree of crowding in the neighboringarea, or the niche count of the individual. The niche count utilizes a parameter σ to define a neighborhood, or niche, aroundeach individual. Points outside of the radius σ are beyond the region of consideration and cannot affect the fitness score of thecorresponding individual, as illustrated in Fig. 7. In particular, we complete the following steps:

1. Normalize both components of the cost vector in Eq. (12), such that the normalized cost vector ν lies in a unit square, i.e.ν ∈ [0, 1]× [0, 1]:

µAC =µAC − µminAC

µmaxAC − µminAC

(16)

µCC =µCC − µminCC

µmaxCC − µminCC

(17)

ν = [µAC , µCC ]> (18)

where µminAC , µmaxAC , µminCC , and µmaxCC represent the minimum and maximum cost values of µAC and µCC , within thecomplete population.

2. Compute the pairwise Euclidean distances dij between each pair of normalized cost vectors. For candidates i and j withcost vectors νi and νj , respectively, we have:

dij =

√(νi − νj)> (νi − νj) (19)

3. For each candidate i, compute the niche count ηi by performing the following summation:

ηi =∑∀j

max

{1− dij

σ, 0

}(20)

4. Using the computed niche count, bias the fitness value computed in Eq. (15):

f ′i =fiηi

(21)

Figure 7: Fitness sharing by evaluating the niche count of each individual. Points outside of a radius σ are beyond the region of consideration,or the niche of the given individual and cannot affect the computed fitness score.

3.4 Propagate Elite PointsOur algorithm additionally incorporates elitism in order to preserve high-performing solutions throughout the optimizationprocess. In particular, in each generation, after computing the cost vector of each individual as in Eq. (12), we determine thelocal set of Pareto-optimal points, P ∗, from the current population P then propagate these points to the next generation ofcandidate solutions. If the number of points in the set P ∗ is greater than a maximum number of elite pointsNe, i.e. |P ∗| > Ne,we randomly select Ne points from the dominating front as the elite population Pe.

Page 10: Devising High-Performing Random Spreading Code ...gracegao/publications...Genetic algorithms were initially proposed by John Holland [6] [18], who was inspired by the Darwinian concept

3.5 Select High-Performing CandidatesOnce the Ne elite points are determined, the remaining set of points P \ Pe points are scored according to process describedin Section 3.2, with the next set of non-dominated points after the elite set Pe being the first non-dominated front, P1, achievePareto rank rp = 1. When propagating the elite set to the next generation, we avoid further selecting from this set in order toprevent loss of diversity.

Subsequently, after niching is performed, we stochastically select points for performing recombination utilizing the biasedfitness score f ′i from Eq. (21) through roulette wheel selection, also known as fitness proportionate selection. Thus, at eachrandom selection, the probability of choosing individual pi is proportional to its biased fitness score:

P {select pi} =f ′i∑∀i

f ′i(22)

To maintain a population size of N individuals in the next generation, we must produce (N −Ne) offspring. Thus, we accord-ingly select 2 (N −Ne) parents from the set of non-elite individuals P \Pe using the probability mass function (pmf) describedin Eq. (22).

3.6 Perform Scattered CrossoverAfter selecting the parent chromosomes as described in Section 3.5, we next perform recombination via a scattered crossoveroperation. More specifically, we create a binary mask of length L, where each bit has equal probability of being a 0 or 1.Correspondingly, for bits in the mask with label 1, the corresponding gene from the first parent chromosome is copied into theoffspring chromosome. Similarly, for bits labeled 0 in the mask, the corresponding gene from the second parent is copied. Thisscattered crossover operation is depicted in Fig. 8.

Figure 8: Performing scattered crossover between 2 parent sequences, followed by an infrequent mutation step for randomly selectedindividual genes. We perform scattered crossover by generating a random binary mask, then assigning the corresponding bits from the firstand second parents in the offspring solution.

3.7 Mutate the Generated OffspringFinally, from the set of recombined offspring solutions generated, we additionally perform mutation, where each bit in theoffspring is chosen to be flipped, with probability γ, which is chosen to be a low value. The mutation process is also depictedin the final step in Fig. 8. Not only is a low mutation rate more reflective of biological processes found in nature, but wefurther observe better performance of the algorithm with mutation rates that do not overpower the propagation process. Indeed,with less frequent mutations, the GA can leverage its prior knowledge, allowing high-performing individuals to more readilycontribute their genes to the following generations.

3.8 Form the Subsequent GenerationAfter this mutation step, the set of offspring individuals are combined with the set of elite individuals Pe, in order to formthe subsequent generation and repeat the evolutionary processes of ranking, stochastic selection, and stochastic generation ofoffspring. This optimization then terminates once the maximum number of generations G is reached.

4 EXPERIMENTAL VALIDATIONTo validate our algorithm, we devise families of binary code sequences using the procedure outlined Section 3 and examinethe results of the local Pareto-optimal front in the two-dimensional cost vector space [µAC , µCC ]. Generating families of code

Page 11: Devising High-Performing Random Spreading Code ...gracegao/publications...Genetic algorithms were initially proposed by John Holland [6] [18], who was inspired by the Darwinian concept

sequences with shorter length reduces computation time, thereby enabling a greater number of iterative trials in the processof designing and testing our optimization platform, while generating longer sequences allows for improved validation of theversatility of our algorithm for the GPS application. As a trade-off, we compose code families with sequences of length n = 31bits, which further allows us to compare with families of both Gold codes and Weil codes of equal length.

The characteristic polynomials utilized for the length-31 Gold code sequences are from the text example by Misra and Enge [7]as shown in Eq. (23). Indeed, this family of codes exhibited normalized auto- and cross-correlation values from the well-knownthree-valued set:

{− 1

31 ,731 ,−

931

}.

g1 = 1 + x3 + x5

g2 = 1 + x1 + x2 + x3 + x5 (23)

We conduct tests with family sizes of M = 3 sequences up to M = 20 sequences, while finding the best performing set ofsequences for the same number of Gold codes and Weil codes. As an example, Fig. 9 shows the mean auto- and cross-correlationvalues for all possible combinations of 5 code sequences from the Gold code family generated from by the characteristicpolynomials in Eq. (23). From this range of performance values, we determine the best performing sets of codes, as representedby the Pareto-optimal points in red, and compare the results from our algorithm with these well-picked combinations of codes.The complete set of parameters utilized for our experimentation are shown in Tab. 1

Figure 9: Mean auto- and cross-correlation values for all combinations of 5 code sequences from the length-31 Gold code family associatedwith the characteristic polynomial in Eq. (23), along with the best combinations of 5 sequences shown in red. We compare the results fromour algorithm with these well-picked combinations of codes.

Table 1: Experimental parameters utilized for GA optimization

Parameter Description ValueN population size 300Ne maximum elite members 150G maximum generations 104

γ mutation rate 10−5

σ niche radius 0.1n number of bits 31M family size 3-10

From the multi-objective algorithm outlined in Section 3, we observe the results of our algorithm in red for smaller family sizesof 3 and 5 sequences in Fig. 10. For comparison, we additionally plot the best set of Gold codes and Weil codes for the samefamily size and sequence length in gold and green, respectively.

Page 12: Devising High-Performing Random Spreading Code ...gracegao/publications...Genetic algorithms were initially proposed by John Holland [6] [18], who was inspired by the Darwinian concept

(a) 3 sequences (b) 5 sequences

Figure 10: Output of our GA for family sizes of 3 and 5 binary sequences, each of length 31 bits, shown in red. We observe that in the costvector space [µAC , µCC ] the set of code families generated by our algorithm dominates the best performing sets of Gold codes (in gold) andWeil codes (in green).

As demonstrated in Fig. 10, we can observe that for each point in gold and green, there exist multiple red points which arestrictly better, with a lower mean auto-correlation or cross-correlation value, if not both. As a result, we observe that the set ofcode families generated by our algorithm PGA dominates the best performing set of Gold codes PG as well as the best set ofWeil codes PW , i.e. PGA ≺ PG ≺ PW .

Similarly, Fig. 11 shows the result of our algorithm for larger code families of 7 sequences and 10 sequences, respectively.Here, we similarly observe that the final Pareto-optimal front from our algorithm dominates that for the best sets of Gold codeand Weil code families. Thus, the spreading codes from the presented genetic algorithm results in lower mean auto-correlationvalues as well as cross-correlation across 21 and 45 pairwise correlations for 7 and 10 sequences, respectively.

(a) 7 sequences (b) 10 sequences

Figure 11: Output of our GA for family sizes of 7 and 10 binary sequences, each of length 31 bits, shown in red. We observe that in the costvector space [µAC , µCC ] the set of code families generated by our algorithm dominates the best performing sets of Gold codes (in gold) andWeil codes (in green).

Page 13: Devising High-Performing Random Spreading Code ...gracegao/publications...Genetic algorithms were initially proposed by John Holland [6] [18], who was inspired by the Darwinian concept

Finally, we further test our algorithm for a larger code family size of 20 codes, with the results presented in Fig. 12. Alongwith the results of our GA architecture, Fig. 12 only plots the result of the best performing families of Gold codes, since forlength-31 sequences, the Weil family only consists of

(p−12

)= 15 codes in total. The results of our algorithm in red similarly

dominate those of the Gold codes. Furthermore, Fig. 12 demonstrates that all of the code families generated from our algorithmare strictly better than the corresponding result of Gold codes in the [µAC , µCC ] objective space. In particular, each result fromour GA architecture has both a lower mean auto- and cross-correlation result than every set of the best-performing Gold codes.

Figure 12: Output of our GA (in red) for family sizes of 20 length-31 binary sequences. We observe that the set of code families generatedby our algorithm dominates the best performing sets of Gold codes (in gold). In fact, in this case, the results of our algorithm are strictlybetter than the set of Gold codes, given each result has a lower value in both cost objectives. The best performing families of Weil codes arenot plotted, given the Weil family of length-31 sequences only consists of 15 codes in total.

5 CONCLUSIONSTo conclude, in this work, we develop a dual-objective genetic algorithm architecture to devise a family of high-performingcode sequences with low mean, circular non-central auto-correlation and cross-correlation values. In order to enhance theperformance of our algorithm, we incorporate scattered crossover and Pareto-optimal elitism, as well as multi-objective tech-niques including performing ranking via non-dominated sorting and niching. With our multi-objective approach, our algorithmsearches across the multi-dimensional cost function space and provides a widespread range of Pareto-optimal solutions.

Additionally, we test the ability of our algorithm to generate spreading code families of up to 20 sequences, and correspondinglydemonstrate the ability of our algorithm to construct better performing code families than well chosen combinations of Goldcodes and Weil codes. In particular, we show that the range of solutions from our algorithm dominate the Pareto-optimal frontof the Gold and Weil code sequences, with lower mean, circular non-central auto-correlation and cross-correlation values.

ACKNOWLEDGMENTThe material in this work is supported by the Air Force Research Lab (AFRL), Kirtland Air Force Base, Albuquerque, NM.

REFERENCES[1] U.S. Dept. of the Air Force, Air Force Material Command. “Navigation Technology Satellite-3.” Request For Information

(RFI-RVKVE-NTS-3). AFRL/RVKV, Kirtland AFB, Albuquerque, NM, 30 Mar 2016.

[2] Divis, Dee Ann. “Redesign of military space architecture includes GPS.” Inside GNSS. 24 Apr 2019.

[3] U.S. Dept. of the Air Force, Air Force Space Command. “Hosted Payload Solutions (HoPS).” Sources Sought(FA881414D0001). SMC. 11 Mar 2019.

[4] Parkinson, Bradford W. and Stephen T. Powers. “Part 1: The origins of GPS, and the pioneers who launched the system.”GPS World. 1 May 2010.

[5] Parkinson, Bradford W. and Stephen T. Powers. “Part 2: The origins of GPS, fighting to survive.” GPS World. 1 Jun 2010.

Page 14: Devising High-Performing Random Spreading Code ...gracegao/publications...Genetic algorithms were initially proposed by John Holland [6] [18], who was inspired by the Darwinian concept

[6] Holland, John H. Adaption in Natural and Artificial Systems. 1975. Ann Arbor, MI: University of Michigan Press.

[7] Misra, Pratap, and Per Enge. Global Positioning System: Signals, Measurements, and Performance - Revised SecondEdition. Massachusetts: Ganga-Jamuna Press. 2012.

[8] Wallner, Stefan, Jose-Angel Avila-Rodriguez, Guenter W. Hein, and Joseph J. Rushanan. “Galileo E1 OS and GPS L1Cpseudo random noise codes - requirements, generation, optimization and comparison.” Proceedings of the 20th Interna-tional Technical Meeting of the Satellite Division of the Institute of Navigation (ION GNSS 2007). Fort Worth, TX, USA.2007.

[9] Avila-Rodriguez, Jose-Angel, Stefan Wallner, and Guenter W. Hein. “How to optimize GNSS signals and codes for indoorpositioning.” ION GNSS 19th International Technical Meeting of the Satellite Division. Vol. 10. 2006.

[10] Srinivas, Mandavilli and Lalit M. Patnaik. “Genetic algorithms: A survey.” Computer 27.6 (1994): 17-26.

[11] Deb, Kalyanmoy. “An introduction to genetic algorithms.” Sadhana 24.4-5 (1999): 293-315.

[12] Cantu-Paz, Erick. “A survey of parallel genetic algorithms.” Calculateurs Paralleles, Reseaux et Systems Repartis 10.2(1998): 141-171.

[13] Konak, Abdullah, David W. Coit, and Alice E. Smith. “Multi-objective optimization using genetic algorithms: A tutorial.”Reliability Engineering & System Safety. 91.9 (2006): 992-1007.

[14] Soualle, Francis, et al. “Spreading code selection criteria for the future GNSS Galileo.” Proceedings of the EuropeanNavigation Conference GNSS. 2005.

[15] Welch, Lloyd R. “Lower bounds on the maximum cross correlation of signals (corresp.)” IEEE Transactions on Informa-tion Theory 20.3 (1974): 397-399.

[16] Sarwate, Dilip V. and Michael B. Pursley. “Crosscorrelation properties of pseudorandom and related sequences.” Proceed-ings of the IEEE 68.5 (1980): 593-619.

[17] Winkel, Jon Olafur. “Spreading codes for a satellite navigation system.” U.S. Patent No. 8,035,555. 11 Oct. 2011.

[18] Holland, John Henry. Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology,Control, and Artificial Intelligence. MIT press, 1992.

[19] Gold, Robert. “Optimal binary sequences for spread spectrum multiplexing (corresp.).” IEEE Transactions on InformationTheory 13.4 (1967): 619-621.

[20] Rushanan, Joseph J. “The spreading and overlay codes for the L1C signal.” Navigation 54.1 (2007): 43-51.

[21] Legendre, Adrien-Marie. Essai sur la Theorie des Nombres. Paris, France: Courcier, 1808.

[22] Goldberg, David E. Genetic Algorithms in Search, Optimization, and Machine Learning. Reading, MA: Addison-Wesley,1989.

[23] Deb, Kalyanmoy, Amrit Pratap, Sameer Agarwal, and T. Meyarivan, “A fast and elitist multiobjective genetic algorithm:NSGA-II.” IEEE Transactions on Evolutionary Computation 6.2 (2002): 182-197.

[24] Goldberg, David E. and Jon Richardson. “Genetic algorithms with sharing for multimodal function optimization.” Pro-ceedings of the Second International Conference on Genetic Algorithms, Hillsdale, NJ: Lawrence Erlbaum, 1987.

[25] Fonseca, Carlos M., and Peter J. Fleming. “Multiobjective genetic algorithms.” IEE Colloquium on Genetic Algorithmsfor Control Systems Engineering. IET, 1993.