Abstract
Introduction
Radio frequency identification (RFID) has been widely used in our lives due to its low cost and ubiquitous characteristics, and it brings a revolutionary change in a wide range of applications, such as inventory control, 1 treatment, 2 smart environments 3 and warehouse management. 4 An RFID system is composed of one or several readers and a large number of tags. The RFID reader has powerful computation and memory capability and is mainly responsible for controlling communication among tags. Each tag in RFID systems has a unique ID that cannot be modified. When a tag is in the interrogation zone of the reader, they can communicate with each other via radio frequency. The reader can execute an identification operation to send inquiry request to ask tags to respond with their IDs. When more than one tag responds simultaneously, signal collisions will occur and cause the reader to identify tags unsuccessfully.
There are three types of collision as shown in Figure 1. These collisions can be classified as follows: 5
Tags-to-tag collision, as illustrated in Figure 1(a), occurs when more than one tag attempts to transmit data simultaneously to a single reader within its interrogation zone. In this scenario, these tags are unable to be identified correctly by the reader.
Readers-to-tag collision, as illustrated in Figure 1(b), occurs when two or more readers try to communicate with the same tag simultaneously in their overlap interrogation zone. In this scenario, it is not able to select a particular reader to transmit the tag ID.
Readers-to-reader collision, as illustrated in Figure 1(c), occurs when the transmission signal generated from one reader can be interfered by the communication of other readers in its interference zone. Therefore, the readers cannot read tags.

Three types of collision in RFID system: (a) tags-to-tag collision, (b) readers-to-tag collision and (c) readers-to-reader collision.
To date, there are many protocols for solving tags-to-tag collision problems that can be classified into two categories: Aloha-based probabilistic protocols6,7 and tree-based deterministic protocols.8,9 The Aloha-based protocols are mainly divided into pure Aloha (PA) protocol, 10 slotted Aloha (SA) protocol, 11 framed slotted Aloha (FSA) protocol 12 and dynamic framed slotted Aloha (DFSA) protocol. 13 The Aloha-based protocols estimate the quantity of unidentified tags in the interrogation zone of the reader and allocate an appropriate number of time slots to reduce probability of collision and then the tags randomly select a slot in the frame and transmit their information to the reader. If the transmission is collision, tags will repeatedly send their information in next frame until tags are identified successfully. However, Aloha-based protocols have the tag starvation problem due to the inaccurate frame size. When the number of tags is large and frame length is small, some tags may not be recognized for a long time. In contrast, the tree-based deterministic protocols such as binary search (BS) protocol, 1 collision tree (CT) protocol 14 and query tree (QT) protocol 15 do not cause tag starvation. In the tree-based protocols, only the tags of which IDs match the prefix will respond to the reader. If the transmission is collision, reader repeatedly divides the collided tags into two subsets until the number of tags in a group is only one, which can be identified successfully by the reader.
In this article, we propose a bit arbitration tree (BAT) anti-collision protocol to minimize the total number of slots, to speed up the identification and to increase the system efficiency in RFID systems. To the best of our knowledge, this article should be the first attempt to define two rules, characteristic-value-based grouping rule and collision bits rule, to infer bit string combinations and decrease idle slots and total number of slots. We analytically investigate the performance of the proposed protocol and compare it with existing protocols. Our simulation results demonstrate that the tag ID length is unrelated to system efficiency in the BAT protocol. And the proposed protocol performs much better in terms of system efficiency than QT, adaptive 4-ary pruning QT (A4PQT), 8-ary QT protocol and CT.
The rest of the article is organized as follows. Manchester coding and A4PQT are described in section ‘Related work’. The detailed design of BAT protocol and the operation flow of BAT protocol are presented in section ‘The BAT anti-collision protocol’. We analyse the experimental results and compare the proposed protocol with A4PQT, QT, 8-ary QT protocol and CT in section ‘Simulation and comparison’, and we make conclusions in the final section.
Related work
Manchester coding
Manchester coding is widely used for collision detection in tree-based protocols.14–18 The purpose of Manchester coding is to give an example to find where the collided bit is. In Manchester coding, the value of a bit is defined by the change in level within a bit window. The negative transition means a bit ‘0’, whereas the positive transition means a bit ‘1’. In an RFID system, if more than two tags transmit bits with different values, then the negative and positive transition will counteract. This result is impermissible in Manchester coding during data transmission. Therefore, the reader using Manchester coding will know collisions occurrence. Manchester coding makes it possible to find and identify the collision bits.
Figure 2 shows an example of Manchester coding. Assuming that tag 1, whose ID is 1000, and tag 2, whose ID is 1110. Since tag 1 and tag 2 transmit their IDs simultaneously, the decoded data from the signal received by reader is 1XX0 using Manchester coding, where ‘X’ represents a collision bit. That is, the collision bits are second and third.

