Abstract
Recently, a number of articles have proposed query tree algorithms based on bit tracking to solve the multitag collision problem in radio frequency identification systems. However, these algorithms still have problems such as idle slots and redundant prefixes. In this paper, a time slot detectionbased ary tree (Time Slot Detection based ary tree, TSDM) tag anticollision algorithm has been proposed. When a collision occurs, the reader sends a predetection command to detect the distribution of the bit ID in the 2^{m} subslots; then, the time slot after predetection is processed according to the format of the framelike. The idle time slots have been eliminate through the detection. Using a framelike mode, only the frame start command carries parameters, and the other time slot start commands do not carry any parameters, thereby reducing the communication of each interaction. Firstly, the research status of the anticollision algorithm is summarized, and then the TSDM algorithm is explained in detail. Finally, through theoretical analysis and simulation, it is proved that the time cost of the TSDM algorithm proposed in this paper is reduced by 12.57%, the energy cost is reduced by 12.65%, and the key performance outperforms the other anticollision algorithms.
1. Introduction
Radiofrequency identification is a vital noncontact automatic identification technology in the sensing layer of the Internet of Things. In a typical RFID system, multiple tags are read by the reader simultaneously through a channel. When this channel is used by multiple tags simultaneously, it will cause signal overlap and interference problems: multitag collision problems. It will cause a waste of channel bandwidth, communication energy cost, and communication time cost. Therefore, developing effective anticollision strategies to improve the performance of RFID systems has an important significance.
Regarding the anticollision algorithm, massive research has been done and formed many valuable articles. Based on fundamentals and implementation, the anticollision algorithm can be divided into three main categories: ALOHAbased, hybridbased, and treebased algorithms. Based on the ary tree algorithm, we proposed a TSDM (Time Slot Detection based ary Tree) anticollision algorithm. Therefore, in the introduction, the current research status of the ALOHAbased algorithm and the hybridbased algorithm is briefed, and the current research status of the tree algorithm is detailed.
These articles focus on the improvement of ALOHAbased algorithm [1–6], and the basic idea behind this kind of algorithm is that the reader estimates the number of tags according to the collision, success, and idle time slots first and then adjusts the frame length dynamically based on the estimation results. When the number of tags is equal to the number of time slots, the ALOHAbased algorithm can achieve the highest throughput rate of 36.8%. Ease of implementation is an advantage of the algorithm based on ALOHA. The randomness of the identification process and the starvation problem are the disadvantages of the ALOHAbased algorithm.
Those articles [7–11] proposed the hybridbased algorithm, which combines part of the ALOHAbased algorithm and the treebased algorithm. In the paper [11], based on the dynamic frame slot ALOHA algorithm, the binary tree algorithm is used to identify the collision slot. Compared with the ALOHA algorithm, the hybridbased algorithm has a more considerable improvement in the throughput rate. However, the starvation problem is still to be solved, and its implementation complexity is higher than the ALOHAbased algorithm.
Many papers have generated large amounts of valuable research about the treebased algorithm [12–29]. The key technology of this algorithm is bit identification and bit tracking. The reader can group a set of tags based on collision bits. Moreover, repeat the step until there is only one tag in a group. The article [14] proposed the CwT algorithm. The tag replied that it is not the remaining ID but the partial ID with a length of bits, which effectively reduces the average amount of data transferred between reader and tag. An MCT algorithm is proposed in the paper [15]. The data frame format is used in the MCT algorithm to process bit collision bits simultaneously, and the tag selects the response time slot based on the collision bits. Since only the first command of the frame is carrying the parameter, this will reduce the amount of the transferred data. An MQT algorithm based on the ary algorithm has been proposed [22]. The tag first mapped the bit ID from the highest collision bit according to rules [22]. Then, the specific mapped part is sent to the reader with the remaining ID. In the STT algorithm [27], the reader recorded continuous collision slots and idle slots in the identification process. The length of the prefix will make adjustments in agreement with the recorded value. The reader calculates the actual bit ID based on the collision bits of the received mapping part. In summary, the main problem of MCT is that there are too many idle slots. The redundant prefix problem still needs to be solved in the MQT, CwT, and STT algorithm. Therefore, the above algorithms still have room for improvement.
We propose time slot detection based on the ary tree anticollision algorithm (TSDM). The core idea of the TSDM algorithm is to detect first and identify second. The anticollision identification process is divided into two steps. The first step is to detect the bit ID value using a detection command. Then, synchronization results by sending a start command of the frame. Tags select the corresponding slot based on the calculation. In this way, we can eliminate idle slots through the proposed TSDM algorithm. In the typically ary tree algorithm, each command takes at least a parameter, and each reply includes the entire remaining ID. Therefore, redundant prefixes exist in the tag identification process. The TSDM algorithm is adopting a framelike mode to deal with collision tags. Only the start command takes parameters, and the others take no parameters. Therefore, the TSDM algorithm reduces the average communication load between the tag and the reader. The simulation and theoretical analysis proved that the communication load, tag cost, time cost, and energy cost of the TSDM algorithm are better than the MCT, MQT, CwT, and STT algorithms compared with those articles [14, 15, 22, 27]. In a noisy environment, that is, take capture effects and path loss into the simulation, the TSDM algorithm still performs better than the others.
The writing framework of this article is as follows: Section 2 details the proposed TSDM algorithm. Section 3 is the theoretical analysis part, which analyses the performance of the TSDM algorithm. Section 4 is the simulation verification. First, the communication load, time cost, and energy cost of STT, CwT, MCT, MQT, and TSDM algorithms are compared by simulation in an ideal environment. Then, the impact of the environmental noise on the time cost is simulated. Section 5 is the conclusion. The performance of the proposed TSDM algorithm is evaluated and summarized.
2. The Proposed Time Slot Detection Protocol
The first part of this section details the registers and commands used in the TSDM algorithm. The second part introduces the implementation process of the TSDM algorithm in detail. The third part gives an example of the TSDM algorithm.
2.1. Related Commands and Registers
This article uses three special commands and a register for manipulating collisions. The register is for the tag, with the rest commands used for the reader.
BQ (pre): command BQ (pre) is a command for time slot detection. Only tags that match the prefix pre will reply to the command BQ.
FQ (slot): the command FQ (slot) is a command to start a frame. The parameter slot is the time slot distribution of the collision tags. Expressly, set the collision bit of the string received by the command BQ to 1 and set the remaining bits to 0. The value obtained is the slot.
SQ: command SQ is a command to start a time slot. Command SQ does not carry any parameters.
Register RegM: the bits register in the tag used for storing binary objects. RegM will be updated when the command BQ is received.
2.2. Algorithm Description
This section details the TSDM algorithm, illustrated by pseudocode and an example. Table 1 briefly explains the symbols used in the paper and the meanings they represent.
The pseudocode in Algorithm 1 details the implementation of the TSDM algorithm. Qu in step 11 is a queue for temporarily storing prefixes in the identification process. Steps 11 to 14 call function Function_AntiCol() to deal with the multitag anticollision problem.

