Performance Evaluation of Anti-Collision Algorithms for RFID System with Different Delay Requirements

The main purpose of Radio-frequency identification (RFID) implementation is to keep track of the tagged items. The basic components of an RFID system include tags and readers. Tags communicate with the reader through a shared wireless channel. Tag collision problem occurs when more than one tag attempts to communicate with the reader simultaneously. Therefore, the second-generation UHF Electronic Product Code (EPC Gen 2) standard uses Q algorithm to deal with the collision problem. In this paper, we introduce three new anti-collision algorithms to handle multiple priority classes of tags, namely, DC, DQ and DCQ algorithms. The goal is to achieve high system performance and enable each priority class to meet its delay requirement. The simulation results reveal that DCQ algorithm is more effective than the DC and DQ algorithms as it is designed to flexibly control and adjust system parameters to obtain the desired delay differentiation level. Finally, it can conclude that the proposed DCQ algorithm can control the delay differentiation level and yet maintain high system performance. Keywords—RFID; Anti-collision; Q algorithm; Priority


I. INTRODUCTION
Radio-frequency identification (RFID) uses radiofrequency electromagnetic fields to identify and track the objects [1].The RFID system consists of tags and readers.The tags connect with the readers through a communication channel.During the identification process, each tag sends its identification (ID) code with a probability specified by a system to RFID reader.The EPC Gen 2 air-interface protocol [2][3] employs an anti-collision protocol called Q algorithm [4][5][6][7].In the Q algorithm, each tag randomly selects an integer from the specified range [0, 2 Q -1].Fig. 1 demonstrates the flow chart of the Q algorithm.This algorithm defines a floating-point representation of Q, Q f p , and a fixed step size, C. The RFID reader adjusts the Q f p parameter based on the current slot state and then Q f p is rounded to the nearest integer value, Q.When the collision [8] happens in the current slot, Q f p increases by C. On the contrary, Q f p decreases by C when the current slot is idle.The value of Q f p remains unchanged when only one tag accesses the current slot.Nevertheless, the standard Q algorithm is not designed to support the RFID system with different delay requirements.Example of RFID system with different delay requirements is Automatic Vehicle Identification (AVI) system [9][10][11][12][13][14].In the Automatic Vehicle Identification system, the tags that are attached to the emergency vehicles such as ambulances and fire trucks [15][16][17][18][19] needed to be identified before the other vehicles.
Therefore, the new anti-collision algorithms, DC, DQ and DCQ, which are suitable for the RFID system with different classes of tags, are developed.The purpose of these algorithms is to prioritize delay sensitive tags over the less sensitive tags while maintaining high system performance.
The paper is structured as follows.In section II, we shall describe the details of DC, DQ and DCQ algorithms.The results and discussion are presented in Section III.Finally, the conclusion is given in Section IV.

II. PROPOSED ANTI-COLLISION ALGORITHMS
In this paper, we modified the Q algorithm to the anticollision algorithms that are capable of handling multiple priority classes, namely, DC, DQ and DCQ algorithms.predefined step size C is set equally for all tags.Therefore, if the system supports tags with different priority classes, it is more suitable to set different predefined step sizes to different priority classes.This anti-collision algorithm is referred to as Different values of C (DC) algorithm.The order of Q parameter update operations of this algorithm is the same as the Q algorithm, except that the step size values for priority classes 1 and 2 are equal to C 1 and C 2 , respectively.

B. DQ algorithm
This algorithm is modified from the Q algorithm.In the Q algorithm, the initial value of Q f p is equal to 4.0 and the value of C is equal to 0.1 [20].This algorithm allows the tags with different priority classes to employ different initial values of Q f p .Therefore, this anti-collision algorithm is referred to as Different initial values of Q f p (DQ) algorithm.Fig. 3 demonstrates the approaches for the DQ algorithm to adjust the Q f p values for different priority classes.The DQ algorithm follows the same steps as the Q algorithm, except that the initial values of Q f p for priority classes 1 and 2 are equal to Q 1 and Q 2 , respectively.This means that the initial frame lengths for priority classes 1 and 2 are equal to 2 Q1 and 2 Q2 , respectively.

