# A Sigfox Energy Consumption Model
## 4 Modeling Sigfox Device Current Consumption
### Unidirectional Transactions
Based on the introduced variables, the average current consumption for a device performing unidirectional transactions, \(I_{\mathit{agg\_uni}}\), can be obtained as per Equation (1):  
\[I_{\mathit{agg\_uni}}=\frac{1}{T_{\mathit{Period}}}\sum_{i=1}^{N_{\mathit{ states\_uni}}}n_{i}\cdot T_{i}\cdot I_{i} \tag{1}\]  
where \(n_{i}\) indicates the number of times state \(i\) is present in the uplink data frame transmission procedure (note that \(n_{2}=3\), \(n_{3}=2\), and \(n_{i}=1\) otherwise) and \(N_{\mathit{states\_uni}}\) is 5. Note that \(T_{\mathit{sleep}}\) can be computed as:  
\[T_{\mathit{sleep\_uni}}=T_{\mathit{Period}}-T_{\mathit{act\_uni}} \tag{2}\]  
where \(T_{\mathit{act\_uni}}\) denotes the sum of the durations of all states related with transmission activities, i.e., a wake-up state (of duration \(T_{\mathit{wu}}\)), 3 transmission states (each one of duration \(T_{\mathit{tx}}\)), 2 wait next transmission states (of duration \(T_{\mathit{wntx}}\)) and the cool down state (of duration \(T_{\mathit{cd}}\)):  
\[T_{\mathit{act\_uni}}=T_{\mathit{wu}}+3\cdot T_{\mathit{tx}}+2\cdot T_{\mathit{ wntx}}+T_{\mathit{cd}} \tag{3}\]  
The transmission time, \(T_{\mathit{tx}}\), is variable and depends on the total uplink frame size (\(I_{\mathit{frame\_UL}}\)), and on the uplink bit rate in use (\(BR_{\mathit{UL}}\)):  
\[T_{\mathit{tx}}=\frac{I_{\mathit{frame\_UL}}}{BR_{\mathit{UL}}} \tag{4}\]  
As \(I_{\mathit{agg\_uni}}\) can be computed by using Equations (1)-(4), the theoretical lifetime of a battery-operated device that performs unidirectional transactions, denoted \(T_{\mathit{lifetime\_uni}}\), can be determined as shown next, by taking into account the battery capacity, \(C_{\mathit{battery}}\) (expressed in mA\(\cdot\)h), and by approximating a realistic battery behavior by considering the battery self-discharge current, \(I_{\mathit{self\_dis}}\):  
\[T_{\mathit{lifetime\_uni}}=\frac{C_{\mathit{battery}}}{I_{\mathit{agg\_uni}}+I _{\mathit{self\_dis}}} \tag{5}\]  
where \(I_{\mathit{self\_dis}}\) is assumed as a constant value over time. The third performance parameter modeled is the energy cost of data delivery, \(EC_{\mathit{delivery\_uni}}\), which indicates the energy consumed by the device per each successfully delivered bit of data payload in unidirectional transactions. \(EC_{\mathit{delivery\_uni}}\) can be obtained as shown next:  
\[EC_{\mathit{delivery\_uni}}=\frac{I_{\mathit{agg\_uni}}\cdot V\cdot T_{ \mathit{Period}}}{E\left[I_{\mathit{delivery}}\right]} \tag{6}\] \begin{table}
\begin{tabular}{c c c c c c} \hline \hline  & & & \multicolumn{2}{c}{**Duration**} & \multicolumn{2}{c}{**Current Consumption**} \\ \cline{3-6}
**State Number** & **Description** & & **Variable** & **Value (ms)** & **Variable** & **Value (mA)** \\ \hline \(1\) & Wake up & \(T_{\mathit{wu}}\) & 287 & \(I_{\mathit{wu}}\) & 10.4 \\ \(2\) & Transmission & \(T_{\mathit{tx}}\) & [1200,2080] (4) & \(I_{\mathit{tx}}\) & 27.2 \\ \(3\) & Wait next transmission & \(T_{\mathit{wntx}}\) & 486 & \(I_{\mathit{wntx}}\) & 1.2 \\ \(4\) & Cool down & \(T_{\mathit{cd}}\) & 510 & \(I_{\mathit{cd}}\) & 1.2 \\ \(5\) & Sleep & \(T_{\mathit{sleep\_uni}}\) & [0,\(T_{\mathit{Period}}\)) (2) & \(I_{\mathit{sleep}}\) & \(16\times 10^{-3}\) \\ \hline \hline \end{tabular}
\end{table} 
Table 2: States, variables and measurement results for Sigfox unidirectional transactions. For a bit rate of 100 bit/s, \(T_{\mathit{tx}}\) can take values between 1200 ms (1-byte payload) and 2080 ms (12-byte payload). \(T_{\mathit{sleep\_uni}}\) ranges in this study from 0 up to \(\sim\)\(T_{\mathit{Period}}\) (\(T_{\mathit{sleep\_uni}}\) tends to \(T_{\mathit{Period}}\) for very high \(T_{\mathit{Period}}\) values). where \(V\) denotes the battery voltage and \(E[l_{delivery}]\) indicates the expected amount of data delivered by the device. In the previous equation, the numerator indicates the energy consumed by the device during \(T_{Period}\).