The implementation process of Function_AntiCol() is described in steps 21 to 217 in Algorithm 1. Next, we will introduce steps 21 to 217 in detail. Step 22 means popping a string from the queue Qu as the parameter pre. Step 23 represents broadcast the command BQ (pre). Step 24, from the received string, computes the parameter slot and . The parameter slot is calculated by setting the collision bit of the received string to 1 and setting the remaining bits to 0. The parameter is the number of collision bits in the received string. Loop in steps 25 to 217 uses a framelike mode for time slot detection. Steps 26 to 210 determine whether it is the first time slot of this frame. The reader sends the command FQ only in the first time slot, while the rest time slots send command SQ. Steps 212 to 216 judge whether the received data is colliding. A collision occurs when it queues the prefix pre into the queue Qu; otherwise, the reader directly identifies a tag.
The three commands in the proposed TSDM algorithm are BQ (pre), FQ (slot), and SQ. Next, we will introduce in detail the process of the tags after received the above three commands.
Received command BQ(pre): if ID[1:pre] equals the parameter pre, the tag calculates the value of RegM first and then sends it to the reader. Otherwise, set RegM to NULL and will not reply. Algorithm 2 shows the computation procedure of RegM. Initialize register in Algorithm 2 means that RegM is a binary number with a length of 2^{m} bits and set its initial value to 1. For instance, when . The first step assigns the to bits of the tagID to the variable . The second step converts binary to decimal. The third step left shifts RegM by bits and assigns the result to RegM.
 
