## 4 Experimental Setup
### Channel SNR and Optimal MODCOD Estimation  
To determine the optimal MODCOD that should be used in the next timeslot for user data transmission over each channel, the SNR value for each channel should be estimated for that timeslot. Each selected MODCOD has its corresponding spectral efficiency, and hence, the payload size (\(p\)) of a Data Message, with the size of a Frame Message fixed to 16,200 bits. In our simulated scenarios, the bandwidths for both channels are set to 10 MHz, while the SNR measurement period is 5 ms. Based on these parameters, the number of frames (NF) that can be transmitted for each MODCOD within a single timeslot is estimated. A review of the MODCODs, their spectral efficiencies, payload size and NF for a single timeslot is given in Table 1. This table serves as a lookup table on the HUT side during the creation of Data Messages. There are two algorithms that were used for this estimation process. The first algorithm is basically outdated information that simply assumes that the last measured SNR value will still be valid in the next timeslot. The second prediction algorithm is based on the LSTM neural network that takes an input sequence of the latest 10 SNR measurements and predicts the SNR for the next timeslot. LSTM has a simple architecture of an LSTM layer with 64 units, followed by a batch normalization layer, fully connected layer of 10 neurons and a single output neuron. The activation function of the fully connected layer was set to \"ReLu\", and the output neuron had no activation function. The architecture of the networkwas selected as the best performing network in the authors' previous work, presented in [48]. The goal of this paper is to focus on the framework as a whole, having performed the evaluations of different neural network architectures in the authors' previous work [47; 48], and the conclusions are that overly complex networks might not contribute as much as they require computational resources and cause latency. All parameters of the layers that are not specifically stated are kept as the default in the TensorFlow library, version 2.8. LSTM also has a modified loss function, so it is penalized more if it overestimates the SNR values in comparison to when it underestimates them, having 150% of the regular mean absolute error when the prediction is higher than the label and 50% of the error when the prediction is lower [47]. The training process was performed with the default values of an Adam optimizer from the stated TensorFlow library version, with training being performed on the first 80% of the simulation data and testing on the last 20% of the simulation data. During training, early stopping was implemented, and 20% of the training data were used for validation, with the patience parameter set to 10 epochs. The goal of the algorithms used in the AI module is to increase spectral efficiency while keeping the transmission error under 1%. To keep the algorithms comparable, an additional offset after the prediction of the algorithms is introduced, so that the outdated information and LSTM each have an error below 1%, and the main difference is between the spectral efficiency. A detailed description of the concept is part of the authors' previous work [47], with the LSTM implementation and training details given in [48]. The algorithms are trained and used for each channel separately, and for the evaluation, the predictions are given for each individual channel in each case, and the channel with the better conditions, i.e., higher MODCOD, is selected for data transmission.