# Fast and Reliable Burst Data Transmission for Backscatter Communications
## 5 Burst Data Transmission Scheme
### Design  
The main idea of our solution is to fragment large data packets into blocks and to adjust the frame length and coding redundancy according to the goodput feedback of the reader at runtime, meanwhile controlling the sleep time and the number of transmitted frames to improve the goodput. Our scheme works as follows: CRFID nodes periodically track the voltage of the capacitor and estimate \(U_{\max}\) and \(\tau\). When the CRFID node moves to the vicinity of the reader and there are data to be sent in the buffer, \(N\) source data frames of length \(l_{p}\) are extracted from the buffer and encoded into \(N+M\) frames, and the initial frame length is set to 16 bits. It communicates with the reader following the procedure described in Figure 4. The reader monitors the received frame. When a round of data transmission is completed, the reader obtains the time spent and goodput and compares the current round goodput with the previous round. If the current round goodput is higher than the previous round goodput, the ACK is returned to inform the CRFID node to increase the length of the transmitted frame; otherwise, the frame length is reduced, and the unit of increasing or decreasing the frame length is 8 bits. To avoid frequent changes to the frame length, the adjustment parameter \(\theta(0\leq\theta\leq 0.1)\) is introduced. If the goodput improvement or degradation does not exceed \(\theta\), the frame length is not changed. At the same time, after receiving the frame length specified by the reader, the CRFID node selects the number of frames to be transmitted in the current duty cycle according to the current energy-harvesting condition. Then, it enters the sleep state after the transmission is completed and waits for the next working cycle until all data of the current round have been sent or waits until the reader sends a QueryRep frame. After one round of transmission, the reader counts the number of redundant frames \(M\) actually transmitted in the case of successful transmission of the current round. If the transmission of the current round fails, the number of redundant frames in the next round is updated according to Equation (7). \[ \begin{array}{l}M_{\rm next}=\left\lceil(1-\alpha)\times M_{\rm avg}+\alpha \times M_{\rm cur}+M_{\rm min}\right\rceil\\ \alpha\in(0,1),M_{\rm next}\in(M_{\rm min},M_{\rm max})\end{array}  \tag{7}\]  
where \(M_{\rm avg}\) denotes the number of historical average transmitted redundant frames, \(M_{\rm cur}\) denotes the number of redundant frames transmitted in the current round, \(M_{\rm min}\) and \(M_{\rm max}\) respectively represent the minimum and maximum values of the number of redundant frames, \(\alpha\) is the weight coefficient, and \(\lceil\rceil\) represents rounding up. Specifically, the CRFID node operates as follows:  
Step 1: If the CRFID receives Query or QueryRep command from the reader, an RN16 is returned. Step 2: If an ACK of the reader is received and the ACK contains the same 16-bit random number as the RN16, \(N\) source data frames of length \(l_{p}\) are extracted from the buffer. The \(N\) source data frames are encoded into \(N+M\) frames, where the values of \(M\) and \(l_{p}\) are obtained from the information carried in the ACK. Step 3: The capacitance voltage is tracked. \(U_{\max}\) and \(\tau\) are estimated at the initial moment of the duty cycle \(k\). Step 4: Calculate the optimal number of burst transmission frames \(n_{k}\) of the duty cycle \(k\) according to Equation (6) and control the optimal sleep time \(t_{o}\). Step 5: After sleep \(t_{o}\), \(n_{k}\) frames are continuously transmitted. If the reader receives a QueryRep in the current duty cycle, the CRFID immediately gives up the transmission and runs the first step; otherwise, Step 3 is run until all \(N+M\) frames have been transmitted. At the same time, the reader operates as follows:  
Step 1: The reader sends a Query to request data and returns an ACK if it receives the RN16 of the CRFID.