  The LoRa physical layer is one of the most promising Low Power Wide-Area
Network (LPWAN) technologies for future Internet of Things (IoT) applications.
It provides a flexible adaptation of coverage and data rate by allocating
different Spreading Factors (SFs) and transmit powers to end-devices. We focus
on improving throughput fairness while reducing energy consumption. Whereas
most existing methods assume perfect SF orthogonality and ignore the harmful
effects of inter-SF interferences, we formulate a joint SF and power allocation
problem to maximize the minimum uplink throughput of end-devices, subject to
co-SF and inter-SF interferences, and power constraints. This results into a
mixed-integer non-linear optimization, which, for tractability, is split into
two sub-problems: firstly, the SF assignment for fixed transmit powers, and
secondly, the power allocation given the previously obtained assignment
solution. For the first sub-problem, we propose a low-complexity many-to-one
matching algorithm between SFs and end-devices. For the second one, given its
intractability, we transform it using two types of constraints approximation: a
linearized and a quadratic version. Our performance evaluation demonstrates
that the proposed joint SF allocation and power optimization enables to
drastically enhance various performance objectives such as throughput, fairness
and power consumption, and that it outperforms baseline schemes.