C. DCQ algorithm
This algorithm is obtained by combining the DC and DQ algorithms.In this algorithm, the system performance is achieved by assigning different values of C 1 , C 2 , Q 1 and Q 2 according to its delay requirement.This more flexible algorithm will be referred to as Different values of C and initial Q f p (DCQ) algorithm.
The procedure of adjusting the values of Q f p can be seen in Fig. 4. The Q parameter update operations of DCQ algorithm are the same as the Q algorithm, except that the step sizes for priority classes 1 and 2 are equal to C 1 and C 2 , respectively and the initial values of Q f p for priority classes 1 and 2 are equal to Q 1 and Q 2 , respectively.

III. RESULTS AND DISCUSSION
For convenience, these notations will be used in the following discussion.R 21 = the ratio between the average identification time of priority classes 2 and 1.
P c = the probability of collision.P i = the probability of idle.P c and P i can be calculated from all iterations as follows: where N s , N c and N i are number of success slots, number of collision slots and number of idle slots, respectively.Note that we define the priority class 1 tags to have higher priority than the priority class 2 tags and the total number of tags is fixed at 16 for all results.

A. Performance of DC algorithm
We will now discuss the performance of DC algorithm.Fig. 5 demonstrates the average identification time for all tags under different combinations of N 1 and N 2 .In the figure, the values of C 1 and C 2 vary from 0.1 to 0.5.It can be seen that the average identification time for all tags tends to increase with the values of C 1 and C 2 .The performance degradation is due to an excessive number of collisions, as evident in Fig. 6.Furthermore, we found that the values of C 1 and C 2 should be small in order to achieve better delay performance.Fig. 6 illustrates the relationship between the probability of collision and the values of C 1 and C 2 .It can be noticed that the probability of collision rises as C 1 and C 2 increase.In case of N 2 > N 1 , the increment of C 2 can cause more drastic effect on the probability of collision compared to the increment of C 1 .In contrast, in case of N 1 > N 2 , the increase of the value of C 1 has more of an impact on the probability of collision than the increment of C 2 .Fig. 7 shows the probability of idle as a function of C 1 and C 2 .It can be seen that the probability of idle tends to decrease with the values of C 1 and C 2 .In case of N 2 > N 1 , the increment of C 2 can cause more effect on the probability of idle compared to the increment of C 1 .On the other hand, in case of N 1 > N 2 , the rise of C 1 has more impact on the probability of idle compared to the increase of C 2 .
Figs. 8 and 9 illustrates the average identification time for priority class 1 and 2, respectively under different combinations of N 1 and N 2 .It can be noticed that the average identification time for priority class 1 tends to increase with the values of C 2 , whereas the average identification time for priority class 2 tends to increase with the values of C 1 .
When the ratios of N 1 and N 2 increase, similar results to that of N 1 =4 and N 2 =12 are observed.However, the ranges of the average identification time for priority class 1 become narrower than the previous case with N 1 =4 and N 2 =12.On the other hand, the ranges of the average identification time for priority class 2 become wider than the previous case with N 1 =4 and N 2 =12.Fig. 10 displays the average identification time ratio between priority classes 2 and 1 (R 21 ) as a function of C 1 and C 2 .The results for the average identification time ratio between priority classes 2 and 1 are similar to those of the average identification time for priority class 2. However, when the ratios of N 1 and N 2 are increased, no significant changes are observed in the average identification time ratio between priority classes 2 and 1. Fig. 11 shows the relationship between the average identification time for all tags and R 21 .We can see from the results that the DC algorithm has weakness in controlling R 21 , as there are a limited number of feasible values of R 21 .In case of N 1 =4, N 2 =12, the values of R 21 lie between 0.8 and 1.4.Consider Fig. 11(b) where N 1 =8, N 2 =8, it can be seen that the values of R 21 are limited to the range between 0.76 and 1.32.Fig. 11(c) reveals that when N 1 =12, N 2 =4, the values of R 21 vary between 0.7 and 1.26.

