# Energy Harvesting Techniques for Wireless Sensor Networks/Radio-Frequency Identification: A Review
## 1 Introduction
### Aggregation and Reduction of the Data  
Obviously, data transmission and processing are not cheap with reference to energy consumption. Therefore, efficiency in handling data delivered to the sink nodes leads to energy saving. Reducing and aggregating the data quantity being delivered to the sink nodes are considered efficient solutions to increase EE during the transmission process [17]. In data aggregation schemes [45], nodes are permitted to only re-transmit the average or the lesser of the received information. However, information aggregation may lead to latency reduction since traffic is reduced, thereby reducing network delays. The drawback of this approach is that it may impact negatively on the accuracy of the data collected. If an optimal aggregation function is not deployed, it may become difficult to recover the original data sent to the sink [46]. Therefore, it is not recommended to use this technique with applications that need high accuracy; but adaptive sampling techniques are used when the criteria are formed in terms of coverage or information precision. In adaptive sampling approaches, the sampling rate are adjusted at each sensor and at the same time, making sure that the application requirements are achieved referenced to range or data precision. For instance, in a supervision task, low-power acoustic sensors can be deployed to notice an imposition. In a scenario where an event is stated, power-hungry cameras can be instructed to gather better-grained information [29]. Three-dimensional correlation is a good candidate for reducing the sampling rate in areas experiencing low variation in sensed data. In human activity recognition applications, [PERSON] et al. [93] suggested that that sampling acquisition be based on core user activity, rather than taking samples in all unnecessary instances such as sitting, jumping, biking or running. Conversely, network coding can be deployed to reduce the overall data traffic in broadcast environment by transmitting a linear aggregation of several packets rather than a copy of each packet. Between computation and communications, communications utilize lesser energy because computations are generally regarded as power hungry application as a result, network coding exploits this gain. [PERSON] et al. [47] fuse network coding and connected dominating sets to additionally decrease energy utilization in broadcast events. _AdapCode_[94] is an information broadcasting protocol designed by allowing a node to broadcast \(N\) messages received at several other nodes, resulting in energy conservation. The resultant energy savings from the bandwidth is \((N-1)/N\) compared to naive flooding. The receiver node can recover the original packets by Gaussian elimination after receiving \(N\) coded packets successfully. Moreover, _AdapCode_ enhances reliability by adjusting \(N\) to the sensor node numbers, because when \(N\) rises and the number declines, the packets recovery rate for data decoding decreases. Reliability can be further improved by permitting more sensor nodes to acquire less than \(N\) packets and send a negative acknowledgement to recover loss information.