13
Research Article A Novel Hybrid Anticollision Algorithm for RFID System Based on Grouped Dynamic Framed Recognition and Binary Tree Recursive Process Jian Yang, 1 Yonghua Wang, 1 Qingling Cai, 2 and Yiju Zhan 2 1 Faculty of Automation, Guangdong University of Technology, Guangzhou 510006, China 2 School of Engineering, Sun Yat-sen University, Guangzhou 510006, China Correspondence should be addressed to Jian Yang; [email protected] Received 31 October 2014; Revised 23 November 2014; Accepted 8 December 2014 Academic Editor: Lizhe Wang Copyright © 2015 Jian Yang et al. is is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. Recently, RFID technology has come into end-user applications for monitoring, tracking, and so forth. In RFID system, a reader identifies a set of tags over a shared wireless channel. When multiple tags communicate with the same reader simultaneously, all packages will be lost and no tag can be recognized, which is known as tag collision. Tag collision is a significantly important issue for fast tag identification. We firstly make a thorough analysis among a variety of traditional RFID anticollision algorithms. en a novel hybrid anticollision algorithm called T-GDFSA is proposed. Tags are assigned to different groups based on the initial tag estimation and then experience several dynamic read frames for identification. When a collision occurs in current slot, a tree-based recursive process will be deployed immediately. T-GDFSA combines the advantages of ALOHA-based and tree-based together and acquires higher system throughput by reducing unnecessary idle and collision slots and lower communication complexity by decreasing the data transmitted, which makes it identify tags faster with less power consumption. Simulations show that the theoretical values match well the simulation results. Moreover, T-GDFSA also has a good tolerance for the inaccuracy of initial tag estimation and the length variation of tag’s ID. 1. Introduction In the recent decades, Radio Frequency Identification (RFID) has become one of the most commonly used technologies in our daily life. RFID technology is similar to the tech- nologies of barcodes and magnetic strips, but, in addition, it has the capability of identifying objects uniquely and even without requiring direct line of sight. It is nowadays getting more prevalent in daily applications, such as electronic toll collection, public transport, access control and security, and airport luggage position tracking [1, 2]. A basic RFID system is composed of a reader and a set of tags. e reader inquiries tags that are able to communicate on the wireless channel, returning their IDs. Tags are typically passive devices, which answer to reader’s query by backscattering the received signal [3, 4]. However, because of all readers and tags sharing the same communication channel, when more than one reader tries to transmit to the same tag or more than one tag tries to communicate with the same reader simultaneously, all their packages will be lost. is phenomenon is called RFID system collision, which leads to long identification time, low system efficiency, and high power consumption [5, 6]. As illustrated in Figure 1, there are two different categories of collisions in RFID system: (1) reader collision and (2) tag collision. Reader collision happens when multiple readers coexisting in the same area interfere with each other, and can be overcome by the coordination strategy among readers. Tag collision occurs among tags simultaneously transmitting to the same reader and may be more difficult to solve because of constraints of energy supply and computing complexity on tags with low functionality. Since tag collision is considered as a key problem affecting the universal adoption of the RFID system, in this paper, we primarily focus on tag collision in single reader scenarios. In order to avoid tag collision, many tag anticollision algorithms have been proposed so far, which can be classified Hindawi Publishing Corporation International Journal of Distributed Sensor Networks Volume 2015, Article ID 641327, 12 pages http://dx.doi.org/10.1155/2015/641327

Research Article A Novel Hybrid Anticollision Algorithm ...downloads.hindawi.com/journals/ijdsn/2015/641327.pdf · A Novel Hybrid Anticollision Algorithm for RFID System Based on

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Research Article A Novel Hybrid Anticollision Algorithm ...downloads.hindawi.com/journals/ijdsn/2015/641327.pdf · A Novel Hybrid Anticollision Algorithm for RFID System Based on

Research ArticleA Novel Hybrid Anticollision Algorithm for RFID SystemBased on Grouped Dynamic Framed Recognition and BinaryTree Recursive Process

Jian Yang1 Yonghua Wang1 Qingling Cai2 and Yiju Zhan2

1Faculty of Automation Guangdong University of Technology Guangzhou 510006 China2School of Engineering Sun Yat-sen University Guangzhou 510006 China

Correspondence should be addressed to Jian Yang yangjianijdsn163com

Received 31 October 2014 Revised 23 November 2014 Accepted 8 December 2014

Academic Editor Lizhe Wang

Copyright copy 2015 Jian Yang et alThis is an open access article distributed under the Creative CommonsAttribution License whichpermits unrestricted use distribution and reproduction in any medium provided the original work is properly cited

Recently RFID technology has come into end-user applications for monitoring tracking and so forth In RFID system a readeridentifies a set of tags over a shared wireless channel When multiple tags communicate with the same reader simultaneously allpackages will be lost and no tag can be recognized which is known as tag collision Tag collision is a significantly important issue forfast tag identificationWefirstlymake a thorough analysis among a variety of traditional RFID anticollision algorithmsThen a novelhybrid anticollision algorithm called T-GDFSA is proposed Tags are assigned to different groups based on the initial tag estimationand then experience several dynamic read frames for identification When a collision occurs in current slot a tree-based recursiveprocess will be deployed immediately T-GDFSA combines the advantages of ALOHA-based and tree-based together and acquireshigher system throughput by reducing unnecessary idle and collision slots and lower communication complexity by decreasingthe data transmitted which makes it identify tags faster with less power consumption Simulations show that the theoretical valuesmatch well the simulation results Moreover T-GDFSA also has a good tolerance for the inaccuracy of initial tag estimation andthe length variation of tagrsquos ID

1 Introduction

In the recent decades Radio Frequency Identification (RFID)has become one of the most commonly used technologiesin our daily life RFID technology is similar to the tech-nologies of barcodes and magnetic strips but in additionit has the capability of identifying objects uniquely and evenwithout requiring direct line of sight It is nowadays gettingmore prevalent in daily applications such as electronic tollcollection public transport access control and security andairport luggage position tracking [1 2] A basic RFID systemis composed of a reader and a set of tagsThe reader inquiriestags that are able to communicate on the wireless channelreturning their IDs Tags are typically passive devices whichanswer to readerrsquos query by backscattering the received signal[3 4] However because of all readers and tags sharing thesame communication channel when more than one readertries to transmit to the same tag or more than one tag tries to

communicate with the same reader simultaneously all theirpackages will be lostThis phenomenon is called RFID systemcollision which leads to long identification time low systemefficiency and high power consumption [5 6] As illustratedin Figure 1 there are two different categories of collisions inRFID system (1) reader collision and (2) tag collision Readercollision happens when multiple readers coexisting in thesame area interfere with each other and can be overcome bythe coordination strategy among readers Tag collision occursamong tags simultaneously transmitting to the same readerand may be more difficult to solve because of constraintsof energy supply and computing complexity on tags withlow functionality Since tag collision is considered as a keyproblem affecting the universal adoption of the RFID systemin this paper we primarily focus on tag collision in singlereader scenarios

In order to avoid tag collision many tag anticollisionalgorithms have been proposed so far which can be classified

Hindawi Publishing CorporationInternational Journal of Distributed Sensor NetworksVolume 2015 Article ID 641327 12 pageshttpdxdoiorg1011552015641327

2 International Journal of Distributed Sensor Networks

ReaderTag

Covering

rangeCover

ing

range

(a)

ReaderTag

Covering

range

(b)

Figure 1 (a) Reader collision in RFID system (b) Tag collision in RFID system

into two categories ALOHA-based probabilistic anticollisionalgorithms [7ndash10] and tree-based deterministic anticollisionalgorithms [11ndash13] ALOHA-based algorithms decrease theprobability of collision by randomly scheduling the responsetime of tags In those algorithms identification time isslotted and time slots form up read frames Frame size variesover time and is broadcast by the reader to all tags at thebeginning of each read frameWhen receiving frame size tagsselect one time slot from current read frame randomly andonly respond the reader when the selected time slot comesColliding tags are scheduled into the next read frame to beslotted and identified until there are no tags left The mainrepresentatives are DFSA [8 9] and EDFSA [10] both ofwhich need to estimate the initial tag population to set theproper read frame size to optimize performance Howeverwhen the number of tags becomes much larger comparedwith the frame size the performance deteriorates seriouslyA detailed study of these two algorithms is presented inSection 2 On the other hand tree-based algorithms proceedwith the identification process represented as a tree where theroot responds a set of tags to be identified The algorithmsperiodically query a subset of tags which match the givenquery property and continuously split a set of tags intotwo subsets until each set has only one tag Although theidentification time may be longer than that of ALOHA-basedalgorithms they are deterministic which can avoid that aspecific tag may not be identified all the time leading to theso-called ldquotag starvation problemrdquo The main representativesare BS [11] QT [12] and QTI [12] Unfortunately there aremany distinct disadvantages in BS QT and QTI A greatnumber of colliding subsets exist in BS while performanceof QT and QTI is very sensitive to the distribution of tagrsquos IDA more detailed description is shown in Section 2

Furthermore a good tag anticollision algorithm for RFIDpassive tags should have the following characteristics Firstlya reader must identify all tags existing in its covering rangeas tag starvation problem may cause failure of tracking andpositioning objects Second system throughput should behigh enough to ensure tags are recognized promptly whichis of great importance for mobile tag identification Finally

communication complexity ought to be low since passive tagssupplement power supply from the readerrsquos electromagneticwave which causes the available power for tags being verylimited On the other hand low communication complexityis also very useful for the RFID applications where large scalemobile readers are deployed

Based on the analysis hereinbefore we propose a novelhybrid anticollision algorithm to improve the performance ofRFID tag identification The new algorithm called GroupedDynamic Framed Recognition and Binary Tree RecursiveProcess (T-GDFSA) generally identifies tags by groupeddynamic frames and calls binary tree recursive process tosolve each colliding slot As T-GDFSA combines ALOHA-based and tree-based anticollision together it avoids thewaste of idle slots in the late identification stage in ALOHA-based and colliding slots in the early identification stagein tree-based Also because of the combination the com-munications between the reader and tags become reducedwhich means less power is consumed According to the latersimulations in Section 4 T-GDFSA acquires higher systemthroughput by reducing unnecessary idle and collision timeslots and lower communication complexity by decreasingthe data transmitted between the reader and tags whichoverwhelm other main anticollisions and make it easier to berealized in the end-user applications

The remainder of this paper is organized as followsIn Section 2 a variety of ALOHA-based and tree-basedtag anticollision algorithms are observed specifically InSection 3 the main concept and description of T-GDFSA arepresent in detail In Section 4 evaluation of time complexityand communication complexity of T-GDFSA are proposedrespectively In Section 5 performance simulations betweenT-GDFSA and other anticollision algorithms are shown viaMatlab Lastly Section 6 gives conclusion

2 RFID Tag Anticollision Algorithms

In this section we review the main representatives ofALOHA-based and tree-based tag anticollision algorithmsfor RFID system The major metrics observed include time

International Journal of Distributed Sensor Networks 3

Table 1 The strategy of grouping and frame sizing

Tag populationn

Frame sizeL

Group sizeG

Tag populationn

Frame sizeL

Group sizeG

sdot sdot sdot sdot sdot sdot sdot sdot sdot 177ndash354 256 16ndash11 8 1 355ndash707 256 212ndash19 16 1 708ndash1416 256 420ndash40 32 1 1417ndash2831 256 841ndash81 64 1 sdot sdot sdot sdot sdot sdot sdot sdot sdot

82ndash176 128 1

complexity and communication complexity We analyze timecomplexity by the identification time for recognizing a set oftags expressed by 119879 and study communication complexityby the total bits sent by the reader and the average bits sent bysingle tag for the identification expressed by Bits

119877and Bits

119879

respectively

21 Dynamic Framed Slotted ALOHA (DFSA) DFSA is anALOHA-based algorithm which can adjust the read framesize dynamically according to the estimation of tag pop-ulation The identification process is made of several readframes which is slotted into intervals of time called time slotwhose duration is equal to the tagrsquos ID transmission timeBefore the initialization of the first read frame the readerestimates the unidentified tag population 119899 and sets the readframe size 119871 Tags randomly select one time slot in the rangeof [1 119871] and only respond the reader when the selectedslot comes As the proper frame size is decided in advanceDFSA decreases the potential collision probability to a greatextent The population of unidentified tags is estimated inthe following way Let 119873

119888be the number of colliding time

slots let119873119904be the number of time slots with single tag which

can be identified successfully and let 119862ratio be the ratio of 119873119888

and 119899 which can be calculated by (1) When the current readframe is finished the population of unidentified tags varies to119873119888119862ratio minus119873

119904 which is set to be the new size of the next read

frame to maintain an optimal system throughput

119862ratio = 1 minus (1 minus1

119871)119899

sdot (1 +119899

119871 minus 1) (1)

If we define 119879slot as the duration of time slot 119871 ini as theinitial frame size 119871 as the actual frame size after initial frame119875succ(119896) as the possibility of successful identification for a tagafter 119896 times attempts 119876Repbits as the symbol length of slotinterval ACKbits as the symbol length of acknowledgmentsent by the reader after receiving tagrsquos ID and IDbits as thelength of tagrsquos ID themajormetrics ofDFSA can be describedas follows

119879 = 119879slot sdot (119871 ini + 119871 sdot

infin

sum119896=1

119896119875succ (119896))

Bits119877= 119871bits sdot (

infin

sum119896=1

119896119875succ (119896) + 1) + 119876Repbits sdot 119871

sdot

infin

sum119896=1

119896119875succ (119896) + 119899 sdot ACKbits

Bits119879= IDbits sdot

infin

sum119896=1

119896119875succ (119896)

(2)

However when tag population is large the performanceof DFSA deteriorates heavily This is because the size ofmemory recording the selected slot in tags is limited andcannot keep pace with the increase of tag population whichmakes the optimal condition that the frame size is set equalto the tag population not satisfied

22 Enhanced Dynamic Framed Slotted ALOHA (EDFSA)On the basis of DFSA in order to enhance the systemperformancewhen tag population is large EDFSA introducesthe grouping strategy that it randomly splits tags into differentgroups according to themaximal frame size and the estimatednumber of unread tags Only the tags associated with oneof the groups are queried in the following read framesthen the identifications for tags in other groups are followedsequentially In fact the grouped identification is morelike a combination of several DFSA processes Chebysevrsquosinequality is used in the end of each read frame to estimatethe number of tags left which is used to adjust the number ofgroups and frame size for the incoming read frames

The grouping and frame sizing strategy is represented inTable 1 where the group number and frame size are adjustedin theway of doubling or halving which can be easily realizedin practical applications by the operation of left shifting orright shifting the group register

If we define the same notations as given in DFSA abovethe major metrics of EDFSA can be derived as follows

119879 = 119879slot sdot (119866ini sdot 119871 ini + 119866 sdot 119871 sdot

infin

sum119896=1

119896119875succ (119896))

Bits119877= 119866bits sdot 119871bits sdot (

infin

sum119896=1

119896119875succ (119896) + 1) + 119876Repbits sdot 119866

sdot 119871 sdot

infin

sum119896=1

119896119875succ (119896) + 119899 sdot ACKbits

Bits119879= IDbits sdot

infin

sum119896=1

119896119875succ (119896)

(3)

4 International Journal of Distributed Sensor Networks

23 Binary Tree Algorithm (BS) BS and Query Tree (QT) areboth tree-based algorithms in which the reader iterativelyqueries a subset of tags matching a given property until alltags are identified They differ in the way of querying tagsaccording to a binary random number in BS and a queryprefix in QT In BS the reader recognizes tags in the timeinterval called read cycle Colliding tags are split into twosubsets recursively until just one tag is allocated in everysubset The tag has a counter initialized to 0 in the verybeginning Only tags with counter value equal to 0 canrespond the reader query in current read cycle and othertags keep silent and wait for their counters decreasing to 0Tags modify the value of counter depending on the resultof current identification If a collision happens collidingtags add a 1-bit binary value randomly to their counterswhich are split into two subsets with the counter at 0 andthe counter at 1 respectively Other tags not involved inthe collision increase their counters by 1 to maintain theirformer identifying order unchanged In case of identifyingsuccessfully or no response all tags unread decrease theircounters by 1 and tags with counter at 1 respond the readerin the next read cycle

If we define 119879cycle as the duration of a read cycle lceillog2119899rceil

as the minimal integer not less than log2119899 119862bits as the

length of query command and other parameters as the samenotations given in DFSA above the major metrics of BS canbe expressed as follows

119879

= 119879cycle

sdot (1 + 2 sdot

infin

sum119896=0

2119896minus (2119896+ 119899 minus 1) sdot (1 minus 2

minus119896)119899minus1

)

(4)

Bits119877

= 119862bits

sdot (1 + 2 sdot

infin

sum119896=0

2119896minus (2119896+ 119899 minus 1) sdot (1 minus 2

minus119896)119899minus1

)

(5)

Bits119879= IDbits sdot log2119899 (6)

The expressions (4) and (5) are general equations when 119896collision times that is the depth of current node (read cycle)in the binary tree (the whole identification process) tendsto positive infinity For convenience we derive the lowerbounds of 119879 and Bits

119877for reference As in BS the binary

tree representing the whole identification process is a strictbinary tree the intermediate nodes denoted by 119862

119865(119899) (ie

the colliding times) achieve minimal value when they areregarded as a complete binary tree whose number of nodescan be expressed as 2119862

119865(119899) + 1 Consider the fact that the

number of all nodes in the strict binary tree satisfies theinequation119873nd(119899) ge 2119862

119865(119899) + 1 = 2 sdotsum

log2119899minus1

119896=02119896 +1 = 2119899minus 3

and each node correspondswith a read cycle sowe can derivethe following expressions for fast tag estimation

119879 ge 119879cycle sdot (2119899 minus 3)

Bits119877ge 119862bits sdot (2119899 minus 3)

(7)

24 Query Tree Algorithm (QT) QT splits a tag set accordingto tagrsquos IDThe reader transmits a query including a bit stringand only the tag whose ID has a prefix matching the querystring responds by transmitting its ID In particular if thecurrent query string is 119902

11199022sdot sdot sdot 119902119899(119902119894isin 0 1) and leads to

a collision the reader uses two 1-bit longer queries that is11990211199022sdot sdot sdot 1199021198990 and 119902

11199022sdot sdot sdot 1199021198991 in the next read cycles in turn

which splits the set of colliding tags into two subsets If acollision still occurs when the new 1-bit longer query stringis sent then the string length is further increased by 1 bitwith 0 or 1 added to the end of the current query stringuntil the collision is solved and a tag is identified successfullyThe reader has a stack 119878 to manage query strings In thebeginning 119878 is initialized as NULL which causes all tagsresponse When collision occurs the reader pushed two 1-bit longer query strings into 119878 When current read cycle isfinished it pops a query string from 119878 for the next read cycleThat 119878 is popped empty indicates that all tags are recognizedNotice that collisions in QT correspond to the intermediatenodes not including the root node compared with BS

If we define the same notations as given in BS above themajor metrics of QT can be derived as follows

119879 le 119879cycle sdot (2887119899 minus 1)

Bits119877le IDbits sdot (2887119899 minus 1)

Bits119879= IDbits sdot (221log2119899 + 419)

(8)

25 Query Tree Improved Algorithm (QTI) There areamounts of useless query strings in QT which increase theread cycles and depress the system throughput QTI is anenhancement that removes those certainly causing collisionsin advance For example consider the case in which queryprefix 119902 has produced a collision while 1199020 result in noresponse As 1199021 definitely leads to a collision QTI skips itdirectly and takes 11990210 as the next query prefix

Compared with QT QTI only reduces the amount of datatransmitted by the reader while it maintains the amount ofdata sent by tags unchanged which alsomakes the expressionof Bits

119879unchanged

If we follow the same notations defined in BS we canobtain the formulas as follows

119879 le 119879cycle sdot (2665119899 minus 1)

Bits119877le IDbits sdot (2665119899 minus 1)

Bits119879= IDbits sdot (221log2119899 + 419)

(9)

From what has been discussed hereinbefore we can seeclearly that regardless of time or communication complexitythe metrics of ALOHA-based including DFSA and EDFSA

International Journal of Distributed Sensor Networks 5

are the same order infinitesimal of 119899 while the metricsof tree-based including BS QT and QTI are the higherorder infinitesimal of 119899 Although the metrics of tree-basedalgorithms seem worse they are deterministic which canavoid the so-called ldquotag starvation problemrdquo that a specifictag may not be identified all the time in ALOHA-basedalgorithms

3 The Proposed Algorithm T-GDFSA

The proposed algorithm T-GDFSA can be divided into twosteps the step of the estimation of tag population and thestep of tag identification The former is just implementedonce to estimate the initial number of tags existing in thecovering range of the reader which is used in the second stepto calculate the optimal number of groups and frame size ineach group In T-GDFSA the method used for tag estimationis similar to TEM (Tag Estimation Method) [14] At the endof each read cycle the recorded triple numbers ⟨119888

0 1198881 119888119896⟩

can be obtained from the readerrsquos memory which quantifiesthe number of idle time slots successful time slots occupiedby only one tag and colliding slots with more than twotags respectively Meanwhile the expected triple numbers⟨119886119873119899

0 1198861198731198991

119886119873119899119896

⟩ can be computed from the given framesize 119873 and the number 119899 of tags by statistical knowledgeAccording to Chebyshevrsquos expression the outcome of arandom experiment involving a random variable 119883 is mostlikely somewhere near the expected value of119883This propertyis used to calculate the distance between the recorded results⟨1198880 1198881 119888119896⟩ and the expected results ⟨119886119873119899

0 1198861198731198991

119886119873119899119896

⟩ of eachread cycle as defined in (10) When theminimal distance isachieved the corresponding 119899 is considered to be the optimalestimation of tag population Consider

120576 (119873 1198880 1198881 119888119896) = min119899

1003816100381610038161003816100381610038161003816100381610038161003816100381610038161003816100381610038161003816

(

1198861198731198990

1198861198731198991

119886119873119899119896

) minus (

1198880

1198881

119888119896

)

1003816100381610038161003816100381610038161003816100381610038161003816100381610038161003816100381610038161003816

(10)

where 119886119873119899119896

is the expected value of colliding slots with 119896 tagsthen

119886119873119899

119896= 119873 sdot (

119899

119896) sdot (

1

119873)119896

sdot (1 minus1

119873)119899minus119896

(119896 le 119899) (11)

In (10) the minimal 120576 is supposed to be achieved by asearching process with 119899 varying in the range [119888

1+ 2119888119896 3(1198881+

2119888119896)] where 119888

1+ 2119888119896is the lower bound of 119899 according to

[15] since 1198881tags have been identified and if there are 119888

119896

collisions at least 2119888119896tags collided The upper bound of 119899 is

set to 3(1198881+ 2119888119896) since by simulation no further accuracy in

the estimation is obtained if the upper bound is set to highervalues

From [1] we know that the system throughput becomesoptimal when the frame size is set equal to the number of tagsIn order to satisfy this condition the grouping size is adjustedby 1 each time to ensure that the number of tags in eachgroup is very close to the frame size The optimal groupingsize is decided by the expected system efficiency Suppose

the current number of groups is 119896 it will be increased to 119896+1

if the expected system efficiency with 119896 + 1 groups rises justequal to that with 119896 groups Consider

119886119873119899119896

1

119873=

119886119873119899(119896+1)

1

119873(119896 = 1 2 ) (12)

From (12) the maximum number of tags with 119896 groups is

119899119896=lg (119896 (119896 + 1))

lg (1 minus 1119873)sdot 119896 sdot (119896 + 1) (119896 = 1 2 ) (13)

By the utilization of (13) the optimal grouping size 119866 can beobtained with a varying 119899 and a given frame size 119871

Then the optimal 119866 is broadcast by the reader with arandom number to tags Grouping rule is as follows Each taggenerates a new random number by the old received one andits serial number (tagrsquos ID) Then the new random number isdivided by 119866 and all tags have a group number randomly inthe range [0 119866 minus 1] In the current read frame only tags withgroup number 0 are permitted to respond the reader Whenall of them have been identified the reader begins a new readframe and tags with group number 1 are involvedThe processcontinues until tags having group number 119866 minus 1 are queriedwhich means all tags have been recognizedThe frame size ofeach read frame decides how many time slots are included init At the beginning of each read frame the reader broadcaststhe optimal frame size 119871 to all tags which means there are119871 time slots in the incoming read frame and tags involvedgenerate an integer 119871

119894in the range [1 119871] and save it in its slot

counter By this means tags are allocated into 119871 time slotsrandomly In the first time slot initiated by the reader tagswith slot counter at 0 are permitted to respond the readerWhen all tags in current time slot have been identified thereader polls the next time slot and informs other unidentifiedtags to decrease their time slot counter by 1 Tags whose valueof slot counters decreasing to 0 are permitted to respond thereader in the incoming time slot If a collision happens inthe current time slot tags involved add 0 or 1 randomly totheir slot counters which cause them to fall into two subsets Itmeans that a binary tree is introduced and colliding tags aresubdivided into two child nodes of the current parent noderandomly Other tags increase their slot counters by 1 so as tocounteract the effect caused by splitting for the colliding tagsto keep their former identification sequence unchangedAftersplitting the reader firstly turns to identify the tags in the leftchild node of current parent node and if a collision is stilldetected the node-splitting process will be executed againand tags falling into the deeper left child node will be read inthe incoming time slotThe process will keep on going recur-sively until there is no collision happened in the current leftchild node Because there is nomore than 1 tag in the leaf tagin it can be identified successfully and then muted Next thereader returns up to the parent node of the current left childnode then turns down to the right child node and identifiestags in itThere are three possible outcomes Collision slotwillcause a new node-splitting process similar to that representedbeforehand 1-tag slot will make the reader identify the tagsuccessfully and then return to the parent node Idle slot willmake the reader directly come back to the parent node Next

6 International Journal of Distributed Sensor Networks

0 1

10

0 1

0 1

0 1

Time slot

1 2 3 4 5 6 7Group

middot middot middot

middot middot middot

middot middot middot

1 i i + 1 i + 2 i + 3 i + 4 i + 5 i + 6 i + 7 i + 8

Lev = 0

Lev = 1

Lev = 2

Lev = 3

120601

120601

120601 120601 120601

Figure 2 The execution process of the T-GDFSA

as all the child nodes of the parent node have been identifiedthe reader will return to the upper parent node The proce-durewill continue recursively until all nodes of the binary treehave been queried which means all tags in current collidingtime slot have been identified In the initiation of each binarytree recursive process the reader sets a level counter forcurrent colliding slot to record the depth of current node(ie read cycle) in the binary tree It is increased by 1 when acollision happens in current node and the reader goes deeperto the child nodes and is decreased by 1 when all tags inthe child nodes are already identified and the reader returnsto the upper parent node Level counter which decreasedto 0 indicates that all tags in the current collision slot havebeen identified In Figure 2 the tag identification process forgroup 1 is illustrated where Lev means the level counter Φdenotes no tag responding and each ldquo∙rdquo represents one tagThe identification processes for other groups are similar

4 Performance Evaluation

In this section wewill evaluate the performance of T-GDFSAThere are several metrics focusing on different aspects ofRFID system We take time complexity and communicationcomplexity for emphatic analysis Because time complex-ity reflects the identification efficiency which is of greatimportance for fast tag identification and communicationcomplexity indicates power consumption of the reader andtags which is of great significance for mobile RFID appli-cations Time complexity is defined as the total time spentto identify a set of tags in the covering range of the readerCommunication complexity refers to the amount of datatransmitted between the reader and tags which can becomposed of two parts Bits

119877(the total number of bits sent

by the reader) and Bits119879(the total number of bits transmitted

by single tag in average)Prior to deeper analysis it is necessary to make the

following important assumptions

Assumption 1 As data received by the reader aremostly shortsymbols such as acknowledgement symbols and so forth

which are much less compared with the data sent by thereader we simply ignore it and consider that Bits

119877totally

represents the communication complexity on reader

Assumption 2 The duration of time slot in read frame is setequal to that of read cycle in binary tree which is denoted bythe unified symbol 119879cycle making it possible to calculate thesystem throughput quantificationally

Assumption 3 In most RFID applications power consump-tion of tags is more sensitive than that of the reader So weproposed a new strategy dedicated to reducing Bits

119879 which

is deployed as follows Instead of sending complete tagrsquos IDdirectly tag firstly sends IDTest (a short bit string) to testthe state of the current time slot If no collision happensIDTest can be received by the reader successfully The readerresponds with the acknowledgement IDReq to require thetag to transmit its complete ID The strategy eliminates theuselessmass data transmission of tagrsquos ID caused by collisionsand ensures that tagrsquos ID is sent only once Since the length ofIDTest ismuch shorter than that of tagrsquos ID Bits

119879is decreased

drastically

41 Time Complexity The total consumed time denoted by119879 consists of three parts 119879est (time cost in the estimation oftag population) 119879rf (time cost in read frames) and 119879rc (timecost in read cycles of binary tree recursive process) Then weget

119879 = 119879est + 119879rf + 119879rc (14)

Let 119866ini denote the initial grouping size for the estimation oftag population and let 119866(119899) denote the actual grouping sizecalculated by (13) 119871 ini and 119871(119899) represent the initial framesize and the actual frame size separately 119899 is the numberof unidentified tags Then 119879est and 119879rf can be expressed as119866ini119871 ini119879cycle and 119866(119899)119871(119899)119879cycle respectively According to[1] when the condition of maximal throughput of framedslotted ALOHA the read frame size is equal to the numberof unidentified tags is satisfied the average number of tags in

International Journal of Distributed Sensor Networks 7

each colliding time slot is about 23922 on average Because119866(119899)119871(119899) is very close to 119899 in T-GDFSA the average numberof tags in each colliding time slot denoted by 119862tag can beconsidered as 23922 simply

According to the representation above we know that thebinary tree process for each colliding time slot is a strictlybinary tree so there is no 1-degree node included meaningthat any non-leaf node (the root node or the intermediatenode) has two child nodes Let 119873nd and 119873leaf be the numberof non-leaf nodes and leaf nodes respectively then 119873nd =

2119873leaf minus 1 can be easily deduced [16] Since the root nodecorresponds to the colliding time slot which has already beencounted in the read frame before the effective number ofnodes in every binary tree is 119873nd minus 1 Since the leaf nodesare composed of 1-tag leaf nodes and idle leaf nodes thenumber of actual nodes in every colliding time slot denotedas 1198731015840

nd satisfies the inequation 1198731015840nd ge 2119862tag minus 2 = 27844

on average Note the fact that when 119862tag is small it is veryclose to 119873leaf so the inequation above can be considered asequation 1198731015840nd = 2119862tag minus 2 = 27844 simply By probabilityknowledge we can derive that the expected value of collidingtime slots is 119866(119899)119871(119899)119875col where 119875col is the probability ofdetecting a colliding time slot and that 119879rc is no less than27844119866(119899)119871(119899)119875col119879cycle Substituting (14) with the all resultsabove we acquire the final expression of 119879 as follows

119879 asymp 119866ini sdot 119871 ini + 119866 (119899) sdot 119871 (119899) + 27844 sdot 119866 (119899) sdot 119871 (119899)

sdot 119875col sdot 119879cycle(15)

In expression (15) 119875col = [1 minus 119899119866(119899) sdot 119901(1 minus 119901)119899119866(119899)minus1 minus (1 minus

119901)119899119866(119899)]where 119901 = 1119871(119899) is the probability of a tag selectinga time slot from total 119871(119899) time slots

42 Communication Complexity on Reader Bits119877is defined

as the amount of data transmitted by the reader to identifya set of tags appearing in its irrigation range which reflectsthe communication complexity on reader suitably From theabove analysis we realize that no matter in the step of initialtag estimation or in the step of tag identification process theamount of data sent by the reader representing group size andframe size are both (119866bits+119871bits) bitsThe reader also needs totransmit QueryRep periodically tomake the current time slotincreased continually so as to poll tags allocated in differenttime slots of current frame and the amount of data of thispart can be expressed as [119866ini119871 ini + 119866(119899)119871(119899)]QueryRepbitsBesides in every binary tree recursive process as expressedabove the number of read cycles1198731015840nd is equal to 2119862tag minus 2 =

27844 As nodes in a binary tree consist of collision nodesand leaf nodes and the leaf nodes need no extra read cyclesto query the number of actual nodes for which reader sendsread cycles should be (2119862tag minus 2 minus 119862tag) = 03922 on averageThe reader sends at most 1 read cycle in every node so thenumber of read cycles in every binary tree recursive processis almost 03922 Considering that the expected number ofcollision slots is119866(119899)119871(119899)119875coll the total number of read cyclesin all binary tree recursive processes is 03922119866(119899)119871(119899)119875collLet119877bits be the string length of one read cycle and let IDReqbits

be the string length of IDReq sent by the reader respectivelyBits119877can be finally expressed as follows

Bits119877asymp 2 (119866bits + 119871bits)

+ [119866ini119871 ini + 119866 (119899) 119871 (119899)]QueryRepbits + 119899

sdot IDReqbits + 03922119866 (119899) 119871 (119899) 119875coll119877bits

(16)

43 Communication Complexity on Tag Here we take Bits119879

for consideration to indicate the average amount of datatransmitted by single tag Because of the randomness of tagidentification the average bits of data sent by single tag aredifficult to observe exactly so the lower bound and the upperbound are introduced for reference

(a) The Lower Bound If one lets lev(119894) be the level of the 119894thleaf node in a strict binary tree with 119899 leaf nodes where 119894

varies from 1 to 119899 according to the property of strict binarytree the following equation can be easily derived

119899

sum119894=1

1

2lev(119894)= 1 (17)

Since sum119899

119894=1(12lev(119894)) = 119899 sdot (1119899)sum

119899

119894=1(12lev(119894)) ge 119899 sdot

119899radic(12)sum119899

119894=1lev(119894) we can obtain

119899

sum119894=1

lev (119894) ge 119899log2119899 (18)

Expression (18) shows that the sum of levels of all leaf nodesin a strict binary tree with 119899 leaf nodes is no less than 119899log

2119899

Because the level of node indicates that the collision timestags allocated in it have experienced and the colliding timesin a strict binary tree with 119899 tags become minimal only whenthe number of leaf nodes is equal to 119899 the total colliding timesin a strict binary tree with 119899 tags are no less than 119899log

2119899 Let

119875col and 119875suc denote the expected possibility of colliding slotsand singleton slots respectively according to Assumption 3the amount of data transmitted by tags in all colliding timeslots satisfies

BitsCS ge 119866 (119899) sdot 119871 (119899) 119875col sdot (23922 sdot log223922

sdot IDTestbits + 23922 sdot IDbits) (19)

The total amount of data sent by all tags represented byBitsTA is composed of two parts data sent by the tags incolliding time slots and data sent by the tags in singleton slotsThe former is expressed by (19) Since every tag allocated inthe singleton slot transmits IDTest as well as tagrsquos ID onlyonce and there are 119866(119899)119871(119899)119875suc singleton slots with only 1tag BitsTA can be derived as the following expression

BitsTA = BitsCS + 119866 (119899) sdot 119871 (119899) sdot 119875suc

sdot (IDTestbits + IDbits)

ge 119866 (119899) sdot 119871 (119899)

sdot (23922 sdot 119875col sdot log223922 + 119875succ)

sdot IDTestbits + 119899 sdot IDbits

(20)

8 International Journal of Distributed Sensor Networks

Finally the lower bound of Bits119879can be obtained as follows

Bits119879

ge119866 (119899) sdot 119871 (119899)

119899

sdot [(23922 sdot 119875col sdot log223922 + 119875suc) sdot IDTestbits]

+ IDbits

(21)

(b) The Upper Bound In order to measure the largest amountof data sent by tags we must take the worst condition intoaccount Consider the following extreme situation Let 119901

119904be

the probability of all colliding tags falling into the same childnode simultaneously after splitting current collision nodeand 120582 is the probability of only one tag falling into one childnode Obviously 119901

119904is much large than 120582 at the beginning

of the binary tree recursive process which means collidingtags will fall into the same child node after splitting As thesplitting process is ongoing recursively 119901

119904is decreasing and

approaching 120582 If and only if 119901119904becomes not great than 120582

for the first time the splitting of current collision node willresult in one child node with only 1 tag and the other childnode with the remainder tags which separates 1 tag fromthe colliding tags and identifies it successfully The splittingprocess will repeat recursively for the remaining tags in thecolliding child node until there is no more than 1 tag fallinginto every node or we can say the leaf node has been reachedAssuming that the 119894th identified tag has experienced 119896

119894times

of collision before being identified successfully and119898 denotesthe total number of colliding tags in the binary tree we canget

[(1

2)119898+1minus119894

]

1198961015840

119894

le 120582

where 1198961015840

119894is an integer 119896

119894= min (119896

1015840

119894)

997904rArr 119896119894= lceil

1

119898 + 1 minus 119894log12

120582rceil

lt1

119898 + 1 minus 119894log12

120582 + 1

(22)

So the amount of data sent by119898 tags in the binary tree can beconsidered as

BitsCS le

119898minus1

sum119894=1

119896119894sdot IDTestbits + 119898 sdot IDbits

= (

119898minus1

sum119894=1

lceil1

119898 + 1 minus 119894log12

120582rceil) sdot IDTestbits + 119898

sdot IDbits

(23)

In the expression above the fact that the range of 119894 doesnot include 119898 is because the 119898th tag will be identifiedundoubtedly in the next read frame if the (119898 minus 1)th tag has

been identified Therefore by expressions (22) and (23) weget the following expression

BitsCS lt [(

119898

sum119894=1

1

119894) minus 1] sdot log

12120582 + (119898 minus 1)

sdot IDTestbits + 119898 sdot IDbits

(24)

Seeing that sum119898119894=1

(1119894) is the sum of the first 119898 terms of theharmonic series and its upper bound is (log

2119898 + 1) [16]

expression (24) can be rewritten as

BitsCS lt [(log2119898 + 1 minus 1) sdot log

12120582 + (119898 minus 1)]

sdot IDTestbits + 119898 sdot IDbits

= [log2119898 sdot log

2120582minus1

+ (119898 minus 1)] sdot IDTestbits + 119898

sdot IDbits

(25)

Considering 119898 = 23922 so the total amount of data sent byall tags is

