# Joint Spreading Factor and Channel Assignment in Multi-Operator LoRaWAN Deployments
## 6 Multi-Operator Game for Channel Selection
### Best Response Algorithm for Computing the NE
We first study the impact of this increase on the total normalized throughput. The number of available channels is increased gradually from three to eight, which is the LoRaWAN standard. Figure 6 has a plot with the results. As in previous simulations, our proposal, this time represented by the learning approach, vastly outperforms the legacy algorithm. For a small number of channels (3-4), the value of \(n\) has no effect on the performance of our algorithm. Beyond that, allowing each operator to choose three channels instead of two further improves the performance. At eight available channels, the legacy LoRaWAN algorithm, which has equal access to all eight, produces a total normalized throughput of less than 0.9. In comparison, our algorithm for \(n=2\) produces a value of 1.616 and for \(n=3\) produces a value close to 1.7. We further study the performance of our algorithm in terms of the total packet delivery ratio. Figure 7 presents a plot with the results. Even though the objective of our problem revolves around maximizing the throughput, our algorithm also has the capability to slightly improve the total packet delivery ratio (success rate). With the exception of the case of three available channels (for \(n=2\)), our proposal will regularly outperform the legacy approach. In this scenario, the limited improvement is mainly due to the dense deployment of devices. Across varying scenarios, in terms of the number of devices, the total area size, and the packet generation rates, our proposal can only further widen the performance gap with respect to the legacy approach. Figure 6: Impact of added channels on the total normalized throughput. ### Energy Consumed per Delivered Byte

We evaluate the average energy that is expended per successful delivery for our proposed algorithm and compare it to the state-of-the-art approach. We consider eight available channels with \(n=3\) for our proposal. Again, the legacy algorithm assumes equal access to all eight channels. We vary the area side length \(S\) between 2 and 20 km. According to I noticed some errors in the number format in the picture. Is it necessary to modify it [16], the energy cost of data delivery can be expressed as:

\[EC_{delivery}\approx\frac{a\cdot\exp(2G_{sc})}{I_{pay}}, \tag{16}\]

where \(a\) is the energy consumed per transmission attempt, \(G_{sc}\) is the normalized traffic load per spreading factor, per channel, and \(I_{pay}\) is the payload size. Figure 8 presents the results. Following the improvement that it brings in terms of packet delivery ratios, our algorithm reduces the energy consumption. For the simulated scenario, up to 10% reduction in energy consumption is possible, owing to our proposal. In other terms, our proposal can simultaneously improve the throughput while reducing power consumption at the devices. Figure 7: Impact of added channels on the total packet delivery ratio. ### Study of Individual Network Performances

As the players of our game proposals each seek to greedily and selfishly improve their own performance, we inspect the resulting normalized throughput per network. We compare between our proposal (\(n=3\)) and the competing LoRaWAN approach. Recall that the networks produce different volumes of traffic with network 1 being the smallest and network 4 the largest. In Figure 9, we compare the resulting network normalized throughput values for \(S=2\) km and \(S=20\) km, the worst and best case scenarios for the legacy approach, as illustrated in Figure 4a, respectively. The bar plot illustrated in Figure 9 shows that the ability of the legacy approach to close the gap in performance with respect to our proposal at large values of \(S\), no longer exists when \(n=3\). At \(S=2\) km, the largest network normalized throughput for the legacy algorithm is 0.1552, noticeably lower than the lowest attained network throughput from our proposal at 0.3859. While this difference in performance does indeed shrink when

Figure 8: Energy expended per byte as a function of \(S\).