Response of tags with Manchester coding.
Tag anti-collision protocols
Most of the existing tag anti-collision protocols can be classified into two categories. The first category is Aloha-based anti-collision protocols.19–23 Zheng and Kaiser 19 proposed two adaptive frame size Aloha protocols, in which the following frame size was adaptively changed according to the real-time collision rate in the current frame. Su et al. 20 investigated how to determine the optimality of the current frame size and proposed a detected sector-based DFSA. Liu et al. 21 designed a prefix-assisted FSA (PA-FSA) approach to improve the estimation accuracy of the traditional FSA. Solic et al. 22 proposed a tag number estimate method as the slot-by-slot based on frame-by-frame (FbF) estimate. Xie et al. 23 also proposed an ensemble sampling-based method to estimate the tag size for a number of categories and achieve time efficiency.
The second category is tree-based anti-collision protocols.15,24,25 In QT, 15 a reader sends a query including a prefix to tags. Tags respond with their IDs if the prefix is matched with their IDs. When a collision occurs, two new queries are generated by adding a ‘0’ and ‘1’ to the previous prefix. In order to alleviate tags from transmitting large number of bits, Landaluce et al. 24 presented an improved QT protocol, Query window Tree (QwT) protocol using a dynamic-size window. In 8-ary QT protocol, 25 a reader adds three bits to the collision query prefix and then generated eight query strings are sent to tags. 8-ary QT protocol reduces the collisions while increases the unnecessary inquiries. The above protocols can effectively solve the collision between tags, but they still have more unnecessary idle slots, and the performance needs to be improved.
A4PQT
A lot of researchers have proposed many protocols to improve the QT protocol. The A4PQT,
18
anti-collision protocol, which adaptively prunes the idle time slot branches based on the information of collision bits, is an improved protocol of QT protocol and 4-ary QT protocol. A reader broadcasts a query string as prefix to tags within its interrogation zone. The tag whose ID matches the prefix will transmit its remaining ID except the matched prefix to the reader. When a collision occurs, the reader only receives the first collision bit and subsequent one data bit of their IDs, and then updates query string. Supposed that the reader receives information from the response of tag is
If the
If the
If the
Therefore, the A4PQT can avoid some idle time slots. The total slots of A4PQT protocol is in the range of
In order to reduce some idle time slots the A4PQT brings, this article proposes a BAT anti-collision protocol, combining with the rule of collision bits to infer the transmitted bit strings. The improvement of BAT is that, by employing a designed grouping method and the collision bits, it decreases idle slots with corresponding characteristic bits to identify tags. Both theoretical and experimental results show that BAT can achieve better performance than A4PQT over system efficiency.
The BAT anti-collision protocol
Although QT, 8-ary tree protocol and A4PQT speed up the tag identification process, they still have unnecessary inquiries. To solve the problem, this article designs two rules: grouping rule based on characteristic value and the rule of collision bits, and proposes a novel method, BAT protocol. Our solution is compatible with the existing standard, EPCglobal specification. In BAT, tags are divided into two groups by grouping rule based on characteristic value, and transmitted bit string combinations are accurately determined using the rule of collision bits. Furthermore, the case that received bit string less than three bits is considered. BAT can reduce idle slots and total number of slots and thereby improve system efficiency.
Two rules definition
Binary systems use XOR, and we define ⊗ as the operator of XOR, then
If the tag ID is a fractal dimension, each of the three adjacent bits is one-dimensional (1D), that is, in a tag ID there are three successive bits
A reader has a stack, which is used to store the query prefixes using the first-in-first-out principle. Each tag owns two counters, GC and C. Since tags need battery to keep the value of those counters, our proposed BAT protocol is for active tags. Assume that a given tag
GC(
C(
Definition 1
Grouping rule based on characteristic value. If
Table 1 shows the specific groups based on this definition. From Table 1, we conclude that any two bits which execute an XOR operation is equal to the remaining bit in
Grouping example.
Definition 2
Rule of collision bits. If a reader receives a bit string
For example, if the reader receives a bit string as X1X in G0, it generates 110 and 011. If the bit string is in
Protocol description
Related protocol instructions are described as follows:
REQUEST(
REQUEST(PRE): a request command. Within the query process, the value of PRE has to be updated. Here, PRE is a query prefix. Tags respond if their prefixes are the same as PRE after receiving the command. And then they compute GC. When RFID reader broadcasts REQUEST(PRE), the responded tags transmit their GCs and remaining ID except PRE to the reader.
REQUEST(PRE,G): a request command. Here, PRE is also a query prefix and G denotes group number, 0 or 1. When an RFID reader broadcasts REQUEST(PRE,G), the tags of which IDs’ prefixes are the same as PRE respond and are divided into two groups according to definition 1, grouping rule based on characteristic value. And then tags in G send their remaining IDs except PRE to the reader.
PUSH(PRE): a read/write command. PRE, as a new prefix, is pushed to the bottom of the stack.
POP(PRE): PRE pulls from the top of the stack.
SELECT(ID): a select command to select a tag with the same ID.
READ
SILENCE: a silent command. The tag not responds to the newly queued queries in the tag identification process.
‘||’ represents a concatenation operation, such as 01 || 11 means 0111.
In this article, BAT protocol is proposed. When an RFID reader broadcasts REQUEST(PRE), these responded tags transmit their GCs and remaining ID except PRE to the reader. When no tag responds, it means that the group has zero tag, that is, an idle slot. When only one tag responds, the reader identifies the tag directly, and sends SELECT(ID) and READ
When two or more tags transmit signal at the same time, the reader can infer the bit string combinations based on the rule of collision bits. The reader receives decoded data and GCs of responded tags that stored in the reader’s counter RGC. In the decoded data,
C1. The bit string
C2. The bit string If the value of RGC at the reader has no collision, this means that the responded tags are in the same group, the reader obtains two kinds of bit strings according to the rule of collision bits and then sends PUSH(PRE || bit string). If the value of RGC at the reader indicates a collision, this means that the responded tags are in different groups, the reader obtains two kinds of bit strings in each of the two groups, respectively, based on the rule of collision bits, the reader then sends PUSH(PRE || bit string).
C3. The bit string If the value of RGC at the reader has no collisions, the reader obtains the corresponding four kinds of transmitting bit strings according to the group number and then sends PUSH(PRE || bit string). If the value of RGC at the reader indicates a collision, during the process the reader firstly broadcasts PUSH(PRE,0) and then broadcasts PUSH(PRE,1) to identify tags in different group.
Considering the case that received bit string less than three bits. When the reader only receives one bit, that is, a collision bit, this means that only two tags are collided. The reader then sends PUSH(PRE || 0) and PUSH(PRE || 1). When the reader receives two bits, the execution is similar to the mentioned operation previously under the condition that there just exists one collision bit; otherwise, PUSH(PRE || 00), PUSH(PRE || 01), PUSH(PRE || 10) and PUSH(PRE || 11) are sent by the reader.
All tags have been identified when the stack is empty and then the identification process is over. Otherwise, there is a query prefix pulling from the top of the stack, which is being used to update PRE.
Example for BAT
It is assumed that there are six tags: tag 1 (000110111), tag 2 (000110001), tag 3 (000010111), tag 4 (000100001), tag 5 (000010101) and tag 6 (101010110). The details of the identification procedure with BAT are shown in Table 2. Figure 3 shows the query tree structure using BAT. Their identification procedure can be described as follows:
First slot: At the beginning of this protocol, the reader broadcasts REQUEST(
Second slot: The reader pops the prefix 000 out from the stack and broadcasts REQUEST(000). Tags 1, 2, 3, 4 and 5 reply with their remaining IDs except 000 and the reader receives XX0XX1X, in which the bit string is XX0, and RGC is X. This means there are two groups of tags, thus the bit string combinations 000, 110, 010 and 100 are inferred. Then the reader executes PUSH(000000), PUSH(000110), PUSH(000010) and PUSH(000100).
Third slot: The reader sends POP(101) and then broadcasts REQUEST(101). Only tag 6 responds and is identified directly.
Fourth slot: The reader sends POP(000000) and queries unidentified tags by 000000. No tag replies and the slot is idle.
Fifth slot: The reader sends POP(000110) and then broadcasts REQUEST(000110). Tags 1 and 2 reply and the reader receives the bit string XX1, and RGC is 1. Combining with the RGC and the bit string, the reader infers the bit string combinations, which are 001 and 111, based on the rule of collision bits. Therefore, the reader executes PUSH(000110001) and PUSH(000110111).
Sixth slot: The reader sends POP(000010) and then broadcasts REQUEST(000010). Tags 3 and 4 respond and the reader receives 1X1. Then, the bit string is X1, in which the total number of bits is two less than three. Thus 0000101 is a new PRE. The bit string combinations 01 and 11 are inferred. Then, the reader executes PUSH(000010101) and PUSH(000010111).
In the 7th, 8th, 9th, 10th and 11th slot, tags 4, 2, 1, 5 and 3 respond, respectively, and then these tags are identified. The reader terminates the identification process when no prefix exists in the stack.
The identification procedure of six tags.

Example for BAT analysis.
Performance analysis
In an RFID system, the total number of slots for tag identification is an important parameter in the anti-collision protocol. Here, the total number of slots and system efficiency using BAT are improved. We now consider the query tree structure, as shown in Figure 4. Supposed that there are

Query tree structure.
Since the distribution is independent of each tag, the probability of that
The probability of an idle group, which means that the number of tags there is zero, is
The probability of identifying a group, which means that the group only has one tag, is
The probability of a collision group, which means that the number of tags is more than one in a group, is
where
Here,
Thus, the probability that the
where
The probability of a collision group is equal to the probability that each group of child nodes is not idle; therefore,
The average total number of slots
Then, the total number of time slots of BAT protocol is
According to the total time slots of BAT, we can obtain system efficiency
Figure 5 shows the comparison between simulation and analytical results of BAT in total time slots and system efficiency. It can be seen that the performance analysis results are highly accurate and close to the simulation.

Comparison of analysis and simulation results for BAT protocol: (a) total number of slots and (b) system efficiency.
Simulation and comparison
In this section, we compare BAT protocol with QT, 8-ary QT protocol, A4PQT and CT. The reasons that we select the four protocols for performance evaluation are as follows: first, QT is one of the typical tree-based protocols. And our proposed BAT protocol is based on QT. Both the protocols need stack to store query prefixes. Second, in 8-ary QT protocol, the query prefix is updated by increasing three binary bit, and BAT protocol also infers decoded data with three bits each time to speed up the identification process. Third, A4PQT is an improvement protocol of QT protocol and prunes the idle time slot branches based on the information of collision bits. If the reader receives the data that have two successive bits, A4PQT generates four new branches instead of cutting any branches, which produces additional two idle slots. To further decrease redundancy idle time slots, the BAT protocol utilizes the rule of collision bits to infer the transmitted bit strings accurately. Finally, BAT protocol with QT, 8-ary QT protocol, A4PQT and CT are not sensitive to the length of tag ID. Comparing with A4PQT, QT, 8-ary protocol and CT, the performance of our proposed BAT protocol is the best in terms of the total number of slots, the number of idle slots and system efficiency. These simulations are conducted and displayed in the following detailed description.
In our protocol, we consider an ideal transmission channel, without capture-effect and path-loss affects. The RFID system, running on a MATLAB 2012a simulation platform, consists of a single reader and numerous tags, and the number of tags is increased from 100 to 1000. To investigate the effects of tag ID length on system efficiency, Figure 6 shows the system efficiency under conditions that the tag ID lengths are 48, 96, 128, 256, 512 and 1024 bits, respectively. From Figures 7–9, the length of each tag ID is set to 96 bits.

System efficiency with different length of tag IDs.

Number of idle slots with different protocols.

Total number of slots with different protocols.

System efficiency with different protocols.
Figure 6 shows the system efficiency with different length of tag IDs for BAT and QT. From Figure 6, we can see that, when the tag ID length changes, the system efficiency of QT varies between 0.34 and 0.42 and the performance of BAT is stable at close to 0.55. Both QT and BAT utilize Manchester coding, the system efficiency of QT is affected by the changing of ID length, while in BAT protocol ID length has almost no influence on the system efficiency. In QT, the query prefix is updated by increasing one binary bit so that QT is influenced by the ID length. In BAT protocol, the reader receives bit string from the first collision bit, and uses different cases to identify tags depending on the number of collision bits. Besides, system efficiency is the ratio between the number of tags to be identified and the total time slots, and from equation (9), the tag ID length is unrelated to the total time slots. So the system efficiency is insensitive to the length of tag ID in BAT protocol.
Figure 7 shows that the number of idle slots in BAT is less than in A4PQT, QT and 8-ary protocol. Moreover, the effect becomes more obvious with increasing of
In QT, the reader inquires bit by bit, while in 8-ary QT protocol and BAT protocol the query prefix is updated by increasing three binary bits each time, which speeds up the identification process. A4PQT decreases some idle time slots compared with 8-ary protocol. And BAT protocol determines transmitted bit string combinations accurately and reduces more time slots than A4PQT. From Figure 8, it is seen that the total number of slots in BAT is much less than in A4PQT, QT, 8-ary protocol and CT. When the number of unidentified tags is 1000, the total number of slots in BAT protocol, A4PQT, QT, 8-ary protocol and CT are 1817, 2082, 2889, 3920 and 1999, respectively. Compared to the A4PQT, QT, 8-ary protocol and CT, BAT reduces the total number of slots effectively in a large-scale RFID system.
The system efficiency for identifying tags is used as the performance criterion. Figure 9 shows the system efficiency of BAT, A4PQT, QT, 8-ary protocol and CT, for identification of all tags. The system efficiency is equal to the ratio between the number of readable slots and the total number of slots. In BAT, A4PQT, QT, 8-ary protocol and CT, the number of tags to be identified is same. Therefore, the less the total number of time slots, the better the system efficiency. From Figure 9, we can see that the system efficiency of BAT is maintained at 0.55 and significantly better than A4PQT, QT, 8-ary protocol and CT. In the system efficiency, the second highest of these three protocols is CT, which tends asymptotically towards 0.5. The system efficiency of the 8-ary protocol is the lowest, at only 0.25.
Conclusion
In this article, we propose a large-scale tag identification protocol, called BAT anti-collision protocol, and design a characteristic-value-based grouping rule and a collision bits rule to infer the transmitted bit string combinations. Furthermore, we also take the scenario that the bit string less than three bits in the process of tag collection into consideration. Both theory and simulation analyses show that the tag ID length is unrelated to system efficiency in our BAT protocol. Besides, our proposed BAT protocol can achieve better performance on system efficiency, the number of idle slots and total slots than A4PQT, QT and 8-ary protocol. Specifically, when compared with A4PQT, the system efficiency of our proposed BAT protocol is improved by 12%.