BitsTA

= BitsCS + 119866 (119899) sdot 119871 (119899) sdot 119875suc sdot (IDTestbits + IDbits)

lt 119866 (119899) sdot 119871 (119899)

sdot [119875col sdot (log223922 sdot log2120582minus1

+ 05820) + 119875suc]

sdot IDTestbits + 119899 sdot IDbits

(26)

And the average amount of data sent by single tag is shown asfollows

Bits119879=BitsTA

119899lt

119866 (119899) 119871 (119899)

119899[119875col (log223922

sdot log2120582minus1

+ 05820) + 119875suc] IDTestbits + IDbits

(27)

Thus the final expression of Bits119879can be deduced form

expressions (21) and (27) which is expressed as an inequationwith a lower bound and an upper bound as follows

119866 (119899) sdot 119871 (119899)

119899sdot [(23922 sdot 119875col sdot log223922 + 119875suc)

sdot IDTestbits] + IDbits le Bits119879lt

119866 (119899) sdot 119871 (119899)

119899[119875col

sdot (log223922 sdot log

2120582minus1

+ 05820) + 119875suc]

sdot IDTestbits + IDbits

(28)

5 Simulation

Next we need to verify how close the mathematic formulaspresented in Section 4 match the reality As the key factorsinfluencing application for anticollision algorithms includethe system throughput and the communication complexitieswhich indicate how fast tags can be identified (especially

International Journal of Distributed Sensor Networks 9

important for mobile tags) and how low the energy isconsumed the comparisons for both of them between ouralgorithm and traditional ones should be made So we pro-gram onMatlab71 and the simulations include (1) comparingtheoretical values calculated by the mathematic formulasmentioned above with the simulative results acquired fromsimulations (2) comparing the complexity of T-GDFSA withthat of traditional algorithms including DFSA EDFSA BSQT and QTI and (3) comparing the system throughput of T-GDFSA when the length of tagrsquos ID varies in a large range orthe initial estimation of tag population becomes inaccurateSystem throughput denoted by 119878 is defined as the ratio ofthe number of tags to the sum of all time slots used in theread frames and all read cycles produced for querying thenodes of binary trees and can be obtained from the formula119878 = 119899119879cycle119879 where 119879cycle is the duration of one time slot aswell as the duration of one read cycle

Before simulation some parameters need to be set prop-erly The parameters are set as follows 119901

119904= 1119871 119871bits = 14

119866bits = 5 Levbits = 4 119877bits = 23 (119871bits + 119866bits + Levbits)IDTestbits = 8 IDReqbits = 8 QueryRepbits = 4 and 119871max =

256 Considering that the possibility that each tag falls in a slotis 1119871 when the frame size is 119871 we set 119901

119904to 1119871 119871bits set to 14

means themaximal time slots in a read frame can be 214119866bitsset to 5 indicates that the maximal grouping size is 25 Levbitsis set to 4 which refers to the fact that the maximal depth ofthe binary tree in recursive process is 24 Obviously 119877bits canbe set to 23 as a sum of 119871bits + 119866bits + Levbits IDTestbits andIDReqbits set to 8means the reader and tags use a 1-byte stringto achieve the strategy of slot test The value of QueryRepbitsis decided by the encoding method of commands and set to 4in our simulations which means each command sent by thereader is represented by a 4-bit binary string As 119871max themaximal frame size refers to the memory used in tags whichis usually very limited in reality it is just set to 256 in oursimulations which means 1-byte memory is required in tagsBesides the following parameters are tuned

(i) 119899 the number of tags to be identified It is increasedby 50 in each trial in the range [50 1000]

(ii) 119871 ini the initial estimated number of unidentified tagsThis value is used to set the initial read frame size It isset to 05119899 15119899 2119899 and 5119899 for inaccurate estimation

(iii) IDbits the length of tagrsquos ID It is assigned to the value48 64 96 128 sequentially

(iv) Running times the times each simulation runs It isset to be 100 times and the average result is taken foranalysis

In Figures 3ndash5 performance comparison of T-GDFSAbetween theoretical values and simulative results is shownIn Figure 3 the theoretical curve of 119878 appears as a zigzag linesurrounding the curve of simulative resultsThe points of thewave crest of the theoretical curve correspond to the increaseof grouping size which reduces tags per group drasticallyand deteriorates 119878 significantly because of more extra idleslots Figure 4 shows that the theoretical Bits

119877matches well

the simulative one In Figure 5 simulative values of Bits119877are

mostly 69 bits and the lower bound of theoretical values is

0 200 400 600 800 1000015

02

025

03

035

04

045

05

055

06

Simulative resultsTheoretical values

Figure 3 The comparison of 119878

0 200 400 600 800 10000

02

04

06

08

1

12

14

16

18

2

22

n

Simulative resultsTheoretical values

times104

BitsR

Figure 4 The comparison of Bits119877

near 58 bits with the length of tagrsquos ID set to 48 bits Noticethat the upper bound of theoretical values is very close tosimulative results when 120582 is set to 001

In Figure 6 compared with other traditional anticollisionalgorithms T-GDFSA has the highest 119878 about 041 when tagrsquosID is set to 48 bits long and uniformly distributed Figure 7shows that T-GDFSA has agreeable Bit

119877which is reduced by

at least half of that of tree-based algorithms and nearly equalto that of ALOHA-based algorithms In Figure 8 T-GDFSAhas the lowest Bits

119879whichmeans more power is saved in tags

compared with other traditional algorithmsFigure 9 shows the variation of 119878 with inaccurate initial

tag estimation When the estimated number is varying from05119899 to 15119899 119878 is still higher than 038 which indicates that

10 International Journal of Distributed Sensor Networks

0 200 400 600 800 10000

10

20

30

40

50

60

70

80

90

100

n

Simulative resultsLower bound

BitsT

Upper bound (P = 001)

Figure 5 The comparison of Bits119879 with IDbits = 48 and tagrsquos ID

uniformly distributed

0 200 400 600 800 1000

03

032

034

036

038

04

042

044

n

S

T-GDFSADFSAEDFSA

BSQTQTI

Figure 6 The comparison of 119878 with 119871 ini = 119899 and IDbits = 48

T-GDFSA has great tolerance for the inaccuracy of initial tagestimation We also notice that T-GDFSA performs better inunderestimation than overestimationThis is because smallerframe size in underestimation causes more tags to fall intocolliding time slots which can make full use of the advan-tages of T-GDFSA while in the case of overestimation theidentification process is more like an EDFSA identificationwithmore 1-tag time slots and idle time slots Figure 10 showsthat length variation of tagrsquos ID has little influence on 119878Whentag population exceeds 450 this effect can be approximatelyignored

0 200 400 600 800 10000

05

1

15

2

25

3

35

4

45

5

55

n

T-GDFSADFSAEDFSA

BSQTQTI

Bits R

times104

Figure 7 The comparison of Bits119877 with 119871 ini = 119899 and IDbits = 48

0 200 400 600 800 10000

20

40

60

80

100

120

140

160

n

T-GDFSADFSAEDFSA

BSQTQTI

BitsT

Figure 8 The comparison of Bits119879 with 119871 ini = 119899 and IDbits = 48

The simulations above reflect the following (1) Ourmathematic formulas of the main metrics match well thereality (2) Compared with traditional algorithms T-GDFSAachieves higher system throughput while maintaining lowercomputing complexities which is not available for traditionalalgorithms shown above This significant advantage makesour algorithm easier to be realized in end-user applications

6 Conclusion

In this paper we firstly make a summary of traditional RFIDanticollision algorithms and then propose a novel hybrid

International Journal of Distributed Sensor Networks 11

0 200 400 600 800 1000

03

032

034

036

038

04

042

044

n

S

L ini = 02n

L ini = 05n

L ini = n

L ini = 15n

L ini = 2n

Figure 9 119878 versus 119899 when IDbits = 48 with the inaccuracy of initialestimation of tag population

0 200 400 600 800 1000

03

032

034

036

038

04

042

044

n

S

IDbits = 48

IDbits = 64

IDbits = 96

IDbits = 128

Figure 10 119878 versus 119899 under the condition of 119871 ini = 119899 and the lengthvariation of tagrsquos ID

anticollision algorithm called T-GDFSA to improve theperformance of RFID tag identification T-GDFSA which isbased on grouped dynamic frame-slottedALOHAand binarytree recursive process has optimal group size and optimalread frame size and solves colliding time slots by introducingthe binary tree recursive process System model and mathe-matics formulas are present and theoretical values of metricsshow great agreement with the simulative results obtainedfrom simulations Compared with traditional ALOHA-basedand tree-based anticollision algorithms T-GDFSA exhibitsexcellent comprehensive performance with preferable system

throughput around 041 and lower communication complex-ity which is similar to EDFSA but at least half less than that oftree-based algorithms Furthermore T-GDFSA has tolerancefor the inaccuracy of initial tag estimation and the lengthvariation of tagrsquos ID

As we can see an accurate estimation of actual tagpopulation in T-GDFSA is very significant The estimationis used to set the optimal grouping size and frame sizewhich ensures the performance Meanwhile the computingcomplexity of estimation cannot be very high to ensure thereader to identify tags promptly However the estimationin T-GDFSA follows TEM (ie Vogtrsquos method) which maynot be optimal in both of time and accuracy so one ofthe possible directions of our next work is to find a wayto improve the estimation method for T-GDFSA to achievebetter performance of RFID tag identification

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

Acknowledgments

This work was sponsored by the National Natural ScienceFoundation of China (Grant nos 61102034 61172156 and61071038) the Doctoral Fund of Guangdong University ofTechnology (Grant no 113002) and Shenzhen ApplicationFoundation key project (Grant no JCYJ20130401095559824)

References

[1] S S Kim YH Kim andK S Ahn ldquoAn enhanced slotted binarytree algorithm with intelligent separation in RFID Systemsrdquoin Proceedings of the IEEE Symposium on Computers andCommunications (ISCC rsquo09) pp 237ndash242 Sousse Tunisia July2009

[2] X Luo Z Xu J Yu and X Chen ldquoBuilding association linknetwork for semantic link on web resourcesrdquo IEEE Transactionson Automation Science and Engineering vol 8 no 3 pp 482ndash494 2011

[3] JM ZhaoWT Li andD-A Li ldquoIdentifying themissing tags incategorized RFID systemsrdquo International Journal of DistributedSensor Networks vol 2014 Article ID 582951 12 pages 2014

[4] G Bagnato G Maselli C Petrioli and C Vicari ldquoPerformanceanalysis of anti-collision protocols for RFID systemsrdquo in Pro-ceedings of the 69th Vehicular Technology Conference (VTC rsquo09)pp 1ndash5 IEEE Barcelona Spain April 2009

[5] W Zhang Y-J Guo X-M Tang G-H Cui L-K Wu andY Mei ldquoAn efficient adaptive anticollision algorithm based on4-ary pruning query treerdquo International Journal of DistributedSensor Networks vol 2013 Article ID 848746 7 pages 2013

[6] X-Q Yan Y Liu B Li and X-M Liu ldquoNumeric evaluation onthe system efficiency of the EPC Gen-2 UHF RFID tag collisionresolution protocol in error prone air interfacerdquo InternationalJournal of Distributed Sensor Networks vol 2014 Article ID716232 9 pages 2014

[7] V Namboodiri M Desilva K Deegala and S RamamoorthyldquoAn extensive study of slotted Aloha-based RFID anti-collision

12 International Journal of Distributed Sensor Networks

protocolsrdquo Computer Communications vol 35 no 16 pp 1955ndash1966 2012

[8] C S Keat and L N Shyan ldquoDynamic framed slotted ALOHAalgorithm for RFID systems with enhanced tag estimationtechniquerdquo in Proceedings of the IEEE International Conferenceon RFID-Technologies and Applications (RFID-TA rsquo13) pp 1ndash4Johor Bahru Malaysia September 2013

[9] J R Cha and J H Kim ldquoDynamic framed slotted ALOHAalgorithms using fast tag estimation method for RFID systemrdquoin Proceedings of the 3rd IEEE Consumer Communications andNetworking Conference (CCNC rsquo06) pp 768ndash772 Las VegasNev USA 2006

[10] S-R Lee S-D Joo and C-W Lee ldquoAn enhanced dynamicframed slotted ALOHA algorithm for RFID tag identificationrdquoin Proceedings of the 2nd International Conference onMobile andUbiquitous Systems Networking and Services (MobiQuitous rsquo05)pp 166ndash172 San Diego Calif USA July 2005

[11] D R Hush and C Wood ldquoAnalysis of tree algorithms for RFIDarbitrationrdquo in Proceedings of the IEEE International Symposiumon InformationTheory (ISIT rsquo98) pp 107ndash114 IEEE CambridgeMass USA August 1998

[12] C Law K Lee andK-Y Siu ldquoEfficientmemoryless protocol fortag identificationrdquo in Proceedings of the 4th International Work-shop on Discrete Algorithms and Methods for Mobile Computingand Communications (DIALM rsquo00) pp 75ndash84 Boston MassUSA August 2000

[13] J Myung W Lee J Srivastava and T K Shih ldquoTag-splittingadaptive collision arbitration protocols for RFID tag identifica-tionrdquo IEEETransactions on Parallel andDistributed Systems vol18 no 6 pp 763ndash775 2007

[14] H Vogt ldquoMultiple object identification with passive RFID tagsrdquoin Proceedings of the IEEE International Conference on SystemsMan and Cybernetics (SMC rsquo02) pp 6ndash9 Hammamet Tunisia2002

[15] M A Bonuccelli F Lonetti and F Martelli ldquoInstant collisionresolution for tag identification in RFID networksrdquo Ad HocNetworks vol 5 no 8 pp 1220ndash1232 2007

[16] Y Langsam M J Augenstein and A M Tenenbaum DataStructure Using C and C++ (2nd Edition) Prentice Hall Engle-wood Cliffs NJ USA 2nd edition 1995

International Journal of

AerospaceEngineeringHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal ofEngineeringVolume 2014

Submit your manuscripts athttpwwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 2: Research Article A Novel Hybrid Anticollision Algorithm ...downloads.hindawi.com/journals/ijdsn/2015/641327.pdf · A Novel Hybrid Anticollision Algorithm for RFID System Based on

2 International Journal of Distributed Sensor Networks

ReaderTag

Covering

rangeCover

ing

range

(a)

ReaderTag

Covering

range

(b)

Figure 1 (a) Reader collision in RFID system (b) Tag collision in RFID system

into two categories ALOHA-based probabilistic anticollisionalgorithms [7ndash10] and tree-based deterministic anticollisionalgorithms [11ndash13] ALOHA-based algorithms decrease theprobability of collision by randomly scheduling the responsetime of tags In those algorithms identification time isslotted and time slots form up read frames Frame size variesover time and is broadcast by the reader to all tags at thebeginning of each read frameWhen receiving frame size tagsselect one time slot from current read frame randomly andonly respond the reader when the selected time slot comesColliding tags are scheduled into the next read frame to beslotted and identified until there are no tags left The mainrepresentatives are DFSA [8 9] and EDFSA [10] both ofwhich need to estimate the initial tag population to set theproper read frame size to optimize performance Howeverwhen the number of tags becomes much larger comparedwith the frame size the performance deteriorates seriouslyA detailed study of these two algorithms is presented inSection 2 On the other hand tree-based algorithms proceedwith the identification process represented as a tree where theroot responds a set of tags to be identified The algorithmsperiodically query a subset of tags which match the givenquery property and continuously split a set of tags intotwo subsets until each set has only one tag Although theidentification time may be longer than that of ALOHA-basedalgorithms they are deterministic which can avoid that aspecific tag may not be identified all the time leading to theso-called ldquotag starvation problemrdquo The main representativesare BS [11] QT [12] and QTI [12] Unfortunately there aremany distinct disadvantages in BS QT and QTI A greatnumber of colliding subsets exist in BS while performanceof QT and QTI is very sensitive to the distribution of tagrsquos IDA more detailed description is shown in Section 2

Furthermore a good tag anticollision algorithm for RFIDpassive tags should have the following characteristics Firstlya reader must identify all tags existing in its covering rangeas tag starvation problem may cause failure of tracking andpositioning objects Second system throughput should behigh enough to ensure tags are recognized promptly whichis of great importance for mobile tag identification Finally

communication complexity ought to be low since passive tagssupplement power supply from the readerrsquos electromagneticwave which causes the available power for tags being verylimited On the other hand low communication complexityis also very useful for the RFID applications where large scalemobile readers are deployed

Based on the analysis hereinbefore we propose a novelhybrid anticollision algorithm to improve the performance ofRFID tag identification The new algorithm called GroupedDynamic Framed Recognition and Binary Tree RecursiveProcess (T-GDFSA) generally identifies tags by groupeddynamic frames and calls binary tree recursive process tosolve each colliding slot As T-GDFSA combines ALOHA-based and tree-based anticollision together it avoids thewaste of idle slots in the late identification stage in ALOHA-based and colliding slots in the early identification stagein tree-based Also because of the combination the com-munications between the reader and tags become reducedwhich means less power is consumed According to the latersimulations in Section 4 T-GDFSA acquires higher systemthroughput by reducing unnecessary idle and collision timeslots and lower communication complexity by decreasingthe data transmitted between the reader and tags whichoverwhelm other main anticollisions and make it easier to berealized in the end-user applications

The remainder of this paper is organized as followsIn Section 2 a variety of ALOHA-based and tree-basedtag anticollision algorithms are observed specifically InSection 3 the main concept and description of T-GDFSA arepresent in detail In Section 4 evaluation of time complexityand communication complexity of T-GDFSA are proposedrespectively In Section 5 performance simulations betweenT-GDFSA and other anticollision algorithms are shown viaMatlab Lastly Section 6 gives conclusion

2 RFID Tag Anticollision Algorithms

In this section we review the main representatives ofALOHA-based and tree-based tag anticollision algorithmsfor RFID system The major metrics observed include time

International Journal of Distributed Sensor Networks 3

Table 1 The strategy of grouping and frame sizing

Tag populationn

Frame sizeL

Group sizeG

Tag populationn

Frame sizeL

Group sizeG

sdot sdot sdot sdot sdot sdot sdot sdot sdot 177ndash354 256 16ndash11 8 1 355ndash707 256 212ndash19 16 1 708ndash1416 256 420ndash40 32 1 1417ndash2831 256 841ndash81 64 1 sdot sdot sdot sdot sdot sdot sdot sdot sdot

82ndash176 128 1

complexity and communication complexity We analyze timecomplexity by the identification time for recognizing a set oftags expressed by 119879 and study communication complexityby the total bits sent by the reader and the average bits sent bysingle tag for the identification expressed by Bits

119877and Bits

119879

respectively

21 Dynamic Framed Slotted ALOHA (DFSA) DFSA is anALOHA-based algorithm which can adjust the read framesize dynamically according to the estimation of tag pop-ulation The identification process is made of several readframes which is slotted into intervals of time called time slotwhose duration is equal to the tagrsquos ID transmission timeBefore the initialization of the first read frame the readerestimates the unidentified tag population 119899 and sets the readframe size 119871 Tags randomly select one time slot in the rangeof [1 119871] and only respond the reader when the selectedslot comes As the proper frame size is decided in advanceDFSA decreases the potential collision probability to a greatextent The population of unidentified tags is estimated inthe following way Let 119873

119888be the number of colliding time

slots let119873119904be the number of time slots with single tag which

can be identified successfully and let 119862ratio be the ratio of 119873119888

and 119899 which can be calculated by (1) When the current readframe is finished the population of unidentified tags varies to119873119888119862ratio minus119873

119904 which is set to be the new size of the next read

frame to maintain an optimal system throughput

119862ratio = 1 minus (1 minus1

119871)119899

sdot (1 +119899

119871 minus 1) (1)

If we define 119879slot as the duration of time slot 119871 ini as theinitial frame size 119871 as the actual frame size after initial frame119875succ(119896) as the possibility of successful identification for a tagafter 119896 times attempts 119876Repbits as the symbol length of slotinterval ACKbits as the symbol length of acknowledgmentsent by the reader after receiving tagrsquos ID and IDbits as thelength of tagrsquos ID themajormetrics ofDFSA can be describedas follows

119879 = 119879slot sdot (119871 ini + 119871 sdot

infin

sum119896=1

119896119875succ (119896))

Bits119877= 119871bits sdot (

infin

sum119896=1

119896119875succ (119896) + 1) + 119876Repbits sdot 119871

sdot

infin

sum119896=1

119896119875succ (119896) + 119899 sdot ACKbits

Bits119879= IDbits sdot

infin

sum119896=1

119896119875succ (119896)

(2)

However when tag population is large the performanceof DFSA deteriorates heavily This is because the size ofmemory recording the selected slot in tags is limited andcannot keep pace with the increase of tag population whichmakes the optimal condition that the frame size is set equalto the tag population not satisfied

22 Enhanced Dynamic Framed Slotted ALOHA (EDFSA)On the basis of DFSA in order to enhance the systemperformancewhen tag population is large EDFSA introducesthe grouping strategy that it randomly splits tags into differentgroups according to themaximal frame size and the estimatednumber of unread tags Only the tags associated with oneof the groups are queried in the following read framesthen the identifications for tags in other groups are followedsequentially In fact the grouped identification is morelike a combination of several DFSA processes Chebysevrsquosinequality is used in the end of each read frame to estimatethe number of tags left which is used to adjust the number ofgroups and frame size for the incoming read frames

The grouping and frame sizing strategy is represented inTable 1 where the group number and frame size are adjustedin theway of doubling or halving which can be easily realizedin practical applications by the operation of left shifting orright shifting the group register

If we define the same notations as given in DFSA abovethe major metrics of EDFSA can be derived as follows

119879 = 119879slot sdot (119866ini sdot 119871 ini + 119866 sdot 119871 sdot

infin

sum119896=1

119896119875succ (119896))

Bits119877= 119866bits sdot 119871bits sdot (

infin

sum119896=1

119896119875succ (119896) + 1) + 119876Repbits sdot 119866

sdot 119871 sdot

infin

sum119896=1

119896119875succ (119896) + 119899 sdot ACKbits

Bits119879= IDbits sdot

infin

sum119896=1

119896119875succ (119896)

(3)

4 International Journal of Distributed Sensor Networks

23 Binary Tree Algorithm (BS) BS and Query Tree (QT) areboth tree-based algorithms in which the reader iterativelyqueries a subset of tags matching a given property until alltags are identified They differ in the way of querying tagsaccording to a binary random number in BS and a queryprefix in QT In BS the reader recognizes tags in the timeinterval called read cycle Colliding tags are split into twosubsets recursively until just one tag is allocated in everysubset The tag has a counter initialized to 0 in the verybeginning Only tags with counter value equal to 0 canrespond the reader query in current read cycle and othertags keep silent and wait for their counters decreasing to 0Tags modify the value of counter depending on the resultof current identification If a collision happens collidingtags add a 1-bit binary value randomly to their counterswhich are split into two subsets with the counter at 0 andthe counter at 1 respectively Other tags not involved inthe collision increase their counters by 1 to maintain theirformer identifying order unchanged In case of identifyingsuccessfully or no response all tags unread decrease theircounters by 1 and tags with counter at 1 respond the readerin the next read cycle

If we define 119879cycle as the duration of a read cycle lceillog2119899rceil

as the minimal integer not less than log2119899 119862bits as the

length of query command and other parameters as the samenotations given in DFSA above the major metrics of BS canbe expressed as follows

119879

= 119879cycle

sdot (1 + 2 sdot

infin

sum119896=0

2119896minus (2119896+ 119899 minus 1) sdot (1 minus 2

minus119896)119899minus1

)

(4)

Bits119877

= 119862bits

sdot (1 + 2 sdot

infin

sum119896=0

2119896minus (2119896+ 119899 minus 1) sdot (1 minus 2

minus119896)119899minus1

)

(5)

Bits119879= IDbits sdot log2119899 (6)

The expressions (4) and (5) are general equations when 119896collision times that is the depth of current node (read cycle)in the binary tree (the whole identification process) tendsto positive infinity For convenience we derive the lowerbounds of 119879 and Bits

119877for reference As in BS the binary

tree representing the whole identification process is a strictbinary tree the intermediate nodes denoted by 119862

119865(119899) (ie

the colliding times) achieve minimal value when they areregarded as a complete binary tree whose number of nodescan be expressed as 2119862

119865(119899) + 1 Consider the fact that the

number of all nodes in the strict binary tree satisfies theinequation119873nd(119899) ge 2119862

119865(119899) + 1 = 2 sdotsum

log2119899minus1

119896=02119896 +1 = 2119899minus 3

and each node correspondswith a read cycle sowe can derivethe following expressions for fast tag estimation

119879 ge 119879cycle sdot (2119899 minus 3)

Bits119877ge 119862bits sdot (2119899 minus 3)

(7)

24 Query Tree Algorithm (QT) QT splits a tag set accordingto tagrsquos IDThe reader transmits a query including a bit stringand only the tag whose ID has a prefix matching the querystring responds by transmitting its ID In particular if thecurrent query string is 119902

11199022sdot sdot sdot 119902119899(119902119894isin 0 1) and leads to

a collision the reader uses two 1-bit longer queries that is11990211199022sdot sdot sdot 1199021198990 and 119902

11199022sdot sdot sdot 1199021198991 in the next read cycles in turn

which splits the set of colliding tags into two subsets If acollision still occurs when the new 1-bit longer query stringis sent then the string length is further increased by 1 bitwith 0 or 1 added to the end of the current query stringuntil the collision is solved and a tag is identified successfullyThe reader has a stack 119878 to manage query strings In thebeginning 119878 is initialized as NULL which causes all tagsresponse When collision occurs the reader pushed two 1-bit longer query strings into 119878 When current read cycle isfinished it pops a query string from 119878 for the next read cycleThat 119878 is popped empty indicates that all tags are recognizedNotice that collisions in QT correspond to the intermediatenodes not including the root node compared with BS

If we define the same notations as given in BS above themajor metrics of QT can be derived as follows

119879 le 119879cycle sdot (2887119899 minus 1)

Bits119877le IDbits sdot (2887119899 minus 1)

Bits119879= IDbits sdot (221log2119899 + 419)

(8)

25 Query Tree Improved Algorithm (QTI) There areamounts of useless query strings in QT which increase theread cycles and depress the system throughput QTI is anenhancement that removes those certainly causing collisionsin advance For example consider the case in which queryprefix 119902 has produced a collision while 1199020 result in noresponse As 1199021 definitely leads to a collision QTI skips itdirectly and takes 11990210 as the next query prefix

Compared with QT QTI only reduces the amount of datatransmitted by the reader while it maintains the amount ofdata sent by tags unchanged which alsomakes the expressionof Bits

119879unchanged

If we follow the same notations defined in BS we canobtain the formulas as follows

119879 le 119879cycle sdot (2665119899 minus 1)

Bits119877le IDbits sdot (2665119899 minus 1)

Bits119879= IDbits sdot (221log2119899 + 419)

(9)

From what has been discussed hereinbefore we can seeclearly that regardless of time or communication complexitythe metrics of ALOHA-based including DFSA and EDFSA

International Journal of Distributed Sensor Networks 5

are the same order infinitesimal of 119899 while the metricsof tree-based including BS QT and QTI are the higherorder infinitesimal of 119899 Although the metrics of tree-basedalgorithms seem worse they are deterministic which canavoid the so-called ldquotag starvation problemrdquo that a specifictag may not be identified all the time in ALOHA-basedalgorithms

3 The Proposed Algorithm T-GDFSA

The proposed algorithm T-GDFSA can be divided into twosteps the step of the estimation of tag population and thestep of tag identification The former is just implementedonce to estimate the initial number of tags existing in thecovering range of the reader which is used in the second stepto calculate the optimal number of groups and frame size ineach group In T-GDFSA the method used for tag estimationis similar to TEM (Tag Estimation Method) [14] At the endof each read cycle the recorded triple numbers ⟨119888

0 1198881 119888119896⟩

can be obtained from the readerrsquos memory which quantifiesthe number of idle time slots successful time slots occupiedby only one tag and colliding slots with more than twotags respectively Meanwhile the expected triple numbers⟨119886119873119899

0 1198861198731198991

119886119873119899119896

⟩ can be computed from the given framesize 119873 and the number 119899 of tags by statistical knowledgeAccording to Chebyshevrsquos expression the outcome of arandom experiment involving a random variable 119883 is mostlikely somewhere near the expected value of119883This propertyis used to calculate the distance between the recorded results⟨1198880 1198881 119888119896⟩ and the expected results ⟨119886119873119899

0 1198861198731198991

119886119873119899119896

⟩ of eachread cycle as defined in (10) When theminimal distance isachieved the corresponding 119899 is considered to be the optimalestimation of tag population Consider

120576 (119873 1198880 1198881 119888119896) = min119899

1003816100381610038161003816100381610038161003816100381610038161003816100381610038161003816100381610038161003816

(

1198861198731198990

1198861198731198991

119886119873119899119896

) minus (

1198880

1198881

119888119896

)

1003816100381610038161003816100381610038161003816100381610038161003816100381610038161003816100381610038161003816

(10)

where 119886119873119899119896

is the expected value of colliding slots with 119896 tagsthen

119886119873119899

119896= 119873 sdot (

119899

119896) sdot (

1

119873)119896

sdot (1 minus1

119873)119899minus119896

(119896 le 119899) (11)

In (10) the minimal 120576 is supposed to be achieved by asearching process with 119899 varying in the range [119888

1+ 2119888119896 3(1198881+

2119888119896)] where 119888

1+ 2119888119896is the lower bound of 119899 according to

[15] since 1198881tags have been identified and if there are 119888

119896

collisions at least 2119888119896tags collided The upper bound of 119899 is

set to 3(1198881+ 2119888119896) since by simulation no further accuracy in

the estimation is obtained if the upper bound is set to highervalues

From [1] we know that the system throughput becomesoptimal when the frame size is set equal to the number of tagsIn order to satisfy this condition the grouping size is adjustedby 1 each time to ensure that the number of tags in eachgroup is very close to the frame size The optimal groupingsize is decided by the expected system efficiency Suppose

the current number of groups is 119896 it will be increased to 119896+1

if the expected system efficiency with 119896 + 1 groups rises justequal to that with 119896 groups Consider

119886119873119899119896

1

119873=

119886119873119899(119896+1)

1

119873(119896 = 1 2 ) (12)

From (12) the maximum number of tags with 119896 groups is

119899119896=lg (119896 (119896 + 1))

lg (1 minus 1119873)sdot 119896 sdot (119896 + 1) (119896 = 1 2 ) (13)

By the utilization of (13) the optimal grouping size 119866 can beobtained with a varying 119899 and a given frame size 119871

Then the optimal 119866 is broadcast by the reader with arandom number to tags Grouping rule is as follows Each taggenerates a new random number by the old received one andits serial number (tagrsquos ID) Then the new random number isdivided by 119866 and all tags have a group number randomly inthe range [0 119866 minus 1] In the current read frame only tags withgroup number 0 are permitted to respond the reader Whenall of them have been identified the reader begins a new readframe and tags with group number 1 are involvedThe processcontinues until tags having group number 119866 minus 1 are queriedwhich means all tags have been recognizedThe frame size ofeach read frame decides how many time slots are included init At the beginning of each read frame the reader broadcaststhe optimal frame size 119871 to all tags which means there are119871 time slots in the incoming read frame and tags involvedgenerate an integer 119871

119894in the range [1 119871] and save it in its slot

counter By this means tags are allocated into 119871 time slotsrandomly In the first time slot initiated by the reader tagswith slot counter at 0 are permitted to respond the readerWhen all tags in current time slot have been identified thereader polls the next time slot and informs other unidentifiedtags to decrease their time slot counter by 1 Tags whose valueof slot counters decreasing to 0 are permitted to respond thereader in the incoming time slot If a collision happens inthe current time slot tags involved add 0 or 1 randomly totheir slot counters which cause them to fall into two subsets Itmeans that a binary tree is introduced and colliding tags aresubdivided into two child nodes of the current parent noderandomly Other tags increase their slot counters by 1 so as tocounteract the effect caused by splitting for the colliding tagsto keep their former identification sequence unchangedAftersplitting the reader firstly turns to identify the tags in the leftchild node of current parent node and if a collision is stilldetected the node-splitting process will be executed againand tags falling into the deeper left child node will be read inthe incoming time slotThe process will keep on going recur-sively until there is no collision happened in the current leftchild node Because there is nomore than 1 tag in the leaf tagin it can be identified successfully and then muted Next thereader returns up to the parent node of the current left childnode then turns down to the right child node and identifiestags in itThere are three possible outcomes Collision slotwillcause a new node-splitting process similar to that representedbeforehand 1-tag slot will make the reader identify the tagsuccessfully and then return to the parent node Idle slot willmake the reader directly come back to the parent node Next

6 International Journal of Distributed Sensor Networks

0 1

10

0 1

0 1

0 1

Time slot

1 2 3 4 5 6 7Group

middot middot middot

middot middot middot

middot middot middot

1 i i + 1 i + 2 i + 3 i + 4 i + 5 i + 6 i + 7 i + 8

Lev = 0

Lev = 1

Lev = 2

Lev = 3

120601

120601

120601 120601 120601

Figure 2 The execution process of the T-GDFSA

as all the child nodes of the parent node have been identifiedthe reader will return to the upper parent node The proce-durewill continue recursively until all nodes of the binary treehave been queried which means all tags in current collidingtime slot have been identified In the initiation of each binarytree recursive process the reader sets a level counter forcurrent colliding slot to record the depth of current node(ie read cycle) in the binary tree It is increased by 1 when acollision happens in current node and the reader goes deeperto the child nodes and is decreased by 1 when all tags inthe child nodes are already identified and the reader returnsto the upper parent node Level counter which decreasedto 0 indicates that all tags in the current collision slot havebeen identified In Figure 2 the tag identification process forgroup 1 is illustrated where Lev means the level counter Φdenotes no tag responding and each ldquo∙rdquo represents one tagThe identification processes for other groups are similar

4 Performance Evaluation

In this section wewill evaluate the performance of T-GDFSAThere are several metrics focusing on different aspects ofRFID system We take time complexity and communicationcomplexity for emphatic analysis Because time complex-ity reflects the identification efficiency which is of greatimportance for fast tag identification and communicationcomplexity indicates power consumption of the reader andtags which is of great significance for mobile RFID appli-cations Time complexity is defined as the total time spentto identify a set of tags in the covering range of the readerCommunication complexity refers to the amount of datatransmitted between the reader and tags which can becomposed of two parts Bits

119877(the total number of bits sent

by the reader) and Bits119879(the total number of bits transmitted

by single tag in average)Prior to deeper analysis it is necessary to make the

following important assumptions

Assumption 1 As data received by the reader aremostly shortsymbols such as acknowledgement symbols and so forth

which are much less compared with the data sent by thereader we simply ignore it and consider that Bits

119877totally

represents the communication complexity on reader

Assumption 2 The duration of time slot in read frame is setequal to that of read cycle in binary tree which is denoted bythe unified symbol 119879cycle making it possible to calculate thesystem throughput quantificationally

Assumption 3 In most RFID applications power consump-tion of tags is more sensitive than that of the reader So weproposed a new strategy dedicated to reducing Bits

119879 which

is deployed as follows Instead of sending complete tagrsquos IDdirectly tag firstly sends IDTest (a short bit string) to testthe state of the current time slot If no collision happensIDTest can be received by the reader successfully The readerresponds with the acknowledgement IDReq to require thetag to transmit its complete ID The strategy eliminates theuselessmass data transmission of tagrsquos ID caused by collisionsand ensures that tagrsquos ID is sent only once Since the length ofIDTest ismuch shorter than that of tagrsquos ID Bits

119879is decreased

drastically

41 Time Complexity The total consumed time denoted by119879 consists of three parts 119879est (time cost in the estimation oftag population) 119879rf (time cost in read frames) and 119879rc (timecost in read cycles of binary tree recursive process) Then weget

119879 = 119879est + 119879rf + 119879rc (14)

Let 119866ini denote the initial grouping size for the estimation oftag population and let 119866(119899) denote the actual grouping sizecalculated by (13) 119871 ini and 119871(119899) represent the initial framesize and the actual frame size separately 119899 is the numberof unidentified tags Then 119879est and 119879rf can be expressed as119866ini119871 ini119879cycle and 119866(119899)119871(119899)119879cycle respectively According to[1] when the condition of maximal throughput of framedslotted ALOHA the read frame size is equal to the numberof unidentified tags is satisfied the average number of tags in

International Journal of Distributed Sensor Networks 7

each colliding time slot is about 23922 on average Because119866(119899)119871(119899) is very close to 119899 in T-GDFSA the average numberof tags in each colliding time slot denoted by 119862tag can beconsidered as 23922 simply

According to the representation above we know that thebinary tree process for each colliding time slot is a strictlybinary tree so there is no 1-degree node included meaningthat any non-leaf node (the root node or the intermediatenode) has two child nodes Let 119873nd and 119873leaf be the numberof non-leaf nodes and leaf nodes respectively then 119873nd =

2119873leaf minus 1 can be easily deduced [16] Since the root nodecorresponds to the colliding time slot which has already beencounted in the read frame before the effective number ofnodes in every binary tree is 119873nd minus 1 Since the leaf nodesare composed of 1-tag leaf nodes and idle leaf nodes thenumber of actual nodes in every colliding time slot denotedas 1198731015840

nd satisfies the inequation 1198731015840nd ge 2119862tag minus 2 = 27844

on average Note the fact that when 119862tag is small it is veryclose to 119873leaf so the inequation above can be considered asequation 1198731015840nd = 2119862tag minus 2 = 27844 simply By probabilityknowledge we can derive that the expected value of collidingtime slots is 119866(119899)119871(119899)119875col where 119875col is the probability ofdetecting a colliding time slot and that 119879rc is no less than27844119866(119899)119871(119899)119875col119879cycle Substituting (14) with the all resultsabove we acquire the final expression of 119879 as follows

119879 asymp 119866ini sdot 119871 ini + 119866 (119899) sdot 119871 (119899) + 27844 sdot 119866 (119899) sdot 119871 (119899)

sdot 119875col sdot 119879cycle(15)

