# Fast and Reliable Burst Data Transmission for Backscatter Communications
## 6 Performance Evaluation
### Trimming Overheads  
_Erasure coding implementations_: It is obvious that the redundancy introduced using erasure codes increases energy consumption as its number increases. However, traditional reliability improvement methods, such as data multiplexing or Automatic Repeat Requests (ARQ) [35], are too costly and even impossible to implement due to strict energy constraints and channel asymmetry. Erasure codes allow the reliability of data transmission to be increased by transmitting redundant data. In our work, we investigated the potential for communication using erasure codes and investigated the trade-offs between reliability and energy consumption. For our platforms with limited energy and size, we mainly focus on Cauchy-matrix-based and Vandermonde-matrix-based Reed-Solomon (RS) code through existing open source implementations.  
As a benchmark experiment, we simulated three cases: the normal case, that is, the data packet without encoding; the full copy, that is, the data is sent with an exact copy; and the on-demand retransmission, that is, if the ACK command that the data has been successfully sent is not received, the data will be resent. We use simulation and energy measurement on real hardware platforms to describe the overhead of redundant packets by setting different coding rates \(r\) to evaluate these methods. Our results clearly show that erasure coding has the same or less overhead compared to traditional data replication and on-demand retransmission and can provide higher reliability in our scenario. When erasure coding is used, as the code overhead and data rate increase, we observe that the recovery rate increases steadily compared to the other two methods of recovering data. In particular, erasure codes based on Reed-Solomon clearly outperform simple data replication and ARQ, as shown in Figure 8. All in all, based on measurements on hardware platforms with very limited actual energy consumption, we can prove that the computational cost of encoding is feasible and we can also notice the energy consumption on the nodes.  
Figure 7: Experiment equipment.  
_Probing energy state:_ As mentioned earlier, the ADC costs too much energy and should be avoided when tracking the maximum energy-harvesting rate. In our work, instead of measuring the voltage on nodes, we use existing low watermark threshold detectors that already exist on such nodes. This type of detector is very common on passive sensor platforms to control the state of the tag, when it should sleep to avoid interruptions, and when it should wake up to continue operation. Therefore, our algorithm is interrupted when the voltage exceeds the threshold or when the voltage is below the threshold, and this information is used as a one-bit proxy for the actual voltage. The voltage threshold is chosen to be 2 V, which is slightly higher than the minimum voltage of 1.8 V required to operate the microcontroller. This information is entered into the sleep time tracker, which decides how long to wait after exceeding the threshold before starting the transmission. Compared with ADC, this method saves about 100\(\times\) in energy.