Devising High-Performing Pseudo-Random Spreading Codes Using Genetic Algorithms
Tara Yasmin Mina and Grace Xingxin Gao
ION GNSS+ 2019
• Interest by Air Force to develop the future generation of GPS▪ 2016 RFI (NTS): Reinvigorate Navig. Tech. Satellite from 1970s initiative [1]
▪ 2019 SS (HoPS): Leverage multi-orbit commercial sats., reprogrammable payload [2]
• NTS-3 – objectives include exploring new techniques to: ▪ Enhance PNT resiliency / performance
▪ Increase number of signals broadcast on L1 frequency band
▪ Explore modifications to all signal layers (carrier, data, spreading codes)
• New era of satellite navigation – time to revisit design of GPS PRN codes
Air Force Initiatives to Modernize GPS
1
[1] AFRL, FBO, 2016 (SN: RFI-RVKVE-NTS-3)
[2] Air Force SMC, FBO, 2019(SN: FA881414D0001)
[3] Lutz, AFRL SV Directorat [3]
NTS-1(1974)
NTS-2(1977)
NTS-3(Launch in 2022)
• Current GPS spreading codes algorithmically generable▪ i.e. Legacy GPS L1 C/A uses Gold codes [4] – utilizes two 10-bit LSFRs
▪ i.e. L1C uses Weil codes, with 7-bit pad [5]
• 1970s design considerations▪ Hardware memory limitations
▪ Limited to LFSR-based codes
• Advantages of memory codes:1. Greater range of possible families
2. Opportunity to find superior codes
3. Any desired seq. length possible
• Large space: complicates code design method
Use of Memory Codes for GNSS
2
[6]
[4] Gold, ION GNSS, 1967 [5] Rushanan, IEEE ISIT, 2006[6] ICD-GPS-200C, DoD, 1993
• Genetic algorithms (GAs) – optimization / learning technique:▪ Population-based, candidate solutions represented as binary sequences
▪ Iteratively improve solution: choose / combine highly fit individuals
• Prior work utilizing GAs for Galileo application▪ Develop codes with ASZ property (0 auto-correlation at ±1 chip delays) [7]
▪ Parameters for selecting high-quality codes for GNSS applications [8] [9]
Genetic Algorithms for Random Codes
3
[7]
[7] Wallner, Avila-Rodriguez & Hein, ION GNSS, 2007 [8] Soualle, et al, European GNSS, 2005[9] Winkel, US Patent No. 8.035.555, 2011
1. Utilizing a cumulative, combined cost function▪ 1-dimensional cost function to minimize [8]
▪ Ex: summation of costs to minimize for spreading codes [9]
▪ Must define relative priorities between objectives
▪ Cannot explore across complete multi-dimensional cost function space
2. Multi-dimensional cost▪ Progress non-dominated front
▪ Population-based methods useful
▪ Continuously improve local front
▪ Must maintain solution diversity:
o Avoid crowding of solutions
o Spread of Pareto-optimal points
Multi-Objective Techniques
4
[8] Soualle, et al, European GNSS, 2005[9] Winkel, US Patent No. 8.035.555, 2011
• Develop a multi-objective optimization platform to construct high-quality families of spreading code sequences
• GA architecture – key features:
▪ Perform scattered crossover: increase recombination between parent chromosomes
▪ Incorporate Pareto-optimal elitism: ensure strong solutions maintained in population
▪ Ranking via non-dominated sorting for selecting high-performing individuals
▪ Utilize fitness sharing via niching: maintain well-spread range of Pareto-optimal points
• Demonstrate ability of our genetic algorithm to devise a set of memory code sequences which can:
▪ Achieve low auto- and cross-correlation side peaks
▪ Perform better than well-chosen families of equal-length Gold and Weil codes
Key Contributions
5
• High-level Overview of GAs
• Design of GA Architecture
▪ Key Objectives for High-Quality Codes
▪ Fitness Ranking via Non-Dominated Sorting
▪ Increase Solution Diversity using Niching
▪ Multi-Objective Genetic Algorithm Architecture
• Experimental Validation
• Summary
Outline
6
• Initially proposed by John Holland; currently many variations
• Inspired by Darwinian theory of evolution▪ Evolve population of solutions, improving each subsequent generation
▪ Utilizes notions of crossover to “breed” between highly fit individuals
Genetic Algorithms [10]
7
[11]
[10] Holland, Univ. of Michigan Press, 1975[11] Khan, Genetic Linkage & Mapping, 2019
Biological crossover of chromosomes:
Key Steps:
1. Create initial population
2. Evaluate individual fitness
3. Select high-performing individuals
4. Form offspring solutions:
➢ Crossover / Recombination
➢ Mutation
5. Propagate next generation (return to step 2)
Basic / Standard Genetic Algorithm
8
• High-level Approach using GAs
• Design of GA Architecture
▪ Key Objectives for High-Quality Codes
▪ Evaluate Unbiased Fitness via Non-Dominated Sorting
▪ Increase Solution Diversity using Fitness Sharing
▪ Multi-Objective Genetic Algorithm Architecture
• Experimental Validation
• Summary
Outline
9
1. Mean, normalized absolute auto-correlation side peak
2. Mean, normalized absolute cross-correlation peak
Key Objectives Utilized
10
Auto-Correlation Side Peaks Cross-Correlation Peaks
Peak correlation
• Ranking utilizing Non-Dominated Sorting, or Pareto ranking▪ Pareto ranking – ranking via layers of dominating points [12]
▪ Define layers of non-dominated fronts to provide scalar fitness score
▪ Probability of selection: proportional to final fitness score
• Fitness score evaluation:1. Compute multi-dimensional cost
2. Find layers of non-dominated fronts:
𝑃1 , 𝑃2 , 𝑃3 , …
3. Assign Indiv. rank 𝑟𝑝 via layer order:
𝑝 ∈ 𝑃𝑖 ⇒ 𝑟𝑝 = 𝑖
4. Compute unbiased fitness score:
𝑓𝑝 =1
𝑟𝑝
Ranking to Evaluate Fitness of Points
11
[12] Goldberg, Addison-Wesley, 1989
• Fitness sharing – maintains diversity of Pareto-optimal points▪ Via computing niche count 𝜂 – degree of crowding in neighboring area [13]
▪ Parameter 𝜎 chosen for defining neighboring area of consideration
• Key steps for fitness sharing:1. Compute multi-dimensional cost
2. Normalize cost (0 to 1)
3. Compute pairwise distances 𝑑𝑖𝑗4. For each candidate 𝑖,
sum scaled distances within 𝜎:
𝜂𝑖 =
∀ 𝑗
max 1 −𝑑𝑖𝑗
𝜎, 0
5. Bias fitness score by niche count:
𝑓𝑖′ =
𝑓𝑖
𝜂𝑖
Use of Fitness Sharing via Niching
12
[13] Fonseca & Fleming, ICGA, 1993
• Recombination step: scattered crossover▪ Uniformly, randomly select multiple crossover points b/w 2 individuals
▪ Initial observations: improved speed and performance of algorithm
Incorporate Scattered Crossover / Pareto-Optimal Elitism
13
• Pareto-optimal elitism: ▪ Directly pass high-performing individuals to next generation of solutions
▪ Elite points: set of dominating, Pareto-optimal points
▪ Ensures continuous improvement, preserves best solutions
Multi-Objective GA Architecture
14
Initialize Population
Evaluate Raw Cost Function Vector
Determine Pareto-Optimal Points
Create Next Generation
Randomly Select High-Performing Candidates
Perform Scattered Crossover
Mutation
Evaluate Niche Counts
Max Generation Reached?
No
Yes
Terminate Process
Perform Non-Dominated Sorting
Bias / Re-Scale Fitness
• High-level Approach using GAs
• Design of GA Architecture
▪ Key Objectives for High-Quality Codes
▪ Evaluate Unbiased Fitness via Non-Dominated Sorting
▪ Increase Solution Diversity using Fitness Sharing
▪ Multi-Objective Genetic Algorithm Architecture
• Experimental Validation
• Summary
Outline
15
Objective: validate results with equal-length Gold / Weil codes
▪ Validation of GA: comparing with 31-length Gold codes [4] and Weil codes [5]
▪ Trade-off between computation requirements and sequence length
▪ Total (3 codes, length-31): 2(3 ⋅ 31) ∼ 1027 possible solutions
▪ Gold char. polynomials: 𝒎𝟏 = 𝟏 + 𝒙𝟑 + 𝒙𝟓 ; 𝒎𝟐 = 𝟏 + 𝒙𝟏 + 𝒙𝟐 + 𝒙𝟑 + 𝒙𝟓 [14]
▪ Various family sizes tested, compare with best set of Gold / Weil codes
Experimental Validation
16
[4] Gold, IEEE TIT, 1967[5] Rushanan, IEEE ISIT, 2006[14] Misra & Enge, Ganga-Jamuna Press, 2011
Optimization Params. Values
Mutation rate 10−5
Population size 300
Max Elite Members 150
Max generation 10,000
Niche radius (𝜎) 0.1
Families of 3 and 5 Sequences
17
Better Performing Sequences than Gold / Weil Codes Achieved with GA
Families of 7 and 10 Sequences
18
Better Performing Sequences than Gold / Weil Codes Achieved with GA
Families of 20 Sequences
19
Better Performing Sequences than Gold / Weil Codes Achieved with GA
• Developed multi-objective GA architecture to devise family of high-performing code sequences
▪ Achieves low mean, circular auto- and cross-correlations
▪ Produces range of Pareto-optimal points
▪ Incorporates the following key features and multi-objective techniques:
o Scattered crossover for recombination / Pareto-optimal elitism
o Ranking via non-dominated sorting
o Fitness sharing via niching
• Demonstrated algorithm constructs higher quality code families, compared to best combinations of current, equal-length codes
▪ Range of code solutions dominate Pareto-optimal Gold / Weil codes
▪ Next Steps: Expand architecture for GPS-length code sequences
Summary
20
21
Thank You!
This material is based upon work supported by Kirtland Air Force Research Lab (AFRL).