In expression (15) 119875col = [1 minus 119899119866(119899) sdot 119901(1 minus 119901)119899119866(119899)minus1 minus (1 minus

119901)119899119866(119899)]where 119901 = 1119871(119899) is the probability of a tag selectinga time slot from total 119871(119899) time slots

42 Communication Complexity on Reader Bits119877is defined

as the amount of data transmitted by the reader to identifya set of tags appearing in its irrigation range which reflectsthe communication complexity on reader suitably From theabove analysis we realize that no matter in the step of initialtag estimation or in the step of tag identification process theamount of data sent by the reader representing group size andframe size are both (119866bits+119871bits) bitsThe reader also needs totransmit QueryRep periodically tomake the current time slotincreased continually so as to poll tags allocated in differenttime slots of current frame and the amount of data of thispart can be expressed as [119866ini119871 ini + 119866(119899)119871(119899)]QueryRepbitsBesides in every binary tree recursive process as expressedabove the number of read cycles1198731015840nd is equal to 2119862tag minus 2 =

27844 As nodes in a binary tree consist of collision nodesand leaf nodes and the leaf nodes need no extra read cyclesto query the number of actual nodes for which reader sendsread cycles should be (2119862tag minus 2 minus 119862tag) = 03922 on averageThe reader sends at most 1 read cycle in every node so thenumber of read cycles in every binary tree recursive processis almost 03922 Considering that the expected number ofcollision slots is119866(119899)119871(119899)119875coll the total number of read cyclesin all binary tree recursive processes is 03922119866(119899)119871(119899)119875collLet119877bits be the string length of one read cycle and let IDReqbits

be the string length of IDReq sent by the reader respectivelyBits119877can be finally expressed as follows

Bits119877asymp 2 (119866bits + 119871bits)

+ [119866ini119871 ini + 119866 (119899) 119871 (119899)]QueryRepbits + 119899

sdot IDReqbits + 03922119866 (119899) 119871 (119899) 119875coll119877bits

(16)

43 Communication Complexity on Tag Here we take Bits119879

for consideration to indicate the average amount of datatransmitted by single tag Because of the randomness of tagidentification the average bits of data sent by single tag aredifficult to observe exactly so the lower bound and the upperbound are introduced for reference

(a) The Lower Bound If one lets lev(119894) be the level of the 119894thleaf node in a strict binary tree with 119899 leaf nodes where 119894

varies from 1 to 119899 according to the property of strict binarytree the following equation can be easily derived

119899

sum119894=1

1

2lev(119894)= 1 (17)

Since sum119899

119894=1(12lev(119894)) = 119899 sdot (1119899)sum

119899

119894=1(12lev(119894)) ge 119899 sdot

119899radic(12)sum119899

119894=1lev(119894) we can obtain

119899

sum119894=1

lev (119894) ge 119899log2119899 (18)

Expression (18) shows that the sum of levels of all leaf nodesin a strict binary tree with 119899 leaf nodes is no less than 119899log

2119899

Because the level of node indicates that the collision timestags allocated in it have experienced and the colliding timesin a strict binary tree with 119899 tags become minimal only whenthe number of leaf nodes is equal to 119899 the total colliding timesin a strict binary tree with 119899 tags are no less than 119899log

2119899 Let

119875col and 119875suc denote the expected possibility of colliding slotsand singleton slots respectively according to Assumption 3the amount of data transmitted by tags in all colliding timeslots satisfies

BitsCS ge 119866 (119899) sdot 119871 (119899) 119875col sdot (23922 sdot log223922

sdot IDTestbits + 23922 sdot IDbits) (19)

The total amount of data sent by all tags represented byBitsTA is composed of two parts data sent by the tags incolliding time slots and data sent by the tags in singleton slotsThe former is expressed by (19) Since every tag allocated inthe singleton slot transmits IDTest as well as tagrsquos ID onlyonce and there are 119866(119899)119871(119899)119875suc singleton slots with only 1tag BitsTA can be derived as the following expression

BitsTA = BitsCS + 119866 (119899) sdot 119871 (119899) sdot 119875suc

sdot (IDTestbits + IDbits)

ge 119866 (119899) sdot 119871 (119899)

sdot (23922 sdot 119875col sdot log223922 + 119875succ)

sdot IDTestbits + 119899 sdot IDbits

(20)

8 International Journal of Distributed Sensor Networks

Finally the lower bound of Bits119879can be obtained as follows

Bits119879

ge119866 (119899) sdot 119871 (119899)

119899

sdot [(23922 sdot 119875col sdot log223922 + 119875suc) sdot IDTestbits]

+ IDbits

(21)

(b) The Upper Bound In order to measure the largest amountof data sent by tags we must take the worst condition intoaccount Consider the following extreme situation Let 119901

119904be

the probability of all colliding tags falling into the same childnode simultaneously after splitting current collision nodeand 120582 is the probability of only one tag falling into one childnode Obviously 119901

119904is much large than 120582 at the beginning

of the binary tree recursive process which means collidingtags will fall into the same child node after splitting As thesplitting process is ongoing recursively 119901

119904is decreasing and

approaching 120582 If and only if 119901119904becomes not great than 120582

for the first time the splitting of current collision node willresult in one child node with only 1 tag and the other childnode with the remainder tags which separates 1 tag fromthe colliding tags and identifies it successfully The splittingprocess will repeat recursively for the remaining tags in thecolliding child node until there is no more than 1 tag fallinginto every node or we can say the leaf node has been reachedAssuming that the 119894th identified tag has experienced 119896

119894times

of collision before being identified successfully and119898 denotesthe total number of colliding tags in the binary tree we canget

[(1

2)119898+1minus119894

]

1198961015840

119894

le 120582

where 1198961015840

119894is an integer 119896

119894= min (119896

1015840

119894)

997904rArr 119896119894= lceil

1

119898 + 1 minus 119894log12

120582rceil

lt1

119898 + 1 minus 119894log12

120582 + 1

(22)

So the amount of data sent by119898 tags in the binary tree can beconsidered as

BitsCS le

119898minus1

sum119894=1

119896119894sdot IDTestbits + 119898 sdot IDbits

= (

119898minus1

sum119894=1

lceil1

119898 + 1 minus 119894log12

120582rceil) sdot IDTestbits + 119898

sdot IDbits

(23)

In the expression above the fact that the range of 119894 doesnot include 119898 is because the 119898th tag will be identifiedundoubtedly in the next read frame if the (119898 minus 1)th tag has

been identified Therefore by expressions (22) and (23) weget the following expression

BitsCS lt [(

119898

sum119894=1

1

119894) minus 1] sdot log

12120582 + (119898 minus 1)

sdot IDTestbits + 119898 sdot IDbits

(24)

Seeing that sum119898119894=1

(1119894) is the sum of the first 119898 terms of theharmonic series and its upper bound is (log

2119898 + 1) [16]

expression (24) can be rewritten as

BitsCS lt [(log2119898 + 1 minus 1) sdot log

12120582 + (119898 minus 1)]

sdot IDTestbits + 119898 sdot IDbits

= [log2119898 sdot log

2120582minus1

+ (119898 minus 1)] sdot IDTestbits + 119898

sdot IDbits

(25)

Considering 119898 = 23922 so the total amount of data sent byall tags is

BitsTA

= BitsCS + 119866 (119899) sdot 119871 (119899) sdot 119875suc sdot (IDTestbits + IDbits)

lt 119866 (119899) sdot 119871 (119899)

sdot [119875col sdot (log223922 sdot log2120582minus1

+ 05820) + 119875suc]

sdot IDTestbits + 119899 sdot IDbits

(26)

And the average amount of data sent by single tag is shown asfollows

Bits119879=BitsTA

119899lt

119866 (119899) 119871 (119899)

119899[119875col (log223922

sdot log2120582minus1

+ 05820) + 119875suc] IDTestbits + IDbits

(27)

Thus the final expression of Bits119879can be deduced form

expressions (21) and (27) which is expressed as an inequationwith a lower bound and an upper bound as follows

119866 (119899) sdot 119871 (119899)

119899sdot [(23922 sdot 119875col sdot log223922 + 119875suc)

sdot IDTestbits] + IDbits le Bits119879lt

119866 (119899) sdot 119871 (119899)

119899[119875col

sdot (log223922 sdot log

2120582minus1

+ 05820) + 119875suc]

sdot IDTestbits + IDbits

(28)

5 Simulation

Next we need to verify how close the mathematic formulaspresented in Section 4 match the reality As the key factorsinfluencing application for anticollision algorithms includethe system throughput and the communication complexitieswhich indicate how fast tags can be identified (especially

International Journal of Distributed Sensor Networks 9

important for mobile tags) and how low the energy isconsumed the comparisons for both of them between ouralgorithm and traditional ones should be made So we pro-gram onMatlab71 and the simulations include (1) comparingtheoretical values calculated by the mathematic formulasmentioned above with the simulative results acquired fromsimulations (2) comparing the complexity of T-GDFSA withthat of traditional algorithms including DFSA EDFSA BSQT and QTI and (3) comparing the system throughput of T-GDFSA when the length of tagrsquos ID varies in a large range orthe initial estimation of tag population becomes inaccurateSystem throughput denoted by 119878 is defined as the ratio ofthe number of tags to the sum of all time slots used in theread frames and all read cycles produced for querying thenodes of binary trees and can be obtained from the formula119878 = 119899119879cycle119879 where 119879cycle is the duration of one time slot aswell as the duration of one read cycle

Before simulation some parameters need to be set prop-erly The parameters are set as follows 119901

119904= 1119871 119871bits = 14

119866bits = 5 Levbits = 4 119877bits = 23 (119871bits + 119866bits + Levbits)IDTestbits = 8 IDReqbits = 8 QueryRepbits = 4 and 119871max =

256 Considering that the possibility that each tag falls in a slotis 1119871 when the frame size is 119871 we set 119901

119904to 1119871 119871bits set to 14

means themaximal time slots in a read frame can be 214119866bitsset to 5 indicates that the maximal grouping size is 25 Levbitsis set to 4 which refers to the fact that the maximal depth ofthe binary tree in recursive process is 24 Obviously 119877bits canbe set to 23 as a sum of 119871bits + 119866bits + Levbits IDTestbits andIDReqbits set to 8means the reader and tags use a 1-byte stringto achieve the strategy of slot test The value of QueryRepbitsis decided by the encoding method of commands and set to 4in our simulations which means each command sent by thereader is represented by a 4-bit binary string As 119871max themaximal frame size refers to the memory used in tags whichis usually very limited in reality it is just set to 256 in oursimulations which means 1-byte memory is required in tagsBesides the following parameters are tuned

(i) 119899 the number of tags to be identified It is increasedby 50 in each trial in the range [50 1000]

(ii) 119871 ini the initial estimated number of unidentified tagsThis value is used to set the initial read frame size It isset to 05119899 15119899 2119899 and 5119899 for inaccurate estimation

(iii) IDbits the length of tagrsquos ID It is assigned to the value48 64 96 128 sequentially

(iv) Running times the times each simulation runs It isset to be 100 times and the average result is taken foranalysis

In Figures 3ndash5 performance comparison of T-GDFSAbetween theoretical values and simulative results is shownIn Figure 3 the theoretical curve of 119878 appears as a zigzag linesurrounding the curve of simulative resultsThe points of thewave crest of the theoretical curve correspond to the increaseof grouping size which reduces tags per group drasticallyand deteriorates 119878 significantly because of more extra idleslots Figure 4 shows that the theoretical Bits

119877matches well

the simulative one In Figure 5 simulative values of Bits119877are

mostly 69 bits and the lower bound of theoretical values is

0 200 400 600 800 1000015

02

025

03

035

04

045

05

055

06

Simulative resultsTheoretical values

Figure 3 The comparison of 119878

0 200 400 600 800 10000

02

04

06

08

1

12

14

16

18

2

22

n

Simulative resultsTheoretical values

times104

BitsR

Figure 4 The comparison of Bits119877

near 58 bits with the length of tagrsquos ID set to 48 bits Noticethat the upper bound of theoretical values is very close tosimulative results when 120582 is set to 001

In Figure 6 compared with other traditional anticollisionalgorithms T-GDFSA has the highest 119878 about 041 when tagrsquosID is set to 48 bits long and uniformly distributed Figure 7shows that T-GDFSA has agreeable Bit

119877which is reduced by

at least half of that of tree-based algorithms and nearly equalto that of ALOHA-based algorithms In Figure 8 T-GDFSAhas the lowest Bits

119879whichmeans more power is saved in tags

compared with other traditional algorithmsFigure 9 shows the variation of 119878 with inaccurate initial

tag estimation When the estimated number is varying from05119899 to 15119899 119878 is still higher than 038 which indicates that

10 International Journal of Distributed Sensor Networks

0 200 400 600 800 10000

10

20

30

40

50

60

70

80

90

100

n

Simulative resultsLower bound

BitsT

Upper bound (P = 001)

Figure 5 The comparison of Bits119879 with IDbits = 48 and tagrsquos ID

uniformly distributed

0 200 400 600 800 1000

03

032

034

036

038

04

042

044

n

S

T-GDFSADFSAEDFSA

BSQTQTI

Figure 6 The comparison of 119878 with 119871 ini = 119899 and IDbits = 48

T-GDFSA has great tolerance for the inaccuracy of initial tagestimation We also notice that T-GDFSA performs better inunderestimation than overestimationThis is because smallerframe size in underestimation causes more tags to fall intocolliding time slots which can make full use of the advan-tages of T-GDFSA while in the case of overestimation theidentification process is more like an EDFSA identificationwithmore 1-tag time slots and idle time slots Figure 10 showsthat length variation of tagrsquos ID has little influence on 119878Whentag population exceeds 450 this effect can be approximatelyignored

0 200 400 600 800 10000

05

1

15

2

25

3

35

4

45

5

55

n

T-GDFSADFSAEDFSA

BSQTQTI

Bits R

times104

Figure 7 The comparison of Bits119877 with 119871 ini = 119899 and IDbits = 48

0 200 400 600 800 10000

20

40

60

80

100

120

140

160

n

T-GDFSADFSAEDFSA

BSQTQTI

BitsT

Figure 8 The comparison of Bits119879 with 119871 ini = 119899 and IDbits = 48

The simulations above reflect the following (1) Ourmathematic formulas of the main metrics match well thereality (2) Compared with traditional algorithms T-GDFSAachieves higher system throughput while maintaining lowercomputing complexities which is not available for traditionalalgorithms shown above This significant advantage makesour algorithm easier to be realized in end-user applications

6 Conclusion

In this paper we firstly make a summary of traditional RFIDanticollision algorithms and then propose a novel hybrid

International Journal of Distributed Sensor Networks 11

0 200 400 600 800 1000

03

032

034

036

038

04

042

044

n

S

L ini = 02n

L ini = 05n

L ini = n

L ini = 15n

L ini = 2n

Figure 9 119878 versus 119899 when IDbits = 48 with the inaccuracy of initialestimation of tag population

0 200 400 600 800 1000

03

032

034

036

038

04

042

044

n

S

IDbits = 48

IDbits = 64

IDbits = 96

IDbits = 128

Figure 10 119878 versus 119899 under the condition of 119871 ini = 119899 and the lengthvariation of tagrsquos ID

anticollision algorithm called T-GDFSA to improve theperformance of RFID tag identification T-GDFSA which isbased on grouped dynamic frame-slottedALOHAand binarytree recursive process has optimal group size and optimalread frame size and solves colliding time slots by introducingthe binary tree recursive process System model and mathe-matics formulas are present and theoretical values of metricsshow great agreement with the simulative results obtainedfrom simulations Compared with traditional ALOHA-basedand tree-based anticollision algorithms T-GDFSA exhibitsexcellent comprehensive performance with preferable system

throughput around 041 and lower communication complex-ity which is similar to EDFSA but at least half less than that oftree-based algorithms Furthermore T-GDFSA has tolerancefor the inaccuracy of initial tag estimation and the lengthvariation of tagrsquos ID

As we can see an accurate estimation of actual tagpopulation in T-GDFSA is very significant The estimationis used to set the optimal grouping size and frame sizewhich ensures the performance Meanwhile the computingcomplexity of estimation cannot be very high to ensure thereader to identify tags promptly However the estimationin T-GDFSA follows TEM (ie Vogtrsquos method) which maynot be optimal in both of time and accuracy so one ofthe possible directions of our next work is to find a wayto improve the estimation method for T-GDFSA to achievebetter performance of RFID tag identification

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

Acknowledgments

This work was sponsored by the National Natural ScienceFoundation of China (Grant nos 61102034 61172156 and61071038) the Doctoral Fund of Guangdong University ofTechnology (Grant no 113002) and Shenzhen ApplicationFoundation key project (Grant no JCYJ20130401095559824)

References

[1] S S Kim YH Kim andK S Ahn ldquoAn enhanced slotted binarytree algorithm with intelligent separation in RFID Systemsrdquoin Proceedings of the IEEE Symposium on Computers andCommunications (ISCC rsquo09) pp 237ndash242 Sousse Tunisia July2009

[2] X Luo Z Xu J Yu and X Chen ldquoBuilding association linknetwork for semantic link on web resourcesrdquo IEEE Transactionson Automation Science and Engineering vol 8 no 3 pp 482ndash494 2011

[3] JM ZhaoWT Li andD-A Li ldquoIdentifying themissing tags incategorized RFID systemsrdquo International Journal of DistributedSensor Networks vol 2014 Article ID 582951 12 pages 2014

[4] G Bagnato G Maselli C Petrioli and C Vicari ldquoPerformanceanalysis of anti-collision protocols for RFID systemsrdquo in Pro-ceedings of the 69th Vehicular Technology Conference (VTC rsquo09)pp 1ndash5 IEEE Barcelona Spain April 2009

[5] W Zhang Y-J Guo X-M Tang G-H Cui L-K Wu andY Mei ldquoAn efficient adaptive anticollision algorithm based on4-ary pruning query treerdquo International Journal of DistributedSensor Networks vol 2013 Article ID 848746 7 pages 2013

[6] X-Q Yan Y Liu B Li and X-M Liu ldquoNumeric evaluation onthe system efficiency of the EPC Gen-2 UHF RFID tag collisionresolution protocol in error prone air interfacerdquo InternationalJournal of Distributed Sensor Networks vol 2014 Article ID716232 9 pages 2014

[7] V Namboodiri M Desilva K Deegala and S RamamoorthyldquoAn extensive study of slotted Aloha-based RFID anti-collision

12 International Journal of Distributed Sensor Networks

protocolsrdquo Computer Communications vol 35 no 16 pp 1955ndash1966 2012

[8] C S Keat and L N Shyan ldquoDynamic framed slotted ALOHAalgorithm for RFID systems with enhanced tag estimationtechniquerdquo in Proceedings of the IEEE International Conferenceon RFID-Technologies and Applications (RFID-TA rsquo13) pp 1ndash4Johor Bahru Malaysia September 2013

[9] J R Cha and J H Kim ldquoDynamic framed slotted ALOHAalgorithms using fast tag estimation method for RFID systemrdquoin Proceedings of the 3rd IEEE Consumer Communications andNetworking Conference (CCNC rsquo06) pp 768ndash772 Las VegasNev USA 2006

[10] S-R Lee S-D Joo and C-W Lee ldquoAn enhanced dynamicframed slotted ALOHA algorithm for RFID tag identificationrdquoin Proceedings of the 2nd International Conference onMobile andUbiquitous Systems Networking and Services (MobiQuitous rsquo05)pp 166ndash172 San Diego Calif USA July 2005

[11] D R Hush and C Wood ldquoAnalysis of tree algorithms for RFIDarbitrationrdquo in Proceedings of the IEEE International Symposiumon InformationTheory (ISIT rsquo98) pp 107ndash114 IEEE CambridgeMass USA August 1998

[12] C Law K Lee andK-Y Siu ldquoEfficientmemoryless protocol fortag identificationrdquo in Proceedings of the 4th International Work-shop on Discrete Algorithms and Methods for Mobile Computingand Communications (DIALM rsquo00) pp 75ndash84 Boston MassUSA August 2000

[13] J Myung W Lee J Srivastava and T K Shih ldquoTag-splittingadaptive collision arbitration protocols for RFID tag identifica-tionrdquo IEEETransactions on Parallel andDistributed Systems vol18 no 6 pp 763ndash775 2007

[14] H Vogt ldquoMultiple object identification with passive RFID tagsrdquoin Proceedings of the IEEE International Conference on SystemsMan and Cybernetics (SMC rsquo02) pp 6ndash9 Hammamet Tunisia2002

[15] M A Bonuccelli F Lonetti and F Martelli ldquoInstant collisionresolution for tag identification in RFID networksrdquo Ad HocNetworks vol 5 no 8 pp 1220ndash1232 2007

[16] Y Langsam M J Augenstein and A M Tenenbaum DataStructure Using C and C++ (2nd Edition) Prentice Hall Engle-wood Cliffs NJ USA 2nd edition 1995

International Journal of

AerospaceEngineeringHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal ofEngineeringVolume 2014

Submit your manuscripts athttpwwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 3: Research Article A Novel Hybrid Anticollision Algorithm ...downloads.hindawi.com/journals/ijdsn/2015/641327.pdf · A Novel Hybrid Anticollision Algorithm for RFID System Based on

International Journal of Distributed Sensor Networks 3

Table 1 The strategy of grouping and frame sizing

Tag populationn

Frame sizeL

Group sizeG

Tag populationn

Frame sizeL

Group sizeG

sdot sdot sdot sdot sdot sdot sdot sdot sdot 177ndash354 256 16ndash11 8 1 355ndash707 256 212ndash19 16 1 708ndash1416 256 420ndash40 32 1 1417ndash2831 256 841ndash81 64 1 sdot sdot sdot sdot sdot sdot sdot sdot sdot

82ndash176 128 1

complexity and communication complexity We analyze timecomplexity by the identification time for recognizing a set oftags expressed by 119879 and study communication complexityby the total bits sent by the reader and the average bits sent bysingle tag for the identification expressed by Bits

119877and Bits

119879

respectively

21 Dynamic Framed Slotted ALOHA (DFSA) DFSA is anALOHA-based algorithm which can adjust the read framesize dynamically according to the estimation of tag pop-ulation The identification process is made of several readframes which is slotted into intervals of time called time slotwhose duration is equal to the tagrsquos ID transmission timeBefore the initialization of the first read frame the readerestimates the unidentified tag population 119899 and sets the readframe size 119871 Tags randomly select one time slot in the rangeof [1 119871] and only respond the reader when the selectedslot comes As the proper frame size is decided in advanceDFSA decreases the potential collision probability to a greatextent The population of unidentified tags is estimated inthe following way Let 119873

119888be the number of colliding time

slots let119873119904be the number of time slots with single tag which

can be identified successfully and let 119862ratio be the ratio of 119873119888

and 119899 which can be calculated by (1) When the current readframe is finished the population of unidentified tags varies to119873119888119862ratio minus119873

119904 which is set to be the new size of the next read

frame to maintain an optimal system throughput

119862ratio = 1 minus (1 minus1

119871)119899

sdot (1 +119899

119871 minus 1) (1)

If we define 119879slot as the duration of time slot 119871 ini as theinitial frame size 119871 as the actual frame size after initial frame119875succ(119896) as the possibility of successful identification for a tagafter 119896 times attempts 119876Repbits as the symbol length of slotinterval ACKbits as the symbol length of acknowledgmentsent by the reader after receiving tagrsquos ID and IDbits as thelength of tagrsquos ID themajormetrics ofDFSA can be describedas follows

119879 = 119879slot sdot (119871 ini + 119871 sdot

infin

sum119896=1

119896119875succ (119896))

Bits119877= 119871bits sdot (

infin

sum119896=1

119896119875succ (119896) + 1) + 119876Repbits sdot 119871

sdot

infin

sum119896=1

119896119875succ (119896) + 119899 sdot ACKbits

Bits119879= IDbits sdot

infin

sum119896=1

119896119875succ (119896)

(2)

However when tag population is large the performanceof DFSA deteriorates heavily This is because the size ofmemory recording the selected slot in tags is limited andcannot keep pace with the increase of tag population whichmakes the optimal condition that the frame size is set equalto the tag population not satisfied

22 Enhanced Dynamic Framed Slotted ALOHA (EDFSA)On the basis of DFSA in order to enhance the systemperformancewhen tag population is large EDFSA introducesthe grouping strategy that it randomly splits tags into differentgroups according to themaximal frame size and the estimatednumber of unread tags Only the tags associated with oneof the groups are queried in the following read framesthen the identifications for tags in other groups are followedsequentially In fact the grouped identification is morelike a combination of several DFSA processes Chebysevrsquosinequality is used in the end of each read frame to estimatethe number of tags left which is used to adjust the number ofgroups and frame size for the incoming read frames

The grouping and frame sizing strategy is represented inTable 1 where the group number and frame size are adjustedin theway of doubling or halving which can be easily realizedin practical applications by the operation of left shifting orright shifting the group register

If we define the same notations as given in DFSA abovethe major metrics of EDFSA can be derived as follows

119879 = 119879slot sdot (119866ini sdot 119871 ini + 119866 sdot 119871 sdot

infin

sum119896=1

119896119875succ (119896))

Bits119877= 119866bits sdot 119871bits sdot (

infin

sum119896=1

119896119875succ (119896) + 1) + 119876Repbits sdot 119866

sdot 119871 sdot

infin

sum119896=1

119896119875succ (119896) + 119899 sdot ACKbits

Bits119879= IDbits sdot

infin

sum119896=1

119896119875succ (119896)

(3)

4 International Journal of Distributed Sensor Networks

23 Binary Tree Algorithm (BS) BS and Query Tree (QT) areboth tree-based algorithms in which the reader iterativelyqueries a subset of tags matching a given property until alltags are identified They differ in the way of querying tagsaccording to a binary random number in BS and a queryprefix in QT In BS the reader recognizes tags in the timeinterval called read cycle Colliding tags are split into twosubsets recursively until just one tag is allocated in everysubset The tag has a counter initialized to 0 in the verybeginning Only tags with counter value equal to 0 canrespond the reader query in current read cycle and othertags keep silent and wait for their counters decreasing to 0Tags modify the value of counter depending on the resultof current identification If a collision happens collidingtags add a 1-bit binary value randomly to their counterswhich are split into two subsets with the counter at 0 andthe counter at 1 respectively Other tags not involved inthe collision increase their counters by 1 to maintain theirformer identifying order unchanged In case of identifyingsuccessfully or no response all tags unread decrease theircounters by 1 and tags with counter at 1 respond the readerin the next read cycle

If we define 119879cycle as the duration of a read cycle lceillog2119899rceil

as the minimal integer not less than log2119899 119862bits as the

length of query command and other parameters as the samenotations given in DFSA above the major metrics of BS canbe expressed as follows

119879

= 119879cycle

sdot (1 + 2 sdot

infin

sum119896=0

2119896minus (2119896+ 119899 minus 1) sdot (1 minus 2

minus119896)119899minus1

)

(4)

Bits119877

= 119862bits

sdot (1 + 2 sdot

infin

sum119896=0

2119896minus (2119896+ 119899 minus 1) sdot (1 minus 2

minus119896)119899minus1

)

(5)

Bits119879= IDbits sdot log2119899 (6)

The expressions (4) and (5) are general equations when 119896collision times that is the depth of current node (read cycle)in the binary tree (the whole identification process) tendsto positive infinity For convenience we derive the lowerbounds of 119879 and Bits

119877for reference As in BS the binary

tree representing the whole identification process is a strictbinary tree the intermediate nodes denoted by 119862

119865(119899) (ie

the colliding times) achieve minimal value when they areregarded as a complete binary tree whose number of nodescan be expressed as 2119862

119865(119899) + 1 Consider the fact that the

number of all nodes in the strict binary tree satisfies theinequation119873nd(119899) ge 2119862

119865(119899) + 1 = 2 sdotsum

log2119899minus1

119896=02119896 +1 = 2119899minus 3

and each node correspondswith a read cycle sowe can derivethe following expressions for fast tag estimation

119879 ge 119879cycle sdot (2119899 minus 3)

Bits119877ge 119862bits sdot (2119899 minus 3)

(7)

24 Query Tree Algorithm (QT) QT splits a tag set accordingto tagrsquos IDThe reader transmits a query including a bit stringand only the tag whose ID has a prefix matching the querystring responds by transmitting its ID In particular if thecurrent query string is 119902

11199022sdot sdot sdot 119902119899(119902119894isin 0 1) and leads to

a collision the reader uses two 1-bit longer queries that is11990211199022sdot sdot sdot 1199021198990 and 119902

11199022sdot sdot sdot 1199021198991 in the next read cycles in turn

which splits the set of colliding tags into two subsets If acollision still occurs when the new 1-bit longer query stringis sent then the string length is further increased by 1 bitwith 0 or 1 added to the end of the current query stringuntil the collision is solved and a tag is identified successfullyThe reader has a stack 119878 to manage query strings In thebeginning 119878 is initialized as NULL which causes all tagsresponse When collision occurs the reader pushed two 1-bit longer query strings into 119878 When current read cycle isfinished it pops a query string from 119878 for the next read cycleThat 119878 is popped empty indicates that all tags are recognizedNotice that collisions in QT correspond to the intermediatenodes not including the root node compared with BS

If we define the same notations as given in BS above themajor metrics of QT can be derived as follows

119879 le 119879cycle sdot (2887119899 minus 1)

Bits119877le IDbits sdot (2887119899 minus 1)

Bits119879= IDbits sdot (221log2119899 + 419)

(8)

25 Query Tree Improved Algorithm (QTI) There areamounts of useless query strings in QT which increase theread cycles and depress the system throughput QTI is anenhancement that removes those certainly causing collisionsin advance For example consider the case in which queryprefix 119902 has produced a collision while 1199020 result in noresponse As 1199021 definitely leads to a collision QTI skips itdirectly and takes 11990210 as the next query prefix

Compared with QT QTI only reduces the amount of datatransmitted by the reader while it maintains the amount ofdata sent by tags unchanged which alsomakes the expressionof Bits

119879unchanged

If we follow the same notations defined in BS we canobtain the formulas as follows

119879 le 119879cycle sdot (2665119899 minus 1)

Bits119877le IDbits sdot (2665119899 minus 1)

Bits119879= IDbits sdot (221log2119899 + 419)

(9)

From what has been discussed hereinbefore we can seeclearly that regardless of time or communication complexitythe metrics of ALOHA-based including DFSA and EDFSA

International Journal of Distributed Sensor Networks 5

are the same order infinitesimal of 119899 while the metricsof tree-based including BS QT and QTI are the higherorder infinitesimal of 119899 Although the metrics of tree-basedalgorithms seem worse they are deterministic which canavoid the so-called ldquotag starvation problemrdquo that a specifictag may not be identified all the time in ALOHA-basedalgorithms

3 The Proposed Algorithm T-GDFSA

The proposed algorithm T-GDFSA can be divided into twosteps the step of the estimation of tag population and thestep of tag identification The former is just implementedonce to estimate the initial number of tags existing in thecovering range of the reader which is used in the second stepto calculate the optimal number of groups and frame size ineach group In T-GDFSA the method used for tag estimationis similar to TEM (Tag Estimation Method) [14] At the endof each read cycle the recorded triple numbers ⟨119888

0 1198881 119888119896⟩

can be obtained from the readerrsquos memory which quantifiesthe number of idle time slots successful time slots occupiedby only one tag and colliding slots with more than twotags respectively Meanwhile the expected triple numbers⟨119886119873119899

0 1198861198731198991

119886119873119899119896

⟩ can be computed from the given framesize 119873 and the number 119899 of tags by statistical knowledgeAccording to Chebyshevrsquos expression the outcome of arandom experiment involving a random variable 119883 is mostlikely somewhere near the expected value of119883This propertyis used to calculate the distance between the recorded results⟨1198880 1198881 119888119896⟩ and the expected results ⟨119886119873119899

0 1198861198731198991

119886119873119899119896

⟩ of eachread cycle as defined in (10) When theminimal distance isachieved the corresponding 119899 is considered to be the optimalestimation of tag population Consider

120576 (119873 1198880 1198881 119888119896) = min119899

1003816100381610038161003816100381610038161003816100381610038161003816100381610038161003816100381610038161003816

(

1198861198731198990

1198861198731198991

119886119873119899119896

) minus (

1198880

1198881

119888119896

)

1003816100381610038161003816100381610038161003816100381610038161003816100381610038161003816100381610038161003816

(10)

where 119886119873119899119896

is the expected value of colliding slots with 119896 tagsthen

119886119873119899

119896= 119873 sdot (

119899

119896) sdot (

1

119873)119896

sdot (1 minus1

119873)119899minus119896

(119896 le 119899) (11)

In (10) the minimal 120576 is supposed to be achieved by asearching process with 119899 varying in the range [119888

1+ 2119888119896 3(1198881+

2119888119896)] where 119888

1+ 2119888119896is the lower bound of 119899 according to

[15] since 1198881tags have been identified and if there are 119888

119896

collisions at least 2119888119896tags collided The upper bound of 119899 is

set to 3(1198881+ 2119888119896) since by simulation no further accuracy in

the estimation is obtained if the upper bound is set to highervalues

From [1] we know that the system throughput becomesoptimal when the frame size is set equal to the number of tagsIn order to satisfy this condition the grouping size is adjustedby 1 each time to ensure that the number of tags in eachgroup is very close to the frame size The optimal groupingsize is decided by the expected system efficiency Suppose

the current number of groups is 119896 it will be increased to 119896+1

if the expected system efficiency with 119896 + 1 groups rises justequal to that with 119896 groups Consider

119886119873119899119896

1

119873=

119886119873119899(119896+1)

1

119873(119896 = 1 2 ) (12)

From (12) the maximum number of tags with 119896 groups is

119899119896=lg (119896 (119896 + 1))

lg (1 minus 1119873)sdot 119896 sdot (119896 + 1) (119896 = 1 2 ) (13)

By the utilization of (13) the optimal grouping size 119866 can beobtained with a varying 119899 and a given frame size 119871

Then the optimal 119866 is broadcast by the reader with arandom number to tags Grouping rule is as follows Each taggenerates a new random number by the old received one andits serial number (tagrsquos ID) Then the new random number isdivided by 119866 and all tags have a group number randomly inthe range [0 119866 minus 1] In the current read frame only tags withgroup number 0 are permitted to respond the reader Whenall of them have been identified the reader begins a new readframe and tags with group number 1 are involvedThe processcontinues until tags having group number 119866 minus 1 are queriedwhich means all tags have been recognizedThe frame size ofeach read frame decides how many time slots are included init At the beginning of each read frame the reader broadcaststhe optimal frame size 119871 to all tags which means there are119871 time slots in the incoming read frame and tags involvedgenerate an integer 119871

119894in the range [1 119871] and save it in its slot

counter By this means tags are allocated into 119871 time slotsrandomly In the first time slot initiated by the reader tagswith slot counter at 0 are permitted to respond the readerWhen all tags in current time slot have been identified thereader polls the next time slot and informs other unidentifiedtags to decrease their time slot counter by 1 Tags whose valueof slot counters decreasing to 0 are permitted to respond thereader in the incoming time slot If a collision happens inthe current time slot tags involved add 0 or 1 randomly totheir slot counters which cause them to fall into two subsets Itmeans that a binary tree is introduced and colliding tags aresubdivided into two child nodes of the current parent noderandomly Other tags increase their slot counters by 1 so as tocounteract the effect caused by splitting for the colliding tagsto keep their former identification sequence unchangedAftersplitting the reader firstly turns to identify the tags in the leftchild node of current parent node and if a collision is stilldetected the node-splitting process will be executed againand tags falling into the deeper left child node will be read inthe incoming time slotThe process will keep on going recur-sively until there is no collision happened in the current leftchild node Because there is nomore than 1 tag in the leaf tagin it can be identified successfully and then muted Next thereader returns up to the parent node of the current left childnode then turns down to the right child node and identifiestags in itThere are three possible outcomes Collision slotwillcause a new node-splitting process similar to that representedbeforehand 1-tag slot will make the reader identify the tagsuccessfully and then return to the parent node Idle slot willmake the reader directly come back to the parent node Next

6 International Journal of Distributed Sensor Networks

0 1

10

0 1

0 1

0 1

Time slot

1 2 3 4 5 6 7Group

middot middot middot

middot middot middot

middot middot middot

1 i i + 1 i + 2 i + 3 i + 4 i + 5 i + 6 i + 7 i + 8

Lev = 0

Lev = 1

Lev = 2

Lev = 3

120601

120601

120601 120601 120601

Figure 2 The execution process of the T-GDFSA

as all the child nodes of the parent node have been identifiedthe reader will return to the upper parent node The proce-durewill continue recursively until all nodes of the binary treehave been queried which means all tags in current collidingtime slot have been identified In the initiation of each binarytree recursive process the reader sets a level counter forcurrent colliding slot to record the depth of current node(ie read cycle) in the binary tree It is increased by 1 when acollision happens in current node and the reader goes deeperto the child nodes and is decreased by 1 when all tags inthe child nodes are already identified and the reader returnsto the upper parent node Level counter which decreasedto 0 indicates that all tags in the current collision slot havebeen identified In Figure 2 the tag identification process forgroup 1 is illustrated where Lev means the level counter Φdenotes no tag responding and each ldquo∙rdquo represents one tagThe identification processes for other groups are similar

4 Performance Evaluation

In this section wewill evaluate the performance of T-GDFSAThere are several metrics focusing on different aspects ofRFID system We take time complexity and communicationcomplexity for emphatic analysis Because time complex-ity reflects the identification efficiency which is of greatimportance for fast tag identification and communicationcomplexity indicates power consumption of the reader andtags which is of great significance for mobile RFID appli-cations Time complexity is defined as the total time spentto identify a set of tags in the covering range of the readerCommunication complexity refers to the amount of datatransmitted between the reader and tags which can becomposed of two parts Bits

119877(the total number of bits sent

by the reader) and Bits119879(the total number of bits transmitted

by single tag in average)Prior to deeper analysis it is necessary to make the

following important assumptions

Assumption 1 As data received by the reader aremostly shortsymbols such as acknowledgement symbols and so forth

which are much less compared with the data sent by thereader we simply ignore it and consider that Bits

119877totally

represents the communication complexity on reader

