## 3 General Strategies for Energy Efficient BSN Hardware
### Data Fidelity versus _Energy_  
The last key tradeoff we will explore involves looking into how much processing and communication is necessarily needed and relevant in an application. Previous work has shown the existence of an energy-fidelity tradeoff in BSNs with digital signal processing employed to examine tremor in a Parkinson's patient [28]. This research used Haar wavelet compression and rate-resolution scaling as an example lossy data reduction scheme for use in exploring the tradeoff space since it met the following three criteria:  
* capable of being implemented on resource-constrained BSN embedded processors;
* capable of executing in low-latency and soft real-time applications;
* adjustable by key knobs to alter expected data reduction rates. Mean Squared Error (MSE) was used to assess fidelity as is commonly done in the signal processing community. The results indicated there is a large energy-fidelity exploration space possible in BSNs. Figure 9 shows a small portion of this space using the Haar wavelet transform and run length encoding for data compression and highlights another interesting fact: the input signal characteristics change the possible energy-fidelity operating points. Moreover, it is interesting to note that the data shown in Figure 9 is from a single patient over the course of a single clinical visit. The amount of \"information\" present in the sensor signals changes over time along with the rate-distortion curve pointing to the need for dynamic management of energy-fidelity tradeoffs in these embedded environments. To illustrate further, Figure 10 depicts a time domain distortion plot for fixed data compression, yielding a compression ratio (CR) of approximately 18, for a 40 minute tremor dataset. Thus, merely choosing a static operating point on a curve of Figure 9 is not sufficient for application fidelity regulation or energy efficiency. Instead, runtime adjustment of processing methods should be performed for more optimal, data-centric operation. BSN devices must therefore possess energy awareness (knowledge of how much energy has been consumed), data awareness (knowledge of how compression affects current data), and computational resource awareness (knowledge of how algorithm execution affects processing and memory resources) to effectively tradeoff runtime and output fidelity in a way that is executable on resource constrained platforms and that meets real-time requirements. These tradeoff decisions can be made based on efficiently meeting requirements (e.g., maximum lifetime for a given minimum fidelity, maximum fidelity for a given minimum lifetime, _etc._) or minimizing bounded cost functions (e.g., minimizing lifetime-\"-fidelity\" given minimum lifetime and fidelity requirements, where \(\alpha\) and \(\beta\) are determined based on metric priorities). BSN devices also need adaptable and efficient data rate scaling mechanisms to fully exploit energy-fidelity tradeoffs at the node-level in real-time. For instance, if a \(\text{MSE}\leq 100\) were required for application fidelity to remain acceptable, then any distortion below this level would be considered energy inefficient (marked as the lower region in Figure 10) because data rate could be further reduced to meet the application requirement; and data above this level would not have high enough fidelity to meet the requirement (marked as the upper region in Figure 10). Only by adjusting a data rate knob at runtime would the node operate in an application-specific energy-fidelity optimized range (marked as the middle region in the shaded box of Figure 10). Figure 9: Preliminary energy-fidelity tradeoff results [29]. Many BSNs also rely on event-detection where data is relatively unimportant until a particular \"event\" occurs. Once that event occurs however, it becomes critical to forward the medical information to an aggregator, and possibly off-body. In this situation, the ability to quickly detect the \"event\" and immediately change operating modes to one of high-fidelity throughput is essential.