# Analytical Model for the Duty Cycle in Solar-Based EH-WSN for Environmental Monitoring
## 7 Duty Cycle for Energy Neutral Operation  
In this paper we consider the harvest-store-consume supply alternative described in [1], which consists of combining the energy harvesting subsystem (solar module) with a buffer for energy storage (rechargeable battery or supercapacitor). This latter can absorb any excess (up to a limit) of energy scavenged, which can then be available during periods of decreasing sunlight (night hours or adverse weather conditions). To start with the analysis, let us denote by \(P_{c}(t)\) the power consumed by the sensor node at time \(t\). Assuming that the buffer does not have any inefficiency in charging and does not leak any energy over time, the condition for energy neutral operation can be formulated as stated in [61] (the terminology has been adapted):  
Figure 15: Irradiance curves for the cities of Madrid and Hamburg in January and July. \begin{table}
\begin{tabular}{c c c} \hline \hline
**City/Month** & **STDHOURS (Hours)** & \(D_{month}\) **(kWh/m\({}^{2}\)/day)** \\ \hline Madrid/January & 9.65 & 2.03 \\ Madrid/July & 14.70 & 7.20 \\ Hamburg/January & 8.10 & 0.68 \\ Hamburg/July & 16.40 & 4.83 \\ \hline \hline \end{tabular}
\end{table} 
Table 5: Daylight hours and solar irradiance parameters for Madrid (latitude: 40.437944; longitude: \(-3.679536\)) and Hamburg (latitude: 53.558869; longitude: 9.927821) during the months of January and July. \[E(t)=E(0)+\int_{0}^{t}P_{out}(u)\,du-\int_{0}^{t}P_{c}(u)\,du\geq 0\quad\forall t\geq 0 \tag{36}\]  
In this expression, \(E(t)\) denotes the energy balance at time \(t\) and hence \(E(0)\) represents the initial energy stored in the buffer. Given the fact that in our case both the energy harvested and the energy consumed follow periodic patterns, the former on a daily basis (for a given month in our modelling approach), the latter on a round basis, the condition for energy neutral operation can be formulated for a one-day interval, since this is the largest period: note that typically the 24-h period is a very large multiple integer of the round duration, which is on the order of one or several minutes at most. For the same reason, we can undoubtedly assume that the energy consumed by the sensor node during a communication round is uniformly distributed over its duration, and thus the power consumption component becomes independent of time. Based on theses assumptions, we can rewrite the condition for energy neutral operation in the following way, where \(T_{D}\) represents the duration of a day (\(T_{D}=24\) if it is expressed in hours) and the reference to the individual node \(X\) has been made explicit:  
\[E(t,X)=E(0,X)+\int_{0}^{t}P_{out}(u)\,du-\int_{0}^{t}\frac{E_{round}(X)}{T_{rnd }}\,du\geq 0\quad\forall t\in[0,T_{D}] \tag{37a}\] \[E(T_{D},X)=E(0,X) \tag{37b}\]  
So, \(E(t,X)\) represents the energy available in node \(X\) at time \(t\). Note that, for sustained operation, it would be enough that \(E(T_{D},X)\geq E(0,X)\), meaning that the energy available at the node would increase from day to day. However, such a positive balance would only reflect an inefficient use of the available energy. Hence, in order to benefit the node duty cycle from any excess of harvested energy, the optimal condition is Equation (37b). This contributes to increased performance under self-sustained operation. Let us start by evaluating the first integral in Equation (37a), which is nothing else but the energy produced by the solar cell up to time \(t\), namely \(E_{out}(t)=\int_{0}^{t}P_{out}(u)\,du\). Recalling Equations (34) and (35), we can easily derive the following result:  
\[E_{out}(t)= \begin{cases}0&\text{if }t<t_{sunrise}\\ &\\ -\frac{\eta S}{3p}(t-h)^{3}+\eta SD_{month}t\\ +\eta S(\frac{(t_{sunrise}-h)^{3}}{3p}-D_{month}t_{sunrise})&\text{if }t_{ sunrise}\leq t<t_{sunset}\\ &\\ -\frac{\eta S}{3p}(t_{sunset}-h)^{3}+\eta SD_{month}t_{sunset}\\ +\eta S\big{(}\frac{(t_{sunrise}-h)^{3}}{3p}-D_{month}t_{sunrise}\big{)}&\text {if }t_{sunset}\leq t\leq T_{D}\end{cases}