Int. J. Electron. Commun. (AEÜ) 67 (2013) 256–262
Contents lists available at SciVerse ScienceDirect
International Journal of Electronics and Communications (AEÜ) journal homepage: www.elsevier.com/locate/aeue
Improved RFID anti-collision algorithm Mustapha Djeddou ∗ , Rafik Khelladi, Mustapha Benssalah Military Polytechnic School, Communication System Laboratory, BP 17 Bordj El Bahri, 16111 Algiers, Algeria
a r t i c l e
i n f o
Article history: Received 30 November 2011 Accepted 19 August 2012 Keywords: Radio frequency identification (RFID) Anti-collision algorithm Binary search algorithm
a b s t r a c t In this paper, we propose an improved anti-collision technique based on the binary search algorithm. The improvement is achieved thanks to the manner of the requests’ building. This latter reduces considerably the responding tag’s numbers and therefore, decreases the probability of bit’s collision. Further, the algorithm provides a noticeable advantage for the length of transmitted binary data compared against basic binary search and dynamic binary search algorithms. Besides, it provides same performance in terms of average request’s number making the identification process faster, and the expose time of information is then reduced. © 2012 Elsevier GmbH. All rights reserved.
1. Introduction Radio-frequency identification (RFID) is a generic term used to describe a system that transmits the identity of an object or a person wirelessly, using radio waves. Nowadays, RFID technologies are applied to various fields such as transportation, medical treatment, smart card, attendance system, item tracking, and supply-chain management [1]. The RFID system is divided into two parts: reader or interrogator and tag or transponder. The RFID system works as follows: the reader launches a continuous RF wave through the antenna, when tags pass in the reader range, they respond to the reader wirelessly by sending the data stored on them. The presence of more than one tag in the reader range is a source of collision as they communicate simultaneously their identification identities [2]. This causes the inability of the reader to identify tags correctly and rapidly [3]. Indeed, this collision problem is called tag collision, and the resolution algorithms are called anti-collision algorithms [4]. Anti-collision techniques for multiple tag identification are generally divided into two main algorithms: binary-tree-based deterministic algorithm and slot aloha-based probabilistic algorithms [2,5]. The former builds a tree with tag identifiers expressed in binary bits and identify tags by browsing through the nodes in the tree. For algorithms based on ALOHA protocol, each tag in a reader’s identification area selects one of the given N slots to transmit its identifier; all tags will be recognized after a few frames [6,5]. In this paper, we consider only the binary tree algorithm. The design concept of our improved anti-collision algorithm is derived from the basic binary search algorithm (BSA). However, our scheme uses two-bit arbitration collision for request
∗ Corresponding author. Tel.: +213 555 475 704; fax: +213 218 634 69. E-mail addresses:
[email protected] (M. Djeddou),
[email protected] (R. Khelladi),
[email protected] (M. Benssalah). 1434-8411/$ – see front matter © 2012 Elsevier GmbH. All rights reserved. http://dx.doi.org/10.1016/j.aeue.2012.08.009
building instead of adopting one-bit arbitration collision and bit by bit identification. This scheme can suitably decrease the number of responding tags to a request, and therefore, decreases the probability of collision bits and increases the identification speed. This paper is organized as follows: in Section 2, we describe the existing anti-collision algorithms; the basic and dynamic binary search algorithms (BSA and DBSA). Further, we review in some details the proposed algorithm. Section 3 is devoted to present the simulation results. Finally, concluding remarks are drawn in Section 4.
2. Tree-based algorithms The Manchester coding is used in the tree based algorithm to find and identify the collision bits. This happens in the situation where more than two tags respond simultaneously to the reader. As shown in Fig. 1, when the tag A, with ID = 1100, and tag B, with ID = 1010, return their digit bit at the same time, the rising edge and falling edge will counteract. This results in no statement changes so as the reader will know that collisions occur at the second and third bits [3,4]. The method principle of a tree-based algorithm consists in browsing through all possible nodes in the tree, and tags will be divided into two subsets when collision bit is detected. Tags in the first subset transmit in the next time slot but tags in the other subset wait until the collision of the first subset of tags is completely resolved [7]. Fig. 2 sketches the method throw an example. For simplicity, we suppose having four tags in the field. Assuming the first bit is collided, tags are divided into two subsets; the first subset contains tags with 0xx as ID and the second one contains tags with 1xx. Then, the tag 011 is selected, but another collision is detected when 1xx is tested. We repeat this procedure until all tags are identified [3].
M. Djeddou et al. / Int. J. Electron. Commun. (AEÜ) 67 (2013) 256–262
257
Fig. 1. Manchester coding.
Among the tree based algorithms, we use the basic BSA and the DBSA algorithms for comparison with our proposed algorithm. 2.1. Basic and dynamic binary search algorithm The steps of the algorithm are given through an example depicted in Fig. 3. 1. Assuming that the binary electronic product code (EPC) or the identification code (ID code) length is set to 8 bits, with the format D7 D6 D5 D4 D3 D2 D1 D0 . The reader sends a string of ones (11111111) as the first request. Then, the existing tags in reader range compare their code information to the request serial numbers from the reader. The tags, with binary code numbers less than or equal to the request serial numbers, will respond by their code information to the reader. As shown in Fig. 3, all tags T1 , T2 , T3 and T4 respond to the reader’s request, where the collision occurs. 2. According to the Manchester coding, the reader receives EPC data as 101xx1x1, where D4 , D3 and D1 are the collision bits. In what follows, the two algorithms will be distinguished.
Fig. 2. Principle of tree-based algorithm.
• For the next request of the basic BSA, the highest collision bit D4 will be set to zero. Bits before D4 keep their original values, D7 D6 D5 D4 = 1010, and the remaining bits after D4 are set to one D3 D2 D1 D0 = 1111. The reader’s following request, which is 10101111, will be sent. The tags, with binary code numbers less than or equal to these request numbers, will send back their ID to the reader. From Fig. 3, tags T1 and T3 respond. We repeat using the second process until one tag responds. So, only tag T1 responds to the reader’s request (10100111). Because no collision occurs, tag T1 is identified and locked on not responding to the reader’s request command. Once T1 is recognized; the reader will directly get (10101111) for next request command to identify the tag T3 , as illustrated in Fig. 3. • For the DBSA, the highest collision bit D4 will be set to zero, bits before D4 keep their original values, that is D7 D6 D5 D4 = 1010. This last serial number forms the reader next request to be sent identifying the remaining tags. Only the tags having their ID equal to the request shall transmit their remaining bits of
Fig. 3. Example of the basic BSA and DBSA algorithms.
258
M. Djeddou et al. / Int. J. Electron. Commun. (AEÜ) 67 (2013) 256–262
Fig. 4. Improved algorithm’s flow chart.
their binary ID code. From Fig. 3, tags T1 and T3 respond with last four bits. We repeat using the second process until one tag responds. Only tag T1 responds and returns last three bits (111) to reader’s request (10100). Because no collision occurs, reader composites the request command 10100 with returned bits and identifies the tag T1 EPC as 10100111. Tag T1 is identified and locked on to not responding to the reader’s request command. Once T1 is recognized; the reader uses the request before (1010) to identify the tag T3 , as illustrated in Fig. 3. 3. After reading tag T3 successfully, operations 1 and 2 are repeated until identifying all the tags [4,8]. 2.2. The improved algorithm
2. The collision will occur when the number of tags is greater than two tags. The reader can recognize the collision bit’s position thanks to the Manchester coding. The first and the second highest collision bits can take four possible values, which are 00, 01, 10 and 11. Bits after the second collision bit are set to 1; the remaining bits keep their original value. The tags with binary code numbers less than or equal to these request numbers will send back their tag ID to the reader. When the collision number is equal to 1, the basic binary search process will be used. We repeat using the second process until one tag responds. The selected tag will be identified and locked on not responding to the reader’s request command. Fig. 4 shows the flow chart of our improved algorithm.
In this subsection, we propose our improved algorithm based on the BSA algorithm. 2.2.1. Algorithm’s basic step The algorithm proceeds as follows: 1. Assuming that the binary EPC length is n bits, the reader sends
n
the first request that is a string of ones {111 . . . 111}, and the tags, lying in reader range, compare their code information to the request serial numbers from the reader. Only tags with code numbers less than or equal to the request serial numbers will respond by their code information to the reader. In this case, all tags respond to the request reader.
2.2.2. Example of the algorithm We apply the proposed algorithm to the same previous example, where four tags exist in the reader’s range where the binary EPC length is set to 8 bits, as shown in Fig. 5. • First step: the reader sends the request (11111111) command, then tags T1 , T2 , T3 and T4 respond. The reader reads EPC data as 101xx1x1, where the collision occurs at D4 , D3 and D1 , according to the Manchester coding. D4 and D3 are the first and the second highest collision bits. The improved algorithm will deal with them as follows: D4 and D3 will take four possible values (00, 01, 10, and 11), at each iteration the bits after the second collision bit are set to one, and the remaining bits keep their original values. So, for the following action, the reader’s next request will be 10100111.
M. Djeddou et al. / Int. J. Electron. Commun. (AEÜ) 67 (2013) 256–262
259
Fig. 5. Example of bits collision handling steps using the improved algorithm, based on two bits arbitration, with four tags in the field.
Fig. 6. Example of bit collision handling steps using BSA with four tags in the field.
• Second step: the reader sends a request (10100111) command. Tag T1 responds; no collision occurs then tag T1 is identified and locked on not responding to the reader’s request command. • Third step: the reader sends the request (10101111) command. Tag T3 responds; no collision occurs then tag T3 is identified and locked on not responding to the reader’s request command. • Fourth step: the reader sends the request (10110111) command. Tag T2 responds; no collision occurs then tag T2 is identified and locked on not responding to the reader’s request command. • Fifth step: the reader sends the request (10111111) command, tag T4 responds; no collision occurs then tag T4 is identified and locked on not responding to the reader’s request command. Through this example, we can see that the improved algorithm can identify all tags in few periods contrary to the other algorithms, even if there will be wasted reader requests or failed/collided reply transmission from tags. Therefore, the improved algorithm may provide advantages of the reader request numbers and the total transmitted binary data. Indeed, the manner of building the request for asking tags reduces the number of tags’ responses. This reduces the probability of the number of collision bits, and the time of tags’
identification will be considerably reduced as will be shown in performance study. 2.2.3. Case that increases the number of requests Depending on the existing tags’ ID in the reader range, the proposed algorithm can generate more requests compared with other algorithms during the identification process. Figs. 6–8 give another example of the three algorithms. They show the case where the number of requests is increased using the improved algorithm. Let’s take other four tags: tag A, tag B, tag C and tag D, with eight bits 8-bit binary serial numbers, as shown in figures below. In this case, when using the tags’ ID mentioned before, we observed that the proposed algorithm generates more requests to perform the identification process than the two other algorithms. As shown in the example, both the BSA and DBSA need seven (07) requests. However, our improved algorithm needs eight (08) requests to identify all tags. It is worth to point out that on average, our proposition outperforms the other algorithms as we will show in the study of performance.
260
M. Djeddou et al. / Int. J. Electron. Commun. (AEÜ) 67 (2013) 256–262
Fig. 7. Example of bit collision handling steps using DBSA with four tags in the field.
Fig. 8. Counter-example of performance degradation in term of the requests generating number using the improved algorithm.
3. Preliminary results To evaluate the performance of an anti-collision algorithm, two metrics is usually adopted: the number of reader’s requests and the total bits transmitted between the reader and all the tags. In this section, simulations are performed to compare the improved algorithm with the BSA and DBSA in terms of the number of reader’s request and the total length of the transmitted binary data during the identification process. During our simulations, we use 16 bits ID-tags generated randomly and the number of tags is set between 2 and 100 tags. Fig. 9 shows the reader request numbers of the basic BSA, the DBSA and our improved algorithm. For the reader request numbers of each algorithm, we can see that increasing the number of tags,
the three algorithms have the same average curve variation. For example, by using the three algorithms, the reader needs to send about 370 requests to identify 100 tags. Fig. 10 shows the total length of transmitted binary data of BSA and DBSA and the proposed algorithm. The length of transmitted binary data of the improved algorithm is significantly less than the length involved in the basic BSA and DBSA algorithms. For example, when the number of tags is 40, the BSA and DBSA need to send a total bit about 2000 and 1800 bits, but the improved algorithm needs to send only 1400 bits to perform the identification. By increasing the number of tags, the advantage of the proposed algorithm becomes more noticeable. For 100 tags, the BSA and the DBSA need to send around 75,000 bits to identify all tags, but the proposed algorithm sends only around 47,000 bits. This result proves that our
M. Djeddou et al. / Int. J. Electron. Commun. (AEÜ) 67 (2013) 256–262
261
Table 1 Improved algorithm and DBSA comparison. Number of tags
20
40
60
80
102
Total bits of BSA Total bits of DBSA Total bits of the improved algorithm Channel saving percentage
4240 3870 2726 29.56%
14,140 13,080 10,000 23.54%
30,460 28,660 20,750 27.60%
48,800 46,410 32,320 30.36%
81,790 78,180 48,100 38.47%
the number of tags is 20 and 60 tags respectively. The total transmitted bits performance is getting better when the amount of tags becomes larger; 38.5% channels are saved by the improved algorithm, when the number of tags reaches 102 tags. Finally, we can say that our improved algorithm can appropriately achieve higher performance in terms of a number of transmitted binary data to identify tags thanks to the use of a new process for collision arbitration and for the requests building.
400
Number of reader requests
350
Basic Binary Search Algorithm Dynamic Binary Search Algorithm Improved Algorithm
300 250 200 150
4. Conclusion 100 50 0
0
10
20
30
40 50 60 Number of tags
70
80
90
100
Fig. 9. Request number comparison.
We have proposed an algorithm based on the basic BSA algorithm. With our improved algorithm, we reduced the total length of transmitted binary data to identify tags quickly during the identification process. This improvement is due, mainly to the manner of building reader’s request serial number. Besides, this improved algorithm can also be applied to the DBSA. Further work should be conducted to cut down the total transmitted binary data.
4
9
x 10
Basic Binary Search Algorithm Dynamic Binary Search Algorithm Improved Algorithm
Length of transmitted binary data
8 7
References
6 5 4 3 2 1 0
0
10
20
30
40 50 60 Number of tags
70
80
90
100
Fig. 10. Total of transmitted binary data comparison.
improved algorithm involves a minimum amount of bits to perform tag identification, contrariwise to the BSA and DBSA needing more transmitted bits. Table 1 summarizes the total length of the transmitted binary data of the three discussed algorithms versus the number of identified tags. It presents also the channel saving [4] provided by the improved algorithm compared to the DBSA, which is calculated by the following equation:
ChannlSaving (%) =
1−
NbitsImproved.Algo NbitsDBSA
× 100%
(1)
From this table, the result shows that almost 30% and 28% channels are saved by our improved algorithm than the DBSA when
[1] Li J, Liu H, Zhang J. Design and implementation of an RFID-based exercise information system. In: Proceedings of the 2008 second international symposium on intelligent information technology application, vol. 03. Washington, DC, USA: IEEE Computer Society; 2008. p. 216–9, http://portal.acm.org/citation.cfm% http://dx.doi.org/10.1109/IITA.2008.487. 3Fid=1491266.1492793, ISBN 978-0-7695-3497-8. [2] Porta TFL, Maselli G, Petrioli C. Anticollision protocols for single-reader RFID systems: temporal analysis and optimization. IEEE Trans Mobile Comput 2011;10:267–79, http://doi.ieeecomputersociety.org/10.1109/TMC.2010.58. [3] Wang W, Zhang Y, Sang Y, Wang S. Analysis of anti-collision algorithms in RFID system. In: IEEE international conference on communications technology and applications, 2009. ICCTA ‘09. 2009. p. 58–62. http://dblp.uni-trier. de/db/conf/his/his2009-3.html#MaW09, ISBN 978-1-4244-4816-6. [4] Ma JL, Wei X. An improved anti-collision algorithm in RFID system. In: HIS (3). IEEE Computer Society; 2009. http://dblp.uni-trier.de/db/conf/his/ his2009-3.html#MaW09, ISBN 978-0-7695-3745-0, p. 138–41. [5] Vales-Alonso J, Bueno-Delgado MV, Egea-López E, González-Casta no FJ, Alcaraz JJ. Multiframe maximum-likelihood tag estimation for RFID anticollision protocols. IEEE Trans Ind Inform 2011;7(3):487–96. [6] Wang Z, Liu D, Zhou X, Tan X, Wang J, Min H. Anti-collision scheme analysis of RFID system. Tech. Rep. Auto-ID Labs White Paper; 2007. [7] Horng SJ, Chen YH, Run RS, Lai JL, Chen RJ, Chen WC, et al. A novel anti-collision algorithm in RFID systems for identifying passive tags. IEEE Trans Ind Inform 2010;6(1):105–21. [8] Mingliang W, Shun Y. Improvement of anti-collision algorithm for RFID system based on TDMA. In: 2010 international conference on computational problemsolving (ICCP). 2010. p. 336–9. Mustapha Djeddou, was born in Bejaia (Algeria) in 1967. He received the M.S.degree in 1998 and the Ph.D degree with highest honor in electrical engineering in 2005, both from the National Polytechnic School, Algiers. Currently, he is the head of communication systems laboratory at the Military Polytechnic School, Algiers. His research interests include biometrics, statistical signal processing, wireless communication and digital transmission systems.
262
M. Djeddou et al. / Int. J. Electron. Commun. (AEÜ) 67 (2013) 256–262 Rafik Khelladi, was born in 1983, in Médéa (Algeria), He received the M.S.degree in 2011 from the Military Polytechnic School, Algiers. Currently, he is with the communication systems laboratory, Military Polytechnic School, and he is working toward his Ph.D degree. His research interests are RF system design, and wireless communication.
Mustapha Benssalah, is with communication systems laboratory, Military Polytechnic School, Algiers. He received the M.Sc.degree in 2008 from the Military Polytechnic School. He is working toward his Ph.D degree at the Cergy-Pontoise University, Paris, France. His main research interests include RFID, cryptography, and wireless communication.