# Reducing the Cost of Implementing Filters in LoRa Devices
## 1 Introduction  
The LoRa (Low-Power Long-Range) modulation technique is an excellent solution for many internet-of-things (IoT) applications due to its excellent energy consumption, link robustness and long-range capabilities at the expense of low bit rates [1; 2]. LoRa uses a modified form of chirp spread spectrum (CSS) modulation, wherein the carrier frequency of a sinusoid is linearly varied across a specific bandwidth. This results in a set of signals known as chirps [3], which are distinguishable by their starting frequencies. The behavior of a LoRa chirp is controlled by both the spreading factor, \(SF\), and the bandwidth parameter, \(BW\). The spreading factor is an integer value, typically ranging from 6 to 12, while the specified bandwidth can be chosen from values in the range of 7.8 to 500 kHz [4; 5]. Each chirp (or symbol) is encoded with \(SF\) bits, which means that there are \(M=2^{SF}\) possible symbol values, where \(M\) is the modulation order [6]. The instantaneous frequency of a chirp linearly increases or decreases across the bandwidth specified by \(BW\) over the symbol duration [3]. The tradeoff between the range capabilities and the nominal bit rate depends on \(SF\) and \(BW\). For instance, high \(SF\) and low \(BW\) allow for higher receiver sensitivity, but at a lower bit rate, whereas low \(SF\) and high \(BW\) lead to reduced receiver sensitivity, but a higher bit rate. As the demand for long-range, low-power IoT devices increases, so does the need to improve the spectral efficiency of these devices' transmission. One promising solution is to implement a set of pulse shaping and matched square-root raised cosine (SRRC) filters in LoRa transmitters and receivers,respectively. The use of these filters can significantly reduce the bandwidth containing 99% of the total mean signal power while also reducing the out-of-band emissions created by LoRa devices [6; 7; 8]. The increase in spectral efficiency allows us to accommodate a larger number of IoT devices. The challenge is that since LoRa devices are characterized by their low complexity, it is more difficult to justify the added resources required for filtering, especially when longer filters are required (which is often the case for LoRa devices with lower bandwidth settings [8]). Since the cost of implementing multipliers in hardware can prove significant, a preferred solution should eliminate the need for multiplications altogether. As such, the main objective of this paper is to investigate the feasibility of implementing a \"multiplier-less\" pulse shaping filter in a LoRa transmitter. Replacing hardware multipliers in a pulse-shaping filter can be done with a look-up table (LUT), provided there is a finite number of input sample values to the filter that are known. Instead of multiplying each incoming sample by a filter coefficient using a hardware multiplier, the result of every possible multiplication can be precalculated and stored in the LUT. Then, the LUT can output the correct product of the required multiplication based on the associated input sample value. The size of the LUT depends on both the number of unique input sample values and the filter length. In such an implementation, the complexity of the filter is measured by the cost of the memory instead of hardware multipliers. The problem with LoRa is that since discrete-time LoRa chirps are made up of \(M=2^{SF}\) samples, the multiplier-less filter must be able to accommodate the \(M\) possible input values for each chirp waveform. Furthermore, implementing multiple \(SF\) settings and ensuring the continuous phase of modulated chirp waveforms exponentially increase the already large number of unique filter inputs. While many of the chirp sample values are repeated among spreading factors and/or symbol values, the memory requirement of the LUT is still significant. The LoRa end-devices are particularly constrained by the additional memory requirements as these devices have a greater need for low energy consumption and few complex operations than the LoRa gateway.