# On the Impact of Mobility on Battery-Less RF Energy Harvesting System Performance
## 3 Approach
### Switching Algorithm  
The key to efficient dual capacitor operation is an intelligent switching algorithm that dynamically switches between small and large capacitors depending on the situation. The amount of energy harvested by the node near an RF charging station largely depends on collocation time \(\tau\), i.e., the time the node spends near the station:  
\[E_{rx}=\int_{0}^{\tau}P_{r}dt \tag{4}\]  
where \(P_{r}\) is an instantaneous RF received power level. In human- and animal-centric applications, the collocation time and the node mobility in general are well known to exhibit strong statistical patterns [8; 9], which have been widely studied and exploited in the context of opportunistic routing protocols [10; 11], mobility pattern [12] and social network analysis [9; 13]. Delay-tolerant routing protocols exploit network statistical patterns to identify the next hop towards the destination, which is more likely to deliver the message. The work in social network analysis uses patterns in collocation time to gauge the strength of the social links and analyse users' geographical preferences. This property of human- and animal-centric networks is also exploited in this work. The main idea of the proposed switching algorithm is to learn the amount of harvestable energy in each location based on the average time the node spends near a charging station. This is based on the observation that human mobility is not random and exhibits strong statistical patterns. Consider for example a wearable application, where a mobile node charges from RF charging stations located throughout a university campus. When a person enters his or her office, there is a high probability that he or she will stay in that location for a longer period of time, \(\tau_{1}\). However, when a user is passing by a building entrance, it is more likely to be just a short encounter, i.e., \(\tau_{1}>\tau_{2}\). The proposed algorithm works as follows. When a sensor node approaches a charging station, it starts sampling an RF signal strength at fixed time intervals \(T_{s}\) and counts the total duration of time when the signal is above a threshold \(P_{RF}>P_{thresh}\) to estimate the node collocation time \(x_{A}(t)\) near the RF charging station \(A\). The \(P_{RF}\) is assumed to be constant during a timeslot \(T_{s}\), which is reasonable for sufficiently small values of \(T_{s}\). The node then predicts the amount of available energy as \(E_{A}=P_{thresh}\times x_{A}(t)\). Since the energy is tracked only when the node is active and when the signal strength is above threshold \(P_{thresh}\), the predicted \(E_{A}\) will slightly underestimate the amount of available energy. This is not critical, as the priority is not to overestimate the available energy, which would cause the node to switch to a larger capacitor and remain inoperable until it moves to an area with high energy. The advantage of our collocation tracking technique is that it is simple and can be implemented on real hardware. Since collocation time is random and may change every time a user visits a certain location, we use the Kalman filter to predict the future collocation time. The Kalman filter is computationally lightweight and requires minimum processing power and storage [14], which makes it very suitable for resource-constrained platforms. One of the main advantages of using the Kalman filter is that it does not  
Figure 3: Smart switching circuit for supercapacitors. require storing the entire history of past collocation times and instead uses a set of recursive equations to make a prediction. The collocation time near a charging station is modelled as a linear process. \[x(t)=ax(t-1)+w(t) \tag{5}\] \[z(t)=hx(t)+v(t) \tag{6}\]  
where \(x(t)\) is a state estimate at time \(t\), \(z(t)\) is the current measurement of the collocation time at time \(t\), \(a\) is a state transition model, \(h\) is a measurement matrix and \(w(t)\) and \(v(t)\) are a process and measurement noise, respectively.