Assumption 2 The duration of time slot in read frame is setequal to that of read cycle in binary tree which is denoted bythe unified symbol 119879cycle making it possible to calculate thesystem throughput quantificationally

Assumption 3 In most RFID applications power consump-tion of tags is more sensitive than that of the reader So weproposed a new strategy dedicated to reducing Bits

119879 which

is deployed as follows Instead of sending complete tagrsquos IDdirectly tag firstly sends IDTest (a short bit string) to testthe state of the current time slot If no collision happensIDTest can be received by the reader successfully The readerresponds with the acknowledgement IDReq to require thetag to transmit its complete ID The strategy eliminates theuselessmass data transmission of tagrsquos ID caused by collisionsand ensures that tagrsquos ID is sent only once Since the length ofIDTest ismuch shorter than that of tagrsquos ID Bits

119879is decreased

drastically

41 Time Complexity The total consumed time denoted by119879 consists of three parts 119879est (time cost in the estimation oftag population) 119879rf (time cost in read frames) and 119879rc (timecost in read cycles of binary tree recursive process) Then weget

119879 = 119879est + 119879rf + 119879rc (14)

Let 119866ini denote the initial grouping size for the estimation oftag population and let 119866(119899) denote the actual grouping sizecalculated by (13) 119871 ini and 119871(119899) represent the initial framesize and the actual frame size separately 119899 is the numberof unidentified tags Then 119879est and 119879rf can be expressed as119866ini119871 ini119879cycle and 119866(119899)119871(119899)119879cycle respectively According to[1] when the condition of maximal throughput of framedslotted ALOHA the read frame size is equal to the numberof unidentified tags is satisfied the average number of tags in

International Journal of Distributed Sensor Networks 7

each colliding time slot is about 23922 on average Because119866(119899)119871(119899) is very close to 119899 in T-GDFSA the average numberof tags in each colliding time slot denoted by 119862tag can beconsidered as 23922 simply

According to the representation above we know that thebinary tree process for each colliding time slot is a strictlybinary tree so there is no 1-degree node included meaningthat any non-leaf node (the root node or the intermediatenode) has two child nodes Let 119873nd and 119873leaf be the numberof non-leaf nodes and leaf nodes respectively then 119873nd =

2119873leaf minus 1 can be easily deduced [16] Since the root nodecorresponds to the colliding time slot which has already beencounted in the read frame before the effective number ofnodes in every binary tree is 119873nd minus 1 Since the leaf nodesare composed of 1-tag leaf nodes and idle leaf nodes thenumber of actual nodes in every colliding time slot denotedas 1198731015840

nd satisfies the inequation 1198731015840nd ge 2119862tag minus 2 = 27844

on average Note the fact that when 119862tag is small it is veryclose to 119873leaf so the inequation above can be considered asequation 1198731015840nd = 2119862tag minus 2 = 27844 simply By probabilityknowledge we can derive that the expected value of collidingtime slots is 119866(119899)119871(119899)119875col where 119875col is the probability ofdetecting a colliding time slot and that 119879rc is no less than27844119866(119899)119871(119899)119875col119879cycle Substituting (14) with the all resultsabove we acquire the final expression of 119879 as follows

119879 asymp 119866ini sdot 119871 ini + 119866 (119899) sdot 119871 (119899) + 27844 sdot 119866 (119899) sdot 119871 (119899)

sdot 119875col sdot 119879cycle(15)

In expression (15) 119875col = [1 minus 119899119866(119899) sdot 119901(1 minus 119901)119899119866(119899)minus1 minus (1 minus

119901)119899119866(119899)]where 119901 = 1119871(119899) is the probability of a tag selectinga time slot from total 119871(119899) time slots

42 Communication Complexity on Reader Bits119877is defined

as the amount of data transmitted by the reader to identifya set of tags appearing in its irrigation range which reflectsthe communication complexity on reader suitably From theabove analysis we realize that no matter in the step of initialtag estimation or in the step of tag identification process theamount of data sent by the reader representing group size andframe size are both (119866bits+119871bits) bitsThe reader also needs totransmit QueryRep periodically tomake the current time slotincreased continually so as to poll tags allocated in differenttime slots of current frame and the amount of data of thispart can be expressed as [119866ini119871 ini + 119866(119899)119871(119899)]QueryRepbitsBesides in every binary tree recursive process as expressedabove the number of read cycles1198731015840nd is equal to 2119862tag minus 2 =

27844 As nodes in a binary tree consist of collision nodesand leaf nodes and the leaf nodes need no extra read cyclesto query the number of actual nodes for which reader sendsread cycles should be (2119862tag minus 2 minus 119862tag) = 03922 on averageThe reader sends at most 1 read cycle in every node so thenumber of read cycles in every binary tree recursive processis almost 03922 Considering that the expected number ofcollision slots is119866(119899)119871(119899)119875coll the total number of read cyclesin all binary tree recursive processes is 03922119866(119899)119871(119899)119875collLet119877bits be the string length of one read cycle and let IDReqbits

be the string length of IDReq sent by the reader respectivelyBits119877can be finally expressed as follows

Bits119877asymp 2 (119866bits + 119871bits)

+ [119866ini119871 ini + 119866 (119899) 119871 (119899)]QueryRepbits + 119899

sdot IDReqbits + 03922119866 (119899) 119871 (119899) 119875coll119877bits

(16)

43 Communication Complexity on Tag Here we take Bits119879

for consideration to indicate the average amount of datatransmitted by single tag Because of the randomness of tagidentification the average bits of data sent by single tag aredifficult to observe exactly so the lower bound and the upperbound are introduced for reference

(a) The Lower Bound If one lets lev(119894) be the level of the 119894thleaf node in a strict binary tree with 119899 leaf nodes where 119894

varies from 1 to 119899 according to the property of strict binarytree the following equation can be easily derived

119899

sum119894=1

1

2lev(119894)= 1 (17)

Since sum119899

119894=1(12lev(119894)) = 119899 sdot (1119899)sum

119899

119894=1(12lev(119894)) ge 119899 sdot

119899radic(12)sum119899

119894=1lev(119894) we can obtain

119899

sum119894=1

lev (119894) ge 119899log2119899 (18)

Expression (18) shows that the sum of levels of all leaf nodesin a strict binary tree with 119899 leaf nodes is no less than 119899log

2119899

Because the level of node indicates that the collision timestags allocated in it have experienced and the colliding timesin a strict binary tree with 119899 tags become minimal only whenthe number of leaf nodes is equal to 119899 the total colliding timesin a strict binary tree with 119899 tags are no less than 119899log

2119899 Let

119875col and 119875suc denote the expected possibility of colliding slotsand singleton slots respectively according to Assumption 3the amount of data transmitted by tags in all colliding timeslots satisfies

BitsCS ge 119866 (119899) sdot 119871 (119899) 119875col sdot (23922 sdot log223922

sdot IDTestbits + 23922 sdot IDbits) (19)

The total amount of data sent by all tags represented byBitsTA is composed of two parts data sent by the tags incolliding time slots and data sent by the tags in singleton slotsThe former is expressed by (19) Since every tag allocated inthe singleton slot transmits IDTest as well as tagrsquos ID onlyonce and there are 119866(119899)119871(119899)119875suc singleton slots with only 1tag BitsTA can be derived as the following expression

BitsTA = BitsCS + 119866 (119899) sdot 119871 (119899) sdot 119875suc

sdot (IDTestbits + IDbits)

ge 119866 (119899) sdot 119871 (119899)

sdot (23922 sdot 119875col sdot log223922 + 119875succ)

sdot IDTestbits + 119899 sdot IDbits

(20)

8 International Journal of Distributed Sensor Networks

Finally the lower bound of Bits119879can be obtained as follows

Bits119879

ge119866 (119899) sdot 119871 (119899)

119899

sdot [(23922 sdot 119875col sdot log223922 + 119875suc) sdot IDTestbits]

+ IDbits

(21)

(b) The Upper Bound In order to measure the largest amountof data sent by tags we must take the worst condition intoaccount Consider the following extreme situation Let 119901

119904be

the probability of all colliding tags falling into the same childnode simultaneously after splitting current collision nodeand 120582 is the probability of only one tag falling into one childnode Obviously 119901

119904is much large than 120582 at the beginning

of the binary tree recursive process which means collidingtags will fall into the same child node after splitting As thesplitting process is ongoing recursively 119901

119904is decreasing and

approaching 120582 If and only if 119901119904becomes not great than 120582

for the first time the splitting of current collision node willresult in one child node with only 1 tag and the other childnode with the remainder tags which separates 1 tag fromthe colliding tags and identifies it successfully The splittingprocess will repeat recursively for the remaining tags in thecolliding child node until there is no more than 1 tag fallinginto every node or we can say the leaf node has been reachedAssuming that the 119894th identified tag has experienced 119896

119894times

of collision before being identified successfully and119898 denotesthe total number of colliding tags in the binary tree we canget

[(1

2)119898+1minus119894

]

1198961015840

119894

le 120582

where 1198961015840

119894is an integer 119896

119894= min (119896

1015840

119894)

997904rArr 119896119894= lceil

1

119898 + 1 minus 119894log12

120582rceil

lt1

119898 + 1 minus 119894log12

120582 + 1

(22)

So the amount of data sent by119898 tags in the binary tree can beconsidered as

BitsCS le

119898minus1

sum119894=1

119896119894sdot IDTestbits + 119898 sdot IDbits

= (

119898minus1

sum119894=1

lceil1

119898 + 1 minus 119894log12

120582rceil) sdot IDTestbits + 119898

sdot IDbits

(23)

In the expression above the fact that the range of 119894 doesnot include 119898 is because the 119898th tag will be identifiedundoubtedly in the next read frame if the (119898 minus 1)th tag has

been identified Therefore by expressions (22) and (23) weget the following expression

BitsCS lt [(

119898

sum119894=1

1

119894) minus 1] sdot log

12120582 + (119898 minus 1)

sdot IDTestbits + 119898 sdot IDbits

(24)

Seeing that sum119898119894=1

(1119894) is the sum of the first 119898 terms of theharmonic series and its upper bound is (log

2119898 + 1) [16]

expression (24) can be rewritten as

BitsCS lt [(log2119898 + 1 minus 1) sdot log

12120582 + (119898 minus 1)]

sdot IDTestbits + 119898 sdot IDbits

= [log2119898 sdot log

2120582minus1

+ (119898 minus 1)] sdot IDTestbits + 119898

sdot IDbits

(25)

Considering 119898 = 23922 so the total amount of data sent byall tags is

BitsTA

= BitsCS + 119866 (119899) sdot 119871 (119899) sdot 119875suc sdot (IDTestbits + IDbits)

lt 119866 (119899) sdot 119871 (119899)

sdot [119875col sdot (log223922 sdot log2120582minus1

+ 05820) + 119875suc]

sdot IDTestbits + 119899 sdot IDbits

(26)

And the average amount of data sent by single tag is shown asfollows

Bits119879=BitsTA

119899lt

119866 (119899) 119871 (119899)

119899[119875col (log223922

sdot log2120582minus1

+ 05820) + 119875suc] IDTestbits + IDbits

(27)

Thus the final expression of Bits119879can be deduced form

expressions (21) and (27) which is expressed as an inequationwith a lower bound and an upper bound as follows

119866 (119899) sdot 119871 (119899)

119899sdot [(23922 sdot 119875col sdot log223922 + 119875suc)

sdot IDTestbits] + IDbits le Bits119879lt

119866 (119899) sdot 119871 (119899)

119899[119875col

sdot (log223922 sdot log

2120582minus1

+ 05820) + 119875suc]

sdot IDTestbits + IDbits

(28)

5 Simulation

Next we need to verify how close the mathematic formulaspresented in Section 4 match the reality As the key factorsinfluencing application for anticollision algorithms includethe system throughput and the communication complexitieswhich indicate how fast tags can be identified (especially

International Journal of Distributed Sensor Networks 9

important for mobile tags) and how low the energy isconsumed the comparisons for both of them between ouralgorithm and traditional ones should be made So we pro-gram onMatlab71 and the simulations include (1) comparingtheoretical values calculated by the mathematic formulasmentioned above with the simulative results acquired fromsimulations (2) comparing the complexity of T-GDFSA withthat of traditional algorithms including DFSA EDFSA BSQT and QTI and (3) comparing the system throughput of T-GDFSA when the length of tagrsquos ID varies in a large range orthe initial estimation of tag population becomes inaccurateSystem throughput denoted by 119878 is defined as the ratio ofthe number of tags to the sum of all time slots used in theread frames and all read cycles produced for querying thenodes of binary trees and can be obtained from the formula119878 = 119899119879cycle119879 where 119879cycle is the duration of one time slot aswell as the duration of one read cycle

Before simulation some parameters need to be set prop-erly The parameters are set as follows 119901

119904= 1119871 119871bits = 14

119866bits = 5 Levbits = 4 119877bits = 23 (119871bits + 119866bits + Levbits)IDTestbits = 8 IDReqbits = 8 QueryRepbits = 4 and 119871max =

256 Considering that the possibility that each tag falls in a slotis 1119871 when the frame size is 119871 we set 119901

119904to 1119871 119871bits set to 14

means themaximal time slots in a read frame can be 214119866bitsset to 5 indicates that the maximal grouping size is 25 Levbitsis set to 4 which refers to the fact that the maximal depth ofthe binary tree in recursive process is 24 Obviously 119877bits canbe set to 23 as a sum of 119871bits + 119866bits + Levbits IDTestbits andIDReqbits set to 8means the reader and tags use a 1-byte stringto achieve the strategy of slot test The value of QueryRepbitsis decided by the encoding method of commands and set to 4in our simulations which means each command sent by thereader is represented by a 4-bit binary string As 119871max themaximal frame size refers to the memory used in tags whichis usually very limited in reality it is just set to 256 in oursimulations which means 1-byte memory is required in tagsBesides the following parameters are tuned

(i) 119899 the number of tags to be identified It is increasedby 50 in each trial in the range [50 1000]

(ii) 119871 ini the initial estimated number of unidentified tagsThis value is used to set the initial read frame size It isset to 05119899 15119899 2119899 and 5119899 for inaccurate estimation

(iii) IDbits the length of tagrsquos ID It is assigned to the value48 64 96 128 sequentially

(iv) Running times the times each simulation runs It isset to be 100 times and the average result is taken foranalysis

In Figures 3ndash5 performance comparison of T-GDFSAbetween theoretical values and simulative results is shownIn Figure 3 the theoretical curve of 119878 appears as a zigzag linesurrounding the curve of simulative resultsThe points of thewave crest of the theoretical curve correspond to the increaseof grouping size which reduces tags per group drasticallyand deteriorates 119878 significantly because of more extra idleslots Figure 4 shows that the theoretical Bits

119877matches well

the simulative one In Figure 5 simulative values of Bits119877are

mostly 69 bits and the lower bound of theoretical values is

0 200 400 600 800 1000015

02

025

03

035

04

045

05

055

06

Simulative resultsTheoretical values

Figure 3 The comparison of 119878

0 200 400 600 800 10000

02

04

06

08

1

12

14

16

18

2

22

n

Simulative resultsTheoretical values

times104

BitsR

Figure 4 The comparison of Bits119877

near 58 bits with the length of tagrsquos ID set to 48 bits Noticethat the upper bound of theoretical values is very close tosimulative results when 120582 is set to 001

In Figure 6 compared with other traditional anticollisionalgorithms T-GDFSA has the highest 119878 about 041 when tagrsquosID is set to 48 bits long and uniformly distributed Figure 7shows that T-GDFSA has agreeable Bit

119877which is reduced by

at least half of that of tree-based algorithms and nearly equalto that of ALOHA-based algorithms In Figure 8 T-GDFSAhas the lowest Bits

119879whichmeans more power is saved in tags

compared with other traditional algorithmsFigure 9 shows the variation of 119878 with inaccurate initial

tag estimation When the estimated number is varying from05119899 to 15119899 119878 is still higher than 038 which indicates that

10 International Journal of Distributed Sensor Networks

0 200 400 600 800 10000

10

20

30

40

50

60

70

80

90

100

n

Simulative resultsLower bound

BitsT

Upper bound (P = 001)

Figure 5 The comparison of Bits119879 with IDbits = 48 and tagrsquos ID

uniformly distributed

0 200 400 600 800 1000

03

032

034

036

038

04

042

044

n

S

T-GDFSADFSAEDFSA

BSQTQTI

Figure 6 The comparison of 119878 with 119871 ini = 119899 and IDbits = 48

T-GDFSA has great tolerance for the inaccuracy of initial tagestimation We also notice that T-GDFSA performs better inunderestimation than overestimationThis is because smallerframe size in underestimation causes more tags to fall intocolliding time slots which can make full use of the advan-tages of T-GDFSA while in the case of overestimation theidentification process is more like an EDFSA identificationwithmore 1-tag time slots and idle time slots Figure 10 showsthat length variation of tagrsquos ID has little influence on 119878Whentag population exceeds 450 this effect can be approximatelyignored

0 200 400 600 800 10000

05

1

15

2

25

3

35

4

45

5

55

n

T-GDFSADFSAEDFSA

BSQTQTI

Bits R

times104

Figure 7 The comparison of Bits119877 with 119871 ini = 119899 and IDbits = 48

0 200 400 600 800 10000

20

40

60

80

100

120

140

160

n

T-GDFSADFSAEDFSA

BSQTQTI

BitsT

Figure 8 The comparison of Bits119879 with 119871 ini = 119899 and IDbits = 48

The simulations above reflect the following (1) Ourmathematic formulas of the main metrics match well thereality (2) Compared with traditional algorithms T-GDFSAachieves higher system throughput while maintaining lowercomputing complexities which is not available for traditionalalgorithms shown above This significant advantage makesour algorithm easier to be realized in end-user applications

6 Conclusion

In this paper we firstly make a summary of traditional RFIDanticollision algorithms and then propose a novel hybrid

International Journal of Distributed Sensor Networks 11

0 200 400 600 800 1000

03

032

034

036

038

04

042

044

n

S

L ini = 02n

L ini = 05n

L ini = n

L ini = 15n

L ini = 2n

Figure 9 119878 versus 119899 when IDbits = 48 with the inaccuracy of initialestimation of tag population

0 200 400 600 800 1000

03

032

034

036

038

04

042

044

n

S

IDbits = 48

IDbits = 64

IDbits = 96

IDbits = 128

Figure 10 119878 versus 119899 under the condition of 119871 ini = 119899 and the lengthvariation of tagrsquos ID

anticollision algorithm called T-GDFSA to improve theperformance of RFID tag identification T-GDFSA which isbased on grouped dynamic frame-slottedALOHAand binarytree recursive process has optimal group size and optimalread frame size and solves colliding time slots by introducingthe binary tree recursive process System model and mathe-matics formulas are present and theoretical values of metricsshow great agreement with the simulative results obtainedfrom simulations Compared with traditional ALOHA-basedand tree-based anticollision algorithms T-GDFSA exhibitsexcellent comprehensive performance with preferable system

throughput around 041 and lower communication complex-ity which is similar to EDFSA but at least half less than that oftree-based algorithms Furthermore T-GDFSA has tolerancefor the inaccuracy of initial tag estimation and the lengthvariation of tagrsquos ID

As we can see an accurate estimation of actual tagpopulation in T-GDFSA is very significant The estimationis used to set the optimal grouping size and frame sizewhich ensures the performance Meanwhile the computingcomplexity of estimation cannot be very high to ensure thereader to identify tags promptly However the estimationin T-GDFSA follows TEM (ie Vogtrsquos method) which maynot be optimal in both of time and accuracy so one ofthe possible directions of our next work is to find a wayto improve the estimation method for T-GDFSA to achievebetter performance of RFID tag identification

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

Acknowledgments

This work was sponsored by the National Natural ScienceFoundation of China (Grant nos 61102034 61172156 and61071038) the Doctoral Fund of Guangdong University ofTechnology (Grant no 113002) and Shenzhen ApplicationFoundation key project (Grant no JCYJ20130401095559824)

References

[1] S S Kim YH Kim andK S Ahn ldquoAn enhanced slotted binarytree algorithm with intelligent separation in RFID Systemsrdquoin Proceedings of the IEEE Symposium on Computers andCommunications (ISCC rsquo09) pp 237ndash242 Sousse Tunisia July2009

[2] X Luo Z Xu J Yu and X Chen ldquoBuilding association linknetwork for semantic link on web resourcesrdquo IEEE Transactionson Automation Science and Engineering vol 8 no 3 pp 482ndash494 2011

[3] JM ZhaoWT Li andD-A Li ldquoIdentifying themissing tags incategorized RFID systemsrdquo International Journal of DistributedSensor Networks vol 2014 Article ID 582951 12 pages 2014

[4] G Bagnato G Maselli C Petrioli and C Vicari ldquoPerformanceanalysis of anti-collision protocols for RFID systemsrdquo in Pro-ceedings of the 69th Vehicular Technology Conference (VTC rsquo09)pp 1ndash5 IEEE Barcelona Spain April 2009

[5] W Zhang Y-J Guo X-M Tang G-H Cui L-K Wu andY Mei ldquoAn efficient adaptive anticollision algorithm based on4-ary pruning query treerdquo International Journal of DistributedSensor Networks vol 2013 Article ID 848746 7 pages 2013

[6] X-Q Yan Y Liu B Li and X-M Liu ldquoNumeric evaluation onthe system efficiency of the EPC Gen-2 UHF RFID tag collisionresolution protocol in error prone air interfacerdquo InternationalJournal of Distributed Sensor Networks vol 2014 Article ID716232 9 pages 2014

[7] V Namboodiri M Desilva K Deegala and S RamamoorthyldquoAn extensive study of slotted Aloha-based RFID anti-collision

12 International Journal of Distributed Sensor Networks

protocolsrdquo Computer Communications vol 35 no 16 pp 1955ndash1966 2012

[8] C S Keat and L N Shyan ldquoDynamic framed slotted ALOHAalgorithm for RFID systems with enhanced tag estimationtechniquerdquo in Proceedings of the IEEE International Conferenceon RFID-Technologies and Applications (RFID-TA rsquo13) pp 1ndash4Johor Bahru Malaysia September 2013

[9] J R Cha and J H Kim ldquoDynamic framed slotted ALOHAalgorithms using fast tag estimation method for RFID systemrdquoin Proceedings of the 3rd IEEE Consumer Communications andNetworking Conference (CCNC rsquo06) pp 768ndash772 Las VegasNev USA 2006

[10] S-R Lee S-D Joo and C-W Lee ldquoAn enhanced dynamicframed slotted ALOHA algorithm for RFID tag identificationrdquoin Proceedings of the 2nd International Conference onMobile andUbiquitous Systems Networking and Services (MobiQuitous rsquo05)pp 166ndash172 San Diego Calif USA July 2005

[11] D R Hush and C Wood ldquoAnalysis of tree algorithms for RFIDarbitrationrdquo in Proceedings of the IEEE International Symposiumon InformationTheory (ISIT rsquo98) pp 107ndash114 IEEE CambridgeMass USA August 1998

[12] C Law K Lee andK-Y Siu ldquoEfficientmemoryless protocol fortag identificationrdquo in Proceedings of the 4th International Work-shop on Discrete Algorithms and Methods for Mobile Computingand Communications (DIALM rsquo00) pp 75ndash84 Boston MassUSA August 2000

[13] J Myung W Lee J Srivastava and T K Shih ldquoTag-splittingadaptive collision arbitration protocols for RFID tag identifica-tionrdquo IEEETransactions on Parallel andDistributed Systems vol18 no 6 pp 763ndash775 2007

[14] H Vogt ldquoMultiple object identification with passive RFID tagsrdquoin Proceedings of the IEEE International Conference on SystemsMan and Cybernetics (SMC rsquo02) pp 6ndash9 Hammamet Tunisia2002

[15] M A Bonuccelli F Lonetti and F Martelli ldquoInstant collisionresolution for tag identification in RFID networksrdquo Ad HocNetworks vol 5 no 8 pp 1220ndash1232 2007

[16] Y Langsam M J Augenstein and A M Tenenbaum DataStructure Using C and C++ (2nd Edition) Prentice Hall Engle-wood Cliffs NJ USA 2nd edition 1995

International Journal of

AerospaceEngineeringHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal ofEngineeringVolume 2014

Submit your manuscripts athttpwwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 4: Research Article A Novel Hybrid Anticollision Algorithm ...downloads.hindawi.com/journals/ijdsn/2015/641327.pdf · A Novel Hybrid Anticollision Algorithm for RFID System Based on

4 International Journal of Distributed Sensor Networks

23 Binary Tree Algorithm (BS) BS and Query Tree (QT) areboth tree-based algorithms in which the reader iterativelyqueries a subset of tags matching a given property until alltags are identified They differ in the way of querying tagsaccording to a binary random number in BS and a queryprefix in QT In BS the reader recognizes tags in the timeinterval called read cycle Colliding tags are split into twosubsets recursively until just one tag is allocated in everysubset The tag has a counter initialized to 0 in the verybeginning Only tags with counter value equal to 0 canrespond the reader query in current read cycle and othertags keep silent and wait for their counters decreasing to 0Tags modify the value of counter depending on the resultof current identification If a collision happens collidingtags add a 1-bit binary value randomly to their counterswhich are split into two subsets with the counter at 0 andthe counter at 1 respectively Other tags not involved inthe collision increase their counters by 1 to maintain theirformer identifying order unchanged In case of identifyingsuccessfully or no response all tags unread decrease theircounters by 1 and tags with counter at 1 respond the readerin the next read cycle

If we define 119879cycle as the duration of a read cycle lceillog2119899rceil

as the minimal integer not less than log2119899 119862bits as the

length of query command and other parameters as the samenotations given in DFSA above the major metrics of BS canbe expressed as follows

119879

= 119879cycle

sdot (1 + 2 sdot

infin

sum119896=0

2119896minus (2119896+ 119899 minus 1) sdot (1 minus 2

minus119896)119899minus1

)

(4)

Bits119877

= 119862bits

sdot (1 + 2 sdot

infin

sum119896=0

2119896minus (2119896+ 119899 minus 1) sdot (1 minus 2

minus119896)119899minus1

)

(5)

Bits119879= IDbits sdot log2119899 (6)

The expressions (4) and (5) are general equations when 119896collision times that is the depth of current node (read cycle)in the binary tree (the whole identification process) tendsto positive infinity For convenience we derive the lowerbounds of 119879 and Bits

119877for reference As in BS the binary

tree representing the whole identification process is a strictbinary tree the intermediate nodes denoted by 119862

119865(119899) (ie

the colliding times) achieve minimal value when they areregarded as a complete binary tree whose number of nodescan be expressed as 2119862

119865(119899) + 1 Consider the fact that the

number of all nodes in the strict binary tree satisfies theinequation119873nd(119899) ge 2119862

119865(119899) + 1 = 2 sdotsum

log2119899minus1

119896=02119896 +1 = 2119899minus 3

and each node correspondswith a read cycle sowe can derivethe following expressions for fast tag estimation

119879 ge 119879cycle sdot (2119899 minus 3)

Bits119877ge 119862bits sdot (2119899 minus 3)

(7)

24 Query Tree Algorithm (QT) QT splits a tag set accordingto tagrsquos IDThe reader transmits a query including a bit stringand only the tag whose ID has a prefix matching the querystring responds by transmitting its ID In particular if thecurrent query string is 119902

11199022sdot sdot sdot 119902119899(119902119894isin 0 1) and leads to

a collision the reader uses two 1-bit longer queries that is11990211199022sdot sdot sdot 1199021198990 and 119902

11199022sdot sdot sdot 1199021198991 in the next read cycles in turn

which splits the set of colliding tags into two subsets If acollision still occurs when the new 1-bit longer query stringis sent then the string length is further increased by 1 bitwith 0 or 1 added to the end of the current query stringuntil the collision is solved and a tag is identified successfullyThe reader has a stack 119878 to manage query strings In thebeginning 119878 is initialized as NULL which causes all tagsresponse When collision occurs the reader pushed two 1-bit longer query strings into 119878 When current read cycle isfinished it pops a query string from 119878 for the next read cycleThat 119878 is popped empty indicates that all tags are recognizedNotice that collisions in QT correspond to the intermediatenodes not including the root node compared with BS

If we define the same notations as given in BS above themajor metrics of QT can be derived as follows

119879 le 119879cycle sdot (2887119899 minus 1)

Bits119877le IDbits sdot (2887119899 minus 1)

Bits119879= IDbits sdot (221log2119899 + 419)

(8)

25 Query Tree Improved Algorithm (QTI) There areamounts of useless query strings in QT which increase theread cycles and depress the system throughput QTI is anenhancement that removes those certainly causing collisionsin advance For example consider the case in which queryprefix 119902 has produced a collision while 1199020 result in noresponse As 1199021 definitely leads to a collision QTI skips itdirectly and takes 11990210 as the next query prefix

Compared with QT QTI only reduces the amount of datatransmitted by the reader while it maintains the amount ofdata sent by tags unchanged which alsomakes the expressionof Bits

119879unchanged

If we follow the same notations defined in BS we canobtain the formulas as follows

119879 le 119879cycle sdot (2665119899 minus 1)

Bits119877le IDbits sdot (2665119899 minus 1)

Bits119879= IDbits sdot (221log2119899 + 419)

(9)

From what has been discussed hereinbefore we can seeclearly that regardless of time or communication complexitythe metrics of ALOHA-based including DFSA and EDFSA

International Journal of Distributed Sensor Networks 5

are the same order infinitesimal of 119899 while the metricsof tree-based including BS QT and QTI are the higherorder infinitesimal of 119899 Although the metrics of tree-basedalgorithms seem worse they are deterministic which canavoid the so-called ldquotag starvation problemrdquo that a specifictag may not be identified all the time in ALOHA-basedalgorithms

3 The Proposed Algorithm T-GDFSA

The proposed algorithm T-GDFSA can be divided into twosteps the step of the estimation of tag population and thestep of tag identification The former is just implementedonce to estimate the initial number of tags existing in thecovering range of the reader which is used in the second stepto calculate the optimal number of groups and frame size ineach group In T-GDFSA the method used for tag estimationis similar to TEM (Tag Estimation Method) [14] At the endof each read cycle the recorded triple numbers ⟨119888

0 1198881 119888119896⟩

can be obtained from the readerrsquos memory which quantifiesthe number of idle time slots successful time slots occupiedby only one tag and colliding slots with more than twotags respectively Meanwhile the expected triple numbers⟨119886119873119899

0 1198861198731198991

119886119873119899119896

⟩ can be computed from the given framesize 119873 and the number 119899 of tags by statistical knowledgeAccording to Chebyshevrsquos expression the outcome of arandom experiment involving a random variable 119883 is mostlikely somewhere near the expected value of119883This propertyis used to calculate the distance between the recorded results⟨1198880 1198881 119888119896⟩ and the expected results ⟨119886119873119899

0 1198861198731198991

119886119873119899119896

⟩ of eachread cycle as defined in (10) When theminimal distance isachieved the corresponding 119899 is considered to be the optimalestimation of tag population Consider

120576 (119873 1198880 1198881 119888119896) = min119899

1003816100381610038161003816100381610038161003816100381610038161003816100381610038161003816100381610038161003816

(

1198861198731198990

1198861198731198991

119886119873119899119896

) minus (

1198880

1198881

119888119896

)

1003816100381610038161003816100381610038161003816100381610038161003816100381610038161003816100381610038161003816

(10)

where 119886119873119899119896

is the expected value of colliding slots with 119896 tagsthen

119886119873119899

119896= 119873 sdot (

119899

119896) sdot (

1

119873)119896

sdot (1 minus1

119873)119899minus119896

(119896 le 119899) (11)

In (10) the minimal 120576 is supposed to be achieved by asearching process with 119899 varying in the range [119888

1+ 2119888119896 3(1198881+

2119888119896)] where 119888

1+ 2119888119896is the lower bound of 119899 according to

[15] since 1198881tags have been identified and if there are 119888

119896

collisions at least 2119888119896tags collided The upper bound of 119899 is

set to 3(1198881+ 2119888119896) since by simulation no further accuracy in

the estimation is obtained if the upper bound is set to highervalues

From [1] we know that the system throughput becomesoptimal when the frame size is set equal to the number of tagsIn order to satisfy this condition the grouping size is adjustedby 1 each time to ensure that the number of tags in eachgroup is very close to the frame size The optimal groupingsize is decided by the expected system efficiency Suppose

the current number of groups is 119896 it will be increased to 119896+1

if the expected system efficiency with 119896 + 1 groups rises justequal to that with 119896 groups Consider

119886119873119899119896

1

119873=

119886119873119899(119896+1)

1

119873(119896 = 1 2 ) (12)

From (12) the maximum number of tags with 119896 groups is

119899119896=lg (119896 (119896 + 1))

lg (1 minus 1119873)sdot 119896 sdot (119896 + 1) (119896 = 1 2 ) (13)

By the utilization of (13) the optimal grouping size 119866 can beobtained with a varying 119899 and a given frame size 119871

Then the optimal 119866 is broadcast by the reader with arandom number to tags Grouping rule is as follows Each taggenerates a new random number by the old received one andits serial number (tagrsquos ID) Then the new random number isdivided by 119866 and all tags have a group number randomly inthe range [0 119866 minus 1] In the current read frame only tags withgroup number 0 are permitted to respond the reader Whenall of them have been identified the reader begins a new readframe and tags with group number 1 are involvedThe processcontinues until tags having group number 119866 minus 1 are queriedwhich means all tags have been recognizedThe frame size ofeach read frame decides how many time slots are included init At the beginning of each read frame the reader broadcaststhe optimal frame size 119871 to all tags which means there are119871 time slots in the incoming read frame and tags involvedgenerate an integer 119871

119894in the range [1 119871] and save it in its slot

counter By this means tags are allocated into 119871 time slotsrandomly In the first time slot initiated by the reader tagswith slot counter at 0 are permitted to respond the readerWhen all tags in current time slot have been identified thereader polls the next time slot and informs other unidentifiedtags to decrease their time slot counter by 1 Tags whose valueof slot counters decreasing to 0 are permitted to respond thereader in the incoming time slot If a collision happens inthe current time slot tags involved add 0 or 1 randomly totheir slot counters which cause them to fall into two subsets Itmeans that a binary tree is introduced and colliding tags aresubdivided into two child nodes of the current parent noderandomly Other tags increase their slot counters by 1 so as tocounteract the effect caused by splitting for the colliding tagsto keep their former identification sequence unchangedAftersplitting the reader firstly turns to identify the tags in the leftchild node of current parent node and if a collision is stilldetected the node-splitting process will be executed againand tags falling into the deeper left child node will be read inthe incoming time slotThe process will keep on going recur-sively until there is no collision happened in the current leftchild node Because there is nomore than 1 tag in the leaf tagin it can be identified successfully and then muted Next thereader returns up to the parent node of the current left childnode then turns down to the right child node and identifiestags in itThere are three possible outcomes Collision slotwillcause a new node-splitting process similar to that representedbeforehand 1-tag slot will make the reader identify the tagsuccessfully and then return to the parent node Idle slot willmake the reader directly come back to the parent node Next

6 International Journal of Distributed Sensor Networks

0 1

10

0 1

0 1

0 1

Time slot

1 2 3 4 5 6 7Group

middot middot middot

middot middot middot

middot middot middot

1 i i + 1 i + 2 i + 3 i + 4 i + 5 i + 6 i + 7 i + 8

Lev = 0

Lev = 1

Lev = 2

Lev = 3

120601

120601

120601 120601 120601

Figure 2 The execution process of the T-GDFSA

as all the child nodes of the parent node have been identifiedthe reader will return to the upper parent node The proce-durewill continue recursively until all nodes of the binary treehave been queried which means all tags in current collidingtime slot have been identified In the initiation of each binarytree recursive process the reader sets a level counter forcurrent colliding slot to record the depth of current node(ie read cycle) in the binary tree It is increased by 1 when acollision happens in current node and the reader goes deeperto the child nodes and is decreased by 1 when all tags inthe child nodes are already identified and the reader returnsto the upper parent node Level counter which decreasedto 0 indicates that all tags in the current collision slot havebeen identified In Figure 2 the tag identification process forgroup 1 is illustrated where Lev means the level counter Φdenotes no tag responding and each ldquo∙rdquo represents one tagThe identification processes for other groups are similar

4 Performance Evaluation

In this section wewill evaluate the performance of T-GDFSAThere are several metrics focusing on different aspects ofRFID system We take time complexity and communicationcomplexity for emphatic analysis Because time complex-ity reflects the identification efficiency which is of greatimportance for fast tag identification and communicationcomplexity indicates power consumption of the reader andtags which is of great significance for mobile RFID appli-cations Time complexity is defined as the total time spentto identify a set of tags in the covering range of the readerCommunication complexity refers to the amount of datatransmitted between the reader and tags which can becomposed of two parts Bits

119877(the total number of bits sent

by the reader) and Bits119879(the total number of bits transmitted

by single tag in average)Prior to deeper analysis it is necessary to make the

following important assumptions

Assumption 1 As data received by the reader aremostly shortsymbols such as acknowledgement symbols and so forth

which are much less compared with the data sent by thereader we simply ignore it and consider that Bits

119877totally

represents the communication complexity on reader

Assumption 2 The duration of time slot in read frame is setequal to that of read cycle in binary tree which is denoted bythe unified symbol 119879cycle making it possible to calculate thesystem throughput quantificationally

Assumption 3 In most RFID applications power consump-tion of tags is more sensitive than that of the reader So weproposed a new strategy dedicated to reducing Bits

119879 which

is deployed as follows Instead of sending complete tagrsquos IDdirectly tag firstly sends IDTest (a short bit string) to testthe state of the current time slot If no collision happensIDTest can be received by the reader successfully The readerresponds with the acknowledgement IDReq to require thetag to transmit its complete ID The strategy eliminates theuselessmass data transmission of tagrsquos ID caused by collisionsand ensures that tagrsquos ID is sent only once Since the length ofIDTest ismuch shorter than that of tagrsquos ID Bits

119879is decreased

drastically

41 Time Complexity The total consumed time denoted by119879 consists of three parts 119879est (time cost in the estimation oftag population) 119879rf (time cost in read frames) and 119879rc (timecost in read cycles of binary tree recursive process) Then weget

