## 3 A Collaborative Multi-Satellite Selection Algorithm Based on Maximum SINR
### Proposed Satellite Selection Strategy
PLR for case (a):

For the ACRDA scheme, the PLR \(PLR^{Niter}(G,N_{cp})\) after \(N_{iter}\) iterations can be expressed as the cumulative integral of the probability density function \(f_{d}(\alpha)\) of the expected packet SNR \(\alpha\) multiplied by the expected PLR \(P_{loss}^{Niter}(\alpha,\lambda)^{N_{cp}}\) when the SNR is \(\alpha\) and the Poisson service arrival rate is \(\lambda\):

\[PLR_{a}^{Niter}=PLR^{Niter}(G,N_{cp})\cdot P_{dl}^{0} \tag{17}\]

\[PLR^{Niter}(G,N_{cp})\approx\int_{0}^{\infty}P_{loss}^{Niter}( \alpha,\lambda)^{N_{cp}}\cdot f_{d}(\alpha)d\alpha \tag{18}\]

where, \(P_{loss}^{Niter}(\alpha,\lambda)\) can also be expressed as the cumulative sum of the loss rate \(P_{loss}^{K,Niter}(\alpha|k)\) in the presence of \(k\) collided packets when the probability density function \(f_{K}(k,\lambda)=\frac{\lambda^{k}e^{-\lambda}}{k}\) of packet arrival and the SNR of the expected packet are \(\alpha\):

\[P_{loss}^{Niter}(\alpha,\lambda)\approx\sum_{k=0}^{\infty}P_{loss}^{K,Niter}( \alpha|k)\cdot f_{K}(k,\lambda) \tag{19}\]

Among them, the calculation of conditional probability \(P_{loss}^{K,Niter}(\alpha|k)\) is relatively complex, which needs to consider the influence of the iterative interference elimination process, and its computational complexity increases exponentially. In the literature [17], the binomial distribution sorting method is considered to simplify the conditional probability without affecting the derivation of performance. The simplified formula can be expressed as follows:

\[P_{loss}^{K,Niter}(\alpha|k)=\sum_{r=0}^{k}P_{loss}^{R}(r)\cdot f _{B}(r,k,q) \tag{20}\]

where \(f_{B}(r,k,q)\) is the binomial distribution when the number of experiments is \(k\) and the success rate is \(q=[PLR^{N_{iter}-1}(G,N_{cp})]^{N_{cp}-1}\). The initial value of the packet loss ratio is 1: \(PLR^{0}=1\). \(P_{loss}^{R}(r)\) represents the loss rate when there is still \(r\) interference packets colliding with the expected packet after iteration \(N_{iter}\), which can be expressed as follows:

\[P_{loss}^{R}(r)=\int\limits_{0}^{\infty}\Gamma[10\log_{10}(\frac{w}{1+\alpha x })]\cdot f_{\chi}(x,r)dx \tag{21}\]

where, \(f_{\chi}(x,r)=\frac{1}{2(r-1)}\sum\limits_{n=0}^{r}{(-1)^{n}\left( \begin{array} []{c}r\\ n\end{array} \right)(x-n)^{r-1}\cdot sign(x-n)}\) is the probability density function when there are currently \(r\) packets and expected packets collided. \(x\) is the average number of packets collided with the expected packets. \(sign(\bullet)\) is the indicating function. PLR for case (b):

Assume that a virtual frame has \(N_{sl}\) time slot and \(N_{cp}\) packets are transmitted in this frame. If there is an interference packet in this \(N_{sl}\) slot, then the total number of packets arranged in this frame is \(C_{N_{sl}}^{N_{rp}}\). The probability of the interference packet colliding with the expected packet is \(p=\frac{\Gamma_{N_{sl}}^{N_{rp}}}{C_{N_{sl}}^{N_{sl}}}\). Therefore, under the condition that the average number of packets arriving in each frame is \(l=G\cdot N_{sl}\cdot\frac{1}{\rho\log_{2}M}\) (\(\rho\) is the channel coding rate, \(M\) is the modulation indices), \(P_{dl}^{n}\) can be calculated as follows:

\[P_{dl}^{n}=(1-p)^{n}=\binom{l}{n}\cdot p^{n}\cdot(1-p)^{l-n} \tag{22}\]

When \(n\geq 2\), the PLR performance is not affected due to the extremely low probability of \(P_{dl}^{n}\) occurring. The PLR for case (b) can be simplified as follows:

\[PLR_{b}^{N_{lat}}=(1-\zeta)\cdot\Gamma[10\log_{10}(\frac{\alpha}{1+\beta})]^{N _{cp}}\cdot P_{dl}^{n}+1\cdot(1-P_{dl}^{0}-P_{dl}^{1}) \tag{23}\]

Thus, combining both cases (a) and (b), the total PLR of the SC-ACRDA scheme can be expressed as follows:

\[ \begin{array}{c}PLR^{Niter}(G,N_{cp},N_{sl})=PLR_{a}^{Niter}\cdot P_{dl}^{0}+ PLR_{b}^{Niter}\\ \approx PLR^{Niter}(G,N_{cp})\cdot P_{dl}^{0}+(1-\zeta)\cdot\Gamma[10\log_{10}( \frac{\alpha}{1+\beta})]^{N_{cp}}\cdot P_{dl}^{1}\\ +1\cdot(1-P_{dl}^{0}-P_{dl}^{1})\end{array}