# A Sigfox Energy Consumption Model
## 4 Modeling Sigfox Device Current Consumption
### Unidirectional Transactions  
We first model the average current consumption of a device communicating by means of undirectional exchanges, denoted \(I_{\textit{avg\_uni}}\). To this end, a profile of the different states involved in a unidirectional transaction is created, considering the duration and current consumption of each state. In order to realistically model the device current consumption characteristics, and without loss of generality, the model is developed based on measurements from a real Sigfox device. Figure 4 shows the measurement setup, which includes an N6705A power analyzer (Agilent, Santa Clara, CA, USA) and an MKRFOX1200 Sigfox device (Arduino, Somerville, MA, USA) [20]. The voltage supplied by the power analyzer is 3 V. The transmit power of the device is 14.5 dBm. The uplink bit rate supported by the device is 100 bit/s. The device is located in an indoor scenario, and makes use of the network coverage provided by Sigfox in the Barcelona area. A 16-bit Msg Auth Code field is used in uplink frames. The Sigfox device is assumed to periodically perform a transaction, therefore its current consumption behavior is modeled over one period. In this subsection, unidirectional transactions are assumed. Therefore, each period comprises the operations carried out by the device to perform the transmission of one data message, including its replicas, whereas the device is in sleep mode during the remaining time in the period. Note that, in unidirectional transactions, device current consumption is independent of packet losses. Time and current consumption measurement results are obtained from several individual measurements within a transaction period. Negligible differences were found within each set of individual measurements. Figure 3: (**a**) Unidirectional and (**b**) bidirectional transactions in Sigfox. Figure 5 depicts the current consumption profile of a unidirectional transaction performed by the MKRFOX1200 device. Table 2 indicates the different states involved in a unidirectional transaction, as well as the variables used to denote the corresponding duration and current consumption of each state. The state duration and current values shown in Table 2 correspond to the average of 10 individual measurements in each case, with a maximum observed deviation from the average value below 5%. The initial state of the device is the sleep state, where the device current consumption is 2-3 orders of magnitude below that of the rest of states. Note that this measured sleep current is greater than that obtained from transceiver datasheets (e.g., [9; 10]). A similar phenomenon was observed for LoRa/LoRaWAN devices [21]. A reason is that, on devices such as development kits, measured sleep current is the sum of the sleep currents from all circuits including the transceiver, microcontroller, plus the sum of the leakage currents of decoupling and filtering capacitors, as well as resistors. In order to initiate the procedure for carrying out the message transmission, the device first wakes up (state 1). Next, the device performs the transmission of the first uplink frame transmission (state 2). After that, it waits for an interval (state 3) that ends with the start of the transmission of the first uplink frame replica (state 2). Similarly, another wait time (state 3) and a second replica transmission (state 2) follow. Finally, the device executes a cool down sequence (state 4) before returning to the sleep mode (state 5). Figure 4: Experimental setup for the current consumption characterization of the MKRFOX1200 Sigfox module (on the left) using an Agilent N6705A power analyzer. Figure 5: Current consumption profile of a MKRFOX1200 device performing a unidirectional transaction. The data message transmitted has a payload size of 1 byte. Let \(T_{\mathit{Period}}\) denote the time between two consecutive periodic transactions initiated by the device. Let \(T_{i}\) and \(I_{i}\) represent the duration and current consumption of state \(i\) in Table 1, respectively.