## 4 Materials and Methods  
The FSSExp payload software is implemented in Java language to leverage on its portability and the object-oriented approach. All the payload code is available in the project repository [21]. Additionally, this repository includes a copy of the raw data retrieved during the campaign, and the corresponding code to process it. The raw data is processed to retrieve a set of metrics that enable the evaluation of the performance of the protocols. This section presents the used metrics to measure and evaluate the performance of FeDeCoP and OSADP protocols. The former result of each federation is the sequence of packets that are exchanged. This sequence enables the understanding of whether all the phases of the federation, as well as agreed closures or unexpected ones. The loss of packets is also highlighted, which provides a view of the channel quality. This sequence is generated from the transmitted and received packets en each node, which are stored during the execution. Another metric is the buffer usage of each balloon. As the federation types during the campaign are related to exchanging data, the need to establish a federation and the corresponding transfer is reflected on the buffer level. As in the previous metric, this level is periodically stored in each balloon, and the buffer unit is a telemetry block. This block includes different status fields, such as temperatures, power transmission, etc. Finally, the throughput of the federation is also analyzed. This metric corresponds to the amount of data (in bits) that are received and acknowledge during a period of time. This throughput is measured per each federation, and it is compared with the theoretical maximum throughput. The definition of this theoretical maximum is driven by the average Round Trip Time (RTT). This metric corresponds to the lapse of time that a data packet needs to be downloaded and acknowledged to transmit a new one. The quality of the channel can provoke the loss of packets, and thus their retransmission. This retransmission increases the RTT because a Retransmission Timeout (RTO) is spent for each lost packet. Therefore, the worse channel quality, larger the RTT is. In this campaign, a maximum of three retransmissions have been configured. The quality of the channel can be measured with the Packet Error Rate (PER) metric, which corresponds to the ratio between the number of lost packets and the transmitted ones. This PER is related to the SNR, which is impacted by the existence of the interference signal previously identified. In this scenario, the average of the RTT is defined as follows:  
\[RTT=\sum_{k=0}^{3}RTT(p=k)\cdot Pr(p=k), \tag{1}\]  
where \(k\) corresponds to the index of loss packets, \(RTT(p=k)\) represents the RTT with \(k\) packets loss, and \(Pr(p=k)\) is the probability of losing \(k\) packets. Taking into consideration the ARQ mechanism, the average of the minimum RTT of the downlink (link 1 in Figure 6) can be defined as follows:  
Figure 7: Integration of the FSSExp payload (gray box) in the three balloon structures. \[RTT=2t_{tx}\Big{(}1-\alpha^{4}\Big{)}+(t_{tx}+RTO)\left(\frac{3\alpha^{5}-2\alpha^{4 }+\alpha}{1-\alpha}\right), \tag{2}\]  
where \(t_{tx}\) the packet transmission time, \(RTO\) the timeout value, and  
\[\alpha=\rho_{d}(2-\rho_{d}), \tag{3}\]  
where \(\rho_{d}\) corresponds to the PER of the downlink channel. Please note that this definition does not include the processing time of each packet, because the minimum RTT does not consider this situation. In this campaign, the RTO was set to 6 s, and the FSSExp payload always transmits a packet of 255 bytes, by filling those that are smaller. Therefore, the transmission time is the same for all the packet types (either data or acknowledgment packets). After different measurements, the transmission time of a packet is 425 ms. The federation interaction is composed by the balloon-to-balloon link with the downlink to the ground station (links 3 and 1 in Figure 6).