B. Performance of DQ algorithm
to increase with the increment of Q 1 and Q 2 .When both Q 1 and Q 2 increase up to 15, the maximum average identification time for all tags is reached.The performance degradation is due to an excessive number of idle slots, as evident in Fig. 14.
Moreover, it is found that, at small values of Q 1 and Q 2 the average identification time for all tags decreases with the values of Q 1 and Q 2 .This is simply because when the values of Q 1 and Q 2 are small, the number of all tags is relatively much higher than the number of available slots.In this scenario, collision will most likely be difficult to avoid.Therefore, an increase in the values of Q 1 and Q 2 can help reduce the number of collision slots and thus improving the system performance.When Q 1 and Q 2 increase up to a certain value, the minimum average identification time for all tags is attained and the values of Q 1 and Q 2 at this point will be referred to as the appropriate values of Q 1 and Q 2 .When Q 1 and Q 2 further increases, the average identification time for all tags begins to increase and eventually reaches the maximum average identification time for all tags when Q 1 and Q 2 = 15.Table 1 summarizes the appropriate values of Q 1 and Q 2 for various combinations of N 1 and N 2 .It is very interesting to see that the appropriate values of Q 1 and Q 2 for all different combinations of N 1 and N 2 are equal to 4 and 4, respectively.Fig. 13 demonstrates the probability of collision as a function of Q 1 and Q 2 .The probability of collision tends to decrease with the increment of Q 1 and Q 2 .This is as expected  because when the initial frame lengths for priority classes 1 and 2 increase, a lot of time the slots are idle.This results in the reduction of the probability of collision.Moreover, the maximum probability of collision is obtained when the value of Q 1 and Q 2 are both equal to 1.This is not surprising because when Q 1 and Q 2 are both equal to 1, the initial frame lengths for priority classes 1 and 2 are both equal to 2. In this scenario, collisions are difficult to avoid because the number of priority class 1 and 2 tags are relatively much higher than the initial frame lengths.
Fig. 14 shows the relationship between the probability of idle and the values of Q 1 and Q 2 .It can be noticed that the minimum probability of idle is reached when the values of Q 1 and Q 2 are both equal to 1.This is as expected because when the initial frame lengths for priority classes 1 and 2 www.ijacsa.thesai.org are both equal to 2, all tags contend against each other in the contention slots and suffer from collisions.Furthermore, it can be seen that the probability of idle tends to increase as Q 1 and Q 2 increase.This is because when the initial frame lengths for priority classes 1 and 2 are large, the tags do not access the slots often enough and results in the increment of the probability of idle.
Fig. 15 displays the average identification time for priority class 1 under different combinations of N 1 and N 2 .It can be noticed that the average identification time of priority class 1 increases with the value of Q 1 .This is because the increment of the initial frame lengths for priority class 1 will increase the number of idle slots and result in the increase of the average identification time for priority class 1 tags.
In addition, the average identification time of priority class 1 decreases with the value of Q 2 .This is because the increment of the value of Q 2 will reduce the number of accesses from priority class 2 tags in the early slots and results in the increase of the probability of success of priority class 1.Similar results are shown in Fig. 16.In this figure, the average identification time of priority class 2 increases with the value of Q 2 and decreases with the value of Q 1 .
Consider Fig. 17 that shows the average identification time ratio between priority classes 2 and 1 using different values of Q 1 and Q 2 .As we can see, the average identification time ratio www.ijacsa.thesai.org between priority classes 2 and 1 increases with the value of Q 2 .This is because when Q 2 is large, the priority class 2 tags do not access the slots frequently enough in the early slots.This results in the increment of the average identification time of priority class 2 and the decrement of the average identification time of priority class 1.In case of N 1 =4, N 2 =12, the maximum average identification time ratio between priority classes 2 and 1 is reached with Q 1 = 2 and Q 2 = 15.When the combinations of N 1 and N 2 are equal to N 1 =8, N 2 =8 and N 1 =12, N 2 =4, the maximum average identification time ratios between priority classes 2 and 1 are reached with Q 1 = 3 and Q 2 = 15.In addition, the ranges of the average identification time ratio between priority classes 2 and 1 become narrower than the previous case with N 1 =4 and N 2 =12.
Fig. 18 shows the relationship between the average identification time for all tags and R 21 .We can see from the results that there are many different possible values of R 21 .However, DQ algorithm cannot control the values of R 21 to obtain the desired integer values.Furthermore, it can be noticed that the values of Q 1 and Q 2 are important parameters affecting the system performance.Therefore, care must be taken in choosing the values of Q 1 and Q 2 .As can be seen from Fig. 19, the average identification time for all tags tends to rise as R 21 increases.This can be explained as follows.In order to achieve high R 21 , the system has to increase the average identification time of priority class 2 tags.This results in high average identification time for all tags.Moreover, it can be observed that when the ratios of N 1 and N 2 increase, the ranges of R 21 become narrower than the case with N 1 =4 and N 2 =12.