Algorithm 2. Pseudocode of update the register RegM. 
Received command FQ(slot) or SQ: if RegM==NULL, the label will not reply. On the contrary, if RegM≠NULL, the tag sends ID[pre + m + 1:L] to the reader in the Tdth time slot. The calculation formula of Td is Td = Count((RegM1)&slot) + 1.
2.3. An Example of the Proposed TSDM Algorithm
To describe our proposed algorithm intuitively, in this part, we will use the example in Table 2 and the structure figure in Figure 1 to illustrate the implementation.
When , Table 2 illustrates the detailed process for identifying seven tags.
Step1. The reader broadcasts the command BQ(), where the parameter means empty. After receiving the command BQ(), the tag maps the highest 3bit ID according to the rule of Algorithm 2, then saves it to the register RegM and replies, without the need to match the prefix.
Step 2~step5. The reader broadcasts the command FQ(10100101), where the parameter 10100101 represents the distribution of tags. The tag chooses the corresponding slot depending on the value of Td after receiving FQ(10100101). Taking T1 as an example, after receiving the command FQ(10100101), the calculation process of Td is as follows: . Therefore, T1 will reply to the reader in the first and current time slot. Similarly, Td’s value for T2, T3, T4, T5, T6, and T7 are 2, 2, 2, 3, 4, and 4, respectively. Therefore, the tags T2, T3, and T4 will send the remaining ID in the second time slot (i.e., step 3 in Table 2). Tag T5 will send the remaining ID in the third time slot (i.e., step 4 in Table 2). Tags T5, T6, and T7 will send the remaining IDs in the fourth time slot (i.e., step 5 in Table 2).
Step 6. The reader broadcasts the command BQ(010), where parameter 010 indicates the prefix needs to match. The tag first compares the prefix 010 and the highest 3 bits of the ID after receiving the command BQ(010). If they are the same, the tag maps the 3bit data starting from the highest bit of the remaining ID according to Algorithm 2, then saves it to the register RegM and replies. Otherwise, the tag sets RegM to NULL and keeps silent, waiting for the next command BQ. In step 6, only the first three bits of T2, T3, and T4 are the same as 010, so only they will reply.
Step7~step9. Only T2, T3, and T4 will reply to the commands since the RegM of other unidentified tags is all NULL. The identification process has been described in detail before, and we will no cover it here.
Step 10. The reader broadcasts the command BQ(111000). After receiving the command, only T6 and T7 will reply. Since the remaining part of the ID has 2 bits (less than 3), the tags map and reply only 2 bits. After the reader receives X00X, it decodes the collision bits, and the final two bits of ID are 00 and 11, respectively. Due to the uniqueness of the tag ID, T6 and T7 are directly identified.
We can conclude that the proposed TSDM algorithm only needs ten commands to identify seven tags. The structure of the TSDM algorithm in Figure 1 looks similar to the ary tree. However, idle leaf nodes are skipping through the time slot detection in the TSDM algorithm.
Figure 1 is the structure of the identification process of tags T1T7. Due to the predetection of the command BQ, idle time slots are skipping in the TSDM algorithm. It reduces the average number of commands sent by the reader. Besides, Figure 1 intuitively shows the identification process, which is similar to a frame. Compared with the typical ary algorithm, the parameters carried by the commands of the TSDM algorithm are reduced. Above all, the proposed TSDM algorithm not only reduces time cost but also reduces the energy cost.
3. Theoretical Analyses
In the TSDM algorithm, the larger the , the larger the is since the number of groups is . Therefore, the greater the value of , the faster the collision tag is recognized by the reader. However, the larger the value of , the larger the mapping value. It will increase the computational complexity and increase the average number of bits between the reader and the tag. In the TSDM algorithm, the recommended value of is 3. In this section, the number of the average paging times of the TSDM algorithm is analyzed theoretically.
In the TSDM algorithm, the number of command BQ sent by the reader is equal to the number of collision slots. Cleary, the sum number of command FQ and command SQ is equal to the number of nonempty time slots in the ary tree algorithm.
Let be the number of tags in the broadcast domain of the reader. Let be the sum of collision slots in the whole identification process. Let the number of paging times of the TSDM algorithm be . can be expressed as
It can be seen from formula (1) that if is obtain, is obtain. Therefore, we first have to calculate what is.
Theorem 1.
The proof of Theorem 1 is as follows:
When or 1, no collision slot that exists, so .
When , collision tags will be divided into subsets, based on the tag’s bis ID starting from the highest collision bit. In the TSDM algorithm, the recommended value of is 3, so we take as an example. When , the 8 subsets are as follows: , , , , , , , and . If the 8 subsets are grouped by the highest collision bit, they will be divided into two subsets: and .
Only if there is at least one tag in both subset and subset simultaneously, the reader can identify the highest collision bit. We can deduce that the probability of tags falling in the slot is . Proved formula (2) using a recursive algorithm.
Lemma 1.
Proof. From the rules of set operation, we can get
If the tag’s ID has a law of binomial distribution, the probability of tags falling in subset is
Next, respectively, calculate the numerator and denominator in formula (4). The calculation processes of the molecular are as follows:
Because the probability that a tag locates in subsets to is the same, we use subset as our example. Let and take it into formula (7).
If we want to compute the probability that a tag locates in subsets to , the same type of calculation would be made. Thus, formula (8) can be derived from formula (7).
Substituting formulas (5) and (8) into formula (6), we can get formula (9).
Finally, the denominator of formula (4) is calculated by the formula (10).
Putting formulas (5), (9), and (10) into formula (4), Lemma 1 is proved.
Incorporating Lemma 1 into Theorem 1, we can get by the iterative calculation on the computer. Putting the value of into equation (1), we can get . The parameters in Table 3 are for simulation, and we get the simulation results by simulating the implementation process of the proposed TSDM algorithm. As shown in Figure 2, the simulated value of is almost consistent with the theoretical value.
4. Simulation Results
In this section, we will start with the definition of command format and parameter values. Next, the performance of MCT, MQT, CWT, STT, and TSDM algorithms are compared by simulation. Finally, we will discuss the influence of environmental noise on the algorithm.
4.1. Simulation Configuration
In this part, a typical passive RFID system will be simulated by Matlab software, which includes a reader and several passive tags. Until the reader identifies the tag, the reader will not know the ID and the total number of tags. Tag generation obeys the typical binomial distribution, and each ID is unique in the simulation. The communication channel between the reader and the tag is ideal in Section 4.2. We will consider the environmental noise in Section 4.3.
The link sequence diagram of the TSDM algorithm is in Figure 3. The values of parameters and in Figure 3 are in Table 3. The parameter in Table 3 represents the data rate between the reader and the tag. The last parameter represents the length of the tag’s ID. The parameters and are used to calculate the energy overhead, where represents the reader’s carrier power, and represents the additional carrier power produced by the reader during the tag reply to the reader.
The proposed TSDM algorithm, MCT algorithm, MQT algorithm, CwT algorithm, and STT algorithm are simulated by Matlab software in the next part. In the TSDM, the value of is 3. Set the variables’ optimal values in the rest of the articles for the simulation validation’s best performance.
4.2. Performance Comparison
Figure 2 compares the critical performance of the MQT algorithm, the MCT algorithm, the STT algorithm, and the CwT algorithm, as well as the proposed TSDM algorithm by simulation. (1)Total communication load. The average total bits for a tag identification in Figure 4(a) represent the total communication load. It can be seen from Figure 4(a) that the average total bits for a tag identification of the TSDM algorithm are about 225 bits, which is less than MQT, MCT, STT, and CwT. Since there is no idle time slot and redundant parameters, The TSDM algorithm tremendously reduces the average bits transferred between reader and tag(2)Communication load of the tag. The tag’s average bits for a tag identification in Figure 4(b) represent the tag’s communication load. Most tags are passive or batterypowered In the RFID system, so the tag’s communication load has a significant impact on the tag’s useful lifespan. The lower the tag’s communication load, the lower the algorithm’s energy cost, so the longer the tag’s life. As shown in Figure 4(b), the communication load of tag rank from low to high is as follows: TSDM, CwT, MQT, MCT, and STT. The TSDM algorithm proposed has the least average tag communication load(3)Time cost. The average time cost for a tag identification represents the time cost. The lower the time cost, the more tags can be identified per unit time. Figure 4(c) shows that the TSDM algorithm has the lowest time cost. The average time to identify a tag is about 1.51 ms when using the TSDM algorithm. The average time to identify a tag is as follows: MQT is about 1.73 ms, MCT is about 1.76 ms, STT is about 2.6 ms, and CwT is about 2.72 ms. The time cost of the TSDM algorithm is reduced by at least 12.57% compared with the other algorithm(4)Energy cost. The average energy cost for a tag identification represents the energy cost. Many RFID tags are batterypowered or passive. Therefore, the lower the power cost, the longer the lifespan of a tag. Figure 4(d) shows that the average energy cost for a tag identification of the TSDM algorithm is about 1.36 mJ. Its performance is better than other algorithms that are comparing below. The energy cost of the TSDM algorithm is reduced by at least 12.65% compared with the other algorithms
(a)
(b)
(c)
(d)
Table 4 lists the average time cost of MQT, MCT, CwT, STT, and TSDM for a tag identification. For instance, in the TSDM algorithm, the total time to recognize 100 tags is about 153.2 ms. We divide the total time by the number of tags to get the average time for a tag identification that is about 1.532 ms. As you can see in Table 4, the TSDM algorithm spends the least time for a tag identification, followed by the MQT algorithm. Therefore, we can conclude that the time cost of the TSDM algorithm is saved at least 12.57%, compared to the other four algorithms.
Table 5 lists the average energy cost of MQT, MCT, CwT, STT, and TSDM for a tag identification. The average energy cost can be obtained by referring to the calculation method of the average time. As we can see in Table 5, compared with MQT, MCT, CwT, and STT algorithm, the TSDM algorithm cut energy cost by at least 12.65%.
4.3. Effect of Environmental Noise
In a realistic environment, path loss and capture effects may cause randomness in the identification process, which will lead to deviations in the algorithm’s performance between the realistic environment and the ideal environment. Next, the implementation process of TSDM, MQT, and MQT in the realistic environment is simulating by Matlab software.
When path loss occurs, the reader usually does not recognize the signal to which the tag is replying. Let be the probability of path loss and . Only the signal from the tag with the strongest signal will be detected when the capture effect occurs. Let be the probability of path loss and . Since the energy cost is proportional to the time cost, we are only analyzing the time cost here.
Figure 5(a) shows the change rules of the average time to identify a tag due to ’s change when . When path loss occurs, a collision slot may be inaccurately considered a successful slot or an idle slot, and a successful slot may be inaccurately considered an idle slot. It will lead to uncertainty in the tag identification process, thereby increasing the identification time. Compared with MCT and MCT, the proposed TSDM algorithm still dominates the identification time when changes dynamically.
(a)
(b)
Figure 5(b) shows the change rules of the average time to identify a tag due to ’s change when . When the capture effect occurs, a collision slot may be inaccurately considered a success slot, which will speed up the tag identification process. As increased, the average time for a tag identification is decreasing. Moreover, the identification time of TSDM is still less than MQT and MCT.
5. Conclusions
There is predetection in the TSDM algorithm that can completely avoid the idle slots of the ary algorithm, thus reduce the communication data between reader and tag. It will reduce the average communication load and the average time cost, which improves the TSDM algorithm’s performance. The proposed TSDM algorithm has an average communication load of about 225 bits, an average time overhead of 1.51 ms, and average power consumption of 1.36 mJ when identifying a tag with an ID length of 96 bits. Compared with the other treebased algorithms, the TSDM algorithm reduces the time cost by at least 12.57% and the energy cost by at least 12.65%. Moreover, taking environmental noise (including path loss and capture effect) into consideration, the TSDM algorithm’s performance still outperforms the other algorithms. Therefore, the TSDM algorithm is worth researching.
Data Availability
Data available is on request.
Conflicts of Interest
The authors declare that they have no conflicts of interest.
Acknowledgments
This work is sponsored by the Science and Technology Research Program of Chongqing Municipal Education Commission of China (No. KJQN202000703), Science and Technology Research Project of the Chongqing Municipal Education Commission of China (No. KJZD201800701), and 2018 Reliable Control and Safety Maintenance of Dynamic System (No. JDDSTD2018001).