# Energy Consumption Analysis of LPWAN Technologies and Lifetime Estimation for IoT Application
## 4 Approach, LPWAN Communication Technology, and Energy Consumption Analysis
### LPWAN Communication Technology
#### 4.2.2 Dash7  
DASH7 Alliance Protocol (D7A) [34] defines an ISM band operated communication protocol which is based on the ISO/IEC 18000-7 standard for RFID tags and sensor nodes. DASH7 is built around the concept of BLAST technology. _BLAST_ stands for Bursty, Light, Asynchronous, Stealth, and Transitive. _Bursty_ implies the abrupt and short transfer of data in response to an event or operation, which is the most likely requirement in low power wireless and actuator networks. _Light_ refers to the small packet size which is usually limited to 256 bytes per transaction. _Asynchronous_ is one of the major concepts in D7A standard; the transfer of commands and responses between the gateways and end-device can happen at any time. The end-devices are bound to the gateway and hence do not require any periodic beacons to advertise its presence and this is reflected in _Stealth_. Finally, _Transitive_ implies the ability of the protocol to support mobility which allows the end nodes to move seamlessly across the gateways.The D7A supports 3 classes of device: the gateway, sub-controller, and endpoint. Out of the three, gateway and the endpoints are the widely implemented device classes. The end point is the least energy demanding device and implements only a minimal version of the protocol. End-device uses intermittent channel scanning to check for any incoming packet and spends most of \begin{table}
\begin{tabular}{l l l l l} \hline \hline
**State** & **Process** & **Time (ms)** & **Avg. Current (mA)** & **Energy (m)** \\ \hline
1 & Sleep & variable & 0.081 & variable \\
2 & Controller active & 80.28 & 7.79 & 2.31 \\
3 & Tx window & 255.89 & 39.14 & 37.05 \\
4 & Rx wait time 1 & 993.48 & 0.081 & 0.29 \\
5 & Rx window 1 & 50.17 & 11.24 & 2.08 \\
6 & Rx wait time 2 & 951.33 & 0.081 & 0.28 \\
7 & Rx window 2 & 50.17 & 10.49 & 1.94 \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Current composition split into different states of operation for LoRaWAN. Figure 8: Scope view of a LoRaWAN message (Class A device) captured using power analyzer for the measurement of energy consumption. its time in sleep. The sub-controller in essence, is an endpoint but it is a full featured DASH7 device. Gateway connects the low power network to another network and should implement all of the D7A stack functionalities. A fundamental structure of a DASH7 network is depicted in Figure 9.  
DASH7 physical layer specifies parameters like communication channels, modulation scheme, symbol encoding, and the packet structure. It uses Gaussian Frequency Shift Keying (GFSK) modulation scheme for modulating the data to be transmitted. Though, the specification mentions that there can be up to four modulation schemes, only two are implemented currently. The structure of the DASH7 frame is shown in Figure 10. Message packet comprises of preamble, sync word, and payload. Preamble defines a non-encoded binary string starting with '1' and used for calibrating the receiver circuit. The specification recommends a minimum preamble length of 32 bits for LO_RATE(Low), NOR_RATE(normal) and 48 bit for HI_RATE(high) data rates. Sync word is a 16-bit string and is used to align the packet payload. The physical layer of DASH7 supports multiple sync words which can be used to differentiate the coding scheme employed. Along with these, a power ramp-up preceding and a ramp down following the packets are added to meet the band stop channel requirements. The Data Link Layer (DLL) defines a background frame (carry the adhoc synchronization details) and a foreground frame (carry the normal payload). The length of the frames is variable and can have a maximum length of 256 bytes. DASH7 supports two modes of communications- PULL mode and PUSH mode as shown in Figure 11. In PUSH mode, the end-device sleeps most of the time and wakes up at predefined time intervals to transfer or push data to the gateway. Whereas in PULL mode, the end-device wakes up intermittently to sniff the channel for any commands from the gateway.