An Enhanced Collision Arbitration Algorithm Utilizing Fixed-Window Scheme in RFID System

—Portable readers, such as smartphones and handheld devices are becoming increasingly popular in a wide range of RFID applications due to the relatively easy and inexpensive way to collect data. In particular, tag collision in a passive RFID system is a serious problem causing performance degradation. Most anti-collision algorithms waste numerous transmitted bits while eliminating or reducing the idle and collision slots. In order to save the reader’s energy, it is inevitable to reduce both the number of query-response cycles and the transmitted bits as much as possible. In this study, an enhanced M-ary query tree (EMQT) algorithm was proposed. In order to restrict the length of bits transmitted by tags, a fixed-window scheme is applied to M-ary query tree algorithm which can perform multi-bit arbitration in each cycle without calculating and transmitting the window size in each query cycle. As a result of the simulation, the proposed algorithm is proved to be a considerably improved algorithm in energy and time savings, compared to the existing several tree-based algorithms.


INTRODUCTION
Radio frequency identification (RFID), a non-contact automatic identification technology through radio frequency signal, is vital to the implementation of Internet of Things (IoT). With the rapid development of IoT technology, RFID technology has been more and more useful in our life and industry [1][2][3]. In RFID systems, a tag collision, in which a reader cannot identify any tag, may occur when multiple tags try to respond to the reader at the same time. The occurrence of such collisions causes the tags to retransmit their messages in the subsequent query; therefore, it can not only elongate the tag identification time but also increase the energy consumption at the reader [1]. Therefore, the development of an efficient anti-collision algorithm is very critical and significant in the performance improvement of a passive RFID system.
Anti-collision algorithms can be classified into three broad categories: ALOHA-based, tree-based and hybrid algorithms. Although ALOHA-based algorithms have such advantages as simplicity and good performance, they have some disadvantages such as tag starvation problem in which tags cannot be identified for a long time, and they also suffer a considerable degradation of performance in large-scale systems. [1,2,14]. Tree-based algorithms make it possible to successfully identify all the tags in the interrogation area even when the number of tags is enormous [1][2][3][12][13][14][15][16][17][18][19][20][21]. Finally, hybrid algorithms combine the advantages of ALOHA-based and tree-based algorithms. Hybrid algorithms usually perform better at the expense of higher hardware and software complexity [2,7].
The bit-tracking technology based on Manchester code, which allows the reader to identify the locations of the collided bit, have been widely used in tree-based algorithms, such as collision tree (CT), k-Ary tree-based anti-collision scheme (k-TAS), M-ary query tree (MQT), dual prefix probe scheme (DPPS) and collision window tree (CwT) protocols. In general, the traditional tree-based algorithms such as query tree (QT) [12] and CT [14] generate two queries which differ only in the last bit and then transmit them one by one. Considering this feature, in DPPS, one query containing two prefixes which differ in the last bit is generated depending on the continuity of the first and second collided bits and transmitted, and two time-slots can be finally combined into one slot. As a result, the number of queries is considerably reduced, but a half idle slot occurs [15]. In k-TAS [16] and MQT [17], multi-bit arbitration is performed once per cycle using a mapping function; therefore, it can reduce the number of query cycles as compared to the binary tree algorithms. As a result of the comparison between several ALOHA-based and tree-based algorithms, k-TAS shows the best performance regarding the interrogation cycle and the time required for the identification of all tags [18].
Anti-collision protocols for active RFID systems considering energy efficiency have been proposed in several papers [8][9][10][11]. However, the energy consumed in the passive RFID systems has not yet been extensively studied. Recently, the increasing number of RFID systems that use handheld or portable devices requires the energy saving of the readers. In general, the reader's energy in passive RFID system consists of the energy to power up all the tags and the energy for the information exchange between reader and tags [1][2][3]20]. In order to save the reader's energy, it is inevitable to reduce both the number of query-response cycles and the transmitted bits as much as possible. However, most of the previous tree- based algorithms focus on the elimination or reduction of idle and collision slots. In recent years, the window-based protocols including query window tree (QwT) and collision window tree (CwT) are proved to be capable of limiting the length of tag response by using a bit-window methodology. Such an advantage of QwT and CwT is also accompanied by the increase of the number of query cycles due to the exploitation of a new slot type, go-on slot [3,[19][20][21].
In this study, we propose an enhanced M-ary query tree (EMQT) algorithm by applying a fixed-window scheme to MQT, focusing on a tree-based algorithm under the static environment in which the mobility of tags is not considered. The fixed-window scheme can effectively limit the length of the tag response, without calculating and transmitting the window size in each query cycle. In addition, the number of query cycles can be reduced than traditional window methodologies because the proposed algorithm is based on MQT which can perform the multi-bits arbitration. As a result of the comparison with the several existing tree-based algorithms, the proposed algorithm shows better performance mainly in terms of energy and time savings. The content of this paper is arranged as follows. Section 2 describes the MQT algorithm and bit window scheme. The EMQT algorithm is presented in Section 3. Section 4 shows the simulation results compared with the several existing tree-based algorithms. Finally, the conclusions are drawn in Section 5.

A. Bit Tracking and MQT Algorithm
At first, the bit-tracking technology is briefly explained for a better understanding of the proposed algorithm. Manchester coding has got very useful in the numerous algorithms for RFID tag identification because it can accelerate the identification process due to its capability of detecting the locations of collided bits [14][15][16][17]. In addition, this coding method is specified in the ISO/IEC 14443 standard. In detail, 0 and 1 are logically encoded by the positive and negative transitions of the voltage level, respectively. If the bits with different values (0 and 1) are transmitted simultaneously by more than two tags, the transitions (positive and negative) of the received bits do not conform to the coding rules as shown in Fig. 1; as a result, the location of collision bits can be detected. In the traditional tree-based algorithms including QT, CT and their variations, the combined response of tags is processed bit by bit.  If a collision is found in a bit, the reader splits the bit into 0 and 1 and re-interrogates with the two new queries. The overall identification process can be explained as a binary tree. MQT can perform m -bits arbitration at a time since it is based on the mapping function and Manchester coding, and the identification process can be expressed through M -ary tree ( 2 m M = ). The mapping table for 2 bits is shown in Table I. After receiving a reader's query, the tag compares the query prefix with its ID. If the comparison is true, the tag responds to the reader with its full ID except the same bit string as the prefix. At this time, the first m -bits of the response will be mapped into M -bits. In this paper, this type of query is called full-response query, designated simply as FRQ. M -bits string points out which child node of the M -ary tree the tag belongs to. According to the mapping part, which is combined M -bits string received by the reader, the reader can identify the locations of a '0' bit and a colliding bit. Such a '0' bit and a colliding bit indicate that the corresponding nodes are an empty node and a readable or collided node, respectively. Therefore, the reader generates new p (12 m p  ) sets of queries { 1 ,..., p qr qr }, where q is the received prefix, p is the number of collision bits in the mapping part, and p sets of m -bits string { 1 ,..., p rr } can be inversely mapped by using the mapping table or mapping function. An example of the 4-ary tree formed in the identification process of the MQT is illustrated in Fig. 2, and the communication procedure is shown in Table II. In the table, '*' denotes collision, and the bit string in parentheses indicates the combined M -bits string received in each time slot. In Fig.  2, '10' is an empty node. After receiving the query prefix '00', Tag A responds with (0100) 1000, and then the reader identifies Tag A because no collision occurs (#2 of Table II). The reader sends a query '01'. Tag B and C respond with (0010) 0111 and (0100) 1010, respectively, which produce (0**0) **1* (#3 of Table II). By using the previous prefix '01' and the mapping part (0**0), the reader generates two new queries '0101' and '0110' ( 2 p = , 1 01 r = and 2 10 r = ). After sending the queries (0101) and (0110) one by one, the reader identifies tags B and C, respectively (#4 and 5 of Table  II).  Finally, the reader identifies tag D by sending the query '11' (#6 of Table II). M -ary query protocol has two advantages over the conventional query trees: (i) dividing collision tags into not two but many subgroups ( M ) so that the total number of queries can be reduced and (ii) identifying empty nodes so that the idle slot can be eliminated.

B. Window Methodology
The QwT and CwT is the attractive methodology applying a bit window to QT and CT, respectively. CwT adopts the bittracking, while QwT utilizes the CRC in order to judge the status of the slot. The reader broadcasts a query prefix [ 1 L qq  ] with the length L by attaching the window size ( ws ) with the length of 2 [log ] 1 ws + bits. This bit string ws tells the tag how many bits they should respond, calculated in each query cycle. CwT has three possible slot statuses, as follows: • If at least one collision bit is detected, a collision slot happens. Then, the reader generates two new queries indicates the first collision bit in the window part.
• If no collision occurs as well as the condition L ws k + is satisfied, a go-on slot happens. Then, the reader generates a new query by attaching the received window to the previous prefix. The window size ws is recalculated using the heuristic function in Equation (1).
• If no collision occurs as well as the condition L ws k += is satisfied, a success slot happens. Then, the tag is identified subsequently.
Eq. (1) shows an exponential heuristic function, where  is an adjustable parameter and it is selected through experiments [18,19]. However, this benefit is accompanied by the increase of the numbers of slots and bits transmitted by the reader because the use of bit window forces this protocol to introduce a new type of slot, go-on slot, which is the additional slot to obtain the remaining part of tag ID. In addition, the window size needs to be recalculated in each query cycle, and the reader's query message contains the extra bit string to specify the window size [3].

A. System Transmission Model
Transmission model is defined according to the EPC global Class 1 Gen 2 Specification. [22]. Fig. 3 illustrates the link timing of the collision, go-on, and success slot. During the identification, time is divided into slots, and each slot begins with the reader's query commands. The reader transmits the continuous-wave (CW) RF signal and the query commands during the time R t . The tags harvest operating energy from this RF signal and transmit their messages. 1 T is the time duration from the finish of reader transmission to tag response, and 2 T is the time duration from the finish of tag response to the reader transmission.
According to the above transmission model, the time and energy model are described as follows. The time taken for identifying n tags in the interrogation zone consists of the time required for transmitting the reader's query and tag's response in each slot. Let c C , g C and s C denote the numbers of the collision, go-on and successful slots, respectively. The time to identify all tags can be written as follows.
where Ri T and Ti T refer to the time taken for transmitting the reader's query and tags' response in the th i slot, respectively. The energy consumption of the reader is expressed by Eq. (3) and calculated during the time of transmitting and receiving information. The reader will transmit the RF signal to power up passive tags with power tx P in each interrogation cycle. The reader will consume extra power rx P to receive a tag's response.

B. Fixed Window Scheme
In the tree-based algorithms, the collision probability of tag response is very high at the beginning of the identification process. Therefore, the transmission of the full ID except the same bit string as the received prefix causes a long identification delay. Moreover, the longer the tag ID is, the more the waste of the transmitted bits is. In MQT, both the M -bits mapping part and ID string are transmitted in each slot. The occurrence of a collision makes the M -bits string very useful but ID string wasted, and thus, the communication overhead is increased. In order to effectively limit the length of the tag response, the fixed-window scheme is applied to the MQT protocol with none-idle slot and m -bits arbitration feature, and it is named as EMQT.  The main feature of the fixed-window scheme is to keep the window size as a constant F (predefined in the system) before the occurrence of a go-on slot. If a go-on slot occurs, it just transmits the full tag ID. It is differentiated from the existing window schemes in which the window size is varied in each query cycle. As the length of query prefix increases, the number of the tags matched to the prefix also decreases, eventually resulting in the go-on slot that no collision is detected in the window part. Especially in MQT, since the collision tags are divided into many subgroups ( M ), the collision probability for the next query after the occurrence of the go-on slot is considerably reduced. Therefore, transmitting the whole remaining ID at a time is more efficient rather than obtaining the remaining ID by expanding the window size for several times. This query type is called window-response query (designated briefly as WRQ). The size of the fixedwindow affects the performance of the algorithm. If the fixedwindow size is large, the number of bits transmitted by the tag increases. In addition, the collision probability in the window part also increases, thereby reducing the occurrence probability of a go-on slot and resulting in an increased number of query-response cycles.
The fixed-window is defined as a bit string of the constant length that the tag should respond, and the length, F (1 F k L m   − − ), is a predefined parameter of the system, where k and L are the lengths of the tag ID and query prefix, respectively. Fig. 4 shows the communication procedure for the window-response query. The introduction of the windowresponse query into MQT allows the tag to transmit the mapping pattern and fixed-window part ( MF + bits), not the remaining bits of tag ID ( kL − bits). Fixed-window scheme changes the creation process of the collision and success slot. If no collision occurs in the combined window bit string as well as the condition L m F k + +  is satisfied, a go-on slot situation, which would result in a success slot but may not be a success, is produced. In this case, they need to be re-queried until a success slot condition L m F k + + = is guaranteed. When there is no collision in the window part, the window part is directly appended to the prefix in the same way as in CT, and therefore the total query-response cycles can be reduced.

C. Proposed Algorithm
EMQT utilizes two types of the query: window-response query (WRQ) and full-response query (FRQ), and their messages contain a query prefix [ 1 L qq  ], indicating to the tags whether to respond or not. The pseudo-codes of the reader and tag are shown in Algorithms 1 and 2, respectively. The identification procedure is executed until all the tags in the reading area are identified. The query is initialized with type = WRQ and prefix = 'ε'. The reader broadcasts a query message and waits for the response from the tags. After receiving the reader's query, the tag compares the prefix with its ID . If collision bit is not detected in the received bit string except for the mapping part as well as the query type is FRQ, success slot happens, and the reader identifies p tag IDs (lines 16-21 in Algorithm 1). Table III illustrates an identification process of EMQT algorithm. In this example, we assume that there are four tags (A, B, C and D), the IDs of which are (000001100011), (001011101010), (110100011110) and (111100111111), respectively, where 2 m = and 2 F = . In Table III, '*' denotes collision, and the bit string in parentheses indicates the mapping part received by the reader. When the reader broadcasts a query WRQ (ε), all tags respond with their mapping parts (0001, 0001, 1000 and 1000) and window parts (00, 10, 01 and 11), respectively. At this time, the mapping part and window part received by the reader is (*00*) and '**', respectively. Because the collisions are detected in the window part, the reader retrieves two m -bits (00 and 11) by using mapping table and then generates two query commands WRQ (00) and WRQ (11). In #2 of Table  III, the reader sends a query WRQ (00); as a result, Tag A and B respond with (0001) 01 and (0100) 11, respectively. Since a collision occurs in the window part, the reader retrieves two m -bits (00 and 10) from the mapping part (0*0*) and then prepares two new queries WRQ (0000) and WRQ (0010). In #3, Tag A transmits (0010) 10 after receiving the query WRQ (0000). Since there is no collision bit in the window part, goon slot status is satisfied. Then, the reader sends FRQ (00000110), Tag A finally is identified. Other tags are also identified in the same way.
In order to simplify the theoretical analysis, we consider a particular type of M -ary tree similar to the perfect M -ary tree. In this tree, all internal nodes except the parent-of-leaf nodes have M children, and each parent-of-leaf node has only one leaf node, and all leaf nodes are in the same depth.  The root node is in the depth of 0 and the number of the internal nodes at a depth of h is 2 mh . The parent-of-leaf nodes are in depth H ( 1,2,3...

H =
). Therefore, the parent-ofleaf node corresponds to the go-on slot, while the leaf node corresponds to the success slot. If tag IDs are uniformly distributed, the tree constructed by the distribution may be similar to this particular tree in shape. The number of bits transmitted on the collision and go-on slot is: The number of bits transmitted on the success slot can be written as follows: ( Thus, the total number of bits transmitted by the tag can be expressed as given in Eq. (7).
The finite sum of exponential terms can be computed as The average tag transmitting bit for one tag identification in EMQT is From Eq. 10, we can see that the number of bits transmitted by tag decreases as the number of tags increases (the depth of the tree increases as the number of tags increases). In particular, the number of bits transmitted by tag is close to the length of tag ID when 2 m = and 1 F = . IV. RESULTS AND DISCUSSION This section presents the simulation results of the proposed algorithm using Visual Studio 2013 and Qt 5.5.0. A comparison between EMQT algorithm and several tree-based algorithms including CT, QwT, CwT, MQT and DPPS is presented here. The algorithms are compared in a scenario with one reader and a set of tags varying from 200 to 2000 tags. Tag IDs are unique for each tag, uniformly distributed and have the length of 128 bits. The simulation is performed 100 times for accuracy. Also, it should be noted that some overheads are not considered in this simulation due to the communication latency and the propagation delay from the signal processing on the channel. Table IV shows the parameters used in the simulations. Tari is the duration of a bit '0', which is set as 6.25µs and it influences the other parameters. To simplify the calculation, bits 0 and 1 have been considered as 1 Tari. In CwT, a quadratic function is used as a heuristic function, and the adjustable parameter  is set as 125 [6].
In order to validate the proposed algorithm, the parameters, m and F needs to be adjusted since they influence the number of query cycles and the bits transmitted by tag. This observation is carried out for the different m and F , a set of tags ( 128 k = and 1000 n = ). Fig. 6 shows the number of slots and the average number of bits transmitted by the reader and tag. Fig. 7 shows the energy and time consumed to identify one tag. As can be observed from Figs. 6 and 7, as F increases the value of all performance metrics increases. In addition, when 4 m = , the number of slots is smaller than when 2 m = while the number of total transmitted bits, energy cost and identification time are larger. From the observation above, we can see that the proposed algorithm gives the best performance for 2 m = and 1 F = , thus these parameters are used in later simulations.
Figs. 8 and 9 show the average slots and the number of bits transmitted by the reader to identify a given number of tags, respectively. From the figures, we can see that DPPS consumes the least slots. Meanwhile, the window-based protocols (QwT, CwT and EMQT) require more query cycles and reader bits than other algorithms because they introduce the go-on slot that is the additional slot to obtain the last part of the tag ID. In addition, EMQT consumes fewer slots and reader bits than QwT and CwT does. It is because that EMQT applies the window scheme to MQT which can perform the multi-bits arbitration at a time. As can be seen in Fig. 10, EMQT algorithm outperforms the other compared algorithms as regards to the number of bits transmitted by tags. More specifically, as described in Eq. 10, when the number of tags increases, the average number of tag transmission bits decreases. Moreover, when 2000 n = , the average number of bits transmitted by tag is 129.6, which is close to the length of tag ID. The bit efficiency for the different set of tags, shown in Fig. 11, is defined as the percentage ratio of the tag ID length to the number of total transmitted bits per tag. The bit efficiency means the usefulness of tag responses and the influence of the collision and go-on slots. As can be observed from the figure, EMQT achieves the highest bit efficiency for all the set of tags, and it is about 79.1% when the tag number is 2000.

International
The time and energy required to identify all tags in the interrogation area are calculated by using Eqs. 2 and 3. and DPPS, respectively. Therefore, the proposed algorithm not only achieves a higher identification speed but also saves energy consumption under the same conditions. The window-based algorithms require far fewer tag bits than the other compared algorithms do (Fig.  10). However, QwT shows the worst trend in the aspect of energy cost (Fig. 13) because of requiring a large number of query cycles (Fig. 8). Similarly, DPPS requires the smallest number of query cycles but shows the worst performance in terms of identification time and energy cost since it transmits the numerous numbers of tag bits. Therefore, it can be said that reducing the number of tag transmission bits is also important and significant in the saving of the reader's energy.
There are still some issues to be resolved in our future work. Although the proposed algorithm has improved the performance of MQT with the introduction of fixed-window, it still suffers from a large number of slots (go-on slot). Our future work will focus on the minimization of the number of slot numbers. In addition, the effect of various tag ID distributions needs to be investigated.
V. CONCLUSION In this paper, an efficient anti-collision algorithm called EMQT was proposed. EMQT was designed by applying a fixed-window procedure to the MQT algorithm in order to limit the number of bits transmitted by tags. The proposed algorithm was compared with the existing several tree-based algorithms as regard to relation to the number of slots, transmitted bits, consumed energy and identification speed. Simulation results showed that EMQT outperformed them in terms of identification speed under low energy consumption. Therefore, EMQT can be a suitable candidate where energyefficiency is sought in the large-scale passive RFID system.