# A Sigfox Energy Consumption Model
## 4 Modeling Sigfox Device Current Consumption
### Bidirectional Transactions  
This subsection models the average current consumption of a device that initiates bidirectional transactions periodically, \(l_{avg\_bi}\). The model is derived from measurements on the corresponding current consumption profile of the same hardware platform, and with the same environment and methodology, used in the previous subsection. Figure 6 illustrates the current consumption of a device that initiates and successfully completes a bidirectional transaction. In a bidirectional transaction, the number of states involved increases compared to that of a unidirectional transaction. Table 3 summarizes the states that correspond to a bidirectional transaction, as well as their related duration and current variables and values. The state duration and current values shown in Table 3 correspond to the average of 10 individual measurements in each case, with a maximum deviation from the average value below 6%. The bidirectional transaction starts with the device transmitting the three replicas of its uplink message. Therefore, states 1-3 as described for unidirectional transactions (Table 2) are also present at the beginning of the bidirectional transaction. However, after the transmission of the third replica, the device waits (state 4) until it starts a reception interval (state 5). Once the device receives the downlink message sent by the base station, it waits for a shorter interval (state 6) until it sends the uplink confirmation. Shortly after, the device goes through a cool down phase (state 8), after which it returns to sleep mode (state 9). Figure 6: Current consumption profile of a MKRFOX1200 device during a bidirectional transaction initiated by the device. The uplink data message transmitted has a payload size of 1 byte. In the absence of frame losses, the average current, \(I_{avg\_bi}\), can be obtained by using Equations (8) and (9):  
\[I_{avg\_bi}=\frac{1}{T_{Period}}\sum_{j=1}^{N_{states\_bi}}n_{j}\cdot T_{j}\cdot I _{j} \tag{8}\]  
\[T_{sleep\_bi}=T_{Period}-T_{act\_bi} \tag{9}\]  
where \(T_{j}\) and \(I_{j}\) represent the duration and current consumption of state \(j\) in Table 3, respectively, and \(n_{j}\) indicates the number of times state \(j\) is present in the uplink data frame transmission procedure (note that \(n_{2}=3\), \(n_{3}=2\), and \(n_{j}=1\) otherwise). Equations (8) and (9) are equivalent to (1) and (2), however considering now the states described in Table 3, using the number of states that corresponds to bidirectional transactions, \(N_{states\_bi}\) (equal to 9), and the time related with bidirectional transaction activities, \(T_{act\_bi}\). The latter is computed as per the next equation:  
\[T_{act\_bi}=T_{wu}+3\cdot T_{tx}+2\cdot T_{wntx}+T_{wnrx}+T_{rx}+T_{wctrl}+T_{ ctrl\_tx}+T_{cd} \tag{10}\]  
Note that the base station has flexibility to determine the start of a downlink transmission. However, such transmission needs to fit the interval defined by the downlink window, with maximum duration denoted \(T_{DL\_WIN\_MAX}\). Assuming that all possible downlink start times are equally probable, \(T_{rx}\) can be modeled as the expected value of a uniformly distributed random variable within the interval [\(T_{tx\_DL}\), \(T_{DL\_WIN\_MAX}\)]. Therefore, \(T_{rx}\) is defined by the following equation:  
\[T_{rx}=\frac{T_{tx\_DL}+T_{DL\_WIN\_MAX}}{2} \tag{11}\]  
Next, \(I_{avg\_bi}\) is determined in the presence of a non-zero FLR. Three different device current consumption profiles need to be considered, corresponding to three events that may occur, which are denoted \(A\), \(B\) and \(C\). Let \(A\) be the event where at least one of the three uplink frame transmissions is correctly received by the base station, and the downlink frame is also correctly received by the device. In this case, device current consumption is illustrated by Figure 6 and Table 3. Let \(B\) correspond to the event where the downlink frame is incorrectly received, and therefore the final uplink confirmation is not sent by the device.