119879 = 119879est + 119879rf + 119879rc (14)

Let 119866ini denote the initial grouping size for the estimation oftag population and let 119866(119899) denote the actual grouping sizecalculated by (13) 119871 ini and 119871(119899) represent the initial framesize and the actual frame size separately 119899 is the numberof unidentified tags Then 119879est and 119879rf can be expressed as119866ini119871 ini119879cycle and 119866(119899)119871(119899)119879cycle respectively According to[1] when the condition of maximal throughput of framedslotted ALOHA the read frame size is equal to the numberof unidentified tags is satisfied the average number of tags in

International Journal of Distributed Sensor Networks 7

each colliding time slot is about 23922 on average Because119866(119899)119871(119899) is very close to 119899 in T-GDFSA the average numberof tags in each colliding time slot denoted by 119862tag can beconsidered as 23922 simply

According to the representation above we know that thebinary tree process for each colliding time slot is a strictlybinary tree so there is no 1-degree node included meaningthat any non-leaf node (the root node or the intermediatenode) has two child nodes Let 119873nd and 119873leaf be the numberof non-leaf nodes and leaf nodes respectively then 119873nd =

2119873leaf minus 1 can be easily deduced [16] Since the root nodecorresponds to the colliding time slot which has already beencounted in the read frame before the effective number ofnodes in every binary tree is 119873nd minus 1 Since the leaf nodesare composed of 1-tag leaf nodes and idle leaf nodes thenumber of actual nodes in every colliding time slot denotedas 1198731015840

nd satisfies the inequation 1198731015840nd ge 2119862tag minus 2 = 27844

on average Note the fact that when 119862tag is small it is veryclose to 119873leaf so the inequation above can be considered asequation 1198731015840nd = 2119862tag minus 2 = 27844 simply By probabilityknowledge we can derive that the expected value of collidingtime slots is 119866(119899)119871(119899)119875col where 119875col is the probability ofdetecting a colliding time slot and that 119879rc is no less than27844119866(119899)119871(119899)119875col119879cycle Substituting (14) with the all resultsabove we acquire the final expression of 119879 as follows

119879 asymp 119866ini sdot 119871 ini + 119866 (119899) sdot 119871 (119899) + 27844 sdot 119866 (119899) sdot 119871 (119899)

sdot 119875col sdot 119879cycle(15)

In expression (15) 119875col = [1 minus 119899119866(119899) sdot 119901(1 minus 119901)119899119866(119899)minus1 minus (1 minus

119901)119899119866(119899)]where 119901 = 1119871(119899) is the probability of a tag selectinga time slot from total 119871(119899) time slots

42 Communication Complexity on Reader Bits119877is defined

as the amount of data transmitted by the reader to identifya set of tags appearing in its irrigation range which reflectsthe communication complexity on reader suitably From theabove analysis we realize that no matter in the step of initialtag estimation or in the step of tag identification process theamount of data sent by the reader representing group size andframe size are both (119866bits+119871bits) bitsThe reader also needs totransmit QueryRep periodically tomake the current time slotincreased continually so as to poll tags allocated in differenttime slots of current frame and the amount of data of thispart can be expressed as [119866ini119871 ini + 119866(119899)119871(119899)]QueryRepbitsBesides in every binary tree recursive process as expressedabove the number of read cycles1198731015840nd is equal to 2119862tag minus 2 =

27844 As nodes in a binary tree consist of collision nodesand leaf nodes and the leaf nodes need no extra read cyclesto query the number of actual nodes for which reader sendsread cycles should be (2119862tag minus 2 minus 119862tag) = 03922 on averageThe reader sends at most 1 read cycle in every node so thenumber of read cycles in every binary tree recursive processis almost 03922 Considering that the expected number ofcollision slots is119866(119899)119871(119899)119875coll the total number of read cyclesin all binary tree recursive processes is 03922119866(119899)119871(119899)119875collLet119877bits be the string length of one read cycle and let IDReqbits

be the string length of IDReq sent by the reader respectivelyBits119877can be finally expressed as follows

Bits119877asymp 2 (119866bits + 119871bits)

+ [119866ini119871 ini + 119866 (119899) 119871 (119899)]QueryRepbits + 119899

sdot IDReqbits + 03922119866 (119899) 119871 (119899) 119875coll119877bits

(16)

43 Communication Complexity on Tag Here we take Bits119879

for consideration to indicate the average amount of datatransmitted by single tag Because of the randomness of tagidentification the average bits of data sent by single tag aredifficult to observe exactly so the lower bound and the upperbound are introduced for reference

(a) The Lower Bound If one lets lev(119894) be the level of the 119894thleaf node in a strict binary tree with 119899 leaf nodes where 119894

varies from 1 to 119899 according to the property of strict binarytree the following equation can be easily derived

119899

sum119894=1

1

2lev(119894)= 1 (17)

Since sum119899

119894=1(12lev(119894)) = 119899 sdot (1119899)sum

119899

119894=1(12lev(119894)) ge 119899 sdot

119899radic(12)sum119899

119894=1lev(119894) we can obtain

119899

sum119894=1

lev (119894) ge 119899log2119899 (18)

Expression (18) shows that the sum of levels of all leaf nodesin a strict binary tree with 119899 leaf nodes is no less than 119899log

2119899

Because the level of node indicates that the collision timestags allocated in it have experienced and the colliding timesin a strict binary tree with 119899 tags become minimal only whenthe number of leaf nodes is equal to 119899 the total colliding timesin a strict binary tree with 119899 tags are no less than 119899log

2119899 Let

119875col and 119875suc denote the expected possibility of colliding slotsand singleton slots respectively according to Assumption 3the amount of data transmitted by tags in all colliding timeslots satisfies

BitsCS ge 119866 (119899) sdot 119871 (119899) 119875col sdot (23922 sdot log223922

sdot IDTestbits + 23922 sdot IDbits) (19)

The total amount of data sent by all tags represented byBitsTA is composed of two parts data sent by the tags incolliding time slots and data sent by the tags in singleton slotsThe former is expressed by (19) Since every tag allocated inthe singleton slot transmits IDTest as well as tagrsquos ID onlyonce and there are 119866(119899)119871(119899)119875suc singleton slots with only 1tag BitsTA can be derived as the following expression

BitsTA = BitsCS + 119866 (119899) sdot 119871 (119899) sdot 119875suc

sdot (IDTestbits + IDbits)

ge 119866 (119899) sdot 119871 (119899)

sdot (23922 sdot 119875col sdot log223922 + 119875succ)

sdot IDTestbits + 119899 sdot IDbits

(20)

8 International Journal of Distributed Sensor Networks

Finally the lower bound of Bits119879can be obtained as follows

Bits119879

ge119866 (119899) sdot 119871 (119899)

119899

sdot [(23922 sdot 119875col sdot log223922 + 119875suc) sdot IDTestbits]

+ IDbits

(21)

(b) The Upper Bound In order to measure the largest amountof data sent by tags we must take the worst condition intoaccount Consider the following extreme situation Let 119901

119904be

the probability of all colliding tags falling into the same childnode simultaneously after splitting current collision nodeand 120582 is the probability of only one tag falling into one childnode Obviously 119901

119904is much large than 120582 at the beginning

of the binary tree recursive process which means collidingtags will fall into the same child node after splitting As thesplitting process is ongoing recursively 119901

119904is decreasing and

approaching 120582 If and only if 119901119904becomes not great than 120582

for the first time the splitting of current collision node willresult in one child node with only 1 tag and the other childnode with the remainder tags which separates 1 tag fromthe colliding tags and identifies it successfully The splittingprocess will repeat recursively for the remaining tags in thecolliding child node until there is no more than 1 tag fallinginto every node or we can say the leaf node has been reachedAssuming that the 119894th identified tag has experienced 119896

119894times

of collision before being identified successfully and119898 denotesthe total number of colliding tags in the binary tree we canget

[(1

2)119898+1minus119894

]

1198961015840

119894

le 120582

where 1198961015840

119894is an integer 119896

119894= min (119896

1015840

119894)

997904rArr 119896119894= lceil

1

119898 + 1 minus 119894log12

120582rceil

lt1

119898 + 1 minus 119894log12

120582 + 1

(22)

So the amount of data sent by119898 tags in the binary tree can beconsidered as

BitsCS le

119898minus1

sum119894=1

119896119894sdot IDTestbits + 119898 sdot IDbits

= (

119898minus1

sum119894=1

lceil1

119898 + 1 minus 119894log12

120582rceil) sdot IDTestbits + 119898

sdot IDbits

(23)

In the expression above the fact that the range of 119894 doesnot include 119898 is because the 119898th tag will be identifiedundoubtedly in the next read frame if the (119898 minus 1)th tag has

been identified Therefore by expressions (22) and (23) weget the following expression

BitsCS lt [(

119898

sum119894=1

1

119894) minus 1] sdot log

12120582 + (119898 minus 1)

sdot IDTestbits + 119898 sdot IDbits

(24)

Seeing that sum119898119894=1

(1119894) is the sum of the first 119898 terms of theharmonic series and its upper bound is (log

2119898 + 1) [16]

expression (24) can be rewritten as

BitsCS lt [(log2119898 + 1 minus 1) sdot log

12120582 + (119898 minus 1)]

sdot IDTestbits + 119898 sdot IDbits

= [log2119898 sdot log

2120582minus1

+ (119898 minus 1)] sdot IDTestbits + 119898

sdot IDbits

(25)

Considering 119898 = 23922 so the total amount of data sent byall tags is

BitsTA

= BitsCS + 119866 (119899) sdot 119871 (119899) sdot 119875suc sdot (IDTestbits + IDbits)

lt 119866 (119899) sdot 119871 (119899)

sdot [119875col sdot (log223922 sdot log2120582minus1

+ 05820) + 119875suc]

sdot IDTestbits + 119899 sdot IDbits

(26)

And the average amount of data sent by single tag is shown asfollows

Bits119879=BitsTA

119899lt

119866 (119899) 119871 (119899)

119899[119875col (log223922

sdot log2120582minus1

+ 05820) + 119875suc] IDTestbits + IDbits

(27)

Thus the final expression of Bits119879can be deduced form

expressions (21) and (27) which is expressed as an inequationwith a lower bound and an upper bound as follows

119866 (119899) sdot 119871 (119899)

119899sdot [(23922 sdot 119875col sdot log223922 + 119875suc)

sdot IDTestbits] + IDbits le Bits119879lt

119866 (119899) sdot 119871 (119899)

119899[119875col

sdot (log223922 sdot log

2120582minus1

+ 05820) + 119875suc]

sdot IDTestbits + IDbits

(28)

5 Simulation

Next we need to verify how close the mathematic formulaspresented in Section 4 match the reality As the key factorsinfluencing application for anticollision algorithms includethe system throughput and the communication complexitieswhich indicate how fast tags can be identified (especially

International Journal of Distributed Sensor Networks 9

important for mobile tags) and how low the energy isconsumed the comparisons for both of them between ouralgorithm and traditional ones should be made So we pro-gram onMatlab71 and the simulations include (1) comparingtheoretical values calculated by the mathematic formulasmentioned above with the simulative results acquired fromsimulations (2) comparing the complexity of T-GDFSA withthat of traditional algorithms including DFSA EDFSA BSQT and QTI and (3) comparing the system throughput of T-GDFSA when the length of tagrsquos ID varies in a large range orthe initial estimation of tag population becomes inaccurateSystem throughput denoted by 119878 is defined as the ratio ofthe number of tags to the sum of all time slots used in theread frames and all read cycles produced for querying thenodes of binary trees and can be obtained from the formula119878 = 119899119879cycle119879 where 119879cycle is the duration of one time slot aswell as the duration of one read cycle

Before simulation some parameters need to be set prop-erly The parameters are set as follows 119901

119904= 1119871 119871bits = 14

119866bits = 5 Levbits = 4 119877bits = 23 (119871bits + 119866bits + Levbits)IDTestbits = 8 IDReqbits = 8 QueryRepbits = 4 and 119871max =

256 Considering that the possibility that each tag falls in a slotis 1119871 when the frame size is 119871 we set 119901

119904to 1119871 119871bits set to 14

means themaximal time slots in a read frame can be 214119866bitsset to 5 indicates that the maximal grouping size is 25 Levbitsis set to 4 which refers to the fact that the maximal depth ofthe binary tree in recursive process is 24 Obviously 119877bits canbe set to 23 as a sum of 119871bits + 119866bits + Levbits IDTestbits andIDReqbits set to 8means the reader and tags use a 1-byte stringto achieve the strategy of slot test The value of QueryRepbitsis decided by the encoding method of commands and set to 4in our simulations which means each command sent by thereader is represented by a 4-bit binary string As 119871max themaximal frame size refers to the memory used in tags whichis usually very limited in reality it is just set to 256 in oursimulations which means 1-byte memory is required in tagsBesides the following parameters are tuned

(i) 119899 the number of tags to be identified It is increasedby 50 in each trial in the range [50 1000]

(ii) 119871 ini the initial estimated number of unidentified tagsThis value is used to set the initial read frame size It isset to 05119899 15119899 2119899 and 5119899 for inaccurate estimation

(iii) IDbits the length of tagrsquos ID It is assigned to the value48 64 96 128 sequentially

(iv) Running times the times each simulation runs It isset to be 100 times and the average result is taken foranalysis

In Figures 3ndash5 performance comparison of T-GDFSAbetween theoretical values and simulative results is shownIn Figure 3 the theoretical curve of 119878 appears as a zigzag linesurrounding the curve of simulative resultsThe points of thewave crest of the theoretical curve correspond to the increaseof grouping size which reduces tags per group drasticallyand deteriorates 119878 significantly because of more extra idleslots Figure 4 shows that the theoretical Bits

119877matches well

the simulative one In Figure 5 simulative values of Bits119877are

mostly 69 bits and the lower bound of theoretical values is

0 200 400 600 800 1000015

02

025

03

035

04

045

05

055

06

Simulative resultsTheoretical values

Figure 3 The comparison of 119878

0 200 400 600 800 10000

02

04

06

08

1

12

14

16

18

2

22

n

Simulative resultsTheoretical values

times104

BitsR

Figure 4 The comparison of Bits119877

near 58 bits with the length of tagrsquos ID set to 48 bits Noticethat the upper bound of theoretical values is very close tosimulative results when 120582 is set to 001

In Figure 6 compared with other traditional anticollisionalgorithms T-GDFSA has the highest 119878 about 041 when tagrsquosID is set to 48 bits long and uniformly distributed Figure 7shows that T-GDFSA has agreeable Bit

119877which is reduced by

at least half of that of tree-based algorithms and nearly equalto that of ALOHA-based algorithms In Figure 8 T-GDFSAhas the lowest Bits

119879whichmeans more power is saved in tags

compared with other traditional algorithmsFigure 9 shows the variation of 119878 with inaccurate initial

tag estimation When the estimated number is varying from05119899 to 15119899 119878 is still higher than 038 which indicates that

10 International Journal of Distributed Sensor Networks

0 200 400 600 800 10000

10

20

30

40

50

60

70

80

90

100

n

Simulative resultsLower bound

BitsT

Upper bound (P = 001)

Figure 5 The comparison of Bits119879 with IDbits = 48 and tagrsquos ID

uniformly distributed

0 200 400 600 800 1000

03

032

034

036

038

04

042

044

n

S

T-GDFSADFSAEDFSA

BSQTQTI

Figure 6 The comparison of 119878 with 119871 ini = 119899 and IDbits = 48

T-GDFSA has great tolerance for the inaccuracy of initial tagestimation We also notice that T-GDFSA performs better inunderestimation than overestimationThis is because smallerframe size in underestimation causes more tags to fall intocolliding time slots which can make full use of the advan-tages of T-GDFSA while in the case of overestimation theidentification process is more like an EDFSA identificationwithmore 1-tag time slots and idle time slots Figure 10 showsthat length variation of tagrsquos ID has little influence on 119878Whentag population exceeds 450 this effect can be approximatelyignored

0 200 400 600 800 10000

05

1

15

2

25

3

35

4

45

5

55

n

T-GDFSADFSAEDFSA

BSQTQTI

Bits R

times104

Figure 7 The comparison of Bits119877 with 119871 ini = 119899 and IDbits = 48

0 200 400 600 800 10000

20

40

60

80

100

120

140

160

n

T-GDFSADFSAEDFSA

BSQTQTI

BitsT

Figure 8 The comparison of Bits119879 with 119871 ini = 119899 and IDbits = 48

The simulations above reflect the following (1) Ourmathematic formulas of the main metrics match well thereality (2) Compared with traditional algorithms T-GDFSAachieves higher system throughput while maintaining lowercomputing complexities which is not available for traditionalalgorithms shown above This significant advantage makesour algorithm easier to be realized in end-user applications

6 Conclusion

In this paper we firstly make a summary of traditional RFIDanticollision algorithms and then propose a novel hybrid

International Journal of Distributed Sensor Networks 11

0 200 400 600 800 1000

03

032

034

036

038

04

042

044

n

S

L ini = 02n

L ini = 05n

L ini = n

L ini = 15n

L ini = 2n

Figure 9 119878 versus 119899 when IDbits = 48 with the inaccuracy of initialestimation of tag population

0 200 400 600 800 1000

03

032

034

036

038

04

042

044

n

S

IDbits = 48

IDbits = 64

IDbits = 96

IDbits = 128

Figure 10 119878 versus 119899 under the condition of 119871 ini = 119899 and the lengthvariation of tagrsquos ID

anticollision algorithm called T-GDFSA to improve theperformance of RFID tag identification T-GDFSA which isbased on grouped dynamic frame-slottedALOHAand binarytree recursive process has optimal group size and optimalread frame size and solves colliding time slots by introducingthe binary tree recursive process System model and mathe-matics formulas are present and theoretical values of metricsshow great agreement with the simulative results obtainedfrom simulations Compared with traditional ALOHA-basedand tree-based anticollision algorithms T-GDFSA exhibitsexcellent comprehensive performance with preferable system

throughput around 041 and lower communication complex-ity which is similar to EDFSA but at least half less than that oftree-based algorithms Furthermore T-GDFSA has tolerancefor the inaccuracy of initial tag estimation and the lengthvariation of tagrsquos ID

As we can see an accurate estimation of actual tagpopulation in T-GDFSA is very significant The estimationis used to set the optimal grouping size and frame sizewhich ensures the performance Meanwhile the computingcomplexity of estimation cannot be very high to ensure thereader to identify tags promptly However the estimationin T-GDFSA follows TEM (ie Vogtrsquos method) which maynot be optimal in both of time and accuracy so one ofthe possible directions of our next work is to find a wayto improve the estimation method for T-GDFSA to achievebetter performance of RFID tag identification

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

Acknowledgments

This work was sponsored by the National Natural ScienceFoundation of China (Grant nos 61102034 61172156 and61071038) the Doctoral Fund of Guangdong University ofTechnology (Grant no 113002) and Shenzhen ApplicationFoundation key project (Grant no JCYJ20130401095559824)

References

[1] S S Kim YH Kim andK S Ahn ldquoAn enhanced slotted binarytree algorithm with intelligent separation in RFID Systemsrdquoin Proceedings of the IEEE Symposium on Computers andCommunications (ISCC rsquo09) pp 237ndash242 Sousse Tunisia July2009

[2] X Luo Z Xu J Yu and X Chen ldquoBuilding association linknetwork for semantic link on web resourcesrdquo IEEE Transactionson Automation Science and Engineering vol 8 no 3 pp 482ndash494 2011

[3] JM ZhaoWT Li andD-A Li ldquoIdentifying themissing tags incategorized RFID systemsrdquo International Journal of DistributedSensor Networks vol 2014 Article ID 582951 12 pages 2014

[4] G Bagnato G Maselli C Petrioli and C Vicari ldquoPerformanceanalysis of anti-collision protocols for RFID systemsrdquo in Pro-ceedings of the 69th Vehicular Technology Conference (VTC rsquo09)pp 1ndash5 IEEE Barcelona Spain April 2009

[5] W Zhang Y-J Guo X-M Tang G-H Cui L-K Wu andY Mei ldquoAn efficient adaptive anticollision algorithm based on4-ary pruning query treerdquo International Journal of DistributedSensor Networks vol 2013 Article ID 848746 7 pages 2013

[6] X-Q Yan Y Liu B Li and X-M Liu ldquoNumeric evaluation onthe system efficiency of the EPC Gen-2 UHF RFID tag collisionresolution protocol in error prone air interfacerdquo InternationalJournal of Distributed Sensor Networks vol 2014 Article ID716232 9 pages 2014

[7] V Namboodiri M Desilva K Deegala and S RamamoorthyldquoAn extensive study of slotted Aloha-based RFID anti-collision

12 International Journal of Distributed Sensor Networks

protocolsrdquo Computer Communications vol 35 no 16 pp 1955ndash1966 2012

[8] C S Keat and L N Shyan ldquoDynamic framed slotted ALOHAalgorithm for RFID systems with enhanced tag estimationtechniquerdquo in Proceedings of the IEEE International Conferenceon RFID-Technologies and Applications (RFID-TA rsquo13) pp 1ndash4Johor Bahru Malaysia September 2013

[9] J R Cha and J H Kim ldquoDynamic framed slotted ALOHAalgorithms using fast tag estimation method for RFID systemrdquoin Proceedings of the 3rd IEEE Consumer Communications andNetworking Conference (CCNC rsquo06) pp 768ndash772 Las VegasNev USA 2006

[10] S-R Lee S-D Joo and C-W Lee ldquoAn enhanced dynamicframed slotted ALOHA algorithm for RFID tag identificationrdquoin Proceedings of the 2nd International Conference onMobile andUbiquitous Systems Networking and Services (MobiQuitous rsquo05)pp 166ndash172 San Diego Calif USA July 2005

[11] D R Hush and C Wood ldquoAnalysis of tree algorithms for RFIDarbitrationrdquo in Proceedings of the IEEE International Symposiumon InformationTheory (ISIT rsquo98) pp 107ndash114 IEEE CambridgeMass USA August 1998

[12] C Law K Lee andK-Y Siu ldquoEfficientmemoryless protocol fortag identificationrdquo in Proceedings of the 4th International Work-shop on Discrete Algorithms and Methods for Mobile Computingand Communications (DIALM rsquo00) pp 75ndash84 Boston MassUSA August 2000

[13] J Myung W Lee J Srivastava and T K Shih ldquoTag-splittingadaptive collision arbitration protocols for RFID tag identifica-tionrdquo IEEETransactions on Parallel andDistributed Systems vol18 no 6 pp 763ndash775 2007

[14] H Vogt ldquoMultiple object identification with passive RFID tagsrdquoin Proceedings of the IEEE International Conference on SystemsMan and Cybernetics (SMC rsquo02) pp 6ndash9 Hammamet Tunisia2002

[15] M A Bonuccelli F Lonetti and F Martelli ldquoInstant collisionresolution for tag identification in RFID networksrdquo Ad HocNetworks vol 5 no 8 pp 1220ndash1232 2007

[16] Y Langsam M J Augenstein and A M Tenenbaum DataStructure Using C and C++ (2nd Edition) Prentice Hall Engle-wood Cliffs NJ USA 2nd edition 1995

International Journal of

AerospaceEngineeringHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal ofEngineeringVolume 2014

Submit your manuscripts athttpwwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 5: Research Article A Novel Hybrid Anticollision Algorithm ...downloads.hindawi.com/journals/ijdsn/2015/641327.pdf · A Novel Hybrid Anticollision Algorithm for RFID System Based on

International Journal of Distributed Sensor Networks 5

are the same order infinitesimal of 119899 while the metricsof tree-based including BS QT and QTI are the higherorder infinitesimal of 119899 Although the metrics of tree-basedalgorithms seem worse they are deterministic which canavoid the so-called ldquotag starvation problemrdquo that a specifictag may not be identified all the time in ALOHA-basedalgorithms

3 The Proposed Algorithm T-GDFSA

The proposed algorithm T-GDFSA can be divided into twosteps the step of the estimation of tag population and thestep of tag identification The former is just implementedonce to estimate the initial number of tags existing in thecovering range of the reader which is used in the second stepto calculate the optimal number of groups and frame size ineach group In T-GDFSA the method used for tag estimationis similar to TEM (Tag Estimation Method) [14] At the endof each read cycle the recorded triple numbers ⟨119888

0 1198881 119888119896⟩

can be obtained from the readerrsquos memory which quantifiesthe number of idle time slots successful time slots occupiedby only one tag and colliding slots with more than twotags respectively Meanwhile the expected triple numbers⟨119886119873119899

0 1198861198731198991

119886119873119899119896

⟩ can be computed from the given framesize 119873 and the number 119899 of tags by statistical knowledgeAccording to Chebyshevrsquos expression the outcome of arandom experiment involving a random variable 119883 is mostlikely somewhere near the expected value of119883This propertyis used to calculate the distance between the recorded results⟨1198880 1198881 119888119896⟩ and the expected results ⟨119886119873119899

0 1198861198731198991

119886119873119899119896

⟩ of eachread cycle as defined in (10) When theminimal distance isachieved the corresponding 119899 is considered to be the optimalestimation of tag population Consider

120576 (119873 1198880 1198881 119888119896) = min119899

1003816100381610038161003816100381610038161003816100381610038161003816100381610038161003816100381610038161003816

(

1198861198731198990

1198861198731198991

119886119873119899119896

) minus (

1198880

1198881

119888119896

)

1003816100381610038161003816100381610038161003816100381610038161003816100381610038161003816100381610038161003816

(10)

where 119886119873119899119896

is the expected value of colliding slots with 119896 tagsthen

119886119873119899

119896= 119873 sdot (

119899

119896) sdot (

1

119873)119896

sdot (1 minus1

119873)119899minus119896

(119896 le 119899) (11)

In (10) the minimal 120576 is supposed to be achieved by asearching process with 119899 varying in the range [119888

1+ 2119888119896 3(1198881+

2119888119896)] where 119888

1+ 2119888119896is the lower bound of 119899 according to

[15] since 1198881tags have been identified and if there are 119888

119896

collisions at least 2119888119896tags collided The upper bound of 119899 is

set to 3(1198881+ 2119888119896) since by simulation no further accuracy in

the estimation is obtained if the upper bound is set to highervalues

From [1] we know that the system throughput becomesoptimal when the frame size is set equal to the number of tagsIn order to satisfy this condition the grouping size is adjustedby 1 each time to ensure that the number of tags in eachgroup is very close to the frame size The optimal groupingsize is decided by the expected system efficiency Suppose

the current number of groups is 119896 it will be increased to 119896+1

if the expected system efficiency with 119896 + 1 groups rises justequal to that with 119896 groups Consider

119886119873119899119896

1

119873=

119886119873119899(119896+1)

1

119873(119896 = 1 2 ) (12)

From (12) the maximum number of tags with 119896 groups is

119899119896=lg (119896 (119896 + 1))

lg (1 minus 1119873)sdot 119896 sdot (119896 + 1) (119896 = 1 2 ) (13)

By the utilization of (13) the optimal grouping size 119866 can beobtained with a varying 119899 and a given frame size 119871

Then the optimal 119866 is broadcast by the reader with arandom number to tags Grouping rule is as follows Each taggenerates a new random number by the old received one andits serial number (tagrsquos ID) Then the new random number isdivided by 119866 and all tags have a group number randomly inthe range [0 119866 minus 1] In the current read frame only tags withgroup number 0 are permitted to respond the reader Whenall of them have been identified the reader begins a new readframe and tags with group number 1 are involvedThe processcontinues until tags having group number 119866 minus 1 are queriedwhich means all tags have been recognizedThe frame size ofeach read frame decides how many time slots are included init At the beginning of each read frame the reader broadcaststhe optimal frame size 119871 to all tags which means there are119871 time slots in the incoming read frame and tags involvedgenerate an integer 119871

119894in the range [1 119871] and save it in its slot

counter By this means tags are allocated into 119871 time slotsrandomly In the first time slot initiated by the reader tagswith slot counter at 0 are permitted to respond the readerWhen all tags in current time slot have been identified thereader polls the next time slot and informs other unidentifiedtags to decrease their time slot counter by 1 Tags whose valueof slot counters decreasing to 0 are permitted to respond thereader in the incoming time slot If a collision happens inthe current time slot tags involved add 0 or 1 randomly totheir slot counters which cause them to fall into two subsets Itmeans that a binary tree is introduced and colliding tags aresubdivided into two child nodes of the current parent noderandomly Other tags increase their slot counters by 1 so as tocounteract the effect caused by splitting for the colliding tagsto keep their former identification sequence unchangedAftersplitting the reader firstly turns to identify the tags in the leftchild node of current parent node and if a collision is stilldetected the node-splitting process will be executed againand tags falling into the deeper left child node will be read inthe incoming time slotThe process will keep on going recur-sively until there is no collision happened in the current leftchild node Because there is nomore than 1 tag in the leaf tagin it can be identified successfully and then muted Next thereader returns up to the parent node of the current left childnode then turns down to the right child node and identifiestags in itThere are three possible outcomes Collision slotwillcause a new node-splitting process similar to that representedbeforehand 1-tag slot will make the reader identify the tagsuccessfully and then return to the parent node Idle slot willmake the reader directly come back to the parent node Next

6 International Journal of Distributed Sensor Networks

0 1

10

0 1

0 1

0 1

Time slot

1 2 3 4 5 6 7Group

middot middot middot

middot middot middot

middot middot middot

1 i i + 1 i + 2 i + 3 i + 4 i + 5 i + 6 i + 7 i + 8

Lev = 0

Lev = 1

Lev = 2

Lev = 3

120601

120601

120601 120601 120601

Figure 2 The execution process of the T-GDFSA

as all the child nodes of the parent node have been identifiedthe reader will return to the upper parent node The proce-durewill continue recursively until all nodes of the binary treehave been queried which means all tags in current collidingtime slot have been identified In the initiation of each binarytree recursive process the reader sets a level counter forcurrent colliding slot to record the depth of current node(ie read cycle) in the binary tree It is increased by 1 when acollision happens in current node and the reader goes deeperto the child nodes and is decreased by 1 when all tags inthe child nodes are already identified and the reader returnsto the upper parent node Level counter which decreasedto 0 indicates that all tags in the current collision slot havebeen identified In Figure 2 the tag identification process forgroup 1 is illustrated where Lev means the level counter Φdenotes no tag responding and each ldquo∙rdquo represents one tagThe identification processes for other groups are similar

4 Performance Evaluation

In this section wewill evaluate the performance of T-GDFSAThere are several metrics focusing on different aspects ofRFID system We take time complexity and communicationcomplexity for emphatic analysis Because time complex-ity reflects the identification efficiency which is of greatimportance for fast tag identification and communicationcomplexity indicates power consumption of the reader andtags which is of great significance for mobile RFID appli-cations Time complexity is defined as the total time spentto identify a set of tags in the covering range of the readerCommunication complexity refers to the amount of datatransmitted between the reader and tags which can becomposed of two parts Bits

119877(the total number of bits sent

by the reader) and Bits119879(the total number of bits transmitted

by single tag in average)Prior to deeper analysis it is necessary to make the

following important assumptions

Assumption 1 As data received by the reader aremostly shortsymbols such as acknowledgement symbols and so forth

which are much less compared with the data sent by thereader we simply ignore it and consider that Bits

119877totally

represents the communication complexity on reader

Assumption 2 The duration of time slot in read frame is setequal to that of read cycle in binary tree which is denoted bythe unified symbol 119879cycle making it possible to calculate thesystem throughput quantificationally

Assumption 3 In most RFID applications power consump-tion of tags is more sensitive than that of the reader So weproposed a new strategy dedicated to reducing Bits

119879 which

is deployed as follows Instead of sending complete tagrsquos IDdirectly tag firstly sends IDTest (a short bit string) to testthe state of the current time slot If no collision happensIDTest can be received by the reader successfully The readerresponds with the acknowledgement IDReq to require thetag to transmit its complete ID The strategy eliminates theuselessmass data transmission of tagrsquos ID caused by collisionsand ensures that tagrsquos ID is sent only once Since the length ofIDTest ismuch shorter than that of tagrsquos ID Bits

119879is decreased

drastically

41 Time Complexity The total consumed time denoted by119879 consists of three parts 119879est (time cost in the estimation oftag population) 119879rf (time cost in read frames) and 119879rc (timecost in read cycles of binary tree recursive process) Then weget

119879 = 119879est + 119879rf + 119879rc (14)

Let 119866ini denote the initial grouping size for the estimation oftag population and let 119866(119899) denote the actual grouping sizecalculated by (13) 119871 ini and 119871(119899) represent the initial framesize and the actual frame size separately 119899 is the numberof unidentified tags Then 119879est and 119879rf can be expressed as119866ini119871 ini119879cycle and 119866(119899)119871(119899)119879cycle respectively According to[1] when the condition of maximal throughput of framedslotted ALOHA the read frame size is equal to the numberof unidentified tags is satisfied the average number of tags in

International Journal of Distributed Sensor Networks 7

each colliding time slot is about 23922 on average Because119866(119899)119871(119899) is very close to 119899 in T-GDFSA the average numberof tags in each colliding time slot denoted by 119862tag can beconsidered as 23922 simply

According to the representation above we know that thebinary tree process for each colliding time slot is a strictlybinary tree so there is no 1-degree node included meaningthat any non-leaf node (the root node or the intermediatenode) has two child nodes Let 119873nd and 119873leaf be the numberof non-leaf nodes and leaf nodes respectively then 119873nd =

2119873leaf minus 1 can be easily deduced [16] Since the root nodecorresponds to the colliding time slot which has already beencounted in the read frame before the effective number ofnodes in every binary tree is 119873nd minus 1 Since the leaf nodesare composed of 1-tag leaf nodes and idle leaf nodes thenumber of actual nodes in every colliding time slot denotedas 1198731015840

nd satisfies the inequation 1198731015840nd ge 2119862tag minus 2 = 27844

on average Note the fact that when 119862tag is small it is veryclose to 119873leaf so the inequation above can be considered asequation 1198731015840nd = 2119862tag minus 2 = 27844 simply By probabilityknowledge we can derive that the expected value of collidingtime slots is 119866(119899)119871(119899)119875col where 119875col is the probability ofdetecting a colliding time slot and that 119879rc is no less than27844119866(119899)119871(119899)119875col119879cycle Substituting (14) with the all resultsabove we acquire the final expression of 119879 as follows

119879 asymp 119866ini sdot 119871 ini + 119866 (119899) sdot 119871 (119899) + 27844 sdot 119866 (119899) sdot 119871 (119899)

sdot 119875col sdot 119879cycle(15)

In expression (15) 119875col = [1 minus 119899119866(119899) sdot 119901(1 minus 119901)119899119866(119899)minus1 minus (1 minus

119901)119899119866(119899)]where 119901 = 1119871(119899) is the probability of a tag selectinga time slot from total 119871(119899) time slots

42 Communication Complexity on Reader Bits119877is defined

as the amount of data transmitted by the reader to identifya set of tags appearing in its irrigation range which reflectsthe communication complexity on reader suitably From theabove analysis we realize that no matter in the step of initialtag estimation or in the step of tag identification process theamount of data sent by the reader representing group size andframe size are both (119866bits+119871bits) bitsThe reader also needs totransmit QueryRep periodically tomake the current time slotincreased continually so as to poll tags allocated in differenttime slots of current frame and the amount of data of thispart can be expressed as [119866ini119871 ini + 119866(119899)119871(119899)]QueryRepbitsBesides in every binary tree recursive process as expressedabove the number of read cycles1198731015840nd is equal to 2119862tag minus 2 =

27844 As nodes in a binary tree consist of collision nodesand leaf nodes and the leaf nodes need no extra read cyclesto query the number of actual nodes for which reader sendsread cycles should be (2119862tag minus 2 minus 119862tag) = 03922 on averageThe reader sends at most 1 read cycle in every node so thenumber of read cycles in every binary tree recursive processis almost 03922 Considering that the expected number ofcollision slots is119866(119899)119871(119899)119875coll the total number of read cyclesin all binary tree recursive processes is 03922119866(119899)119871(119899)119875collLet119877bits be the string length of one read cycle and let IDReqbits

be the string length of IDReq sent by the reader respectivelyBits119877can be finally expressed as follows

Bits119877asymp 2 (119866bits + 119871bits)

+ [119866ini119871 ini + 119866 (119899) 119871 (119899)]QueryRepbits + 119899

sdot IDReqbits + 03922119866 (119899) 119871 (119899) 119875coll119877bits

(16)

43 Communication Complexity on Tag Here we take Bits119879

for consideration to indicate the average amount of datatransmitted by single tag Because of the randomness of tagidentification the average bits of data sent by single tag aredifficult to observe exactly so the lower bound and the upperbound are introduced for reference

(a) The Lower Bound If one lets lev(119894) be the level of the 119894thleaf node in a strict binary tree with 119899 leaf nodes where 119894

varies from 1 to 119899 according to the property of strict binarytree the following equation can be easily derived

119899

sum119894=1

1

2lev(119894)= 1 (17)

Since sum119899

119894=1(12lev(119894)) = 119899 sdot (1119899)sum

119899

119894=1(12lev(119894)) ge 119899 sdot

119899radic(12)sum119899

119894=1lev(119894) we can obtain

119899

sum119894=1

lev (119894) ge 119899log2119899 (18)

Expression (18) shows that the sum of levels of all leaf nodesin a strict binary tree with 119899 leaf nodes is no less than 119899log

2119899

Because the level of node indicates that the collision timestags allocated in it have experienced and the colliding timesin a strict binary tree with 119899 tags become minimal only whenthe number of leaf nodes is equal to 119899 the total colliding timesin a strict binary tree with 119899 tags are no less than 119899log

2119899 Let

119875col and 119875suc denote the expected possibility of colliding slotsand singleton slots respectively according to Assumption 3the amount of data transmitted by tags in all colliding timeslots satisfies

BitsCS ge 119866 (119899) sdot 119871 (119899) 119875col sdot (23922 sdot log223922

sdot IDTestbits + 23922 sdot IDbits) (19)

The total amount of data sent by all tags represented byBitsTA is composed of two parts data sent by the tags incolliding time slots and data sent by the tags in singleton slotsThe former is expressed by (19) Since every tag allocated inthe singleton slot transmits IDTest as well as tagrsquos ID onlyonce and there are 119866(119899)119871(119899)119875suc singleton slots with only 1tag BitsTA can be derived as the following expression