D. Performance comparison of the proposed algorithms and the existing known algorithm
In this section, we compare the performance of all proposed algorithms and the existing known algorithm namely Q algorithm, as illustrated in Fig. 22.In the Q algorithm, all tags have the same priority and the system parameter settings of the Q algorithm are given in the Table 2.Note that the results of the DCQ algorithm are obtained by using the appropriate system parameters.As we can see, at R 21 = 1, no difference between two classes, the DC, DQ and DCQ algorithms give the same result as the Q algorithm and the minimum average identification time for all tags of 23.73 can be reached.However, when R 21 > 1, it can be observed that the identification time for all tags increases as R 21 increases.This is because the system has to limit the success rate of service class 2 tags in order to obtain the desired high R 21 and results in overall performance degradation.It is important to note that we are not interested in the case when R 21 < 1 because we have defined the priority class 1 tags to have higher priority than the priority class 2 tags.
In addition, it can be noticed that the DCQ algorithm offers relatively superior performance.This is because in the DCQ algorithm, it is possible to adjust the values of C 1 , C 2 , Q 1 and Q 2 simultaneously.On the contrary, in the DC algorithm, we can adjust only the values of C 1 and C 2 whereas in the DQ algorithm, only Q 1 and Q 2 can be adjusted.For these reasons, the DCQ algorithm is more flexible and hence potentially leading to more effective.However, when the ratios of N 1 and N 2 are increased, the ranges of R 21 become narrower than the case with N 1 =4 and N 2 =12.

IV. CONCLUSION
In this paper, we have presented three new anti-collision algorithms for RFID system with different delay requirements.Through the simulation results, we found that the minimum average identification time for all tags can be reached when there is no difference between two priority classes.In this case, the DC, DQ and DCQ algorithms become the Q algorithm.Moreover, we can conclude that the values of C 1 , C 2 , Q 1 and Q 2 are the important parameters that must be set appropriately for different system loads, so that the system can control the delay differentiation level and yet maintain high system performance.When comparing between all proposed algorithms, we found that the DCQ algorithm is more effective and flexible in adjusting the system parameters to meet the delay requirement than the DC and DQ algorithms.This is an essential step toward the design of anti-collision algorithms that support the RFID system with different delay requirements.

Fig. 1 .
Fig. 1.Approach for the Q algorithm to adjust the parameter Q f p .

Fig. 2 Fig. 2 .
Fig. 2 illustrates the flow chart of DC algorithm.In this flow chart, when the collision happens, Q f p of the priority class 1 tags increases by C 1 whereas Q f p of the priority class 2 tags increases by C 2 .When the current slot is idle, the values of Q f p for the priority class 1 and 2 tags decrease by C 1 and C 2 , respectively.

Fig. 3 .
Fig. 3. Approaches for the DQ algorithm to adjust the Q f p values for different priority classes : (a) class 1 tags (b) class 2 tags.

Fig. 4 .
Fig. 4. Approaches for the DCQ algorithm to adjust the Q f p values for different priority classes : (a) class1 tags (b) class2 tags.

Fig. 12 Fig. 5 .Fig. 6 .
Fig. 12 shows the average identification time for all tags as a function of Q 1 and Q 2 under different combinations of N 1 and N 2 as the values of Q 1 and Q 2 vary from 1 to 15.It can be seen that the average identification time for all tags tends www.ijacsa.thesai.org525 | P a g e

TABLE I .
APPROPRIATE VALUES OF Q 1 AND Q 2 .

TABLE II .
SYSTEM PARAMETER SETTINGS OF Q ALGORITHM