  Chirp spread spectrum (CSS) is the modulation technique currently employed by
Long-Range (LoRa), which is one of the most prominent Internet of things
wireless communications standards. The LoRa physical layer (PHY) employs CSS on
top of a variant of frequency shift keying, and non-coherent detection is
employed at the receiver. While it offers a good trade-off among coverage, data
rate and device simplicity, its maximum achievable data rate is still a
limiting factor for some applications. Moreover, the current LoRa standard does
not fully exploit the CSS generic case, i.e., when data to be transmitted is
encoded in different waveform parameters. Therefore, the goal of this paper is
to investigate the performance of CSS while exploring different parameter
settings aiming to increase the maximum achievable throughput, and hence
increase spectral efficiency. Moreover, coherent and non-coherent reception
algorithm design is presented under the framework of maximum likelihood
estimation. For the practical receiver design, the formulation of a channel
estimation technique is also presented. The performance evaluation of the
different variants of CSS is carried out by inspection of the symbol error
ratio as a function of the signal-to-noise ratio together with the maximum
achievable throughput each scheme can achieve.