BitsTA = BitsCS + 119866 (119899) sdot 119871 (119899) sdot 119875suc

sdot (IDTestbits + IDbits)

ge 119866 (119899) sdot 119871 (119899)

sdot (23922 sdot 119875col sdot log223922 + 119875succ)

sdot IDTestbits + 119899 sdot IDbits

(20)

8 International Journal of Distributed Sensor Networks

Finally the lower bound of Bits119879can be obtained as follows

Bits119879

ge119866 (119899) sdot 119871 (119899)

119899

sdot [(23922 sdot 119875col sdot log223922 + 119875suc) sdot IDTestbits]

+ IDbits

(21)

(b) The Upper Bound In order to measure the largest amountof data sent by tags we must take the worst condition intoaccount Consider the following extreme situation Let 119901

119904be

the probability of all colliding tags falling into the same childnode simultaneously after splitting current collision nodeand 120582 is the probability of only one tag falling into one childnode Obviously 119901

119904is much large than 120582 at the beginning

of the binary tree recursive process which means collidingtags will fall into the same child node after splitting As thesplitting process is ongoing recursively 119901

119904is decreasing and

approaching 120582 If and only if 119901119904becomes not great than 120582

for the first time the splitting of current collision node willresult in one child node with only 1 tag and the other childnode with the remainder tags which separates 1 tag fromthe colliding tags and identifies it successfully The splittingprocess will repeat recursively for the remaining tags in thecolliding child node until there is no more than 1 tag fallinginto every node or we can say the leaf node has been reachedAssuming that the 119894th identified tag has experienced 119896

119894times

of collision before being identified successfully and119898 denotesthe total number of colliding tags in the binary tree we canget

[(1

2)119898+1minus119894

]

1198961015840

119894

le 120582

where 1198961015840

119894is an integer 119896

119894= min (119896

1015840

119894)

997904rArr 119896119894= lceil

1

119898 + 1 minus 119894log12

120582rceil

lt1

119898 + 1 minus 119894log12

120582 + 1

(22)

So the amount of data sent by119898 tags in the binary tree can beconsidered as

BitsCS le

119898minus1

sum119894=1

119896119894sdot IDTestbits + 119898 sdot IDbits

= (

119898minus1

sum119894=1

lceil1

119898 + 1 minus 119894log12

120582rceil) sdot IDTestbits + 119898

sdot IDbits

(23)

In the expression above the fact that the range of 119894 doesnot include 119898 is because the 119898th tag will be identifiedundoubtedly in the next read frame if the (119898 minus 1)th tag has

been identified Therefore by expressions (22) and (23) weget the following expression

BitsCS lt [(

119898

sum119894=1

1

119894) minus 1] sdot log

12120582 + (119898 minus 1)

sdot IDTestbits + 119898 sdot IDbits

(24)

Seeing that sum119898119894=1

(1119894) is the sum of the first 119898 terms of theharmonic series and its upper bound is (log

2119898 + 1) [16]

expression (24) can be rewritten as

BitsCS lt [(log2119898 + 1 minus 1) sdot log

12120582 + (119898 minus 1)]

sdot IDTestbits + 119898 sdot IDbits

= [log2119898 sdot log

2120582minus1

+ (119898 minus 1)] sdot IDTestbits + 119898

sdot IDbits

(25)

Considering 119898 = 23922 so the total amount of data sent byall tags is

BitsTA

= BitsCS + 119866 (119899) sdot 119871 (119899) sdot 119875suc sdot (IDTestbits + IDbits)

lt 119866 (119899) sdot 119871 (119899)

sdot [119875col sdot (log223922 sdot log2120582minus1

+ 05820) + 119875suc]

sdot IDTestbits + 119899 sdot IDbits

(26)

And the average amount of data sent by single tag is shown asfollows

Bits119879=BitsTA

119899lt

119866 (119899) 119871 (119899)

119899[119875col (log223922

sdot log2120582minus1

+ 05820) + 119875suc] IDTestbits + IDbits

(27)

Thus the final expression of Bits119879can be deduced form

expressions (21) and (27) which is expressed as an inequationwith a lower bound and an upper bound as follows

119866 (119899) sdot 119871 (119899)

119899sdot [(23922 sdot 119875col sdot log223922 + 119875suc)

sdot IDTestbits] + IDbits le Bits119879lt

119866 (119899) sdot 119871 (119899)

119899[119875col

sdot (log223922 sdot log

2120582minus1

+ 05820) + 119875suc]

sdot IDTestbits + IDbits

(28)

5 Simulation

Next we need to verify how close the mathematic formulaspresented in Section 4 match the reality As the key factorsinfluencing application for anticollision algorithms includethe system throughput and the communication complexitieswhich indicate how fast tags can be identified (especially

International Journal of Distributed Sensor Networks 9

important for mobile tags) and how low the energy isconsumed the comparisons for both of them between ouralgorithm and traditional ones should be made So we pro-gram onMatlab71 and the simulations include (1) comparingtheoretical values calculated by the mathematic formulasmentioned above with the simulative results acquired fromsimulations (2) comparing the complexity of T-GDFSA withthat of traditional algorithms including DFSA EDFSA BSQT and QTI and (3) comparing the system throughput of T-GDFSA when the length of tagrsquos ID varies in a large range orthe initial estimation of tag population becomes inaccurateSystem throughput denoted by 119878 is defined as the ratio ofthe number of tags to the sum of all time slots used in theread frames and all read cycles produced for querying thenodes of binary trees and can be obtained from the formula119878 = 119899119879cycle119879 where 119879cycle is the duration of one time slot aswell as the duration of one read cycle

Before simulation some parameters need to be set prop-erly The parameters are set as follows 119901

119904= 1119871 119871bits = 14

119866bits = 5 Levbits = 4 119877bits = 23 (119871bits + 119866bits + Levbits)IDTestbits = 8 IDReqbits = 8 QueryRepbits = 4 and 119871max =

256 Considering that the possibility that each tag falls in a slotis 1119871 when the frame size is 119871 we set 119901

119904to 1119871 119871bits set to 14

means themaximal time slots in a read frame can be 214119866bitsset to 5 indicates that the maximal grouping size is 25 Levbitsis set to 4 which refers to the fact that the maximal depth ofthe binary tree in recursive process is 24 Obviously 119877bits canbe set to 23 as a sum of 119871bits + 119866bits + Levbits IDTestbits andIDReqbits set to 8means the reader and tags use a 1-byte stringto achieve the strategy of slot test The value of QueryRepbitsis decided by the encoding method of commands and set to 4in our simulations which means each command sent by thereader is represented by a 4-bit binary string As 119871max themaximal frame size refers to the memory used in tags whichis usually very limited in reality it is just set to 256 in oursimulations which means 1-byte memory is required in tagsBesides the following parameters are tuned

(i) 119899 the number of tags to be identified It is increasedby 50 in each trial in the range [50 1000]

(ii) 119871 ini the initial estimated number of unidentified tagsThis value is used to set the initial read frame size It isset to 05119899 15119899 2119899 and 5119899 for inaccurate estimation

(iii) IDbits the length of tagrsquos ID It is assigned to the value48 64 96 128 sequentially

(iv) Running times the times each simulation runs It isset to be 100 times and the average result is taken foranalysis

In Figures 3ndash5 performance comparison of T-GDFSAbetween theoretical values and simulative results is shownIn Figure 3 the theoretical curve of 119878 appears as a zigzag linesurrounding the curve of simulative resultsThe points of thewave crest of the theoretical curve correspond to the increaseof grouping size which reduces tags per group drasticallyand deteriorates 119878 significantly because of more extra idleslots Figure 4 shows that the theoretical Bits

119877matches well

the simulative one In Figure 5 simulative values of Bits119877are

mostly 69 bits and the lower bound of theoretical values is

0 200 400 600 800 1000015

02

025

03

035

04

045

05

055

06

Simulative resultsTheoretical values

Figure 3 The comparison of 119878

0 200 400 600 800 10000

02

04

06

08

1

12

14

16

18

2

22

n

Simulative resultsTheoretical values

times104

BitsR

Figure 4 The comparison of Bits119877

near 58 bits with the length of tagrsquos ID set to 48 bits Noticethat the upper bound of theoretical values is very close tosimulative results when 120582 is set to 001

In Figure 6 compared with other traditional anticollisionalgorithms T-GDFSA has the highest 119878 about 041 when tagrsquosID is set to 48 bits long and uniformly distributed Figure 7shows that T-GDFSA has agreeable Bit

119877which is reduced by

at least half of that of tree-based algorithms and nearly equalto that of ALOHA-based algorithms In Figure 8 T-GDFSAhas the lowest Bits

119879whichmeans more power is saved in tags

compared with other traditional algorithmsFigure 9 shows the variation of 119878 with inaccurate initial

tag estimation When the estimated number is varying from05119899 to 15119899 119878 is still higher than 038 which indicates that

10 International Journal of Distributed Sensor Networks

0 200 400 600 800 10000

10

20

30

40

50

60

70

80

90

100

n

Simulative resultsLower bound

BitsT

Upper bound (P = 001)

Figure 5 The comparison of Bits119879 with IDbits = 48 and tagrsquos ID

uniformly distributed

0 200 400 600 800 1000

03

032

034

036

038

04

042

044

n

S

T-GDFSADFSAEDFSA

BSQTQTI

Figure 6 The comparison of 119878 with 119871 ini = 119899 and IDbits = 48

T-GDFSA has great tolerance for the inaccuracy of initial tagestimation We also notice that T-GDFSA performs better inunderestimation than overestimationThis is because smallerframe size in underestimation causes more tags to fall intocolliding time slots which can make full use of the advan-tages of T-GDFSA while in the case of overestimation theidentification process is more like an EDFSA identificationwithmore 1-tag time slots and idle time slots Figure 10 showsthat length variation of tagrsquos ID has little influence on 119878Whentag population exceeds 450 this effect can be approximatelyignored

0 200 400 600 800 10000

05

1

15

2

25

3

35

4

45

5

55

n

T-GDFSADFSAEDFSA

BSQTQTI

Bits R

times104

Figure 7 The comparison of Bits119877 with 119871 ini = 119899 and IDbits = 48

0 200 400 600 800 10000

20

40

60

80

100

120

140

160

n

T-GDFSADFSAEDFSA

BSQTQTI

BitsT

Figure 8 The comparison of Bits119879 with 119871 ini = 119899 and IDbits = 48

The simulations above reflect the following (1) Ourmathematic formulas of the main metrics match well thereality (2) Compared with traditional algorithms T-GDFSAachieves higher system throughput while maintaining lowercomputing complexities which is not available for traditionalalgorithms shown above This significant advantage makesour algorithm easier to be realized in end-user applications

6 Conclusion

In this paper we firstly make a summary of traditional RFIDanticollision algorithms and then propose a novel hybrid

International Journal of Distributed Sensor Networks 11

0 200 400 600 800 1000

03

032

034

036

038

04

042

044

n

S

L ini = 02n

L ini = 05n

L ini = n

L ini = 15n

L ini = 2n

Figure 9 119878 versus 119899 when IDbits = 48 with the inaccuracy of initialestimation of tag population

0 200 400 600 800 1000

03

032

034

036

038

04

042

044

n

S

IDbits = 48

IDbits = 64

IDbits = 96

IDbits = 128

Figure 10 119878 versus 119899 under the condition of 119871 ini = 119899 and the lengthvariation of tagrsquos ID

anticollision algorithm called T-GDFSA to improve theperformance of RFID tag identification T-GDFSA which isbased on grouped dynamic frame-slottedALOHAand binarytree recursive process has optimal group size and optimalread frame size and solves colliding time slots by introducingthe binary tree recursive process System model and mathe-matics formulas are present and theoretical values of metricsshow great agreement with the simulative results obtainedfrom simulations Compared with traditional ALOHA-basedand tree-based anticollision algorithms T-GDFSA exhibitsexcellent comprehensive performance with preferable system

throughput around 041 and lower communication complex-ity which is similar to EDFSA but at least half less than that oftree-based algorithms Furthermore T-GDFSA has tolerancefor the inaccuracy of initial tag estimation and the lengthvariation of tagrsquos ID

As we can see an accurate estimation of actual tagpopulation in T-GDFSA is very significant The estimationis used to set the optimal grouping size and frame sizewhich ensures the performance Meanwhile the computingcomplexity of estimation cannot be very high to ensure thereader to identify tags promptly However the estimationin T-GDFSA follows TEM (ie Vogtrsquos method) which maynot be optimal in both of time and accuracy so one ofthe possible directions of our next work is to find a wayto improve the estimation method for T-GDFSA to achievebetter performance of RFID tag identification

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

Acknowledgments

This work was sponsored by the National Natural ScienceFoundation of China (Grant nos 61102034 61172156 and61071038) the Doctoral Fund of Guangdong University ofTechnology (Grant no 113002) and Shenzhen ApplicationFoundation key project (Grant no JCYJ20130401095559824)

References

[1] S S Kim YH Kim andK S Ahn ldquoAn enhanced slotted binarytree algorithm with intelligent separation in RFID Systemsrdquoin Proceedings of the IEEE Symposium on Computers andCommunications (ISCC rsquo09) pp 237ndash242 Sousse Tunisia July2009

[2] X Luo Z Xu J Yu and X Chen ldquoBuilding association linknetwork for semantic link on web resourcesrdquo IEEE Transactionson Automation Science and Engineering vol 8 no 3 pp 482ndash494 2011

[3] JM ZhaoWT Li andD-A Li ldquoIdentifying themissing tags incategorized RFID systemsrdquo International Journal of DistributedSensor Networks vol 2014 Article ID 582951 12 pages 2014

[4] G Bagnato G Maselli C Petrioli and C Vicari ldquoPerformanceanalysis of anti-collision protocols for RFID systemsrdquo in Pro-ceedings of the 69th Vehicular Technology Conference (VTC rsquo09)pp 1ndash5 IEEE Barcelona Spain April 2009

[5] W Zhang Y-J Guo X-M Tang G-H Cui L-K Wu andY Mei ldquoAn efficient adaptive anticollision algorithm based on4-ary pruning query treerdquo International Journal of DistributedSensor Networks vol 2013 Article ID 848746 7 pages 2013

[6] X-Q Yan Y Liu B Li and X-M Liu ldquoNumeric evaluation onthe system efficiency of the EPC Gen-2 UHF RFID tag collisionresolution protocol in error prone air interfacerdquo InternationalJournal of Distributed Sensor Networks vol 2014 Article ID716232 9 pages 2014

[7] V Namboodiri M Desilva K Deegala and S RamamoorthyldquoAn extensive study of slotted Aloha-based RFID anti-collision

12 International Journal of Distributed Sensor Networks

protocolsrdquo Computer Communications vol 35 no 16 pp 1955ndash1966 2012

[8] C S Keat and L N Shyan ldquoDynamic framed slotted ALOHAalgorithm for RFID systems with enhanced tag estimationtechniquerdquo in Proceedings of the IEEE International Conferenceon RFID-Technologies and Applications (RFID-TA rsquo13) pp 1ndash4Johor Bahru Malaysia September 2013

[9] J R Cha and J H Kim ldquoDynamic framed slotted ALOHAalgorithms using fast tag estimation method for RFID systemrdquoin Proceedings of the 3rd IEEE Consumer Communications andNetworking Conference (CCNC rsquo06) pp 768ndash772 Las VegasNev USA 2006

[10] S-R Lee S-D Joo and C-W Lee ldquoAn enhanced dynamicframed slotted ALOHA algorithm for RFID tag identificationrdquoin Proceedings of the 2nd International Conference onMobile andUbiquitous Systems Networking and Services (MobiQuitous rsquo05)pp 166ndash172 San Diego Calif USA July 2005

[11] D R Hush and C Wood ldquoAnalysis of tree algorithms for RFIDarbitrationrdquo in Proceedings of the IEEE International Symposiumon InformationTheory (ISIT rsquo98) pp 107ndash114 IEEE CambridgeMass USA August 1998

[12] C Law K Lee andK-Y Siu ldquoEfficientmemoryless protocol fortag identificationrdquo in Proceedings of the 4th International Work-shop on Discrete Algorithms and Methods for Mobile Computingand Communications (DIALM rsquo00) pp 75ndash84 Boston MassUSA August 2000

[13] J Myung W Lee J Srivastava and T K Shih ldquoTag-splittingadaptive collision arbitration protocols for RFID tag identifica-tionrdquo IEEETransactions on Parallel andDistributed Systems vol18 no 6 pp 763ndash775 2007

[14] H Vogt ldquoMultiple object identification with passive RFID tagsrdquoin Proceedings of the IEEE International Conference on SystemsMan and Cybernetics (SMC rsquo02) pp 6ndash9 Hammamet Tunisia2002

[15] M A Bonuccelli F Lonetti and F Martelli ldquoInstant collisionresolution for tag identification in RFID networksrdquo Ad HocNetworks vol 5 no 8 pp 1220ndash1232 2007

[16] Y Langsam M J Augenstein and A M Tenenbaum DataStructure Using C and C++ (2nd Edition) Prentice Hall Engle-wood Cliffs NJ USA 2nd edition 1995

International Journal of

AerospaceEngineeringHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal ofEngineeringVolume 2014

Submit your manuscripts athttpwwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 6: Research Article A Novel Hybrid Anticollision Algorithm ...downloads.hindawi.com/journals/ijdsn/2015/641327.pdf · A Novel Hybrid Anticollision Algorithm for RFID System Based on

6 International Journal of Distributed Sensor Networks

0 1

10

0 1

0 1

0 1

Time slot

1 2 3 4 5 6 7Group

middot middot middot

middot middot middot

middot middot middot

1 i i + 1 i + 2 i + 3 i + 4 i + 5 i + 6 i + 7 i + 8

Lev = 0

Lev = 1

Lev = 2

Lev = 3

120601

120601

120601 120601 120601

Figure 2 The execution process of the T-GDFSA

as all the child nodes of the parent node have been identifiedthe reader will return to the upper parent node The proce-durewill continue recursively until all nodes of the binary treehave been queried which means all tags in current collidingtime slot have been identified In the initiation of each binarytree recursive process the reader sets a level counter forcurrent colliding slot to record the depth of current node(ie read cycle) in the binary tree It is increased by 1 when acollision happens in current node and the reader goes deeperto the child nodes and is decreased by 1 when all tags inthe child nodes are already identified and the reader returnsto the upper parent node Level counter which decreasedto 0 indicates that all tags in the current collision slot havebeen identified In Figure 2 the tag identification process forgroup 1 is illustrated where Lev means the level counter Φdenotes no tag responding and each ldquo∙rdquo represents one tagThe identification processes for other groups are similar

4 Performance Evaluation

In this section wewill evaluate the performance of T-GDFSAThere are several metrics focusing on different aspects ofRFID system We take time complexity and communicationcomplexity for emphatic analysis Because time complex-ity reflects the identification efficiency which is of greatimportance for fast tag identification and communicationcomplexity indicates power consumption of the reader andtags which is of great significance for mobile RFID appli-cations Time complexity is defined as the total time spentto identify a set of tags in the covering range of the readerCommunication complexity refers to the amount of datatransmitted between the reader and tags which can becomposed of two parts Bits

119877(the total number of bits sent

by the reader) and Bits119879(the total number of bits transmitted

by single tag in average)Prior to deeper analysis it is necessary to make the

following important assumptions

Assumption 1 As data received by the reader aremostly shortsymbols such as acknowledgement symbols and so forth

which are much less compared with the data sent by thereader we simply ignore it and consider that Bits

119877totally

represents the communication complexity on reader

Assumption 2 The duration of time slot in read frame is setequal to that of read cycle in binary tree which is denoted bythe unified symbol 119879cycle making it possible to calculate thesystem throughput quantificationally

Assumption 3 In most RFID applications power consump-tion of tags is more sensitive than that of the reader So weproposed a new strategy dedicated to reducing Bits

119879 which

is deployed as follows Instead of sending complete tagrsquos IDdirectly tag firstly sends IDTest (a short bit string) to testthe state of the current time slot If no collision happensIDTest can be received by the reader successfully The readerresponds with the acknowledgement IDReq to require thetag to transmit its complete ID The strategy eliminates theuselessmass data transmission of tagrsquos ID caused by collisionsand ensures that tagrsquos ID is sent only once Since the length ofIDTest ismuch shorter than that of tagrsquos ID Bits

119879is decreased

drastically

41 Time Complexity The total consumed time denoted by119879 consists of three parts 119879est (time cost in the estimation oftag population) 119879rf (time cost in read frames) and 119879rc (timecost in read cycles of binary tree recursive process) Then weget

119879 = 119879est + 119879rf + 119879rc (14)

Let 119866ini denote the initial grouping size for the estimation oftag population and let 119866(119899) denote the actual grouping sizecalculated by (13) 119871 ini and 119871(119899) represent the initial framesize and the actual frame size separately 119899 is the numberof unidentified tags Then 119879est and 119879rf can be expressed as119866ini119871 ini119879cycle and 119866(119899)119871(119899)119879cycle respectively According to[1] when the condition of maximal throughput of framedslotted ALOHA the read frame size is equal to the numberof unidentified tags is satisfied the average number of tags in

International Journal of Distributed Sensor Networks 7

each colliding time slot is about 23922 on average Because119866(119899)119871(119899) is very close to 119899 in T-GDFSA the average numberof tags in each colliding time slot denoted by 119862tag can beconsidered as 23922 simply

According to the representation above we know that thebinary tree process for each colliding time slot is a strictlybinary tree so there is no 1-degree node included meaningthat any non-leaf node (the root node or the intermediatenode) has two child nodes Let 119873nd and 119873leaf be the numberof non-leaf nodes and leaf nodes respectively then 119873nd =

2119873leaf minus 1 can be easily deduced [16] Since the root nodecorresponds to the colliding time slot which has already beencounted in the read frame before the effective number ofnodes in every binary tree is 119873nd minus 1 Since the leaf nodesare composed of 1-tag leaf nodes and idle leaf nodes thenumber of actual nodes in every colliding time slot denotedas 1198731015840

nd satisfies the inequation 1198731015840nd ge 2119862tag minus 2 = 27844

on average Note the fact that when 119862tag is small it is veryclose to 119873leaf so the inequation above can be considered asequation 1198731015840nd = 2119862tag minus 2 = 27844 simply By probabilityknowledge we can derive that the expected value of collidingtime slots is 119866(119899)119871(119899)119875col where 119875col is the probability ofdetecting a colliding time slot and that 119879rc is no less than27844119866(119899)119871(119899)119875col119879cycle Substituting (14) with the all resultsabove we acquire the final expression of 119879 as follows

119879 asymp 119866ini sdot 119871 ini + 119866 (119899) sdot 119871 (119899) + 27844 sdot 119866 (119899) sdot 119871 (119899)

sdot 119875col sdot 119879cycle(15)

In expression (15) 119875col = [1 minus 119899119866(119899) sdot 119901(1 minus 119901)119899119866(119899)minus1 minus (1 minus

119901)119899119866(119899)]where 119901 = 1119871(119899) is the probability of a tag selectinga time slot from total 119871(119899) time slots

42 Communication Complexity on Reader Bits119877is defined

as the amount of data transmitted by the reader to identifya set of tags appearing in its irrigation range which reflectsthe communication complexity on reader suitably From theabove analysis we realize that no matter in the step of initialtag estimation or in the step of tag identification process theamount of data sent by the reader representing group size andframe size are both (119866bits+119871bits) bitsThe reader also needs totransmit QueryRep periodically tomake the current time slotincreased continually so as to poll tags allocated in differenttime slots of current frame and the amount of data of thispart can be expressed as [119866ini119871 ini + 119866(119899)119871(119899)]QueryRepbitsBesides in every binary tree recursive process as expressedabove the number of read cycles1198731015840nd is equal to 2119862tag minus 2 =

27844 As nodes in a binary tree consist of collision nodesand leaf nodes and the leaf nodes need no extra read cyclesto query the number of actual nodes for which reader sendsread cycles should be (2119862tag minus 2 minus 119862tag) = 03922 on averageThe reader sends at most 1 read cycle in every node so thenumber of read cycles in every binary tree recursive processis almost 03922 Considering that the expected number ofcollision slots is119866(119899)119871(119899)119875coll the total number of read cyclesin all binary tree recursive processes is 03922119866(119899)119871(119899)119875collLet119877bits be the string length of one read cycle and let IDReqbits

be the string length of IDReq sent by the reader respectivelyBits119877can be finally expressed as follows

Bits119877asymp 2 (119866bits + 119871bits)

+ [119866ini119871 ini + 119866 (119899) 119871 (119899)]QueryRepbits + 119899

sdot IDReqbits + 03922119866 (119899) 119871 (119899) 119875coll119877bits

(16)

43 Communication Complexity on Tag Here we take Bits119879

for consideration to indicate the average amount of datatransmitted by single tag Because of the randomness of tagidentification the average bits of data sent by single tag aredifficult to observe exactly so the lower bound and the upperbound are introduced for reference

(a) The Lower Bound If one lets lev(119894) be the level of the 119894thleaf node in a strict binary tree with 119899 leaf nodes where 119894

varies from 1 to 119899 according to the property of strict binarytree the following equation can be easily derived

119899

sum119894=1

1

2lev(119894)= 1 (17)

Since sum119899

119894=1(12lev(119894)) = 119899 sdot (1119899)sum

119899

119894=1(12lev(119894)) ge 119899 sdot

119899radic(12)sum119899

119894=1lev(119894) we can obtain

119899

sum119894=1

lev (119894) ge 119899log2119899 (18)

Expression (18) shows that the sum of levels of all leaf nodesin a strict binary tree with 119899 leaf nodes is no less than 119899log

2119899

Because the level of node indicates that the collision timestags allocated in it have experienced and the colliding timesin a strict binary tree with 119899 tags become minimal only whenthe number of leaf nodes is equal to 119899 the total colliding timesin a strict binary tree with 119899 tags are no less than 119899log

2119899 Let

119875col and 119875suc denote the expected possibility of colliding slotsand singleton slots respectively according to Assumption 3the amount of data transmitted by tags in all colliding timeslots satisfies

BitsCS ge 119866 (119899) sdot 119871 (119899) 119875col sdot (23922 sdot log223922

sdot IDTestbits + 23922 sdot IDbits) (19)

The total amount of data sent by all tags represented byBitsTA is composed of two parts data sent by the tags incolliding time slots and data sent by the tags in singleton slotsThe former is expressed by (19) Since every tag allocated inthe singleton slot transmits IDTest as well as tagrsquos ID onlyonce and there are 119866(119899)119871(119899)119875suc singleton slots with only 1tag BitsTA can be derived as the following expression

BitsTA = BitsCS + 119866 (119899) sdot 119871 (119899) sdot 119875suc

sdot (IDTestbits + IDbits)

ge 119866 (119899) sdot 119871 (119899)

sdot (23922 sdot 119875col sdot log223922 + 119875succ)

sdot IDTestbits + 119899 sdot IDbits

(20)

8 International Journal of Distributed Sensor Networks

Finally the lower bound of Bits119879can be obtained as follows

Bits119879

ge119866 (119899) sdot 119871 (119899)

119899

sdot [(23922 sdot 119875col sdot log223922 + 119875suc) sdot IDTestbits]

+ IDbits

(21)

(b) The Upper Bound In order to measure the largest amountof data sent by tags we must take the worst condition intoaccount Consider the following extreme situation Let 119901

119904be

the probability of all colliding tags falling into the same childnode simultaneously after splitting current collision nodeand 120582 is the probability of only one tag falling into one childnode Obviously 119901

119904is much large than 120582 at the beginning

of the binary tree recursive process which means collidingtags will fall into the same child node after splitting As thesplitting process is ongoing recursively 119901

119904is decreasing and

approaching 120582 If and only if 119901119904becomes not great than 120582

for the first time the splitting of current collision node willresult in one child node with only 1 tag and the other childnode with the remainder tags which separates 1 tag fromthe colliding tags and identifies it successfully The splittingprocess will repeat recursively for the remaining tags in thecolliding child node until there is no more than 1 tag fallinginto every node or we can say the leaf node has been reachedAssuming that the 119894th identified tag has experienced 119896

119894times

of collision before being identified successfully and119898 denotesthe total number of colliding tags in the binary tree we canget

[(1

2)119898+1minus119894

]

1198961015840

119894

le 120582

where 1198961015840

119894is an integer 119896

119894= min (119896

1015840

119894)

997904rArr 119896119894= lceil

1

119898 + 1 minus 119894log12

120582rceil

lt1

119898 + 1 minus 119894log12

120582 + 1

(22)

So the amount of data sent by119898 tags in the binary tree can beconsidered as

BitsCS le

119898minus1

sum119894=1

119896119894sdot IDTestbits + 119898 sdot IDbits

= (

119898minus1

sum119894=1

lceil1

119898 + 1 minus 119894log12

120582rceil) sdot IDTestbits + 119898

sdot IDbits

(23)

In the expression above the fact that the range of 119894 doesnot include 119898 is because the 119898th tag will be identifiedundoubtedly in the next read frame if the (119898 minus 1)th tag has

been identified Therefore by expressions (22) and (23) weget the following expression

BitsCS lt [(

119898

sum119894=1

1

119894) minus 1] sdot log

12120582 + (119898 minus 1)

sdot IDTestbits + 119898 sdot IDbits

(24)

Seeing that sum119898119894=1

(1119894) is the sum of the first 119898 terms of theharmonic series and its upper bound is (log

2119898 + 1) [16]

expression (24) can be rewritten as

BitsCS lt [(log2119898 + 1 minus 1) sdot log

12120582 + (119898 minus 1)]

sdot IDTestbits + 119898 sdot IDbits

= [log2119898 sdot log

2120582minus1

+ (119898 minus 1)] sdot IDTestbits + 119898

sdot IDbits

(25)

Considering 119898 = 23922 so the total amount of data sent byall tags is

BitsTA

= BitsCS + 119866 (119899) sdot 119871 (119899) sdot 119875suc sdot (IDTestbits + IDbits)

lt 119866 (119899) sdot 119871 (119899)

sdot [119875col sdot (log223922 sdot log2120582minus1

+ 05820) + 119875suc]

sdot IDTestbits + 119899 sdot IDbits

(26)

And the average amount of data sent by single tag is shown asfollows

Bits119879=BitsTA

119899lt

119866 (119899) 119871 (119899)

119899[119875col (log223922

sdot log2120582minus1

+ 05820) + 119875suc] IDTestbits + IDbits

(27)

Thus the final expression of Bits119879can be deduced form

expressions (21) and (27) which is expressed as an inequationwith a lower bound and an upper bound as follows

119866 (119899) sdot 119871 (119899)

119899sdot [(23922 sdot 119875col sdot log223922 + 119875suc)

sdot IDTestbits] + IDbits le Bits119879lt

119866 (119899) sdot 119871 (119899)

119899[119875col

sdot (log223922 sdot log

2120582minus1

+ 05820) + 119875suc]

sdot IDTestbits + IDbits

(28)

5 Simulation

Next we need to verify how close the mathematic formulaspresented in Section 4 match the reality As the key factorsinfluencing application for anticollision algorithms includethe system throughput and the communication complexitieswhich indicate how fast tags can be identified (especially

International Journal of Distributed Sensor Networks 9

important for mobile tags) and how low the energy isconsumed the comparisons for both of them between ouralgorithm and traditional ones should be made So we pro-gram onMatlab71 and the simulations include (1) comparingtheoretical values calculated by the mathematic formulasmentioned above with the simulative results acquired fromsimulations (2) comparing the complexity of T-GDFSA withthat of traditional algorithms including DFSA EDFSA BSQT and QTI and (3) comparing the system throughput of T-GDFSA when the length of tagrsquos ID varies in a large range orthe initial estimation of tag population becomes inaccurateSystem throughput denoted by 119878 is defined as the ratio ofthe number of tags to the sum of all time slots used in theread frames and all read cycles produced for querying thenodes of binary trees and can be obtained from the formula119878 = 119899119879cycle119879 where 119879cycle is the duration of one time slot aswell as the duration of one read cycle

Before simulation some parameters need to be set prop-erly The parameters are set as follows 119901

119904= 1119871 119871bits = 14

119866bits = 5 Levbits = 4 119877bits = 23 (119871bits + 119866bits + Levbits)IDTestbits = 8 IDReqbits = 8 QueryRepbits = 4 and 119871max =

256 Considering that the possibility that each tag falls in a slotis 1119871 when the frame size is 119871 we set 119901

119904to 1119871 119871bits set to 14

means themaximal time slots in a read frame can be 214119866bitsset to 5 indicates that the maximal grouping size is 25 Levbitsis set to 4 which refers to the fact that the maximal depth ofthe binary tree in recursive process is 24 Obviously 119877bits canbe set to 23 as a sum of 119871bits + 119866bits + Levbits IDTestbits andIDReqbits set to 8means the reader and tags use a 1-byte stringto achieve the strategy of slot test The value of QueryRepbitsis decided by the encoding method of commands and set to 4in our simulations which means each command sent by thereader is represented by a 4-bit binary string As 119871max themaximal frame size refers to the memory used in tags whichis usually very limited in reality it is just set to 256 in oursimulations which means 1-byte memory is required in tagsBesides the following parameters are tuned

(i) 119899 the number of tags to be identified It is increasedby 50 in each trial in the range [50 1000]

(ii) 119871 ini the initial estimated number of unidentified tagsThis value is used to set the initial read frame size It isset to 05119899 15119899 2119899 and 5119899 for inaccurate estimation

(iii) IDbits the length of tagrsquos ID It is assigned to the value48 64 96 128 sequentially

(iv) Running times the times each simulation runs It isset to be 100 times and the average result is taken foranalysis

In Figures 3ndash5 performance comparison of T-GDFSAbetween theoretical values and simulative results is shownIn Figure 3 the theoretical curve of 119878 appears as a zigzag linesurrounding the curve of simulative resultsThe points of thewave crest of the theoretical curve correspond to the increaseof grouping size which reduces tags per group drasticallyand deteriorates 119878 significantly because of more extra idleslots Figure 4 shows that the theoretical Bits

119877matches well

the simulative one In Figure 5 simulative values of Bits119877are

mostly 69 bits and the lower bound of theoretical values is

0 200 400 600 800 1000015

02

025

03

035

04

045

05

055

06

Simulative resultsTheoretical values

Figure 3 The comparison of 119878

0 200 400 600 800 10000

02

04

06

08

1

12

14

16

18

2

22

n

Simulative resultsTheoretical values

times104

BitsR

Figure 4 The comparison of Bits119877

near 58 bits with the length of tagrsquos ID set to 48 bits Noticethat the upper bound of theoretical values is very close tosimulative results when 120582 is set to 001

In Figure 6 compared with other traditional anticollisionalgorithms T-GDFSA has the highest 119878 about 041 when tagrsquosID is set to 48 bits long and uniformly distributed Figure 7shows that T-GDFSA has agreeable Bit

119877which is reduced by

at least half of that of tree-based algorithms and nearly equalto that of ALOHA-based algorithms In Figure 8 T-GDFSAhas the lowest Bits

119879whichmeans more power is saved in tags

compared with other traditional algorithmsFigure 9 shows the variation of 119878 with inaccurate initial

tag estimation When the estimated number is varying from05119899 to 15119899 119878 is still higher than 038 which indicates that

10 International Journal of Distributed Sensor Networks

0 200 400 600 800 10000

10

20

30

40

50

60

70

80

90

100

n

Simulative resultsLower bound

BitsT

Upper bound (P = 001)

Figure 5 The comparison of Bits119879 with IDbits = 48 and tagrsquos ID

uniformly distributed

0 200 400 600 800 1000

03

032

034

036

038

04

042

044

n

S

T-GDFSADFSAEDFSA

BSQTQTI

Figure 6 The comparison of 119878 with 119871 ini = 119899 and IDbits = 48

T-GDFSA has great tolerance for the inaccuracy of initial tagestimation We also notice that T-GDFSA performs better inunderestimation than overestimationThis is because smallerframe size in underestimation causes more tags to fall intocolliding time slots which can make full use of the advan-tages of T-GDFSA while in the case of overestimation theidentification process is more like an EDFSA identificationwithmore 1-tag time slots and idle time slots Figure 10 showsthat length variation of tagrsquos ID has little influence on 119878Whentag population exceeds 450 this effect can be approximatelyignored

0 200 400 600 800 10000

05

1

15

2

25

3

35

4

45

5

55

n

T-GDFSADFSAEDFSA

BSQTQTI

Bits R

times104

Figure 7 The comparison of Bits119877 with 119871 ini = 119899 and IDbits = 48

0 200 400 600 800 10000

20

40

60

80

100

120

140

160

n

T-GDFSADFSAEDFSA

BSQTQTI

BitsT

Figure 8 The comparison of Bits119879 with 119871 ini = 119899 and IDbits = 48

The simulations above reflect the following (1) Ourmathematic formulas of the main metrics match well thereality (2) Compared with traditional algorithms T-GDFSAachieves higher system throughput while maintaining lowercomputing complexities which is not available for traditionalalgorithms shown above This significant advantage makesour algorithm easier to be realized in end-user applications

6 Conclusion

In this paper we firstly make a summary of traditional RFIDanticollision algorithms and then propose a novel hybrid

International Journal of Distributed Sensor Networks 11

0 200 400 600 800 1000

03

032

034

036

038

04

042

044

n

S

L ini = 02n

L ini = 05n

L ini = n

L ini = 15n

L ini = 2n

Figure 9 119878 versus 119899 when IDbits = 48 with the inaccuracy of initialestimation of tag population

0 200 400 600 800 1000

03

032

034

036

038

04

042

044

n

S

IDbits = 48

IDbits = 64

IDbits = 96

IDbits = 128

Figure 10 119878 versus 119899 under the condition of 119871 ini = 119899 and the lengthvariation of tagrsquos ID

anticollision algorithm called T-GDFSA to improve theperformance of RFID tag identification T-GDFSA which isbased on grouped dynamic frame-slottedALOHAand binarytree recursive process has optimal group size and optimalread frame size and solves colliding time slots by introducingthe binary tree recursive process System model and mathe-matics formulas are present and theoretical values of metricsshow great agreement with the simulative results obtainedfrom simulations Compared with traditional ALOHA-basedand tree-based anticollision algorithms T-GDFSA exhibitsexcellent comprehensive performance with preferable system

