School of Information and Computer, Taiyuan University of Technology, Taiyuan030600, China.
School of Big Data, Taiyuan University of Technology, Taiyuan030600, China.
Show Author Information
Hide Author Information
Abstract
Computational Radio Frequency IDentification (CRFID) is a device that integrates passive sensing and computing applications, which is powered by electromagnetic waves and read by the off-the-shelf Ultra High Frequency Radio Frequency IDentification (UHF RFID) readers. Traditional RFID only identifies the ID of the tag, and CRFID is different from traditional RFID. CRFID needs to transmit a large amount of sensing and computing data in the mobile sensing scene. However, the current Electronic Product Code, Class-1 Generation-2 (EPC C1G2) protocol mainly aims at the transmission of multi-tag and minor data. When a large amount of data need to be fed back, a more reliable communication mechanism must be used to ensure the efficiency of data exchange. The main strategy of this paper is to adjust the data frame length of the CRFID response dynamically to improve the efficiency and reliability of CRFID backscattering communication according to energy acquisition and channel complexity. This is done by constructing a dynamic data frame length model and optimizing the command set of the interface protocol. Then, according to the actual situation of the uplink, a dynamic data validation method is designed, which reduces the data transmission delay and the probability of retransmitting, and improves the throughput. The simulation results show that the proposed scheme is superior to the existing methods. Under different energy harvesting and channel conditions, the dynamic data frame length and verification method can approach the theoretical optimum.
No abstract is available for this article. Click the button above to view the PDF directly.
References
[1]
A. P.Sample, D. J.Yeager, and P. S.Powledge, Design of a passively-powered, programmable sensing platform for UHF RFID systems, in Proc. of IEEE International Conference on RFID, Grapevine, TX, USA, 2007, pp. 149-156.
M.Alhaideri, M.Rushanan, D. F.Kune, and K. V.Fu, The Moo and cement shoes: Future directions of a practical sense-control-actuate application, presented at the First International Workshop on the Swarm at the Edge of the Cloud (SEC’13@ESWeek), Montreal, Canada, 2013.
[3]
J. C.Guo, T.Wang, Y.He, and M.Jin, TwinLeak: RFID-based liquid leakage detection in industrial environments, in Proc. of IEEE International Conference on Computer Communications, Paris, France, 2019, pp. 883-891.
L.Yang, J. S.Han, Y.Qi, and Y. H.Liu, Identification-freebatch authentication for RFID tags, in Proc. of International Conference on Network Protocols, Kyoto, Japan, 2010, pp. 154-163.
J.Gummeson, S. S.Clark, and K. V.Fu, On the limits of effective hybrid micro-energy harvesting on mobile CRFID sensors, in Proc. of the 8th International Conference on Mobile Systems, Applications, and Services (MobiSys 2010), San Francisco, CA, USA, 2010, pp. 15-18.
W.Gong, K. B.Liu, X.Miao, and H. X.Liu, Arbitrarily accurate approximation scheme for large-scale RFID cardinality estimation, in Proc. of IEEE Conference on Computer Communications, Toronto, Canada, 2014, pp. 477-485.
C. C.Xiang, P. L.Yang, X. G.Wu, H.He, and S. C.Xiao, Qos-based service selection with lightweight description for large-scale service-oriented internet of things, Tsinghua Science and Technology, vol. 20, no. 4, pp. 336-347, 2015.
F.Li, J. G.Yu, F.Zhao, and H. L.Jiang, A novel analysis of delay and power consumption for polling schemes in the IoT, Tsinghua Science and Technology, vol. 22, no. 4, pp. 368-378, 2017.
M.Jin, Y.He, X.Meng, Y. L.Zheng, D.Fang, and X.Chen, FlipTracer: Practical parallel decoding for backscatter communication, in Proc. of International Conference on Mobile Computing Networking, Snowbird, UT, USA, 2017, pp. 275-287.
J. R.Smith, A. P.Sample, P. S.Powledge, S.Roy, and A.Mamishev, A wirelessly-powered platform for sensing and computation, in Proc. of International Conference of Ubiquitous Computing, Orange County, CA, USA, 2006, pp. 495-506.
D. J.Qiao and S. Y.Choi, Goodput enhancement of IEEE 802.11a wireless LAN via link adaptation, in Proc.of IEEE International Conference on Communications, Helsinki, Finland, 2001, pp. 1995-2000.
[12]
M.Simon and D.Divsalar, Some interesting observations for certain line codes with application to RFID, IEEE Transactions on Communications, vol. 54, no. 4, pp. 583-586, 2006.
W.Dong, X.Liu, C.Chen, Y.He, G.Chen, Y. H.Liu, and J. J.Bu, DPLC: Dynamic packet length control in wireless sensor networks, IEEE Transactions on Wireless Communications, vol. 13, no. 3, pp. 1172-1181, 2014.
J.Zhou, L.Hu, F.Wang, H. M.Lu, and K.Zhao, An efficient multidimensional fusion algorithm for IoT data based on partitioning, Tsinghua Science and Technology, vol. 18, no. 4, pp. 369-378, 2013.
S.Jiang and S. V.Georgakopoulos, Optimum wireless power transmission through reinforced concrete structure, in Proc. of IEEE International Conference on RFID, Orlando, FL, USA, 2011, pp. 50-56.
F.Bolos, D.Belo, and A.Georgiadis, A UHF rectifier with one octave bandwidth based on a non-uniform transmission line, in Proc. of IEEE MTT-S International Microwave Symposium, San Francisco, CA, USA, 2016, pp. 1-3.
M.Buettner, B.Greenstein, and D.Wetherall, Dewdrop: An energy-aware runtime for computational RFID, in Proceedings of the 8th USENIX Conference on Networked systems Design and Implementation, Boston, MA, USA, 2011, pp. 197-210.
[21]
P. Y.Zhang, J.Gummeson, and D. P.Ganesan, Blink: A high throughput link layer for backscatter communication, in Proc. of the 10th International Conference on Mobile Systems, Applications, and Services, New York, NY, USA, 2012, pp. 99-112.
J.Gummeson, P. Y.Zhang, and D.Ganesan, Flit: A bulk transmission protocol for RFID-scale sensors, in Proc. of the 10th International Conference on Mobile Systems, Applications, and Services, Lake District, UK, 2012, pp. 71-84.
P.Zhang and D.Ganesan, Enabling bit-by-bit backscatter communication in severe energy harvesting environments, in Proc. of Usenix Conference on Networked Systems Design & Implementation, Seattle, WA, USA, 2014, pp. 345-357.
[24]
Y.Li, S. L.Fu, Y.Ying, Y.Sun, and K.Chi, Goodput optimization via dynamic frame length and charging time adaptation for backscatter communication, Peer-to-Peer Networking and Applications, vol. 10, no. 3, pp. 1-13, 2016.
J. C.Guo, T.Wang, Y.He, and M.Jin, TwinLeak: RFID-based liquid leakage detection in industrial environments, in Proc. of IEEE International Conference on Computer Communications, Paris, France, 2019, pp. 883-891.
D.Wu, M. J.Hussain, S. F.Li, and L.Lu, R2: Over-the-air reprogramming on computational RFIDs, in Proc. of IEEE International Conference on RFID, Orlando, FL, USA, 2016, pp. 1-8.
Zhao J, Li J, Li D, et al. Optimal Data Transmission in Backscatter Communication for Passive Sensing Systems. Tsinghua Science and Technology, 2020, 25(5): 647-658. https://doi.org/10.26599/TST.2019.9010037
The articles published in this open access journal are distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/).
As mentioned in the previous section, CRFID works in a mobile scenatio. Energy capture and the dynamic environment will directly affect the working state of CRFID, which is more sensitive than traditional wireless communication. Nowadays, many near field communications are used for the wireless transmission of data in order to achieve higher transmission rate. Due to the mobility and variability of the WISP communication nodes, the environment of the communication link may be constantly changing[
11
,
12
]. Noise interference caused by changes in frequency and intensity can be quite severe. In the IEEE802.11 adhoc network used by the ISM band, there are many other facilities in the network[
13
], if the communication link quality is unstable, the noise on the communication interference is very severe. It is difficult to avoid and detect signal conflicts, and the conflict will reduce the communication efficiency. To improve the system performance, we introduce the variable frame to reduce the conflict.
For the fixed frame length will lead to the inefficient communication, it is not advisable to use it in the passive network. In harsh communication link conditions, the use of shorter frames is an easy way to avoid interference, which is a good way to reduce the probability of conflict, and make full use of the channel’s communication capabilities[
14
]. In better communication link conditions, the use of longer frames is preferable, such that each transmission contains more information to achieve the full use of the channel. In harsh conditions, the use of long frames gives a large probability of failure, such that the long-term efficiency is not as good as the use of short frames. Using short frames under good conditions generates useless overhead and wastes the communication capacity of the channel. Therefore, using a variable length frame to communicate can maximize the utilization of a passive sensing link. To improve the communication quality and working efficiency of the system, we designed a new running logic of the reader and the tag, as shown
Fig. 4
. In our design, the reader is powered on and initialized, and the tag needs to be activated by the reader, then the communication is established, and the status of the data transmission can be adjusted in real-time through the effective throughput. The design logic of the tag side and reader side is shown in Algorithms 1 and 2, respectively. In Algorithm 2, is the buffered data, is the initial buffered data, is the number of errored frames, and is the number of correctly accepted data frames. Set the above variables as zero. is the number of data frames to be sent. represents the data check bit frame length (frame tail length). is the effective throughput, and is the effective throughput of the previous round.
3.1 Dynamic frame length strategy in backscatter link
CRFID’s duty cycle is relative to storage capacitor charging and discharging process. After a period of sleep and the dormant process to obtain the RF energy from the reader, the capacitor begins to charge, then the voltage begins to rise[
15
], when it reaches the working voltage, CRFID goes into work mode and starts sending data to the reader. As one version of CRFID, for example, WISP, with the MSP430’s operating voltage of 1.8 V, when the voltage rises to 2.0 V, it can wake up the WISP sensor to send data. The charging voltage of the WISP node is in the following:
where is the voltage at the beginning of the charge, is the time constant of the RC circuit, and is the maximum charge voltage that the capacitor can achieve under the current energy capture conditions. With a change of environmental conditions, the maximum charge voltage that the capacitor can achieve will change. When the energy capture conditions are poor, reduces and increases. This means the WISP tag requires a longer charging time to reach the radio of operating voltage. In order to adapt to different energy capture conditions, this paper proposes a dynamic selection of frame length and charging time for WISP tags. Another advantage of dynamically selecting the frame length is the ability to adapt to the changing channel quality. By combining the optimized frame length, coding redundancy, and charging time, the throughput of the backscatter communication is improved.
At first, we need the expression of the effective throughput for specific energy capture conditions and channel conditions. When the charging time is t, the amount of energy WISP can capture is
where C represents the size of the charge capacitance in WISP and represents the minimum operating voltage of the WISP. Here we assume that the average energy consumed by each bit of data that WISP tag receives or sends is . We can then calculate the energy WISP needs to send a frame in each duty cycle,
where represents the frame header length and represents the length of the data frame.
We are here to meet one of the conditions that is limited by the capture of energy,
where represents the energy captured by the tag node when charging time of the k-th cycle is , indicates the number of data frames transmitted by WISP during the k-th duty cycle, According to Eq. (
4
), we can then conclude that the number of data frames sent by WISP in the -th duty cycle satisfies the following condition:
where is rounded down, indicates the total number of data frames transmitted before the duty cycles. Substituting Eqs. (
2
) and (
3
) into Eq. (
4
), while letting in Eq. (
2
), we can get the k-th duty cycle of the charging time, satisfying the following inequality:
According to Eq. (
6
), we can send each frame of data, the charging time is described in the following formula:
The main idea of dynamic frame length adjustment control is to adjust the frame length and coding redundancy according to the throughput measurement of the reader at runtime and to control the charging time, thus improving the throughput of the data. The specific ideas are as follows. The first WISP cycle tracks the storage capacitor voltage, gives access to dynamic and values. When WISP moves to the reader and has data to be sent to the reader, N source data frames of length are extracted from the cache, encoded as N + M frames, where is the number of redundant frames, the initial frame length is set to 32 bits. When a round of data transmission is completed, the reader records the time taken and the effective throughput during this time, and compares the current throughput with the previous round.
If the current throughput is higher than that of the previous round, the return ACK informs the tags to increase the transmit frame length; otherwise, the transmit frame length is reduced, the unit of the frame length is increased or decreased by 16 bits each time. In order to avoid frequent changes in the frame length, we introduce an adjustment parameter, if the increasing or decreasing proportion of the throughput does not exceed this threshold, the frame length is not changed[
16
]. At the same time, after receiving the reader’s specified frame length, the WISP[
17
] tag selects the number of frames transmitted in the current working period according to the current energy capture condition, enters the sleep charging state after sending, waits for the next work cycle to transmit the data. This continues until the current round of data frames are all finished, or until the reader sends a QueryRep frame. After a round of transmission, if the transmission fails to send the number of redundant frames , the reader checks the current actual number of redundant frames according to Eq. (
8
) on the next round,
where indicates the average number of redundant frames sent historically, indicates the number of redundant frames sent in this round, and are the minimum and maximum number of redundant frames, respectively, and the weight coefficient indicates rounding up.
3.2 New CRC algorithm design
The simulation of the CRC check capability is controlled by the program. In the program, the control model runs 500 times. After each simulation model running, it is checked for an error code. We look at whether an error has occurred, using and to represent the actual number of errors of the final statistics and the number of errors of CRC’ s detection, respectively. In this way, we can count the error rate of the CRC check, which is calulated as follows:
If the reader requests a fixed-length response data from WISP, we use different redundant CRC check codes to analyze it. The results obtained by this method are shown in
Table 4
.
10.26599/TST.2019.9010037.T4
Error rate of different CRC checks.
Check digit
Check errors
Total errors
Error rate (%)
CRC-5
395
496
80
CRC-8
496
496
100
CRC-16
496
496
100
It can be seen from the results that 100% error detection can be achieved when the number of CRC check bits and the bit length of the total frames satisfy the relationship . For example, when , according to the relationship, it can detect 127 bits of data, while the simulation detect 96 bits, thus less than 127 bits, the error rate is 100%. However, if is less than the required value of the relationship, the CRC check will have a large leak rate. For example, when , it can check a maximum of 15 bits; if the 4-bit parity is added to the 100-bit data behind, this will result in 12% errors missed. The above results show that it is not necessary to select a longer CRC check if the selected CRC bit number satisfies the actual job requirement. Having the appropriate number of CRC bits ensures no errors are missed, while making the data transmission efficiency as high as possible.
Therefore, in actual RFID applications, CRC-8 check can be selected if the length of a frame of data is less than 256 bits. If the length of the data is greater than 256 bits and less than 64 Kb, the CRC-16 check can be selected. In actual RFID applications, there is essentially no data frame with a length greater than 64 Kb, so there is no need for a 32-bit CRC to be introduced in an RFID application. According to the above problem, our main aim in this paper is to dynamically adjust the WISP data frame length and the corresponding number of CRC checks, to improve the data transmission rate, thereby increasing the throughput and reliability of the entire backscatter link.
At present, the dynamic data frame length used in WISP tags is not a new topic in academia, but there are some gaps in the use of redundant check bits for different data frame lengths. The resulting of large time interval manifests an excessively long response latency, which will lead directly to the failure of data transmission.
The C1G2 protocol for RFID tags is designed to inventory large tag populations over a number of communication rounds. To realize this protocol, an RFID must traverse a simple state machine and respond appropriately to a set of reader commands.
Following the identification procedure, the RFID reader further requests for more data in the read procedure. The RFID reader establishes a handshake by {ReqRN, Handle}. Similar to {Query, RN16} handshake in the identification procedure, {ReqRN, Handle} is short, serving the collision arbitration purpose. The reader then acknowledges the 16-bit handle and requests a large amount of data. According to the C1G2 standard, the reader is able to collect up to 510 bytes per {Read, Data} exchange. Different from {ACK, EPC}, which is primitive in the identification procedure, the {Read, Data} primitive in the read procedure is tailored for bulk data transfer with variable lengths. But in the previous code test, when more than 8 bytes of data are requested in the read procedure, the success rates suddenly drop to zero even within a small interrogation range.
The data frame format used in this paper is similar to that in the EPC Gen2 protocol. The length of the data load in the EPC Gen2 protocol is defined by the EPC length field in the protocol control field, in the range of 16 - 496 bits, and is an integer multiple of 16 bits, in this case, the number of bits is incremented or decremented by 8 bits each time. Considering that the current device only supports 96 bits, the maximum is 01100, for EPC Gen2, the ACK frame format specified by the protocol consists of 2 bits command and 16 bits random number bits. However, in the algorithm presented in this paper, the frame length and the number of redundant frames need to be adjusted according to the channel condition and the capture condition, which is fed back to the WISP tag by the reader through the ACK frame. Therefore, it involves two additional 5 bits command in the ACK, stating the frame length of the next round and the number of redundant frames in the ACK frame format.
The combination RN16+CRC16 is the most commonly used response of the tag in the uplink, but we have already explained that the CRC-16 verification for a data frame whose length of less than 256 bits involves a lot of energy waste. When the tag returns RN16, CRC-5 is sufficient to complete the inspection task, which saves energy and reduces MCU computing time. For the dynamic EPC data frame, the different checksum bits are determined according to the different frame lengths. Here, assuming that is the length (bit) of the EPC data to be transmitted, the throughput of the channel and the power of the storage capacitor are determined by the data frame length. The following formula determines the checksum bits for calibrating the frame length of the next round of transmission:
The key to the CRC check is to generate a cyclic redundancy code based on the generator polynomial and the information to be sent. According to the EPC Gen2 protocol, the cyclic redundancy code is suitable for the small memory space (the code takes up less memory space), but the whole process takes a long time and the real-time performance is poor. The reader and tag have two CRC checks: CRC-5 and CRC-16. For CRC-5, this paper presents a byte-by-table method. Since the amount of data exchanged between the reader and the tag is not an integer multiple of the byte, it is not sufficient to find the CRC in bytes. We use a look-up table to solve this problem, with the basic idea that CRC-5 will be translated into CRC-8, then the corresponding generation polynomial is found; according to the generated polynomial, cycle redundancy table is generated, and then through the look-up table, CRC-8 is found and finally converted back to CRC-5.
In the beginning, the principle of converting CRC-5 to CRC-8 is shown in
Fig. 5
. Assuming that is a polynomial of the information symbol to be transmitted by the UHF reader[
18
] and is a polynomial of CRC-5 (short form 0x09), in the formula for finding the cyclic redundancy code,
let and , then Eq. (
11
) can be converted to
10.26599/TST.2019.9010037.F5
Principle of converting CRC-5 to CRC-8 flow chart.
According to the principle of the look-up table formula we can deduce Eq. (
13
),
where and are complete and residual functions of CRC-8 for , respectively. From Eq. (
14
), the redundant period is the XOR operation of the period of the redundant code and the redundant code, and then the CRC-8 cycle redundancy table is generated, from which we can get the generated polynomial of CRC-8. Generator polynomial should be written to 0x48 with the abbreviated version 0x09 of the CRC-5, which is written as 0x80 of the CRC-8.
3 System Design
As mentioned in the previous section, CRFID works in a mobile scenatio. Energy capture and the dynamic environment will directly affect the working state of CRFID, which is more sensitive than traditional wireless communication. Nowadays, many near field communications are used for the wireless transmission of data in order to achieve higher transmission rate. Due to the mobility and variability of the WISP communication nodes, the environment of the communication link may be constantly changing[
11
,
12
]. Noise interference caused by changes in frequency and intensity can be quite severe. In the IEEE802.11 adhoc network used by the ISM band, there are many other facilities in the network[
13
], if the communication link quality is unstable, the noise on the communication interference is very severe. It is difficult to avoid and detect signal conflicts, and the conflict will reduce the communication efficiency. To improve the system performance, we introduce the variable frame to reduce the conflict.
For the fixed frame length will lead to the inefficient communication, it is not advisable to use it in the passive network. In harsh communication link conditions, the use of shorter frames is an easy way to avoid interference, which is a good way to reduce the probability of conflict, and make full use of the channel’s communication capabilities[
14
]. In better communication link conditions, the use of longer frames is preferable, such that each transmission contains more information to achieve the full use of the channel. In harsh conditions, the use of long frames gives a large probability of failure, such that the long-term efficiency is not as good as the use of short frames. Using short frames under good conditions generates useless overhead and wastes the communication capacity of the channel. Therefore, using a variable length frame to communicate can maximize the utilization of a passive sensing link. To improve the communication quality and working efficiency of the system, we designed a new running logic of the reader and the tag, as shown
Fig. 4
. In our design, the reader is powered on and initialized, and the tag needs to be activated by the reader, then the communication is established, and the status of the data transmission can be adjusted in real-time through the effective throughput. The design logic of the tag side and reader side is shown in Algorithms 1 and 2, respectively. In Algorithm 2, is the buffered data, is the initial buffered data, is the number of errored frames, and is the number of correctly accepted data frames. Set the above variables as zero. is the number of data frames to be sent. represents the data check bit frame length (frame tail length). is the effective throughput, and is the effective throughput of the previous round.
3.1 Dynamic frame length strategy in backscatter link
CRFID’s duty cycle is relative to storage capacitor charging and discharging process. After a period of sleep and the dormant process to obtain the RF energy from the reader, the capacitor begins to charge, then the voltage begins to rise[
15
], when it reaches the working voltage, CRFID goes into work mode and starts sending data to the reader. As one version of CRFID, for example, WISP, with the MSP430’s operating voltage of 1.8 V, when the voltage rises to 2.0 V, it can wake up the WISP sensor to send data. The charging voltage of the WISP node is in the following:
where is the voltage at the beginning of the charge, is the time constant of the RC circuit, and is the maximum charge voltage that the capacitor can achieve under the current energy capture conditions. With a change of environmental conditions, the maximum charge voltage that the capacitor can achieve will change. When the energy capture conditions are poor, reduces and increases. This means the WISP tag requires a longer charging time to reach the radio of operating voltage. In order to adapt to different energy capture conditions, this paper proposes a dynamic selection of frame length and charging time for WISP tags. Another advantage of dynamically selecting the frame length is the ability to adapt to the changing channel quality. By combining the optimized frame length, coding redundancy, and charging time, the throughput of the backscatter communication is improved.
At first, we need the expression of the effective throughput for specific energy capture conditions and channel conditions. When the charging time is t, the amount of energy WISP can capture is
where C represents the size of the charge capacitance in WISP and represents the minimum operating voltage of the WISP. Here we assume that the average energy consumed by each bit of data that WISP tag receives or sends is . We can then calculate the energy WISP needs to send a frame in each duty cycle,
where represents the frame header length and represents the length of the data frame.
We are here to meet one of the conditions that is limited by the capture of energy,
where represents the energy captured by the tag node when charging time of the k-th cycle is , indicates the number of data frames transmitted by WISP during the k-th duty cycle, According to Eq. (
4
), we can then conclude that the number of data frames sent by WISP in the -th duty cycle satisfies the following condition:
where is rounded down, indicates the total number of data frames transmitted before the duty cycles. Substituting Eqs. (
2
) and (
3
) into Eq. (
4
), while letting in Eq. (
2
), we can get the k-th duty cycle of the charging time, satisfying the following inequality:
According to Eq. (
6
), we can send each frame of data, the charging time is described in the following formula:
The main idea of dynamic frame length adjustment control is to adjust the frame length and coding redundancy according to the throughput measurement of the reader at runtime and to control the charging time, thus improving the throughput of the data. The specific ideas are as follows. The first WISP cycle tracks the storage capacitor voltage, gives access to dynamic and values. When WISP moves to the reader and has data to be sent to the reader, N source data frames of length are extracted from the cache, encoded as N + M frames, where is the number of redundant frames, the initial frame length is set to 32 bits. When a round of data transmission is completed, the reader records the time taken and the effective throughput during this time, and compares the current throughput with the previous round.
If the current throughput is higher than that of the previous round, the return ACK informs the tags to increase the transmit frame length; otherwise, the transmit frame length is reduced, the unit of the frame length is increased or decreased by 16 bits each time. In order to avoid frequent changes in the frame length, we introduce an adjustment parameter, if the increasing or decreasing proportion of the throughput does not exceed this threshold, the frame length is not changed[
16
]. At the same time, after receiving the reader’s specified frame length, the WISP[
17
] tag selects the number of frames transmitted in the current working period according to the current energy capture condition, enters the sleep charging state after sending, waits for the next work cycle to transmit the data. This continues until the current round of data frames are all finished, or until the reader sends a QueryRep frame. After a round of transmission, if the transmission fails to send the number of redundant frames , the reader checks the current actual number of redundant frames according to Eq. (
8
) on the next round,
where indicates the average number of redundant frames sent historically, indicates the number of redundant frames sent in this round, and are the minimum and maximum number of redundant frames, respectively, and the weight coefficient indicates rounding up.
3.2 New CRC algorithm design
The simulation of the CRC check capability is controlled by the program. In the program, the control model runs 500 times. After each simulation model running, it is checked for an error code. We look at whether an error has occurred, using and to represent the actual number of errors of the final statistics and the number of errors of CRC’ s detection, respectively. In this way, we can count the error rate of the CRC check, which is calulated as follows:
If the reader requests a fixed-length response data from WISP, we use different redundant CRC check codes to analyze it. The results obtained by this method are shown in
Table 4
.
10.26599/TST.2019.9010037.T4
Error rate of different CRC checks.
Check digit
Check errors
Total errors
Error rate (%)
CRC-5
395
496
80
CRC-8
496
496
100
CRC-16
496
496
100
It can be seen from the results that 100% error detection can be achieved when the number of CRC check bits and the bit length of the total frames satisfy the relationship . For example, when , according to the relationship, it can detect 127 bits of data, while the simulation detect 96 bits, thus less than 127 bits, the error rate is 100%. However, if is less than the required value of the relationship, the CRC check will have a large leak rate. For example, when , it can check a maximum of 15 bits; if the 4-bit parity is added to the 100-bit data behind, this will result in 12% errors missed. The above results show that it is not necessary to select a longer CRC check if the selected CRC bit number satisfies the actual job requirement. Having the appropriate number of CRC bits ensures no errors are missed, while making the data transmission efficiency as high as possible.
Therefore, in actual RFID applications, CRC-8 check can be selected if the length of a frame of data is less than 256 bits. If the length of the data is greater than 256 bits and less than 64 Kb, the CRC-16 check can be selected. In actual RFID applications, there is essentially no data frame with a length greater than 64 Kb, so there is no need for a 32-bit CRC to be introduced in an RFID application. According to the above problem, our main aim in this paper is to dynamically adjust the WISP data frame length and the corresponding number of CRC checks, to improve the data transmission rate, thereby increasing the throughput and reliability of the entire backscatter link.
At present, the dynamic data frame length used in WISP tags is not a new topic in academia, but there are some gaps in the use of redundant check bits for different data frame lengths. The resulting of large time interval manifests an excessively long response latency, which will lead directly to the failure of data transmission.
The C1G2 protocol for RFID tags is designed to inventory large tag populations over a number of communication rounds. To realize this protocol, an RFID must traverse a simple state machine and respond appropriately to a set of reader commands.
Following the identification procedure, the RFID reader further requests for more data in the read procedure. The RFID reader establishes a handshake by {ReqRN, Handle}. Similar to {Query, RN16} handshake in the identification procedure, {ReqRN, Handle} is short, serving the collision arbitration purpose. The reader then acknowledges the 16-bit handle and requests a large amount of data. According to the C1G2 standard, the reader is able to collect up to 510 bytes per {Read, Data} exchange. Different from {ACK, EPC}, which is primitive in the identification procedure, the {Read, Data} primitive in the read procedure is tailored for bulk data transfer with variable lengths. But in the previous code test, when more than 8 bytes of data are requested in the read procedure, the success rates suddenly drop to zero even within a small interrogation range.
The data frame format used in this paper is similar to that in the EPC Gen2 protocol. The length of the data load in the EPC Gen2 protocol is defined by the EPC length field in the protocol control field, in the range of 16 - 496 bits, and is an integer multiple of 16 bits, in this case, the number of bits is incremented or decremented by 8 bits each time. Considering that the current device only supports 96 bits, the maximum is 01100, for EPC Gen2, the ACK frame format specified by the protocol consists of 2 bits command and 16 bits random number bits. However, in the algorithm presented in this paper, the frame length and the number of redundant frames need to be adjusted according to the channel condition and the capture condition, which is fed back to the WISP tag by the reader through the ACK frame. Therefore, it involves two additional 5 bits command in the ACK, stating the frame length of the next round and the number of redundant frames in the ACK frame format.
The combination RN16+CRC16 is the most commonly used response of the tag in the uplink, but we have already explained that the CRC-16 verification for a data frame whose length of less than 256 bits involves a lot of energy waste. When the tag returns RN16, CRC-5 is sufficient to complete the inspection task, which saves energy and reduces MCU computing time. For the dynamic EPC data frame, the different checksum bits are determined according to the different frame lengths. Here, assuming that is the length (bit) of the EPC data to be transmitted, the throughput of the channel and the power of the storage capacitor are determined by the data frame length. The following formula determines the checksum bits for calibrating the frame length of the next round of transmission:
The key to the CRC check is to generate a cyclic redundancy code based on the generator polynomial and the information to be sent. According to the EPC Gen2 protocol, the cyclic redundancy code is suitable for the small memory space (the code takes up less memory space), but the whole process takes a long time and the real-time performance is poor. The reader and tag have two CRC checks: CRC-5 and CRC-16. For CRC-5, this paper presents a byte-by-table method. Since the amount of data exchanged between the reader and the tag is not an integer multiple of the byte, it is not sufficient to find the CRC in bytes. We use a look-up table to solve this problem, with the basic idea that CRC-5 will be translated into CRC-8, then the corresponding generation polynomial is found; according to the generated polynomial, cycle redundancy table is generated, and then through the look-up table, CRC-8 is found and finally converted back to CRC-5.
In the beginning, the principle of converting CRC-5 to CRC-8 is shown in
Fig. 5
. Assuming that is a polynomial of the information symbol to be transmitted by the UHF reader[
18
] and is a polynomial of CRC-5 (short form 0x09), in the formula for finding the cyclic redundancy code,
let and , then Eq. (
11
) can be converted to
10.26599/TST.2019.9010037.F5
Principle of converting CRC-5 to CRC-8 flow chart.
According to the principle of the look-up table formula we can deduce Eq. (
13
),
where and are complete and residual functions of CRC-8 for , respectively. From Eq. (
14
), the redundant period is the XOR operation of the period of the redundant code and the redundant code, and then the CRC-8 cycle redundancy table is generated, from which we can get the generated polynomial of CRC-8. Generator polynomial should be written to 0x48 with the abbreviated version 0x09 of the CRC-5, which is written as 0x80 of the CRC-8.
10.26599/TST.2019.9010037.F5
Principle of converting CRC-5 to CRC-8 flow chart.
10.26599/TST.2019.9010037.F6
Experiment settings.
10.26599/TST.2019.9010037.F7
Throughput performance of the three schemes under the condition
10.26599/TST.2019.9010037.F8
(a) Communication energy consumtion and (b) optimal frame length under different values of E/N.
10.26599/TST.2019.9010037.F9
Throughput performance under different energy harvesting conditions.
10.26599/TST.2019.9010037.F10
Throughput performance of multi-tag transmission.