# Design of Cislunar Navigation Constellation via Orbits with a Resonant Period
## 3 Design Methodology
### Resonant Combination Generation and Merging
If \(\tilde{p}_{i1}<p_{k}<\tilde{p}_{i2}\) is not satisfied, \(p_{k}\) cannot be found in the \(s\)-th orbit family. Proceed by incrementing \(s\) (\(s=s+1\)) and jump to 5 to iterate through the next orbit family until \(s=N_{l}\); then, proceed to 8. If \(\tilde{p}_{i1}<p_{k}<\tilde{p}_{i2}\) is satisfied, compute the period deviation vector \(\delta\mathbf{P}_{s}\). \[\delta\mathbf{P}_{s}=\mathbf{P}_{s}-p_{k} \tag{21}\]  
Retrieve the index \(in\) of the minimum value in \(\delta\mathbf{P}_{s}\),  
\[in=\arg\min(\delta\mathbf{P}_{s}) \tag{22}\]  
Extract the corresponding row vector \(\mathbf{b}_{in}\) from \(\mathbf{B}_{s}\) and append it to the orbital combination matrix \(\mathbf{C}\) by incrementing \(m(m=m+1)\)  
\[\mathbf{c}_{m}=\left[ \begin{array}{cc}\mathbf{b}_{in}&s\end{array} \right] \tag{23}\]  
Increment \(k\) (\(k=k+1\)) to obtain the next \(p_{k}\). Repeat 7 until \(k\) exceeds the number of elements in \(\mathbf{p}\). Increment \(s\) (\(s=s+1\)). If \(s=N_{l}\), proceed to 8. Otherwise, return to 5 to iterate through the next orbit family. 8. At this stage, the orbital combination matrix \(\mathbf{C}\), containing all orbits resonant with \(p_{0}\), is obtained. Since the constructed resonant constellation in this study serves as a navigation constellation, which requires at least four satellites for positioning and navigation services, if the number of rows in \(\mathbf{C}\) is less than four, discard the current \(\mathbf{C}\). Otherwise, record the current \(p_{0}\) and its corresponding matrix \(\mathbf{C}\) in the set \(\mathbf{C}^{\prime}\). Steps 1-8 complete the search for resonant orbits corresponding to the baseline period \(p_{0}\). Subsequently, increment \(j\) (\(j=j+1\)) and initiate a new search using the next \(\mathbf{b}_{j}\), using \(\mathbf{B}_{l_{i}}\) as the baseline period. Repeat until all orbits in \(\mathbf{B}_{l_{i}}\) are traversed. Then, increment \(i\) (\(i=i+1\)), and repeat Step 2 for the new \(\mathbf{B}_{l_{i}}\) until all orbit families in \(\mathbf{B}\) are fully traversed. Upon completing the aforementioned procedures, the entire working orbit library \(\mathbf{B}\) yields the resonant combination set \(\mathbf{C}^{\prime}\), where all combinations are characterized by the baseline period. \[\mathbf{C}^{\prime}=\{\{p_{01},\mathbf{C}_{1}\},\{p_{02},\mathbf{C}_{2}\},\ldots\} \tag{24}\]  
In this study, as exemplified by the working orbit library (Table 1), the algorithm-generated \(\mathbf{C}^{\prime}\) contains 20,366 elements. Each element represents a resonant combination comprising a variable number of orbits. When constraining the constellation size--for instance, only using four-satellite constellations-combinatorial principles indicate that \(\mathbf{C^{\prime}}\) can theoretically form 2,043,119 distinct four-satellite constellations, resulting in a substantial computational load. To address this, \(\mathbf{C^{\prime}}\) is classified according to specific criteria to reduce its scale. The computational load reduction is primarily achieved through orbit-type composition-based combination merging and intra-combination deduplication. This process generates a condensed combination set \(\mathbf{\tilde{C}}\subseteq\mathbf{C^{\prime}}\), formally defined as follows:  
\[\mathbf{\tilde{C}}=\left\{\{p_{0 in_{1}},\mathbf{C}_{in_{1}}\},\{p_{0 in_{2}},\mathbf{C}_{in _{2}}\},\ldots,\{p_{0 in_{r}},\mathbf{C}_{in_{r}}\}\right\} \tag{25}\]  
where \(in_{r}\in Z^{+}\) denotes the index of the representative combination in \(\mathbf{C^{\prime}}\), and \(r\) represents the cardinality of the merged combinations. Upon completing the merging process and taking the navigation constellation constructed from the orbit library in this study as an example, the number of elements in \(\mathbf{\tilde{C}}\) is reduced from 20,366 to 95, and the number of four-satellite constellation combinations is drastically reduced to 36,569. Compared to the initial 2,043,119 constellation combinations, the computational scale is significantly reduced.