throughput around 041 and lower communication complex-ity which is similar to EDFSA but at least half less than that oftree-based algorithms Furthermore T-GDFSA has tolerancefor the inaccuracy of initial tag estimation and the lengthvariation of tagrsquos ID

As we can see an accurate estimation of actual tagpopulation in T-GDFSA is very significant The estimationis used to set the optimal grouping size and frame sizewhich ensures the performance Meanwhile the computingcomplexity of estimation cannot be very high to ensure thereader to identify tags promptly However the estimationin T-GDFSA follows TEM (ie Vogtrsquos method) which maynot be optimal in both of time and accuracy so one ofthe possible directions of our next work is to find a wayto improve the estimation method for T-GDFSA to achievebetter performance of RFID tag identification

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

Acknowledgments

This work was sponsored by the National Natural ScienceFoundation of China (Grant nos 61102034 61172156 and61071038) the Doctoral Fund of Guangdong University ofTechnology (Grant no 113002) and Shenzhen ApplicationFoundation key project (Grant no JCYJ20130401095559824)

References

[1] S S Kim YH Kim andK S Ahn ldquoAn enhanced slotted binarytree algorithm with intelligent separation in RFID Systemsrdquoin Proceedings of the IEEE Symposium on Computers andCommunications (ISCC rsquo09) pp 237ndash242 Sousse Tunisia July2009

[2] X Luo Z Xu J Yu and X Chen ldquoBuilding association linknetwork for semantic link on web resourcesrdquo IEEE Transactionson Automation Science and Engineering vol 8 no 3 pp 482ndash494 2011

[3] JM ZhaoWT Li andD-A Li ldquoIdentifying themissing tags incategorized RFID systemsrdquo International Journal of DistributedSensor Networks vol 2014 Article ID 582951 12 pages 2014

[4] G Bagnato G Maselli C Petrioli and C Vicari ldquoPerformanceanalysis of anti-collision protocols for RFID systemsrdquo in Pro-ceedings of the 69th Vehicular Technology Conference (VTC rsquo09)pp 1ndash5 IEEE Barcelona Spain April 2009

[5] W Zhang Y-J Guo X-M Tang G-H Cui L-K Wu andY Mei ldquoAn efficient adaptive anticollision algorithm based on4-ary pruning query treerdquo International Journal of DistributedSensor Networks vol 2013 Article ID 848746 7 pages 2013

[6] X-Q Yan Y Liu B Li and X-M Liu ldquoNumeric evaluation onthe system efficiency of the EPC Gen-2 UHF RFID tag collisionresolution protocol in error prone air interfacerdquo InternationalJournal of Distributed Sensor Networks vol 2014 Article ID716232 9 pages 2014

[7] V Namboodiri M Desilva K Deegala and S RamamoorthyldquoAn extensive study of slotted Aloha-based RFID anti-collision

12 International Journal of Distributed Sensor Networks

protocolsrdquo Computer Communications vol 35 no 16 pp 1955ndash1966 2012

[8] C S Keat and L N Shyan ldquoDynamic framed slotted ALOHAalgorithm for RFID systems with enhanced tag estimationtechniquerdquo in Proceedings of the IEEE International Conferenceon RFID-Technologies and Applications (RFID-TA rsquo13) pp 1ndash4Johor Bahru Malaysia September 2013

[9] J R Cha and J H Kim ldquoDynamic framed slotted ALOHAalgorithms using fast tag estimation method for RFID systemrdquoin Proceedings of the 3rd IEEE Consumer Communications andNetworking Conference (CCNC rsquo06) pp 768ndash772 Las VegasNev USA 2006

[10] S-R Lee S-D Joo and C-W Lee ldquoAn enhanced dynamicframed slotted ALOHA algorithm for RFID tag identificationrdquoin Proceedings of the 2nd International Conference onMobile andUbiquitous Systems Networking and Services (MobiQuitous rsquo05)pp 166ndash172 San Diego Calif USA July 2005

[11] D R Hush and C Wood ldquoAnalysis of tree algorithms for RFIDarbitrationrdquo in Proceedings of the IEEE International Symposiumon InformationTheory (ISIT rsquo98) pp 107ndash114 IEEE CambridgeMass USA August 1998

[12] C Law K Lee andK-Y Siu ldquoEfficientmemoryless protocol fortag identificationrdquo in Proceedings of the 4th International Work-shop on Discrete Algorithms and Methods for Mobile Computingand Communications (DIALM rsquo00) pp 75ndash84 Boston MassUSA August 2000

[13] J Myung W Lee J Srivastava and T K Shih ldquoTag-splittingadaptive collision arbitration protocols for RFID tag identifica-tionrdquo IEEETransactions on Parallel andDistributed Systems vol18 no 6 pp 763ndash775 2007

[14] H Vogt ldquoMultiple object identification with passive RFID tagsrdquoin Proceedings of the IEEE International Conference on SystemsMan and Cybernetics (SMC rsquo02) pp 6ndash9 Hammamet Tunisia2002

[15] M A Bonuccelli F Lonetti and F Martelli ldquoInstant collisionresolution for tag identification in RFID networksrdquo Ad HocNetworks vol 5 no 8 pp 1220ndash1232 2007

[16] Y Langsam M J Augenstein and A M Tenenbaum DataStructure Using C and C++ (2nd Edition) Prentice Hall Engle-wood Cliffs NJ USA 2nd edition 1995

International Journal of

AerospaceEngineeringHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal ofEngineeringVolume 2014

Submit your manuscripts athttpwwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 7: Research Article A Novel Hybrid Anticollision Algorithm ...downloads.hindawi.com/journals/ijdsn/2015/641327.pdf · A Novel Hybrid Anticollision Algorithm for RFID System Based on

International Journal of Distributed Sensor Networks 7

each colliding time slot is about 23922 on average Because119866(119899)119871(119899) is very close to 119899 in T-GDFSA the average numberof tags in each colliding time slot denoted by 119862tag can beconsidered as 23922 simply

According to the representation above we know that thebinary tree process for each colliding time slot is a strictlybinary tree so there is no 1-degree node included meaningthat any non-leaf node (the root node or the intermediatenode) has two child nodes Let 119873nd and 119873leaf be the numberof non-leaf nodes and leaf nodes respectively then 119873nd =

2119873leaf minus 1 can be easily deduced [16] Since the root nodecorresponds to the colliding time slot which has already beencounted in the read frame before the effective number ofnodes in every binary tree is 119873nd minus 1 Since the leaf nodesare composed of 1-tag leaf nodes and idle leaf nodes thenumber of actual nodes in every colliding time slot denotedas 1198731015840

nd satisfies the inequation 1198731015840nd ge 2119862tag minus 2 = 27844

on average Note the fact that when 119862tag is small it is veryclose to 119873leaf so the inequation above can be considered asequation 1198731015840nd = 2119862tag minus 2 = 27844 simply By probabilityknowledge we can derive that the expected value of collidingtime slots is 119866(119899)119871(119899)119875col where 119875col is the probability ofdetecting a colliding time slot and that 119879rc is no less than27844119866(119899)119871(119899)119875col119879cycle Substituting (14) with the all resultsabove we acquire the final expression of 119879 as follows

119879 asymp 119866ini sdot 119871 ini + 119866 (119899) sdot 119871 (119899) + 27844 sdot 119866 (119899) sdot 119871 (119899)

sdot 119875col sdot 119879cycle(15)

In expression (15) 119875col = [1 minus 119899119866(119899) sdot 119901(1 minus 119901)119899119866(119899)minus1 minus (1 minus

119901)119899119866(119899)]where 119901 = 1119871(119899) is the probability of a tag selectinga time slot from total 119871(119899) time slots

42 Communication Complexity on Reader Bits119877is defined

as the amount of data transmitted by the reader to identifya set of tags appearing in its irrigation range which reflectsthe communication complexity on reader suitably From theabove analysis we realize that no matter in the step of initialtag estimation or in the step of tag identification process theamount of data sent by the reader representing group size andframe size are both (119866bits+119871bits) bitsThe reader also needs totransmit QueryRep periodically tomake the current time slotincreased continually so as to poll tags allocated in differenttime slots of current frame and the amount of data of thispart can be expressed as [119866ini119871 ini + 119866(119899)119871(119899)]QueryRepbitsBesides in every binary tree recursive process as expressedabove the number of read cycles1198731015840nd is equal to 2119862tag minus 2 =

27844 As nodes in a binary tree consist of collision nodesand leaf nodes and the leaf nodes need no extra read cyclesto query the number of actual nodes for which reader sendsread cycles should be (2119862tag minus 2 minus 119862tag) = 03922 on averageThe reader sends at most 1 read cycle in every node so thenumber of read cycles in every binary tree recursive processis almost 03922 Considering that the expected number ofcollision slots is119866(119899)119871(119899)119875coll the total number of read cyclesin all binary tree recursive processes is 03922119866(119899)119871(119899)119875collLet119877bits be the string length of one read cycle and let IDReqbits

be the string length of IDReq sent by the reader respectivelyBits119877can be finally expressed as follows

Bits119877asymp 2 (119866bits + 119871bits)

+ [119866ini119871 ini + 119866 (119899) 119871 (119899)]QueryRepbits + 119899

sdot IDReqbits + 03922119866 (119899) 119871 (119899) 119875coll119877bits

(16)

43 Communication Complexity on Tag Here we take Bits119879

for consideration to indicate the average amount of datatransmitted by single tag Because of the randomness of tagidentification the average bits of data sent by single tag aredifficult to observe exactly so the lower bound and the upperbound are introduced for reference

(a) The Lower Bound If one lets lev(119894) be the level of the 119894thleaf node in a strict binary tree with 119899 leaf nodes where 119894

varies from 1 to 119899 according to the property of strict binarytree the following equation can be easily derived

119899

sum119894=1

1

2lev(119894)= 1 (17)

Since sum119899

119894=1(12lev(119894)) = 119899 sdot (1119899)sum

119899

119894=1(12lev(119894)) ge 119899 sdot

119899radic(12)sum119899

119894=1lev(119894) we can obtain

119899

sum119894=1

lev (119894) ge 119899log2119899 (18)

Expression (18) shows that the sum of levels of all leaf nodesin a strict binary tree with 119899 leaf nodes is no less than 119899log

2119899

Because the level of node indicates that the collision timestags allocated in it have experienced and the colliding timesin a strict binary tree with 119899 tags become minimal only whenthe number of leaf nodes is equal to 119899 the total colliding timesin a strict binary tree with 119899 tags are no less than 119899log

2119899 Let

119875col and 119875suc denote the expected possibility of colliding slotsand singleton slots respectively according to Assumption 3the amount of data transmitted by tags in all colliding timeslots satisfies

BitsCS ge 119866 (119899) sdot 119871 (119899) 119875col sdot (23922 sdot log223922

sdot IDTestbits + 23922 sdot IDbits) (19)

The total amount of data sent by all tags represented byBitsTA is composed of two parts data sent by the tags incolliding time slots and data sent by the tags in singleton slotsThe former is expressed by (19) Since every tag allocated inthe singleton slot transmits IDTest as well as tagrsquos ID onlyonce and there are 119866(119899)119871(119899)119875suc singleton slots with only 1tag BitsTA can be derived as the following expression

BitsTA = BitsCS + 119866 (119899) sdot 119871 (119899) sdot 119875suc

sdot (IDTestbits + IDbits)

ge 119866 (119899) sdot 119871 (119899)

sdot (23922 sdot 119875col sdot log223922 + 119875succ)

sdot IDTestbits + 119899 sdot IDbits

(20)

8 International Journal of Distributed Sensor Networks

Finally the lower bound of Bits119879can be obtained as follows

Bits119879

ge119866 (119899) sdot 119871 (119899)

119899

sdot [(23922 sdot 119875col sdot log223922 + 119875suc) sdot IDTestbits]

+ IDbits

(21)

(b) The Upper Bound In order to measure the largest amountof data sent by tags we must take the worst condition intoaccount Consider the following extreme situation Let 119901

119904be

the probability of all colliding tags falling into the same childnode simultaneously after splitting current collision nodeand 120582 is the probability of only one tag falling into one childnode Obviously 119901

119904is much large than 120582 at the beginning

of the binary tree recursive process which means collidingtags will fall into the same child node after splitting As thesplitting process is ongoing recursively 119901

119904is decreasing and

approaching 120582 If and only if 119901119904becomes not great than 120582

for the first time the splitting of current collision node willresult in one child node with only 1 tag and the other childnode with the remainder tags which separates 1 tag fromthe colliding tags and identifies it successfully The splittingprocess will repeat recursively for the remaining tags in thecolliding child node until there is no more than 1 tag fallinginto every node or we can say the leaf node has been reachedAssuming that the 119894th identified tag has experienced 119896

119894times

of collision before being identified successfully and119898 denotesthe total number of colliding tags in the binary tree we canget

[(1

2)119898+1minus119894

]

1198961015840

119894

le 120582

where 1198961015840

119894is an integer 119896

119894= min (119896

1015840

119894)

997904rArr 119896119894= lceil

1

119898 + 1 minus 119894log12

120582rceil

lt1

119898 + 1 minus 119894log12

120582 + 1

(22)

So the amount of data sent by119898 tags in the binary tree can beconsidered as

BitsCS le

119898minus1

sum119894=1

119896119894sdot IDTestbits + 119898 sdot IDbits

= (

119898minus1

sum119894=1

lceil1

119898 + 1 minus 119894log12

120582rceil) sdot IDTestbits + 119898

sdot IDbits

(23)

In the expression above the fact that the range of 119894 doesnot include 119898 is because the 119898th tag will be identifiedundoubtedly in the next read frame if the (119898 minus 1)th tag has

been identified Therefore by expressions (22) and (23) weget the following expression

BitsCS lt [(

119898

sum119894=1

1

119894) minus 1] sdot log

12120582 + (119898 minus 1)

sdot IDTestbits + 119898 sdot IDbits

(24)

Seeing that sum119898119894=1

(1119894) is the sum of the first 119898 terms of theharmonic series and its upper bound is (log

2119898 + 1) [16]

expression (24) can be rewritten as

BitsCS lt [(log2119898 + 1 minus 1) sdot log

12120582 + (119898 minus 1)]

sdot IDTestbits + 119898 sdot IDbits

= [log2119898 sdot log

2120582minus1

+ (119898 minus 1)] sdot IDTestbits + 119898

sdot IDbits

(25)

Considering 119898 = 23922 so the total amount of data sent byall tags is

BitsTA

= BitsCS + 119866 (119899) sdot 119871 (119899) sdot 119875suc sdot (IDTestbits + IDbits)

lt 119866 (119899) sdot 119871 (119899)

sdot [119875col sdot (log223922 sdot log2120582minus1

+ 05820) + 119875suc]

sdot IDTestbits + 119899 sdot IDbits

(26)

And the average amount of data sent by single tag is shown asfollows

Bits119879=BitsTA

119899lt

119866 (119899) 119871 (119899)

119899[119875col (log223922

sdot log2120582minus1

+ 05820) + 119875suc] IDTestbits + IDbits

(27)

Thus the final expression of Bits119879can be deduced form

expressions (21) and (27) which is expressed as an inequationwith a lower bound and an upper bound as follows

119866 (119899) sdot 119871 (119899)

119899sdot [(23922 sdot 119875col sdot log223922 + 119875suc)

sdot IDTestbits] + IDbits le Bits119879lt

119866 (119899) sdot 119871 (119899)

119899[119875col

sdot (log223922 sdot log

2120582minus1

+ 05820) + 119875suc]

sdot IDTestbits + IDbits

(28)

5 Simulation

Next we need to verify how close the mathematic formulaspresented in Section 4 match the reality As the key factorsinfluencing application for anticollision algorithms includethe system throughput and the communication complexitieswhich indicate how fast tags can be identified (especially

International Journal of Distributed Sensor Networks 9

important for mobile tags) and how low the energy isconsumed the comparisons for both of them between ouralgorithm and traditional ones should be made So we pro-gram onMatlab71 and the simulations include (1) comparingtheoretical values calculated by the mathematic formulasmentioned above with the simulative results acquired fromsimulations (2) comparing the complexity of T-GDFSA withthat of traditional algorithms including DFSA EDFSA BSQT and QTI and (3) comparing the system throughput of T-GDFSA when the length of tagrsquos ID varies in a large range orthe initial estimation of tag population becomes inaccurateSystem throughput denoted by 119878 is defined as the ratio ofthe number of tags to the sum of all time slots used in theread frames and all read cycles produced for querying thenodes of binary trees and can be obtained from the formula119878 = 119899119879cycle119879 where 119879cycle is the duration of one time slot aswell as the duration of one read cycle

Before simulation some parameters need to be set prop-erly The parameters are set as follows 119901

119904= 1119871 119871bits = 14

119866bits = 5 Levbits = 4 119877bits = 23 (119871bits + 119866bits + Levbits)IDTestbits = 8 IDReqbits = 8 QueryRepbits = 4 and 119871max =

256 Considering that the possibility that each tag falls in a slotis 1119871 when the frame size is 119871 we set 119901

119904to 1119871 119871bits set to 14

means themaximal time slots in a read frame can be 214119866bitsset to 5 indicates that the maximal grouping size is 25 Levbitsis set to 4 which refers to the fact that the maximal depth ofthe binary tree in recursive process is 24 Obviously 119877bits canbe set to 23 as a sum of 119871bits + 119866bits + Levbits IDTestbits andIDReqbits set to 8means the reader and tags use a 1-byte stringto achieve the strategy of slot test The value of QueryRepbitsis decided by the encoding method of commands and set to 4in our simulations which means each command sent by thereader is represented by a 4-bit binary string As 119871max themaximal frame size refers to the memory used in tags whichis usually very limited in reality it is just set to 256 in oursimulations which means 1-byte memory is required in tagsBesides the following parameters are tuned

(i) 119899 the number of tags to be identified It is increasedby 50 in each trial in the range [50 1000]

(ii) 119871 ini the initial estimated number of unidentified tagsThis value is used to set the initial read frame size It isset to 05119899 15119899 2119899 and 5119899 for inaccurate estimation

(iii) IDbits the length of tagrsquos ID It is assigned to the value48 64 96 128 sequentially

(iv) Running times the times each simulation runs It isset to be 100 times and the average result is taken foranalysis

In Figures 3ndash5 performance comparison of T-GDFSAbetween theoretical values and simulative results is shownIn Figure 3 the theoretical curve of 119878 appears as a zigzag linesurrounding the curve of simulative resultsThe points of thewave crest of the theoretical curve correspond to the increaseof grouping size which reduces tags per group drasticallyand deteriorates 119878 significantly because of more extra idleslots Figure 4 shows that the theoretical Bits

119877matches well

the simulative one In Figure 5 simulative values of Bits119877are

mostly 69 bits and the lower bound of theoretical values is

0 200 400 600 800 1000015

02

025

03

035

04

045

05

055

06

Simulative resultsTheoretical values

Figure 3 The comparison of 119878

0 200 400 600 800 10000

02

04

06

08

1

12

14

16

18

2

22

n

Simulative resultsTheoretical values

times104

BitsR

Figure 4 The comparison of Bits119877

near 58 bits with the length of tagrsquos ID set to 48 bits Noticethat the upper bound of theoretical values is very close tosimulative results when 120582 is set to 001

In Figure 6 compared with other traditional anticollisionalgorithms T-GDFSA has the highest 119878 about 041 when tagrsquosID is set to 48 bits long and uniformly distributed Figure 7shows that T-GDFSA has agreeable Bit

119877which is reduced by

at least half of that of tree-based algorithms and nearly equalto that of ALOHA-based algorithms In Figure 8 T-GDFSAhas the lowest Bits

119879whichmeans more power is saved in tags

compared with other traditional algorithmsFigure 9 shows the variation of 119878 with inaccurate initial

tag estimation When the estimated number is varying from05119899 to 15119899 119878 is still higher than 038 which indicates that

10 International Journal of Distributed Sensor Networks

0 200 400 600 800 10000

10

20

30

40

50

60

70

80

90

100

n

Simulative resultsLower bound

BitsT

Upper bound (P = 001)

Figure 5 The comparison of Bits119879 with IDbits = 48 and tagrsquos ID

uniformly distributed

0 200 400 600 800 1000

03

032

034

036

038

04

042

044

n

S

T-GDFSADFSAEDFSA

BSQTQTI

Figure 6 The comparison of 119878 with 119871 ini = 119899 and IDbits = 48

T-GDFSA has great tolerance for the inaccuracy of initial tagestimation We also notice that T-GDFSA performs better inunderestimation than overestimationThis is because smallerframe size in underestimation causes more tags to fall intocolliding time slots which can make full use of the advan-tages of T-GDFSA while in the case of overestimation theidentification process is more like an EDFSA identificationwithmore 1-tag time slots and idle time slots Figure 10 showsthat length variation of tagrsquos ID has little influence on 119878Whentag population exceeds 450 this effect can be approximatelyignored

0 200 400 600 800 10000

05

1

15

2

25

3

35

4

45

5

55

n

T-GDFSADFSAEDFSA

BSQTQTI

Bits R

times104

Figure 7 The comparison of Bits119877 with 119871 ini = 119899 and IDbits = 48

0 200 400 600 800 10000

20

40

60

80

100

120

140

160

n

T-GDFSADFSAEDFSA

BSQTQTI

BitsT

Figure 8 The comparison of Bits119879 with 119871 ini = 119899 and IDbits = 48

The simulations above reflect the following (1) Ourmathematic formulas of the main metrics match well thereality (2) Compared with traditional algorithms T-GDFSAachieves higher system throughput while maintaining lowercomputing complexities which is not available for traditionalalgorithms shown above This significant advantage makesour algorithm easier to be realized in end-user applications

6 Conclusion

In this paper we firstly make a summary of traditional RFIDanticollision algorithms and then propose a novel hybrid

International Journal of Distributed Sensor Networks 11

0 200 400 600 800 1000

03

032

034

036

038

04

042

044

n

S

L ini = 02n

L ini = 05n

L ini = n

L ini = 15n

L ini = 2n

Figure 9 119878 versus 119899 when IDbits = 48 with the inaccuracy of initialestimation of tag population

0 200 400 600 800 1000

03

032

034

036

038

04

042

044

n

S

IDbits = 48

IDbits = 64

IDbits = 96

IDbits = 128

Figure 10 119878 versus 119899 under the condition of 119871 ini = 119899 and the lengthvariation of tagrsquos ID

anticollision algorithm called T-GDFSA to improve theperformance of RFID tag identification T-GDFSA which isbased on grouped dynamic frame-slottedALOHAand binarytree recursive process has optimal group size and optimalread frame size and solves colliding time slots by introducingthe binary tree recursive process System model and mathe-matics formulas are present and theoretical values of metricsshow great agreement with the simulative results obtainedfrom simulations Compared with traditional ALOHA-basedand tree-based anticollision algorithms T-GDFSA exhibitsexcellent comprehensive performance with preferable system

throughput around 041 and lower communication complex-ity which is similar to EDFSA but at least half less than that oftree-based algorithms Furthermore T-GDFSA has tolerancefor the inaccuracy of initial tag estimation and the lengthvariation of tagrsquos ID

As we can see an accurate estimation of actual tagpopulation in T-GDFSA is very significant The estimationis used to set the optimal grouping size and frame sizewhich ensures the performance Meanwhile the computingcomplexity of estimation cannot be very high to ensure thereader to identify tags promptly However the estimationin T-GDFSA follows TEM (ie Vogtrsquos method) which maynot be optimal in both of time and accuracy so one ofthe possible directions of our next work is to find a wayto improve the estimation method for T-GDFSA to achievebetter performance of RFID tag identification

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

Acknowledgments

This work was sponsored by the National Natural ScienceFoundation of China (Grant nos 61102034 61172156 and61071038) the Doctoral Fund of Guangdong University ofTechnology (Grant no 113002) and Shenzhen ApplicationFoundation key project (Grant no JCYJ20130401095559824)

References

[1] S S Kim YH Kim andK S Ahn ldquoAn enhanced slotted binarytree algorithm with intelligent separation in RFID Systemsrdquoin Proceedings of the IEEE Symposium on Computers andCommunications (ISCC rsquo09) pp 237ndash242 Sousse Tunisia July2009

[2] X Luo Z Xu J Yu and X Chen ldquoBuilding association linknetwork for semantic link on web resourcesrdquo IEEE Transactionson Automation Science and Engineering vol 8 no 3 pp 482ndash494 2011

[3] JM ZhaoWT Li andD-A Li ldquoIdentifying themissing tags incategorized RFID systemsrdquo International Journal of DistributedSensor Networks vol 2014 Article ID 582951 12 pages 2014

[4] G Bagnato G Maselli C Petrioli and C Vicari ldquoPerformanceanalysis of anti-collision protocols for RFID systemsrdquo in Pro-ceedings of the 69th Vehicular Technology Conference (VTC rsquo09)pp 1ndash5 IEEE Barcelona Spain April 2009

[5] W Zhang Y-J Guo X-M Tang G-H Cui L-K Wu andY Mei ldquoAn efficient adaptive anticollision algorithm based on4-ary pruning query treerdquo International Journal of DistributedSensor Networks vol 2013 Article ID 848746 7 pages 2013

[6] X-Q Yan Y Liu B Li and X-M Liu ldquoNumeric evaluation onthe system efficiency of the EPC Gen-2 UHF RFID tag collisionresolution protocol in error prone air interfacerdquo InternationalJournal of Distributed Sensor Networks vol 2014 Article ID716232 9 pages 2014

[7] V Namboodiri M Desilva K Deegala and S RamamoorthyldquoAn extensive study of slotted Aloha-based RFID anti-collision

12 International Journal of Distributed Sensor Networks

protocolsrdquo Computer Communications vol 35 no 16 pp 1955ndash1966 2012

[8] C S Keat and L N Shyan ldquoDynamic framed slotted ALOHAalgorithm for RFID systems with enhanced tag estimationtechniquerdquo in Proceedings of the IEEE International Conferenceon RFID-Technologies and Applications (RFID-TA rsquo13) pp 1ndash4Johor Bahru Malaysia September 2013

[9] J R Cha and J H Kim ldquoDynamic framed slotted ALOHAalgorithms using fast tag estimation method for RFID systemrdquoin Proceedings of the 3rd IEEE Consumer Communications andNetworking Conference (CCNC rsquo06) pp 768ndash772 Las VegasNev USA 2006

[10] S-R Lee S-D Joo and C-W Lee ldquoAn enhanced dynamicframed slotted ALOHA algorithm for RFID tag identificationrdquoin Proceedings of the 2nd International Conference onMobile andUbiquitous Systems Networking and Services (MobiQuitous rsquo05)pp 166ndash172 San Diego Calif USA July 2005

[11] D R Hush and C Wood ldquoAnalysis of tree algorithms for RFIDarbitrationrdquo in Proceedings of the IEEE International Symposiumon InformationTheory (ISIT rsquo98) pp 107ndash114 IEEE CambridgeMass USA August 1998

[12] C Law K Lee andK-Y Siu ldquoEfficientmemoryless protocol fortag identificationrdquo in Proceedings of the 4th International Work-shop on Discrete Algorithms and Methods for Mobile Computingand Communications (DIALM rsquo00) pp 75ndash84 Boston MassUSA August 2000

[13] J Myung W Lee J Srivastava and T K Shih ldquoTag-splittingadaptive collision arbitration protocols for RFID tag identifica-tionrdquo IEEETransactions on Parallel andDistributed Systems vol18 no 6 pp 763ndash775 2007

[14] H Vogt ldquoMultiple object identification with passive RFID tagsrdquoin Proceedings of the IEEE International Conference on SystemsMan and Cybernetics (SMC rsquo02) pp 6ndash9 Hammamet Tunisia2002

[15] M A Bonuccelli F Lonetti and F Martelli ldquoInstant collisionresolution for tag identification in RFID networksrdquo Ad HocNetworks vol 5 no 8 pp 1220ndash1232 2007

[16] Y Langsam M J Augenstein and A M Tenenbaum DataStructure Using C and C++ (2nd Edition) Prentice Hall Engle-wood Cliffs NJ USA 2nd edition 1995

International Journal of

AerospaceEngineeringHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal ofEngineeringVolume 2014

Submit your manuscripts athttpwwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 8: Research Article A Novel Hybrid Anticollision Algorithm ...downloads.hindawi.com/journals/ijdsn/2015/641327.pdf · A Novel Hybrid Anticollision Algorithm for RFID System Based on

8 International Journal of Distributed Sensor Networks

Finally the lower bound of Bits119879can be obtained as follows

Bits119879

ge119866 (119899) sdot 119871 (119899)

119899

sdot [(23922 sdot 119875col sdot log223922 + 119875suc) sdot IDTestbits]

+ IDbits

(21)

(b) The Upper Bound In order to measure the largest amountof data sent by tags we must take the worst condition intoaccount Consider the following extreme situation Let 119901

119904be

the probability of all colliding tags falling into the same childnode simultaneously after splitting current collision nodeand 120582 is the probability of only one tag falling into one childnode Obviously 119901

119904is much large than 120582 at the beginning

of the binary tree recursive process which means collidingtags will fall into the same child node after splitting As thesplitting process is ongoing recursively 119901

119904is decreasing and

approaching 120582 If and only if 119901119904becomes not great than 120582

for the first time the splitting of current collision node willresult in one child node with only 1 tag and the other childnode with the remainder tags which separates 1 tag fromthe colliding tags and identifies it successfully The splittingprocess will repeat recursively for the remaining tags in thecolliding child node until there is no more than 1 tag fallinginto every node or we can say the leaf node has been reachedAssuming that the 119894th identified tag has experienced 119896

119894times

of collision before being identified successfully and119898 denotesthe total number of colliding tags in the binary tree we canget

[(1

2)119898+1minus119894

]

1198961015840

119894

le 120582

where 1198961015840

119894is an integer 119896

119894= min (119896

1015840

119894)

997904rArr 119896119894= lceil

1

119898 + 1 minus 119894log12

120582rceil

lt1

119898 + 1 minus 119894log12

120582 + 1

(22)

So the amount of data sent by119898 tags in the binary tree can beconsidered as

BitsCS le

119898minus1

sum119894=1

119896119894sdot IDTestbits + 119898 sdot IDbits

= (

119898minus1

sum119894=1

lceil1

119898 + 1 minus 119894log12

120582rceil) sdot IDTestbits + 119898

sdot IDbits

(23)

In the expression above the fact that the range of 119894 doesnot include 119898 is because the 119898th tag will be identifiedundoubtedly in the next read frame if the (119898 minus 1)th tag has

been identified Therefore by expressions (22) and (23) weget the following expression

BitsCS lt [(

119898

sum119894=1

1

119894) minus 1] sdot log

12120582 + (119898 minus 1)

sdot IDTestbits + 119898 sdot IDbits

(24)

Seeing that sum119898119894=1

(1119894) is the sum of the first 119898 terms of theharmonic series and its upper bound is (log

2119898 + 1) [16]

expression (24) can be rewritten as

BitsCS lt [(log2119898 + 1 minus 1) sdot log

12120582 + (119898 minus 1)]

sdot IDTestbits + 119898 sdot IDbits

= [log2119898 sdot log

2120582minus1

+ (119898 minus 1)] sdot IDTestbits + 119898

sdot IDbits

(25)

Considering 119898 = 23922 so the total amount of data sent byall tags is

BitsTA

= BitsCS + 119866 (119899) sdot 119871 (119899) sdot 119875suc sdot (IDTestbits + IDbits)

lt 119866 (119899) sdot 119871 (119899)

sdot [119875col sdot (log223922 sdot log2120582minus1

+ 05820) + 119875suc]

sdot IDTestbits + 119899 sdot IDbits

(26)

And the average amount of data sent by single tag is shown asfollows

Bits119879=BitsTA

119899lt

119866 (119899) 119871 (119899)

119899[119875col (log223922

sdot log2120582minus1

+ 05820) + 119875suc] IDTestbits + IDbits

(27)

Thus the final expression of Bits119879can be deduced form

expressions (21) and (27) which is expressed as an inequationwith a lower bound and an upper bound as follows

119866 (119899) sdot 119871 (119899)

119899sdot [(23922 sdot 119875col sdot log223922 + 119875suc)

sdot IDTestbits] + IDbits le Bits119879lt

119866 (119899) sdot 119871 (119899)

119899[119875col

sdot (log223922 sdot log

2120582minus1

+ 05820) + 119875suc]

sdot IDTestbits + IDbits

(28)

5 Simulation

Next we need to verify how close the mathematic formulaspresented in Section 4 match the reality As the key factorsinfluencing application for anticollision algorithms includethe system throughput and the communication complexitieswhich indicate how fast tags can be identified (especially

International Journal of Distributed Sensor Networks 9

important for mobile tags) and how low the energy isconsumed the comparisons for both of them between ouralgorithm and traditional ones should be made So we pro-gram onMatlab71 and the simulations include (1) comparingtheoretical values calculated by the mathematic formulasmentioned above with the simulative results acquired fromsimulations (2) comparing the complexity of T-GDFSA withthat of traditional algorithms including DFSA EDFSA BSQT and QTI and (3) comparing the system throughput of T-GDFSA when the length of tagrsquos ID varies in a large range orthe initial estimation of tag population becomes inaccurateSystem throughput denoted by 119878 is defined as the ratio ofthe number of tags to the sum of all time slots used in theread frames and all read cycles produced for querying thenodes of binary trees and can be obtained from the formula119878 = 119899119879cycle119879 where 119879cycle is the duration of one time slot aswell as the duration of one read cycle

Before simulation some parameters need to be set prop-erly The parameters are set as follows 119901

119904= 1119871 119871bits = 14

119866bits = 5 Levbits = 4 119877bits = 23 (119871bits + 119866bits + Levbits)IDTestbits = 8 IDReqbits = 8 QueryRepbits = 4 and 119871max =

256 Considering that the possibility that each tag falls in a slotis 1119871 when the frame size is 119871 we set 119901

119904to 1119871 119871bits set to 14

means themaximal time slots in a read frame can be 214119866bitsset to 5 indicates that the maximal grouping size is 25 Levbitsis set to 4 which refers to the fact that the maximal depth ofthe binary tree in recursive process is 24 Obviously 119877bits canbe set to 23 as a sum of 119871bits + 119866bits + Levbits IDTestbits andIDReqbits set to 8means the reader and tags use a 1-byte stringto achieve the strategy of slot test The value of QueryRepbitsis decided by the encoding method of commands and set to 4in our simulations which means each command sent by thereader is represented by a 4-bit binary string As 119871max themaximal frame size refers to the memory used in tags whichis usually very limited in reality it is just set to 256 in oursimulations which means 1-byte memory is required in tagsBesides the following parameters are tuned

(i) 119899 the number of tags to be identified It is increasedby 50 in each trial in the range [50 1000]

(ii) 119871 ini the initial estimated number of unidentified tagsThis value is used to set the initial read frame size It isset to 05119899 15119899 2119899 and 5119899 for inaccurate estimation

(iii) IDbits the length of tagrsquos ID It is assigned to the value48 64 96 128 sequentially

(iv) Running times the times each simulation runs It isset to be 100 times and the average result is taken foranalysis

In Figures 3ndash5 performance comparison of T-GDFSAbetween theoretical values and simulative results is shownIn Figure 3 the theoretical curve of 119878 appears as a zigzag linesurrounding the curve of simulative resultsThe points of thewave crest of the theoretical curve correspond to the increaseof grouping size which reduces tags per group drasticallyand deteriorates 119878 significantly because of more extra idleslots Figure 4 shows that the theoretical Bits

119877matches well

the simulative one In Figure 5 simulative values of Bits119877are

mostly 69 bits and the lower bound of theoretical values is

0 200 400 600 800 1000015

02

025

03

035

04

045

05

055

06

Simulative resultsTheoretical values

Figure 3 The comparison of 119878

0 200 400 600 800 10000

02

04

06

08

1

12

14

16

18

2

22

n

Simulative resultsTheoretical values

times104

BitsR

Figure 4 The comparison of Bits119877

near 58 bits with the length of tagrsquos ID set to 48 bits Noticethat the upper bound of theoretical values is very close tosimulative results when 120582 is set to 001

In Figure 6 compared with other traditional anticollisionalgorithms T-GDFSA has the highest 119878 about 041 when tagrsquosID is set to 48 bits long and uniformly distributed Figure 7shows that T-GDFSA has agreeable Bit

119877which is reduced by

at least half of that of tree-based algorithms and nearly equalto that of ALOHA-based algorithms In Figure 8 T-GDFSAhas the lowest Bits

119879whichmeans more power is saved in tags

compared with other traditional algorithmsFigure 9 shows the variation of 119878 with inaccurate initial

tag estimation When the estimated number is varying from05119899 to 15119899 119878 is still higher than 038 which indicates that

10 International Journal of Distributed Sensor Networks

0 200 400 600 800 10000

10

20

30

40

50

60

70

80

90

100

n

Simulative resultsLower bound

BitsT

Upper bound (P = 001)

Figure 5 The comparison of Bits119879 with IDbits = 48 and tagrsquos ID

uniformly distributed

0 200 400 600 800 1000

03

032

034

036

038

04

042

044

n

S

T-GDFSADFSAEDFSA

BSQTQTI

Figure 6 The comparison of 119878 with 119871 ini = 119899 and IDbits = 48

T-GDFSA has great tolerance for the inaccuracy of initial tagestimation We also notice that T-GDFSA performs better inunderestimation than overestimationThis is because smallerframe size in underestimation causes more tags to fall intocolliding time slots which can make full use of the advan-tages of T-GDFSA while in the case of overestimation theidentification process is more like an EDFSA identificationwithmore 1-tag time slots and idle time slots Figure 10 showsthat length variation of tagrsquos ID has little influence on 119878Whentag population exceeds 450 this effect can be approximatelyignored

0 200 400 600 800 10000

05

1

15

2

25

3

35

4

45

5

55

n

T-GDFSADFSAEDFSA

BSQTQTI

Bits R

times104

Figure 7 The comparison of Bits119877 with 119871 ini = 119899 and IDbits = 48

