# Cross-Domain Fusion Constellation Design of Communication, Navigation and Remote Sensing
## 3 Constellation Optimization Design
### Optimization of Satellite and Payload Deployment  
Through the preliminary comprehensive design of the basic constellation, we get a constellation that has been initially optimized but still belongs to the redundant design. The constellation can be further optimized by a fusion reverse optimization algorithm. As mentioned before, the low orbit, a range of 400 to 2000 km, is used in the paper, and one layer of satellites per functional domain is considered. The two-stage reverse design optimization algorithm of constellation synthesis is shown in Algorithm 2. Its main purpose is to get the optimal payload deployment from the satellite cluster visible to the target area, and delete redundant satellites. Where \(\mathbb{L}\) and \(\mathbb{K}\) are the number of mesh points and load types, respectively. The constellation system is a space-based network that changes with time, but it also has spatial attributes. Therefore, cycle time and divided grid are required for optimization. \(PM\) is a matrix, which records the payload marks carried by each satellite. The dimension is related to the number of payload types and satellites. The number of payloads carried by each satellite is limited by its power consumption and processing capacity. In the process of load deployment optimization, we are currently considering that each satellite has communication and another load. Communication is the necessary payload for satellite cooperation. It is also possible to carry three kinds of loads, and our design method can also be applied. However, considering the resource capacity of satellites at present, we take each satellite carrying, at most, two kinds of loads for research. The number in line 13 indicates the \(i\)th satellite. Figure 2: Multiple resource coverages in the target area. ```
1:Input CA\({}_{\text{request}}\), GDOP\({}_{\text{request}}\), E\({}_{\text{request}}\)
2:Output C
3:for time slot \(t\) in \(t=1,2,\cdots,T\)
4:for\(j=\mathcal{L}\), \(\mathcal{L}-1,\ldots,1\) in \(\mathbb{L}\)do
5:for\(k=1,2,\ldots\) in \(\mathbb{K}\)do
6: Get satellite cluster \(\mathbb{M}\) that visible to \(j\)
7: Get \(PM\) from \(\mathbb{M}\)
8:PAYLOADOPTIMIZE\((j,k,\mathbb{M},PM)\)
9:endfor
10:endfor
11:for\(i=1,2,\ldots\) in \(\mathbb{C}\)do
12:if\(PM(i)==0\)
13: Judge the satisfaction of \((\mathbb{C}-S_{i})\) to CA\({}_{\text{request}}\), GDOP\({}_{\text{request}}\), E\({}_{\text{request}}\), output satisfaction flag
14: Delete the satellite based on the satisfaction flag
15:endif
16:endfor
17:endfor
```  
**Algorithm 2** Basic constellation reverse optimization. PAYLOADOPTIME is the optimization algorithm of payload deployment, and the navigation's sample process is shown in Algorithm 3. It should be noted that we have set a limit on the number of payloads deployed per satellite, as mentioned before. This is to consider the volume and power consumption limitation in actual satellites. ```
1:Input\((i,k,\mathbb{M},PM)\)
2:Output\(\mathbb{M}\)
3:\(\mathbb{P}=\{\mathbb{M}^{\prime}|PM_{nav}\cap\mathbb{M}=0\}\), \(\mathbb{O}=\{\mathbb{M}^{\prime}|PM_{nav}\cap\mathbb{M}=1\}\), \(\mathcal{P}=|\mathbb{P}|\)
4:for\(i=\mathcal{P},\mathcal{P}-1,\mathcal{P}-2,\cdots\) in \(\mathbb{M}\)do
5: Suppose place payload \(i\) to \(\mathbb{O}\), calculate \(GDOP_{i}(\mathbb{O})\)
6:\([GDOP_{\text{min}}q]=\min(GDOP_{i}(\mathbb{O}))\)
7:if\(GDOP_{\text{min}}<GDOP_{k}\)
8: Place \(i\) to satellite \(q\) in \(\mathbb{P}\)
9:endif
10:endfor
```  
**Algorithm 3** Navigation payload deployment optimization. The calculation complexity of GDOP is \(O(1)\). Since the operation of Algorithm 3 is concentrated on line 3 and line 5, the complexity is \(O(M(M-1))\). In Algorithm 2, the complexity of line 8 can be obtained from Algorithm 3. Lines 6 are mainly to calculate each intersection point and its coverage or \(GDOP\), so the complexity of lines 4-10 in Algorithm 2 is \(O(N\cdot k\cdot(M-1)M)=O(NM^{2})\). Where \(k\) is the number of resource types, which is a constant. The number of intersected satellites is the number of satellite clusters \(M\).