Tag anti-collision method, reader apparatus and system for RFID systems with multi-packet reception capability
09773132 · 2017-09-26
Assignee
Inventors
- Tae Jin Lee (Suwon-si, KR)
- Yun Min Kim (Suwon-si, KR)
- Ji Hyoung Ahn (Uiwang-si, KR)
- Se Houn Lee (Uiwang-si, KR)
Cpc classification
G06K7/10029
PHYSICS
G06K7/10069
PHYSICS
G06K7/0095
PHYSICS
G06K7/0008
PHYSICS
International classification
Abstract
Provided is a method of preventing collision between a plurality of RFID tags by an RFID reader. An anti-collision method by a tag reader apparatus in an RFID system including a plurality of RFID tags, includes changing a length of a collision recovery slot in the collision recovery slot which successfully identifies a plurality of tags even though at least two tags simultaneously replied in one slot to cause collision so that data transmission of at least one identified tag is achieved.
Claims
1. An anti-collision method by a tag reader apparatus in an RFID system including a plurality of RFID tags, the method comprising: changing a length of a collision recovery slot in the collision recovery slot which successfully identifies a plurality of tags even though at least two tags simultaneously replied in one slot to cause collision so that data transmission of at least one identified tag is achieved.
2. The anti-collision method of claim 1, wherein the changing of the length of a collision recovery slot comprises sequentially transmitting a plurality of ACK commands to the at least one identified tag so that the data transmission of at least one identified tag is sequentially achieved in the collision recovery slot.
3. The anti-collision method of claim 1, wherein a success slot to succeed data transmission of the tag, an idle slot where no tags reply, a collision slot where identification fails due to collision, and a collision recovery slot to succeed tag identification even though at least two tags simultaneously replied have different lengths.
4. The anti-collision method of claim 3, wherein the length of the collision recovery slot is greater than the length of other slots.
5. The anti-collision method of claim 3, wherein a maximum value of a time when a reader waits for a response from a tag in the idle slot is calculated as a time required to transmit one bit of the response from the tag.
6. The anti-collision method of claim 1, wherein a frame size is determined so that a system throughput η is maximized by defining a ratio of a time required to identify the tag to time of a slot succeeding tag identification as the system throughput.
7. The anti-collision method of claim 6, further comprising: calculating a probability of a collision slot based on the number of idle slots and a size of a k-th frame; and estimating the number of tags attempting to be identified in the k-th—the k is an arbitrary natural number—frame by applying the calculated probability of the collision slot to a zero estimation algorithm.
8. The anti-collision method of claim 7, wherein the number of the tags attempting to be identified in the (k+1)-th frame is calculated by subtracting the number of tags which are successfully identified in the k-th frame from the number of tags attempting to be identified in the k-th frame.
9. The anti-collision method of claim 8, wherein a size of the (k+1)-th frame is calculated so that a system throughput indicating a ratio of an average of a slot time succeeding the tag identification to a time average of a unit slot is maximized.
10. The anti-collision method of claim 9, wherein a function of the system throughput is represents a probability of the success slot in the (k+1)-th frame, the
represents a probability of the idle slot in the (k+1)-th frame, the
represents a probability of the collision slot in the (k+1)-th frame, the E[D.sub.CR] represents an average time of a collision recovery slot, the D.sub.s represents a time of the success slot, the D.sub.i represents a time of the idle slot, and the D.sub.c represents a time of the collision slot.
11. The anti-collision method of claim 6, wherein a size of the (k+1)-th frame is calculated to make a partial differential function of the system throughput zero, and an integer form is calculated through a ceiling operator when the frame size is a real number.
12. An RFID tag reader apparatus in an RFID system including a plurality of RFID tags, wherein the RFID tag reader apparatus changes a length of a collision recovery slot in the collision recovery slot which successfully identifies a plurality of tags even though at least two tags simultaneously replied in one slot to cause collision so that data transmission of at least one identified tag is achieved.
13. The RFID tag reader apparatus of claim 12, wherein a plurality of ACK commands are sequentially transmitted to the at least one identified tag so that the data transmission of at least one identified tag is sequentially achieved in the collision recovery slot.
14. The RFID tag reader apparatus of claim 12, wherein the RFID tag reader apparatus comprises: a receiver configured to receive a tag response and data from the tag; a transmitter configured to transmit a Query response command and an ACK command to the tag; and a controller configured to generate the Query response command by determining a length of a slot, to generate a Query command by determining a frame size, and to generate the ACK command based on a response from the tag.
15. The RFID tag reader apparatus of claim 14, wherein a success slot to succeed data transmission of the tag, an idle slot where no tags reply, a collision slot where identification fails due to collision, and a collision recovery slot to succeed tag identification even though at least two tags simultaneously replied have different lengths.
16. The RFID tag reader apparatus of claim 15, wherein the length of the collision recovery slot is greater than the length of other slots.
17. The RFID tag reader apparatus of claim 15, wherein a maximum value of a time waiting for a response from a tag in the idle slot is calculated as a time required to transmit one bit of the response from the tag.
18. The RFID tag reader apparatus of claim 12, wherein a frame size is determined so that a system throughput η is maximized by defining a ratio of a time required to identify the tag to an occupied time of a slot succeeding tag identification as the system throughput.
19. An RFID system comprising: an RFID reader apparatus configured to change a length of a collision recovery slot in the collision recovery slot which successfully identifies a plurality of tags even though at least two tags simultaneously replied in one slot to cause collision so that data transmission of at least one identified tag is achieved; and a plurality of RFID tags configured to transmit a unique identification number of a tag in response to a Query response command from the RFID reader, and to transmit data in response to an ACK command to the RFID reader.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
DESCRIPTION OF EXEMPLARY EMBODIMENTS
(8) Rather, these example embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the present inventive concept to those skilled in the art.
(9) However, the embodiment is not limited to the specific embodiment, but the embodiment includes all modifications, equivalents, and substitutes belonging to the technical scope of the embodiment without departing from the spirit of the embodiment.
(10) It will be understood that, although the terms first, second, third etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are used to distinguish one element from another. Thus, a first element discussed below could be termed a second element without departing from the teachings of the present inventive concept. As used herein, the term “and/or” includes any and all combinations of one or more of the associated listed items.
(11) In addition, when a component is referred to as being “connected to” or “linked to” another component, the component may be directly connected to or linked to another component or an intervening component may be present therebetween. In contrast, if a component is referred to as being “directly connected to” or “directly linked to” another component, an intervening component may not be present therebetween.
(12) The terms used in the specification are for the purpose of explaining specific embodiments and have no intention to limit the disclosure. Unless the context indicates otherwise, the singular expression may include the plural expression. In the following description, the term “include” or “has” will be used to refer to the feature, the number, the step, the operation, the component, the part or the combination thereof without excluding the presence or addition of one or more features, the numbers, the steps, the operations, the components, the parts or the combinations thereof.
(13) Unless defined otherwise, the terms including technical and scientific terms used in this specification may have the meaning that can be commonly apprehended by those skilled in the art. The terms, such as the terms defined in the commonly-used dictionary, must be interpreted based on the context of the related technology and must not be interpreted ideally or excessively.
(14) Hereinafter, exemplary embodiments will be described in more detail with reference to accompanying drawings. In the following description, for the illustrative purpose, the same components will be assigned with the same reference numerals, and the repetition in the description about the same components will be omitted in order to avoid redundancy.
(15) Summary of RFID System
(16)
(17) Referring to
(18) In particular, according to an embodiment of the present invention, a time may be divided into frames and each frame may include a plurality of slots in an RFID system of a DFSA based environment. A size of the frame may be defined by the number of slots configuring one frame. A tag identification procedure is described. If the reader 110 transmits a Query command including frame size information to the tags 120-1 to 120-3, tags which are not identified yet by the reader select an arbitrary slot from the frame. In this case, when each of the tags 120-1 to 120-3 receives a Query response command (hereinafter referred to as ‘QR command’) of the reader in a slot start point while memorizing a value corresponding to a slot selected by each tag as a slot counter variable, each tag reduces a slot counter value thereof in a unit of 1. When the slot counter value becomes 0, the tag 120-1 transmits an RN16 thereof in a corresponding slot. In this case, if the reader 110 successfully receives the RN16, the reader 110 transmits an acknowledge (ACK) command including the RN16 as a factor to the tags 120-1 to 120-3. Only a tag transmitting a corresponding RN16 among the tags 120-1 to 120-3 receiving the ACK command may transmit data of the tag to the reader 110. The reader 110 retransmits the QR command to the tags 120-1 to 120-3 for the purpose of starting a next slot. The tags 120-1 to 120-3 may repeat the above procedure while updating a slot counter value of the tags.
(19) Types of Slots
(20)
(21) Referring to
(22) Concept of Tag Anti-Collision Method
(23)
(24) Referring to
(25) Accordingly, the first slot is a success slot where only the tag A transmits the data. If the tags A, B, C, D, and E receive the QR command from the reader, the tags reduce a slot counter value thereof in the unit of 1, respectively. As a result, only the tag A may have a slot counter value of 0 to transmit the RN 16 in a corresponding slot. The reader allows the tag A to confirm successfully receiving RN16 of the tag A through ACK response. In this case, the tag A may confirm that RN16 included in a corresponding ACK is the same as the RN16 transmitted from the tag A to transmit data thereof. Since remaining tags do not transmit the RN16 in a corresponding slot, the remaining tags do not reply to an ACK of the reader. Since the tag A is successfully identified in a first slot by the reader, the tag A does not reply to a QR command from the reader in another slot afterward.
(26) The second slot of
(27)
(28) where, the D.sub.wait represents transmission delay required to transmit one bit configuring the RN16, and the b represents a bit transmission rate used to transmit the RN16 and the data.
(29) The third slot of
(30) The fourth slot of
(31) As illustrated in
(32) Configuration of Tag Identification Apparatus
(33)
(34) Referring to
(35) The transmitter 420 receives a Query command, a QR command, and an ACK command from the controller 430 to transmit the received Query command, QR command, and ACK command to a corresponding tag.
(36) The receiver 410 and the transmitter 420 are a wireless communicable constituent element including an antenna. The receiver 410 and the transmitter 420 may be integrally configured as a communication unit (not shown).
(37) The controller 430 receives and parses an RN16 response of a tag in response to the QR command from the receiver 410 to determine presence of collision and to identify tags. The controller 430 may generates an ACK command based on presence of identification success to transmit the generated ACK command to the transmitter 420. The controller 430 may receive data from a corresponding tag through the receiver 410 as a response to the ACK command. Further, the controller 430 may changeably determine the length of the slot according to the type of the slot and may accordingly calculate an optimal frame size.
(38) According to an embodiment of the present invention, the controller 430 may include a slot length calculator 432, a frame size calculator 434, a QR command generator 436, a Query command generator 437, and an ACK command generator 438. The controller 430 may be configured by a hardware processor. Respective constituent elements 432, 434, 436, 437 and 438 may be configured by different processors or one processor.
(39) The slot length calculator 432 may calculate lengths of a success slot, an idle slot, a collision slot, and a collision recovery slot. In this case, the length of an idle slot may be calculated by summing an occupied time of the QR command and the above D.sub.wait time. The D.sub.wait time may be calculated through the equation 1 using the RN16. A method of calculating a slot length by the slot length calculator 432 is described through following equations 2 to 5.
(40) The QR command generator 436 generates a QR command reporting start and an end of the slot to tags based on the slot length calculated from the slot length calculator 432.
(41) The frame size calculator 434 calculates a size of a frame based on the length of the slot calculated from the slot length calculator 432. The size of the frame may be changed according to a generation probability of each slot, a length of a corresponding slot, and the number of tags attempting identification. In this case, the frame size calculator 434 may define the ratio of a time required to identify the tags to an occupied time of a slot succeeding tag identification as a system throughput to determine a frame size so that the system throughput is maximized A method of determining the frame size by calculating the system throughput based on the calculated slot length will be described through following equations 6 to 21 below.
(42) The Query command generator 436 generates a QR command based on the frame size calculated from the frame size calculator 434. The tags may select slots to which data are transmitted to set slot counters based on the frame size included in the QR command, respectively.
(43) The ACK command generator 438 parses the received RN16 response to generate the ACK command. When it is impossible to identify the RN16 from responses of the tags, the ACK command generator 438 may recognize collision to generate an ACK response including an empty RN16. When one or more RN16 values may be identified from the responses of the tags, the ACK command generator 438 generates the ACK response including one of RN16 values which are successfully identified. Further, the ACK command generator 438 may receive data to generate the ACK command including one of RN16 values which are successfully identified. That is, a plurality of data may be received in one collision recovery slot. In this case, the ACK command generator 438 may sequentially generate the ACK command to transmit the generated ACK command individually to a corresponding tag.
(44) Operation of Tag Anti-Collision Method
(45)
(46) Referring to
(47) If there is the response from the tag before the D.sub.wait time elapses, the RFID reader receives the response from the tag (S518). The RFID reader determines whether collision is caused due to a plurality of tag responses (S520). When the collision is not caused, that is, when response from one tag is received, the RFID reader 400 may determine that a corresponding slot is a success slot (S522). Further, the RFID reader generates an ACK command including an RN16 value included in the tag response to transmit the generated ACK command to a corresponding tag (S524). If the tag receives the ACK command, the tag confirms whether the ACK command is the same as an RN16 value of the tag to transmit data. The RFID reader 400 receives data from the tag to terminate the corresponding slot (S526). Next, the RFID reader 400 may transmit the QR command in order to report start of a next slot (S510).
(48) If the collision is caused because there are a plurality of tag responses in step S520, the RFID reader 400 determines whether there is an identifiable tag during the collided tag response (S528). If there is no identifiable tag, the RFID reader determines that a corresponding slot is the collision slot (S530), and terminates the slot by transmitting the ACK command including an empty RN16 value and goes to a next slot (S510).
(49) If there is the identifiable tag during the collided tag response, the RFID reader 400 determines that the corresponding slot is the collision recovery slot (S532). The RFID reader 400 may succeed the multi packet reception to transmit the ACK command to a tag which is identified first (S534). In addition, the RFID reader 400 may receive data from the corresponding tag (S536). If the reception of the data (S536) is terminated, the RFID reader 400 determines whether there is an additionally identified tag (S538). If there is no additionally identified tag, the RFID reader 400 terminates a slot and goes to a next slot (S510). If there is the additionally identified tag, the RFID reader sequentially generates and transmits the ACK command and receives data from the tag (S540). As described above, if tag identification, ACK transmission, and a data reception procedure in response to ACK are terminated in a corresponding slot, the RFID reader may go to a next slot (S510).
(50) Method of Determining Frame Size
(51) Unlike the related art, according to an embodiment of the present invention, a length of a success slot, a length of an idle slot, a length of a collision slot, and a length of a collision recovery slot may be different from each other. A tag identification time may be minimized by reducing a time required due to the collision slot and the idle slot. In this case, a system throughput considering a variable slot length may be defined as a ratio of an average length of slots (a success slot and a collision recovery slot) succeeding tag identification to an average length of a unit slot. According to an embodiment of the present invention, the frame size may be determined to maximize the system throughput.
(52) First, a time D.sub.s of the success slot, a time D.sub.i of the idle slot, a time D.sub.CR,j of the collision recovery slot, and a time D.sub.c of the collision slot may be expressed by following equations 2 to 5. First, the time D.sub.s of the success slot may be expressed as a sum of a time D.sub.QR transmitting the QR command to the tag by the reader, a time D.sub.RN16 transmitting the RN16 to the reader by the tag, a time D.sub.ACK transmitting the ACK response to the tag by the reader, and a time D.sub.Data required to transmit data to the reader by the tag, which may be expressed by a following equation 2.
D.sub.s=D.sub.QR+D.sub.RN16+D.sub.ACK+D.sub.Data [Equation 2]
(53) The time D.sub.C of the collision slot where the reader cannot identify tags may be expressed by a sum of a time D.sub.QR transmitting the QR command to the tag by the reader, a time D.sub.RN16 transmitting the RN16 to the reader by the tag, and a time D.sub.ACK transmitting the ACK response to the tag by the reader, which may be expressed by a following equation 3.
D.sub.C=D.sub.QR+D.sub.RN16+D.sub.ACK [Equation 3]
(54) Next, the time D.sub.i of the idle slot may be expressed by a sum of a time D.sub.QR transmitting a QR command to a tag by the reader and a maximum value D.sub.wait of a time waiting for a RN16 response in a corresponding slot by the reader, which may be expressed by a following equation 4.
D.sub.i=D.sub.QR+D.sub.wait [Equation 4]
(55) In this, the D.sub.wait is a time required to transmit 1 bit of the RN16 from the tag, which may be defined by the above equation 1.
(56) Finally, a time D.sub.CR,j of the collision recovery slot where j tags are successfully identified is calculated by summing a time D.sub.s of the success slot including an operation of successfully transmitting data by a single tag and a time required to receive an ACK of the reader and to transmit the data by remaining (j−1) tags.
D.sub.CR,j=D.sub.s+(j−1)(D.sub.ACK+D.sub.Data) [Equation 5]
(57) A probability of the success slot, a probability of the idle slot, a probability of the collision recovery slot, and a probability of the collision slot in the k-th frame is defined by following equations 6 to 10. N.sub.k tags to be identified in the k-th frame exist. In this case, it is assumed that the frame size is L.sub.k. In this case, a probability P.sub.k(i) where i tags reply in a specific slot may be expressed by a following equation 6 according to a binomial distribution (0≦i≦N.sub.k).
(58)
(59) The P.sub.s,k represents a probability of the success slot in the k-th frame, which is a probability where only of the N.sub.k tags replies in one slot, and is defined using the binomial distribution. Moreover, the P.sub.i,k is a probability of an idle slot in the k-th frame, and a probability that the number of tags which reply in a slot is 0, and is defined using the binomial distribution.
(60) A probability P.sub.s,k of the success slot and a probability P.sub.i,k of the idle slot represent cases where the number of replying tags is 1 and 0 in the above equation 6, which may be expressed by following equations 7 and 8, respectively.
(61)
(62) Next, a probability P.sub.CR,k of the collision recovery slot may be expressed by a following equation 9 using a probability P.sub.d(i,j) (see
(63)
(64)
(65) TABLE-US-00001 TABLE 1 P.sub.d(i, j) Values P.sub.d(2, 0) 0.0416 P.sub.d(2, 1) 0.125 P.sub.d(2, 2) 0.8334 P.sub.d(3, 0) 0.2083 P.sub.d(3, 1) 0.2083 P.sub.d(3, 2) 0.3751 P.sub.d(3, 3) 0.2083 P.sub.d(4, 0) 0.383 P.sub.d(4, 1) 0.2747 P.sub.d(4, 2) 0.234 P.sub.d(4, 3) 0.1 P.sub.d(4, 4) 0.0083 P.sub.d(5, 0) 0.5 P.sub.d(5, 1) 0.2913 P.sub.d(5, 2) 0.1584 P.sub.d(5, 3) 0.04505 P.sub.d(5, 4) 0.00415 P.sub.d(5, 5) 0.0011
(66) When 2≦i≦5 in the table 1 and
(67) Finally, a probability P.sub.c,k of the collision slot may be expressed by a following equation 10 by subtracting a probability of the success slot, the idle slot, and the collision recovery slot from a total probability.
P.sub.c,k=1−P.sub.s,k−P.sub.i,k−P.sub.CR,k [Equation 10]
(68) Since the RFID reader 400 cannot exactly know the number N.sub.k of tags attempting to be identified in the k-th frame, it may be difficult to calculate the probability of the idle slot by the method of the above equation 8. Accordingly, instead of this, the reader may calculate a probability of the collision slot through the number c.sub.0,k of idle slots and the size L.sub.k of the k-th frame in the k-th frame as a following equation 11.
(69)
(70) The number {circumflex over (N)}.sub.k of tags attempting to be identified in the k-th frame may be estimated using the following equation 12 by applying the equation 11 to a zero estimation algorithm.
(71)
(72) represents the number of tags attempting to be identified in a (k+1)-th frame. The
may be estimated in a method of subtracting the number
(73)
of tags which are successfully identified in the k-th frame from the number {circumflex over (N)}.sub.k of tags attempting to be identified in the k-th frame as the following equation 13. The c.sub.l,k represents a value measuring the number of slots at which the reader successfully identifies one tag in the k-th frame. The c.sub.r,k(j) represents a value measuring the number of slots at which the reader successfully identifies j tags through multi packet reception in the k-th frame. The j* represents the maximum number of tags which may be identified and recognized through successive interference cancellation in one slot.
(74)
(75) If the number of tags attempting to be identified in the (k+1)-th frame obtained from the equation 13 is applied to the above equations 6 to 10, a probability
of the success slot, a probability
of the idle slot, a probability
of the collision recovery slot, and a probability
of the collision slot in the (k+1)-th frame may be calculated using following equations 14 to 18, respectively.
(76)
(77) A size of the (k+1)-th frame is L.sub.k+1. When it is estimated that tags attempt to be identified, if each tag selects an arbitrary slot to reply, a replying probability
(i) of i tags in one slot may be calculated using a binomial distribution.
(78)
(79) A probability of the success slot in the (k+1)-th frame is a probability where only one of
tags replies in on slot, and is defined using a binomial distribution.
(80)
(81) A probability of the idle slot in the (k+1)-th frame is a probability having the zero replying tags and is defined using a binomial distribution.
(82)
(83) In this case, the represents a probability of the collision recovery slot in the (k+1)-th frame. The
(i) represents a replying probability of i tags in an arbitrary slot in the (k+1)-th frame (see Equation 14). The P.sub.d(i,j) represents probability of successful identification (
=1−
−
−
[Equation 18]
(84) A probability of the collision slot in (k+1)-th frame is calculated by subtracting a probability of the success slot, the collision recovery slot, and the idle slot from a total probability.
(85) As describe above, if a probability of each slot is calculated in the (k+1)-th frame, a system throughput considering a variable slot length may be calculated. As described above, the system throughput may be defined as a ratio of a slot (success slot and collision recovery slot) time succeeding tag identification to a time average of a unit slot. This may be calculated using a following equation 19.
(86)
(87) In this case, the η(L.sub.k+1) represents a system throughput when the frame size is L.sub.k+1. The E[D.sub.CR] represents an average time of the collision recovery slot.
(88) The E[D.sub.CR] represents an average length of the collision recovery slot. The E[D.sub.CR] is expressed using a probability P.sub.k(i) with respect to the number of tags replying in one slot, the collision recovery probability P.sub.d(i,j), and a time D.sub.CR,j of a collision recovery slot where j tags are successfully identified, which may be expressed by a following equation 20.
(89)
(90) When using the equations 2 to 5 and equations 12 to 18, the system throughput η(L.sub.k+1) of the equation 19 may be expressed as an equation regarding a size L.sub.k+1 of the (k+1)-th frame.
(91) According to an embodiment of the present invention, since the method of determining the frame size determines to maximize the system throughput, the above method may be replaced with a method of solving an optimization problem defined in a following equation 21.
(92)
(93) In this case, the represents an optimal size of the (k+1)-th frame. As an example of solving the above, the size L.sub.k+1 of the (k+1)-th frame is calculated to make a partial differential function of the system throughput zero. The
of an integer form may be obtained through a ceiling operator as compared with a case where the frame size is a real number. The above is expressed by a following equation 22.
(94)
(95) The RFID reader calculates the through the equation 21 to calculate an optimal size of the (k+1)-th frame, and may add the optimal size of the (k+1)-th frame to a Query command.
(96) Simulation Result
(97)
(98) Simulation environment parameters are set as illustrated in a following table 2 according to an EPC global Class 1 Generation 2 standard.
(99) TABLE-US-00002 TABLE 2 Parameters Values QR command size 4 bits RN 16 size 16 bits ACK command size 18 bits Data size 96 bits Bit rate 25 kbps Frequency 900 MHz
(100) The number of tags is increased in the range of 100 to 1000. Simulation of comparing a tag identification time according to an FSA and a DFSA of the related art with a tag identification time in the method of determining a frame according to the present invention is performed. Simulations with respect to the FSA in the frame sizes of 50 and 100 are performed, respectively.
(101) Referring to
(102) Although a preferred embodiment of the disclosure has been described for illustrative purposes, those skilled in the art will appreciate that various modifications, additions and substitutions are possible, without departing from the scope and spirit of the invention as disclosed in the accompanying claims.