0 200 400 600 800 10000

20

40

60

80

100

120

140

160

n

T-GDFSADFSAEDFSA

BSQTQTI

BitsT

Figure 8 The comparison of Bits119879 with 119871 ini = 119899 and IDbits = 48

The simulations above reflect the following (1) Ourmathematic formulas of the main metrics match well thereality (2) Compared with traditional algorithms T-GDFSAachieves higher system throughput while maintaining lowercomputing complexities which is not available for traditionalalgorithms shown above This significant advantage makesour algorithm easier to be realized in end-user applications

6 Conclusion

In this paper we firstly make a summary of traditional RFIDanticollision algorithms and then propose a novel hybrid

International Journal of Distributed Sensor Networks 11

0 200 400 600 800 1000

03

032

034

036

038

04

042

044

n

S

L ini = 02n

L ini = 05n

L ini = n

L ini = 15n

L ini = 2n

Figure 9 119878 versus 119899 when IDbits = 48 with the inaccuracy of initialestimation of tag population

0 200 400 600 800 1000

03

032

034

036

038

04

042

044

n

S

IDbits = 48

IDbits = 64

IDbits = 96

IDbits = 128

Figure 10 119878 versus 119899 under the condition of 119871 ini = 119899 and the lengthvariation of tagrsquos ID

anticollision algorithm called T-GDFSA to improve theperformance of RFID tag identification T-GDFSA which isbased on grouped dynamic frame-slottedALOHAand binarytree recursive process has optimal group size and optimalread frame size and solves colliding time slots by introducingthe binary tree recursive process System model and mathe-matics formulas are present and theoretical values of metricsshow great agreement with the simulative results obtainedfrom simulations Compared with traditional ALOHA-basedand tree-based anticollision algorithms T-GDFSA exhibitsexcellent comprehensive performance with preferable system

throughput around 041 and lower communication complex-ity which is similar to EDFSA but at least half less than that oftree-based algorithms Furthermore T-GDFSA has tolerancefor the inaccuracy of initial tag estimation and the lengthvariation of tagrsquos ID

As we can see an accurate estimation of actual tagpopulation in T-GDFSA is very significant The estimationis used to set the optimal grouping size and frame sizewhich ensures the performance Meanwhile the computingcomplexity of estimation cannot be very high to ensure thereader to identify tags promptly However the estimationin T-GDFSA follows TEM (ie Vogtrsquos method) which maynot be optimal in both of time and accuracy so one ofthe possible directions of our next work is to find a wayto improve the estimation method for T-GDFSA to achievebetter performance of RFID tag identification

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

Acknowledgments

This work was sponsored by the National Natural ScienceFoundation of China (Grant nos 61102034 61172156 and61071038) the Doctoral Fund of Guangdong University ofTechnology (Grant no 113002) and Shenzhen ApplicationFoundation key project (Grant no JCYJ20130401095559824)

References

[1] S S Kim YH Kim andK S Ahn ldquoAn enhanced slotted binarytree algorithm with intelligent separation in RFID Systemsrdquoin Proceedings of the IEEE Symposium on Computers andCommunications (ISCC rsquo09) pp 237ndash242 Sousse Tunisia July2009

[2] X Luo Z Xu J Yu and X Chen ldquoBuilding association linknetwork for semantic link on web resourcesrdquo IEEE Transactionson Automation Science and Engineering vol 8 no 3 pp 482ndash494 2011

[3] JM ZhaoWT Li andD-A Li ldquoIdentifying themissing tags incategorized RFID systemsrdquo International Journal of DistributedSensor Networks vol 2014 Article ID 582951 12 pages 2014

[4] G Bagnato G Maselli C Petrioli and C Vicari ldquoPerformanceanalysis of anti-collision protocols for RFID systemsrdquo in Pro-ceedings of the 69th Vehicular Technology Conference (VTC rsquo09)pp 1ndash5 IEEE Barcelona Spain April 2009

[5] W Zhang Y-J Guo X-M Tang G-H Cui L-K Wu andY Mei ldquoAn efficient adaptive anticollision algorithm based on4-ary pruning query treerdquo International Journal of DistributedSensor Networks vol 2013 Article ID 848746 7 pages 2013

[6] X-Q Yan Y Liu B Li and X-M Liu ldquoNumeric evaluation onthe system efficiency of the EPC Gen-2 UHF RFID tag collisionresolution protocol in error prone air interfacerdquo InternationalJournal of Distributed Sensor Networks vol 2014 Article ID716232 9 pages 2014

[7] V Namboodiri M Desilva K Deegala and S RamamoorthyldquoAn extensive study of slotted Aloha-based RFID anti-collision

12 International Journal of Distributed Sensor Networks

protocolsrdquo Computer Communications vol 35 no 16 pp 1955ndash1966 2012

[8] C S Keat and L N Shyan ldquoDynamic framed slotted ALOHAalgorithm for RFID systems with enhanced tag estimationtechniquerdquo in Proceedings of the IEEE International Conferenceon RFID-Technologies and Applications (RFID-TA rsquo13) pp 1ndash4Johor Bahru Malaysia September 2013

[9] J R Cha and J H Kim ldquoDynamic framed slotted ALOHAalgorithms using fast tag estimation method for RFID systemrdquoin Proceedings of the 3rd IEEE Consumer Communications andNetworking Conference (CCNC rsquo06) pp 768ndash772 Las VegasNev USA 2006

[10] S-R Lee S-D Joo and C-W Lee ldquoAn enhanced dynamicframed slotted ALOHA algorithm for RFID tag identificationrdquoin Proceedings of the 2nd International Conference onMobile andUbiquitous Systems Networking and Services (MobiQuitous rsquo05)pp 166ndash172 San Diego Calif USA July 2005

[11] D R Hush and C Wood ldquoAnalysis of tree algorithms for RFIDarbitrationrdquo in Proceedings of the IEEE International Symposiumon InformationTheory (ISIT rsquo98) pp 107ndash114 IEEE CambridgeMass USA August 1998

[12] C Law K Lee andK-Y Siu ldquoEfficientmemoryless protocol fortag identificationrdquo in Proceedings of the 4th International Work-shop on Discrete Algorithms and Methods for Mobile Computingand Communications (DIALM rsquo00) pp 75ndash84 Boston MassUSA August 2000

[13] J Myung W Lee J Srivastava and T K Shih ldquoTag-splittingadaptive collision arbitration protocols for RFID tag identifica-tionrdquo IEEETransactions on Parallel andDistributed Systems vol18 no 6 pp 763ndash775 2007

[14] H Vogt ldquoMultiple object identification with passive RFID tagsrdquoin Proceedings of the IEEE International Conference on SystemsMan and Cybernetics (SMC rsquo02) pp 6ndash9 Hammamet Tunisia2002

[15] M A Bonuccelli F Lonetti and F Martelli ldquoInstant collisionresolution for tag identification in RFID networksrdquo Ad HocNetworks vol 5 no 8 pp 1220ndash1232 2007

[16] Y Langsam M J Augenstein and A M Tenenbaum DataStructure Using C and C++ (2nd Edition) Prentice Hall Engle-wood Cliffs NJ USA 2nd edition 1995

International Journal of

AerospaceEngineeringHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal ofEngineeringVolume 2014

Submit your manuscripts athttpwwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 9: Research Article A Novel Hybrid Anticollision Algorithm ...downloads.hindawi.com/journals/ijdsn/2015/641327.pdf · A Novel Hybrid Anticollision Algorithm for RFID System Based on

International Journal of Distributed Sensor Networks 9

important for mobile tags) and how low the energy isconsumed the comparisons for both of them between ouralgorithm and traditional ones should be made So we pro-gram onMatlab71 and the simulations include (1) comparingtheoretical values calculated by the mathematic formulasmentioned above with the simulative results acquired fromsimulations (2) comparing the complexity of T-GDFSA withthat of traditional algorithms including DFSA EDFSA BSQT and QTI and (3) comparing the system throughput of T-GDFSA when the length of tagrsquos ID varies in a large range orthe initial estimation of tag population becomes inaccurateSystem throughput denoted by 119878 is defined as the ratio ofthe number of tags to the sum of all time slots used in theread frames and all read cycles produced for querying thenodes of binary trees and can be obtained from the formula119878 = 119899119879cycle119879 where 119879cycle is the duration of one time slot aswell as the duration of one read cycle

Before simulation some parameters need to be set prop-erly The parameters are set as follows 119901

119904= 1119871 119871bits = 14

119866bits = 5 Levbits = 4 119877bits = 23 (119871bits + 119866bits + Levbits)IDTestbits = 8 IDReqbits = 8 QueryRepbits = 4 and 119871max =

256 Considering that the possibility that each tag falls in a slotis 1119871 when the frame size is 119871 we set 119901

119904to 1119871 119871bits set to 14

means themaximal time slots in a read frame can be 214119866bitsset to 5 indicates that the maximal grouping size is 25 Levbitsis set to 4 which refers to the fact that the maximal depth ofthe binary tree in recursive process is 24 Obviously 119877bits canbe set to 23 as a sum of 119871bits + 119866bits + Levbits IDTestbits andIDReqbits set to 8means the reader and tags use a 1-byte stringto achieve the strategy of slot test The value of QueryRepbitsis decided by the encoding method of commands and set to 4in our simulations which means each command sent by thereader is represented by a 4-bit binary string As 119871max themaximal frame size refers to the memory used in tags whichis usually very limited in reality it is just set to 256 in oursimulations which means 1-byte memory is required in tagsBesides the following parameters are tuned

(i) 119899 the number of tags to be identified It is increasedby 50 in each trial in the range [50 1000]

(ii) 119871 ini the initial estimated number of unidentified tagsThis value is used to set the initial read frame size It isset to 05119899 15119899 2119899 and 5119899 for inaccurate estimation

(iii) IDbits the length of tagrsquos ID It is assigned to the value48 64 96 128 sequentially

(iv) Running times the times each simulation runs It isset to be 100 times and the average result is taken foranalysis

In Figures 3ndash5 performance comparison of T-GDFSAbetween theoretical values and simulative results is shownIn Figure 3 the theoretical curve of 119878 appears as a zigzag linesurrounding the curve of simulative resultsThe points of thewave crest of the theoretical curve correspond to the increaseof grouping size which reduces tags per group drasticallyand deteriorates 119878 significantly because of more extra idleslots Figure 4 shows that the theoretical Bits

119877matches well

the simulative one In Figure 5 simulative values of Bits119877are

mostly 69 bits and the lower bound of theoretical values is

0 200 400 600 800 1000015

02

025

03

035

04

045

05

055

06

Simulative resultsTheoretical values

Figure 3 The comparison of 119878

0 200 400 600 800 10000

02

04

06

08

1

12

14

16

18

2

22

n

Simulative resultsTheoretical values

times104

BitsR

Figure 4 The comparison of Bits119877

near 58 bits with the length of tagrsquos ID set to 48 bits Noticethat the upper bound of theoretical values is very close tosimulative results when 120582 is set to 001

In Figure 6 compared with other traditional anticollisionalgorithms T-GDFSA has the highest 119878 about 041 when tagrsquosID is set to 48 bits long and uniformly distributed Figure 7shows that T-GDFSA has agreeable Bit

119877which is reduced by

at least half of that of tree-based algorithms and nearly equalto that of ALOHA-based algorithms In Figure 8 T-GDFSAhas the lowest Bits

119879whichmeans more power is saved in tags

compared with other traditional algorithmsFigure 9 shows the variation of 119878 with inaccurate initial

tag estimation When the estimated number is varying from05119899 to 15119899 119878 is still higher than 038 which indicates that

10 International Journal of Distributed Sensor Networks

0 200 400 600 800 10000

10

20

30

40

50

60

70

80

90

100

n

Simulative resultsLower bound

BitsT

Upper bound (P = 001)

Figure 5 The comparison of Bits119879 with IDbits = 48 and tagrsquos ID

uniformly distributed

0 200 400 600 800 1000

03

032

034

036

038

04

042

044

n

S

T-GDFSADFSAEDFSA

BSQTQTI

Figure 6 The comparison of 119878 with 119871 ini = 119899 and IDbits = 48

T-GDFSA has great tolerance for the inaccuracy of initial tagestimation We also notice that T-GDFSA performs better inunderestimation than overestimationThis is because smallerframe size in underestimation causes more tags to fall intocolliding time slots which can make full use of the advan-tages of T-GDFSA while in the case of overestimation theidentification process is more like an EDFSA identificationwithmore 1-tag time slots and idle time slots Figure 10 showsthat length variation of tagrsquos ID has little influence on 119878Whentag population exceeds 450 this effect can be approximatelyignored

0 200 400 600 800 10000

05

1

15

2

25

3

35

4

45

5

55

n

T-GDFSADFSAEDFSA

BSQTQTI

Bits R

times104

Figure 7 The comparison of Bits119877 with 119871 ini = 119899 and IDbits = 48

0 200 400 600 800 10000

20

40

60

80

100

120

140

160

n

T-GDFSADFSAEDFSA

BSQTQTI

BitsT

Figure 8 The comparison of Bits119879 with 119871 ini = 119899 and IDbits = 48

The simulations above reflect the following (1) Ourmathematic formulas of the main metrics match well thereality (2) Compared with traditional algorithms T-GDFSAachieves higher system throughput while maintaining lowercomputing complexities which is not available for traditionalalgorithms shown above This significant advantage makesour algorithm easier to be realized in end-user applications

6 Conclusion

In this paper we firstly make a summary of traditional RFIDanticollision algorithms and then propose a novel hybrid

International Journal of Distributed Sensor Networks 11

0 200 400 600 800 1000

03

032

034

036

038

04

042

044

n

S

L ini = 02n

L ini = 05n

L ini = n

L ini = 15n

L ini = 2n

Figure 9 119878 versus 119899 when IDbits = 48 with the inaccuracy of initialestimation of tag population

0 200 400 600 800 1000

03

032

034

036

038

04

042

044

n

S

IDbits = 48

IDbits = 64

IDbits = 96

IDbits = 128

Figure 10 119878 versus 119899 under the condition of 119871 ini = 119899 and the lengthvariation of tagrsquos ID

anticollision algorithm called T-GDFSA to improve theperformance of RFID tag identification T-GDFSA which isbased on grouped dynamic frame-slottedALOHAand binarytree recursive process has optimal group size and optimalread frame size and solves colliding time slots by introducingthe binary tree recursive process System model and mathe-matics formulas are present and theoretical values of metricsshow great agreement with the simulative results obtainedfrom simulations Compared with traditional ALOHA-basedand tree-based anticollision algorithms T-GDFSA exhibitsexcellent comprehensive performance with preferable system

throughput around 041 and lower communication complex-ity which is similar to EDFSA but at least half less than that oftree-based algorithms Furthermore T-GDFSA has tolerancefor the inaccuracy of initial tag estimation and the lengthvariation of tagrsquos ID

As we can see an accurate estimation of actual tagpopulation in T-GDFSA is very significant The estimationis used to set the optimal grouping size and frame sizewhich ensures the performance Meanwhile the computingcomplexity of estimation cannot be very high to ensure thereader to identify tags promptly However the estimationin T-GDFSA follows TEM (ie Vogtrsquos method) which maynot be optimal in both of time and accuracy so one ofthe possible directions of our next work is to find a wayto improve the estimation method for T-GDFSA to achievebetter performance of RFID tag identification

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

Acknowledgments

This work was sponsored by the National Natural ScienceFoundation of China (Grant nos 61102034 61172156 and61071038) the Doctoral Fund of Guangdong University ofTechnology (Grant no 113002) and Shenzhen ApplicationFoundation key project (Grant no JCYJ20130401095559824)

References

[1] S S Kim YH Kim andK S Ahn ldquoAn enhanced slotted binarytree algorithm with intelligent separation in RFID Systemsrdquoin Proceedings of the IEEE Symposium on Computers andCommunications (ISCC rsquo09) pp 237ndash242 Sousse Tunisia July2009

[2] X Luo Z Xu J Yu and X Chen ldquoBuilding association linknetwork for semantic link on web resourcesrdquo IEEE Transactionson Automation Science and Engineering vol 8 no 3 pp 482ndash494 2011

[3] JM ZhaoWT Li andD-A Li ldquoIdentifying themissing tags incategorized RFID systemsrdquo International Journal of DistributedSensor Networks vol 2014 Article ID 582951 12 pages 2014

[4] G Bagnato G Maselli C Petrioli and C Vicari ldquoPerformanceanalysis of anti-collision protocols for RFID systemsrdquo in Pro-ceedings of the 69th Vehicular Technology Conference (VTC rsquo09)pp 1ndash5 IEEE Barcelona Spain April 2009

[5] W Zhang Y-J Guo X-M Tang G-H Cui L-K Wu andY Mei ldquoAn efficient adaptive anticollision algorithm based on4-ary pruning query treerdquo International Journal of DistributedSensor Networks vol 2013 Article ID 848746 7 pages 2013

[6] X-Q Yan Y Liu B Li and X-M Liu ldquoNumeric evaluation onthe system efficiency of the EPC Gen-2 UHF RFID tag collisionresolution protocol in error prone air interfacerdquo InternationalJournal of Distributed Sensor Networks vol 2014 Article ID716232 9 pages 2014

[7] V Namboodiri M Desilva K Deegala and S RamamoorthyldquoAn extensive study of slotted Aloha-based RFID anti-collision

12 International Journal of Distributed Sensor Networks

protocolsrdquo Computer Communications vol 35 no 16 pp 1955ndash1966 2012

[8] C S Keat and L N Shyan ldquoDynamic framed slotted ALOHAalgorithm for RFID systems with enhanced tag estimationtechniquerdquo in Proceedings of the IEEE International Conferenceon RFID-Technologies and Applications (RFID-TA rsquo13) pp 1ndash4Johor Bahru Malaysia September 2013

[9] J R Cha and J H Kim ldquoDynamic framed slotted ALOHAalgorithms using fast tag estimation method for RFID systemrdquoin Proceedings of the 3rd IEEE Consumer Communications andNetworking Conference (CCNC rsquo06) pp 768ndash772 Las VegasNev USA 2006

[10] S-R Lee S-D Joo and C-W Lee ldquoAn enhanced dynamicframed slotted ALOHA algorithm for RFID tag identificationrdquoin Proceedings of the 2nd International Conference onMobile andUbiquitous Systems Networking and Services (MobiQuitous rsquo05)pp 166ndash172 San Diego Calif USA July 2005

[11] D R Hush and C Wood ldquoAnalysis of tree algorithms for RFIDarbitrationrdquo in Proceedings of the IEEE International Symposiumon InformationTheory (ISIT rsquo98) pp 107ndash114 IEEE CambridgeMass USA August 1998

[12] C Law K Lee andK-Y Siu ldquoEfficientmemoryless protocol fortag identificationrdquo in Proceedings of the 4th International Work-shop on Discrete Algorithms and Methods for Mobile Computingand Communications (DIALM rsquo00) pp 75ndash84 Boston MassUSA August 2000

[13] J Myung W Lee J Srivastava and T K Shih ldquoTag-splittingadaptive collision arbitration protocols for RFID tag identifica-tionrdquo IEEETransactions on Parallel andDistributed Systems vol18 no 6 pp 763ndash775 2007

[14] H Vogt ldquoMultiple object identification with passive RFID tagsrdquoin Proceedings of the IEEE International Conference on SystemsMan and Cybernetics (SMC rsquo02) pp 6ndash9 Hammamet Tunisia2002

[15] M A Bonuccelli F Lonetti and F Martelli ldquoInstant collisionresolution for tag identification in RFID networksrdquo Ad HocNetworks vol 5 no 8 pp 1220ndash1232 2007

[16] Y Langsam M J Augenstein and A M Tenenbaum DataStructure Using C and C++ (2nd Edition) Prentice Hall Engle-wood Cliffs NJ USA 2nd edition 1995

International Journal of

AerospaceEngineeringHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal ofEngineeringVolume 2014

Submit your manuscripts athttpwwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 10: Research Article A Novel Hybrid Anticollision Algorithm ...downloads.hindawi.com/journals/ijdsn/2015/641327.pdf · A Novel Hybrid Anticollision Algorithm for RFID System Based on

10 International Journal of Distributed Sensor Networks

0 200 400 600 800 10000

10

20

30

40

50

60

70

80

90

100

n

Simulative resultsLower bound

BitsT

Upper bound (P = 001)

Figure 5 The comparison of Bits119879 with IDbits = 48 and tagrsquos ID

uniformly distributed

0 200 400 600 800 1000

03

032

034

036

038

04

042

044

n

S

T-GDFSADFSAEDFSA

BSQTQTI

Figure 6 The comparison of 119878 with 119871 ini = 119899 and IDbits = 48

T-GDFSA has great tolerance for the inaccuracy of initial tagestimation We also notice that T-GDFSA performs better inunderestimation than overestimationThis is because smallerframe size in underestimation causes more tags to fall intocolliding time slots which can make full use of the advan-tages of T-GDFSA while in the case of overestimation theidentification process is more like an EDFSA identificationwithmore 1-tag time slots and idle time slots Figure 10 showsthat length variation of tagrsquos ID has little influence on 119878Whentag population exceeds 450 this effect can be approximatelyignored

0 200 400 600 800 10000

05

1

15

2

25

3

35

4

45

5

55

n

T-GDFSADFSAEDFSA

BSQTQTI

Bits R

times104

Figure 7 The comparison of Bits119877 with 119871 ini = 119899 and IDbits = 48

0 200 400 600 800 10000

20

40

60

80

100

120

140

160

n

T-GDFSADFSAEDFSA

BSQTQTI

BitsT

Figure 8 The comparison of Bits119879 with 119871 ini = 119899 and IDbits = 48

The simulations above reflect the following (1) Ourmathematic formulas of the main metrics match well thereality (2) Compared with traditional algorithms T-GDFSAachieves higher system throughput while maintaining lowercomputing complexities which is not available for traditionalalgorithms shown above This significant advantage makesour algorithm easier to be realized in end-user applications

6 Conclusion

In this paper we firstly make a summary of traditional RFIDanticollision algorithms and then propose a novel hybrid

International Journal of Distributed Sensor Networks 11

0 200 400 600 800 1000

03

032

034

036

038

04

042

044

n

S

L ini = 02n

L ini = 05n

L ini = n

L ini = 15n

L ini = 2n

Figure 9 119878 versus 119899 when IDbits = 48 with the inaccuracy of initialestimation of tag population

0 200 400 600 800 1000

03

032

034

036

038

04

042

044

n

S

IDbits = 48

IDbits = 64

IDbits = 96

IDbits = 128

Figure 10 119878 versus 119899 under the condition of 119871 ini = 119899 and the lengthvariation of tagrsquos ID

anticollision algorithm called T-GDFSA to improve theperformance of RFID tag identification T-GDFSA which isbased on grouped dynamic frame-slottedALOHAand binarytree recursive process has optimal group size and optimalread frame size and solves colliding time slots by introducingthe binary tree recursive process System model and mathe-matics formulas are present and theoretical values of metricsshow great agreement with the simulative results obtainedfrom simulations Compared with traditional ALOHA-basedand tree-based anticollision algorithms T-GDFSA exhibitsexcellent comprehensive performance with preferable system

throughput around 041 and lower communication complex-ity which is similar to EDFSA but at least half less than that oftree-based algorithms Furthermore T-GDFSA has tolerancefor the inaccuracy of initial tag estimation and the lengthvariation of tagrsquos ID

As we can see an accurate estimation of actual tagpopulation in T-GDFSA is very significant The estimationis used to set the optimal grouping size and frame sizewhich ensures the performance Meanwhile the computingcomplexity of estimation cannot be very high to ensure thereader to identify tags promptly However the estimationin T-GDFSA follows TEM (ie Vogtrsquos method) which maynot be optimal in both of time and accuracy so one ofthe possible directions of our next work is to find a wayto improve the estimation method for T-GDFSA to achievebetter performance of RFID tag identification

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

Acknowledgments

This work was sponsored by the National Natural ScienceFoundation of China (Grant nos 61102034 61172156 and61071038) the Doctoral Fund of Guangdong University ofTechnology (Grant no 113002) and Shenzhen ApplicationFoundation key project (Grant no JCYJ20130401095559824)

References

[1] S S Kim YH Kim andK S Ahn ldquoAn enhanced slotted binarytree algorithm with intelligent separation in RFID Systemsrdquoin Proceedings of the IEEE Symposium on Computers andCommunications (ISCC rsquo09) pp 237ndash242 Sousse Tunisia July2009

[2] X Luo Z Xu J Yu and X Chen ldquoBuilding association linknetwork for semantic link on web resourcesrdquo IEEE Transactionson Automation Science and Engineering vol 8 no 3 pp 482ndash494 2011

[3] JM ZhaoWT Li andD-A Li ldquoIdentifying themissing tags incategorized RFID systemsrdquo International Journal of DistributedSensor Networks vol 2014 Article ID 582951 12 pages 2014

[4] G Bagnato G Maselli C Petrioli and C Vicari ldquoPerformanceanalysis of anti-collision protocols for RFID systemsrdquo in Pro-ceedings of the 69th Vehicular Technology Conference (VTC rsquo09)pp 1ndash5 IEEE Barcelona Spain April 2009

[5] W Zhang Y-J Guo X-M Tang G-H Cui L-K Wu andY Mei ldquoAn efficient adaptive anticollision algorithm based on4-ary pruning query treerdquo International Journal of DistributedSensor Networks vol 2013 Article ID 848746 7 pages 2013

[6] X-Q Yan Y Liu B Li and X-M Liu ldquoNumeric evaluation onthe system efficiency of the EPC Gen-2 UHF RFID tag collisionresolution protocol in error prone air interfacerdquo InternationalJournal of Distributed Sensor Networks vol 2014 Article ID716232 9 pages 2014

[7] V Namboodiri M Desilva K Deegala and S RamamoorthyldquoAn extensive study of slotted Aloha-based RFID anti-collision

12 International Journal of Distributed Sensor Networks

protocolsrdquo Computer Communications vol 35 no 16 pp 1955ndash1966 2012

[8] C S Keat and L N Shyan ldquoDynamic framed slotted ALOHAalgorithm for RFID systems with enhanced tag estimationtechniquerdquo in Proceedings of the IEEE International Conferenceon RFID-Technologies and Applications (RFID-TA rsquo13) pp 1ndash4Johor Bahru Malaysia September 2013

[9] J R Cha and J H Kim ldquoDynamic framed slotted ALOHAalgorithms using fast tag estimation method for RFID systemrdquoin Proceedings of the 3rd IEEE Consumer Communications andNetworking Conference (CCNC rsquo06) pp 768ndash772 Las VegasNev USA 2006

[10] S-R Lee S-D Joo and C-W Lee ldquoAn enhanced dynamicframed slotted ALOHA algorithm for RFID tag identificationrdquoin Proceedings of the 2nd International Conference onMobile andUbiquitous Systems Networking and Services (MobiQuitous rsquo05)pp 166ndash172 San Diego Calif USA July 2005

[11] D R Hush and C Wood ldquoAnalysis of tree algorithms for RFIDarbitrationrdquo in Proceedings of the IEEE International Symposiumon InformationTheory (ISIT rsquo98) pp 107ndash114 IEEE CambridgeMass USA August 1998

[12] C Law K Lee andK-Y Siu ldquoEfficientmemoryless protocol fortag identificationrdquo in Proceedings of the 4th International Work-shop on Discrete Algorithms and Methods for Mobile Computingand Communications (DIALM rsquo00) pp 75ndash84 Boston MassUSA August 2000

[13] J Myung W Lee J Srivastava and T K Shih ldquoTag-splittingadaptive collision arbitration protocols for RFID tag identifica-tionrdquo IEEETransactions on Parallel andDistributed Systems vol18 no 6 pp 763ndash775 2007

[14] H Vogt ldquoMultiple object identification with passive RFID tagsrdquoin Proceedings of the IEEE International Conference on SystemsMan and Cybernetics (SMC rsquo02) pp 6ndash9 Hammamet Tunisia2002

[15] M A Bonuccelli F Lonetti and F Martelli ldquoInstant collisionresolution for tag identification in RFID networksrdquo Ad HocNetworks vol 5 no 8 pp 1220ndash1232 2007

[16] Y Langsam M J Augenstein and A M Tenenbaum DataStructure Using C and C++ (2nd Edition) Prentice Hall Engle-wood Cliffs NJ USA 2nd edition 1995

International Journal of

AerospaceEngineeringHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal ofEngineeringVolume 2014

Submit your manuscripts athttpwwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 11: Research Article A Novel Hybrid Anticollision Algorithm ...downloads.hindawi.com/journals/ijdsn/2015/641327.pdf · A Novel Hybrid Anticollision Algorithm for RFID System Based on

International Journal of Distributed Sensor Networks 11

0 200 400 600 800 1000

03

032

034

036

038

04

042

044

n

S

L ini = 02n

L ini = 05n

L ini = n

L ini = 15n

L ini = 2n

Figure 9 119878 versus 119899 when IDbits = 48 with the inaccuracy of initialestimation of tag population

0 200 400 600 800 1000

03

032

034

036

038

04

042

044

n

S

IDbits = 48

IDbits = 64

IDbits = 96

IDbits = 128

Figure 10 119878 versus 119899 under the condition of 119871 ini = 119899 and the lengthvariation of tagrsquos ID

anticollision algorithm called T-GDFSA to improve theperformance of RFID tag identification T-GDFSA which isbased on grouped dynamic frame-slottedALOHAand binarytree recursive process has optimal group size and optimalread frame size and solves colliding time slots by introducingthe binary tree recursive process System model and mathe-matics formulas are present and theoretical values of metricsshow great agreement with the simulative results obtainedfrom simulations Compared with traditional ALOHA-basedand tree-based anticollision algorithms T-GDFSA exhibitsexcellent comprehensive performance with preferable system

throughput around 041 and lower communication complex-ity which is similar to EDFSA but at least half less than that oftree-based algorithms Furthermore T-GDFSA has tolerancefor the inaccuracy of initial tag estimation and the lengthvariation of tagrsquos ID

As we can see an accurate estimation of actual tagpopulation in T-GDFSA is very significant The estimationis used to set the optimal grouping size and frame sizewhich ensures the performance Meanwhile the computingcomplexity of estimation cannot be very high to ensure thereader to identify tags promptly However the estimationin T-GDFSA follows TEM (ie Vogtrsquos method) which maynot be optimal in both of time and accuracy so one ofthe possible directions of our next work is to find a wayto improve the estimation method for T-GDFSA to achievebetter performance of RFID tag identification

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

Acknowledgments

This work was sponsored by the National Natural ScienceFoundation of China (Grant nos 61102034 61172156 and61071038) the Doctoral Fund of Guangdong University ofTechnology (Grant no 113002) and Shenzhen ApplicationFoundation key project (Grant no JCYJ20130401095559824)

References

[1] S S Kim YH Kim andK S Ahn ldquoAn enhanced slotted binarytree algorithm with intelligent separation in RFID Systemsrdquoin Proceedings of the IEEE Symposium on Computers andCommunications (ISCC rsquo09) pp 237ndash242 Sousse Tunisia July2009

[2] X Luo Z Xu J Yu and X Chen ldquoBuilding association linknetwork for semantic link on web resourcesrdquo IEEE Transactionson Automation Science and Engineering vol 8 no 3 pp 482ndash494 2011

[3] JM ZhaoWT Li andD-A Li ldquoIdentifying themissing tags incategorized RFID systemsrdquo International Journal of DistributedSensor Networks vol 2014 Article ID 582951 12 pages 2014

[4] G Bagnato G Maselli C Petrioli and C Vicari ldquoPerformanceanalysis of anti-collision protocols for RFID systemsrdquo in Pro-ceedings of the 69th Vehicular Technology Conference (VTC rsquo09)pp 1ndash5 IEEE Barcelona Spain April 2009

[5] W Zhang Y-J Guo X-M Tang G-H Cui L-K Wu andY Mei ldquoAn efficient adaptive anticollision algorithm based on4-ary pruning query treerdquo International Journal of DistributedSensor Networks vol 2013 Article ID 848746 7 pages 2013

[6] X-Q Yan Y Liu B Li and X-M Liu ldquoNumeric evaluation onthe system efficiency of the EPC Gen-2 UHF RFID tag collisionresolution protocol in error prone air interfacerdquo InternationalJournal of Distributed Sensor Networks vol 2014 Article ID716232 9 pages 2014

[7] V Namboodiri M Desilva K Deegala and S RamamoorthyldquoAn extensive study of slotted Aloha-based RFID anti-collision

12 International Journal of Distributed Sensor Networks

protocolsrdquo Computer Communications vol 35 no 16 pp 1955ndash1966 2012

[8] C S Keat and L N Shyan ldquoDynamic framed slotted ALOHAalgorithm for RFID systems with enhanced tag estimationtechniquerdquo in Proceedings of the IEEE International Conferenceon RFID-Technologies and Applications (RFID-TA rsquo13) pp 1ndash4Johor Bahru Malaysia September 2013

[9] J R Cha and J H Kim ldquoDynamic framed slotted ALOHAalgorithms using fast tag estimation method for RFID systemrdquoin Proceedings of the 3rd IEEE Consumer Communications andNetworking Conference (CCNC rsquo06) pp 768ndash772 Las VegasNev USA 2006

[10] S-R Lee S-D Joo and C-W Lee ldquoAn enhanced dynamicframed slotted ALOHA algorithm for RFID tag identificationrdquoin Proceedings of the 2nd International Conference onMobile andUbiquitous Systems Networking and Services (MobiQuitous rsquo05)pp 166ndash172 San Diego Calif USA July 2005

[11] D R Hush and C Wood ldquoAnalysis of tree algorithms for RFIDarbitrationrdquo in Proceedings of the IEEE International Symposiumon InformationTheory (ISIT rsquo98) pp 107ndash114 IEEE CambridgeMass USA August 1998

[12] C Law K Lee andK-Y Siu ldquoEfficientmemoryless protocol fortag identificationrdquo in Proceedings of the 4th International Work-shop on Discrete Algorithms and Methods for Mobile Computingand Communications (DIALM rsquo00) pp 75ndash84 Boston MassUSA August 2000

[13] J Myung W Lee J Srivastava and T K Shih ldquoTag-splittingadaptive collision arbitration protocols for RFID tag identifica-tionrdquo IEEETransactions on Parallel andDistributed Systems vol18 no 6 pp 763ndash775 2007

[14] H Vogt ldquoMultiple object identification with passive RFID tagsrdquoin Proceedings of the IEEE International Conference on SystemsMan and Cybernetics (SMC rsquo02) pp 6ndash9 Hammamet Tunisia2002

[15] M A Bonuccelli F Lonetti and F Martelli ldquoInstant collisionresolution for tag identification in RFID networksrdquo Ad HocNetworks vol 5 no 8 pp 1220ndash1232 2007

[16] Y Langsam M J Augenstein and A M Tenenbaum DataStructure Using C and C++ (2nd Edition) Prentice Hall Engle-wood Cliffs NJ USA 2nd edition 1995

International Journal of

AerospaceEngineeringHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal ofEngineeringVolume 2014

Submit your manuscripts athttpwwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 12: Research Article A Novel Hybrid Anticollision Algorithm ...downloads.hindawi.com/journals/ijdsn/2015/641327.pdf · A Novel Hybrid Anticollision Algorithm for RFID System Based on

12 International Journal of Distributed Sensor Networks

protocolsrdquo Computer Communications vol 35 no 16 pp 1955ndash1966 2012

[8] C S Keat and L N Shyan ldquoDynamic framed slotted ALOHAalgorithm for RFID systems with enhanced tag estimationtechniquerdquo in Proceedings of the IEEE International Conferenceon RFID-Technologies and Applications (RFID-TA rsquo13) pp 1ndash4Johor Bahru Malaysia September 2013

[9] J R Cha and J H Kim ldquoDynamic framed slotted ALOHAalgorithms using fast tag estimation method for RFID systemrdquoin Proceedings of the 3rd IEEE Consumer Communications andNetworking Conference (CCNC rsquo06) pp 768ndash772 Las VegasNev USA 2006

[10] S-R Lee S-D Joo and C-W Lee ldquoAn enhanced dynamicframed slotted ALOHA algorithm for RFID tag identificationrdquoin Proceedings of the 2nd International Conference onMobile andUbiquitous Systems Networking and Services (MobiQuitous rsquo05)pp 166ndash172 San Diego Calif USA July 2005

[11] D R Hush and C Wood ldquoAnalysis of tree algorithms for RFIDarbitrationrdquo in Proceedings of the IEEE International Symposiumon InformationTheory (ISIT rsquo98) pp 107ndash114 IEEE CambridgeMass USA August 1998

[12] C Law K Lee andK-Y Siu ldquoEfficientmemoryless protocol fortag identificationrdquo in Proceedings of the 4th International Work-shop on Discrete Algorithms and Methods for Mobile Computingand Communications (DIALM rsquo00) pp 75ndash84 Boston MassUSA August 2000

[13] J Myung W Lee J Srivastava and T K Shih ldquoTag-splittingadaptive collision arbitration protocols for RFID tag identifica-tionrdquo IEEETransactions on Parallel andDistributed Systems vol18 no 6 pp 763ndash775 2007

[14] H Vogt ldquoMultiple object identification with passive RFID tagsrdquoin Proceedings of the IEEE International Conference on SystemsMan and Cybernetics (SMC rsquo02) pp 6ndash9 Hammamet Tunisia2002

[15] M A Bonuccelli F Lonetti and F Martelli ldquoInstant collisionresolution for tag identification in RFID networksrdquo Ad HocNetworks vol 5 no 8 pp 1220ndash1232 2007

[16] Y Langsam M J Augenstein and A M Tenenbaum DataStructure Using C and C++ (2nd Edition) Prentice Hall Engle-wood Cliffs NJ USA 2nd edition 1995

International Journal of

AerospaceEngineeringHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal ofEngineeringVolume 2014

Submit your manuscripts athttpwwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 13: Research Article A Novel Hybrid Anticollision Algorithm ...downloads.hindawi.com/journals/ijdsn/2015/641327.pdf · A Novel Hybrid Anticollision Algorithm for RFID System Based on

International Journal of

AerospaceEngineeringHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal ofEngineeringVolume 2014

Submit your manuscripts athttpwwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of