Pervasive and Mobile Computing (
)
–
Contents lists available at ScienceDirect
Pervasive and Mobile Computing journal homepage: www.elsevier.com/locate/pmc
Beyond the limit: A fast tag identification protocol for RFID systems Junmei Yao ∗ , Tao Xiong, Wei Lou Department of Computing, The Hong Kong Polytechnic University, Kowloon, Hong Kong
article
info
Article history: Received 17 January 2014 Received in revised form 20 August 2014 Accepted 11 October 2014 Available online xxxx Keywords: RFID Tag identification Signature detection
abstract This paper presents the design, experiment test and performance evaluation of FAST, a fast tag identification protocol in RFID systems. FAST includes a collision tolerant mechanism (CTM) that can identify tags in collision slots correctly. Each tag sends a randomly selected signature in its selected slot. When multiple tags select the same slot and a collision occurs, the reader can detect all the signatures correctly by exploiting the cross correlation. It then asks tags to send their tag IDs sequentially through a series of ACK commands, leading to no collision in the tag ID transmissions. By using CTM, all the tags in the collision slots can be identified successfully if the number of tags involved conforms to the signature detection limit. FAST also includes a dynamic frame length estimation mechanism to maximize the slot utilization so as to further improve the performance of tag identification. Theoretical analysis and experimental results from the USRP2 testbed demonstrate the feasibility of FAST. Simulation results show that FAST outperforms other protocols dramatically. © 2014 Elsevier B.V. All rights reserved.
1. Introduction Radio Frequency Identification (RFID) is a widely deployed wireless technology that has many applications such as the supply chain monitoring [1], access control [2], and localization [3,4]. A RFID reader interrogates the tags and collects their IDs via RF signals, so that the tags can be managed remotely and automatically. The performance of tag identification is critical for the efficiency of tag management, especially in large-scale RFID systems. The EPC Class-1 Generation-2 standard (EPC C1G2) [5] is a widely used protocol that defines communications between readers and tags operated at UHF frequencies, based on framed slotted ALOHA. According to the standard, the reader initiates a series of frames to identify the tags. Each frame is divided into a number of slots, tags randomly select one slot to reply. If only one tag selects a slot (which is called a singleton slot [6]), the slot is useful and the tag can be identified correctly. Otherwise, if more than one tag select a slot (which is called a collision slot [6]), or no tag selects a slot (which is called an empty slot), the slot is wasted and no tag will be identified in this slot. The slot utilization can be derived as the ratio of the number of tags identified to the total number of slots used. The process of EPC C1G2 protocol is proven to be inefficient as it has a theoretical limit that the slot utilization has an upper bound of 36.8% [7], which can be achieved only when the number of slots is equal to the number of tags. Recent studies [7–9,5] that improve the performance of tag identification based on ALOHA mainly focus on designing algorithms to dynamically adjust the size of each frame to approximate the number of tags to be identified in the system. However, the slot utilization in these protocols cannot exceed the theoretical limit. DDC [10] is proposed to breakthrough this theoretical limit through leveraging the collision slots, each of which is selected by more than one tag. As multiple tags will transmit signals concurrently in these slots, collisions occur and no tag will be
∗
Corresponding author. E-mail addresses:
[email protected] (J. Yao),
[email protected] (T. Xiong),
[email protected] (W. Lou).
http://dx.doi.org/10.1016/j.pmcj.2014.10.003 1574-1192/© 2014 Elsevier B.V. All rights reserved.
2
J. Yao et al. / Pervasive and Mobile Computing (
)
–
Fig. 1. The process of tag identification in one frame.
identified using conventional algorithms. DDC can directly decode the collided signal transmitted from multiple tags through using a new physical layer protocol, so that it can identify one tag in a collided slot, and finally increases the slot utilization to about 72%. However, it only reuses the collision slots with no more than three tags involved, and can only identify one tag in a collided slot, so the performance improvement of this protocol is limited. In this paper, we propose FAST, a cross-layer protocol to fast identify tags in RFID systems through fully reusing the collided slots. FAST includes a collision tolerant mechanism (CTM) that can identify a number of tags in collision slots successfully. When a tag selects a slot, it will transmit a randomly selected known sequence, which is called signature here. When multiple tags select the same slot and transmit their signatures concurrently, a collision occurs. Upon receiving the collided signal, the reader begins to detect all the signatures from the received signal by a signature detection process using the cross correlation, by which signatures can be detected correctly even when they are interfered with each other. Then the reader asks tags to send their IDs sequentially in the following duration through a series of ACK commands, in which the signature is used as a parameter so that each tag can decide whether it is the target of this command. By using this mechanism, the reader can identify all the tags involved in this slot successfully. FAST also includes a dynamic frame length estimation to maximize the slot utilization according to the processing ability of CTM, so as to further improve the performance of tag identification. After a rough estimation of the number of tags in the system, the reader will initiate a series of frames to identify tags, where the frame lengths are set to be optimal values based on the estimation of the number of unidentified tags. Theoretical analysis indicates that FAST can outperform EPC C1G2 and DDC dramatically. Note that although the tags are always source-limited in RFID systems, they can adopt FAST very easily as they only need to preset a signature set and execute the new ACK command. The main contributions of this paper are summarized as follows:
• We propose CTM that makes each tag send a randomly selected signature for identification, and detect each signature correctly in the collision slots if the number of tags involved conforms to the signature detection limit, so as to identify all the tags in these slots correctly. • We propose a mechanism to dynamically determine the frame length according to the estimated number of unidentified tags, so as to maximize the slot utilization of FAST and further improve the system performance. • We quantify the signature detection mechanism in the physical layer through both theoretical analysis and hardware experiments. The results demonstrate the feasibility of FAST as it can tolerate up to 11 signatures to be transmitted concurrently. • We demonstrate FAST’s significant performance improvement through simulations. The results show that FAST can outperform EPC C1G2 protocol by up to 113.3%, and outperform DDC by up to 75.6%. The rest of this paper is organized as follows. Section 2 describes the mechanism of the EPC and DDC protocol as preliminary. Section 3 describes the overview of our proposed FAST protocol. Section 4 discusses the detailed design of CTM. Section 5 discusses the detailed design of the new frame length design. Section 6 shows the feasibility of signature detection through theoretical analysis and hardware experiments. Section 7 demonstrates the performance evaluation through simulation. Section 8 gives the related work and Section 9 concludes this paper. 2. Preliminary In this section, we describe the detailed process of tag identification in the EPC C1G2 and DDC protocols. 2.1. EPC C1G2 protocol In the RFID systems that adopt the EPC C1G2 protocol, to identify a set of tags, the reader first powers up and transmits a continuous wave (CW) RF signal to energize the tags, then initiates a series of frames to read them. Each frame has a number of slots and tags randomly select one slot to reply. The number of slots in each frame can be changed according to the estimation of unidentified tags. After identifying all the tags, the reader will power down. Fig. 1 shows the process of tag identification in one frame. In each frame, the reader first broadcasts a Query command, which contains a parameter that determines the frame length (that is, the number of slots in this frame) to be F . After receiving the Query command, each tag individually selects a number in the range [0, F − 1] to be its RN16 (a 16-bit random
J. Yao et al. / Pervasive and Mobile Computing (
)
–
3
number), which is also stored in the slot counter of the tag. If a tag selects a 0, such as tag1 in Fig. 1, it will immediately transmit its RN16, which is 0, in the first slot. After receiving the RN16, the reader will return an ACK, which contains the received RN16 and makes the corresponding tag send its tag ID in the following duration. A QueryRep command will be sent by the reader to end this slot. Meanwhile, all the tags receive QueryRep will decrease their slot counters and reply their RN16s if the slot counters reach zero. The process will repeat until the end of this frame. The number of QueryRep command is equal to F , which is the number of slots that has been set in the Query command. The slots are useful when there is only one tag replying in a slot, such as the first slot in Fig. 1. If multiple tags set their RN16s with the same value, they will reply in the same slot; a collision will occur and no tag can be identified in this slot, such as the second one in Fig. 1, where both tag2 and tag3 choose one as their RN16s. If no tag responds in a slot, the slot will be empty, such as the third one in Fig. 1. All the unidentified tags will be active in the next frame and choose a new RN16 for identification. This protocol can reach the theoretical upper bound of 36.8% slot utilization when the frame length is set to be the number of tags to be identified. 2.2. DDC protocol DDC [10] is proposed to directly decode collisions in collision slots, so as to surpass the 36.8% upper bound of slot utilization in conventional algorithms and improve the performance of tag identification. DDC uses old RN16s for slot selection, and generates new designed RN16s to contend for identification. To directly decode collisions in a collision slot, DDC lets tags send new designed RN16s when their slot counters reach zero. The new RN16s contain only one ‘1’ bit, and all the other bits are ‘0’. When the reader receives the collided signal containing multiple new RN16s, it first decodes the collision-free bits of the first received RN16 by traditional demodulation, and subtracts a stream of all ‘0’ bits from the received signal. For the other RN16s, it repeats this process and gets multiple ‘1–0’ bits. It then determines which RN16 each ‘1–0’ bit belongs to, according to the sample offset and amplitude of each RN16 signal. Through this mechanism, the RN16s sent by the tags can be decoded even in a collided slot, and the reader can still identify one tag in this slot. The slot utilization in DDC, which is equal to the percentage of useful slots, can achieve a maximal value when the frame length F is set to be 1+(tN−1)/e [10], where N is the number of tags in the system, t indicates the maximum number of RN16s that DDC can successfully decode one RN16 from, e is the natural number. As t can only be up to 3 in this protocol, that means, DDC can only reuse the collision slots with no more than three tags involved. Meanwhile, DDC can just identify one tag in a collided slot because of the mechanism’s limitation. Both problems limit the performance improvement of this protocol, making its slot utilization only be up to 72%. Different from DDC, FAST uses different methods to fully reuse the collision slots. While DDC can identify an average of expected 0.72 tags in each slot, more than that of 0.368 tags in EPC C1G2 protocol, FAST can increase the value to about 6.49, leading to further performance improvement in tag identification. 3. Overview of FAST The main ideas of FAST are to design a collision tolerant mechanism (CTM) to correctly identify the tags involved in the collision slots, and to dynamically estimate the frame length to maximize the slot utilization, both of which can effectively improve the efficiency of tag identification. FAST requires all the reader and tags in the system maintain a collection of signatures (which are globally unique known sequences) S = {s1 , . . . , sM }, where M indicates the maximum number of signatures used in this system, which is set according to the system characteristics. (Note that it is very easy for both the reader and tags to preserve this signature set, we will give detailed analysis in Section 6.4.) In FAST, when a tag selects a slot, it will respond a randomly selected signature instead of RN16. The reader detects the signature and lets this tag send its tag ID through an ACK command, in which the detected signature is used as a parameter. When more than one tag select the same slot and transmit their signatures concurrently, a collision occurs. After receiving the collided signal, the reader begins to detect the collided information through a signature detection process in CTM. Upon detecting each signature correctly, it lets tags sequentially send their tag IDs through a series of ACK commands. Using this mechanism, tags involved in the collision slots can be identified successfully. Here we use a simple scenario to illustrate how FAST works, as shown in Fig. 2. After receiving the Query command at the beginning of each frame, each tag individually selects a value in the range [0, F − 1] as its slot counter. In this example, tag1 chooses the first slot, both tag2 and tag3 choose the second slot. Each tag will respond a randomly selected signature si , where i ∈ [1, M ]. Here we let tag1 send s1 , tag2 send s2 and tag3 send s3 . After receiving s1 in the first slot, the reader simply sends an ACK command that carries the information of s1 to let tag1 further send its tag ID. For the second slot, upon receiving the collided signal containing the two signatures, the reader detects s2 and s3 correctly by a signature detection process in CTM through exploiting the cross correlation, then sends an ACK command that carries s2 to let tag2 send its tag ID, and sends an ACK command that carries s3 to let tag3 send its tag ID. The ACK command also indicates a successful
4
J. Yao et al. / Pervasive and Mobile Computing (
)
–
Fig. 2. A scenario of FAST work flow.
reception of the previous tag ID. The CTM process can work for the scenario where more than two tags select the same slot, which will be described in the CTM design in Section 4. We can see that, in FAST, the useful slots include not only the singleton slots, but also the collision slots in which CTM can correctly detect the tags’ signatures. Another key issue in FAST is how to estimate the number of unidentified tags and determine the new frame length to maximize the slot utilization, which can further improve the efficiency of tag identification. We will describe the detailed design of dynamic frame length estimation in Section 5. Comparing with EPC C1G2 protocols, tags in FAST only need to preset a signature set and execute the new ACK command, according to which their state transitions will have slight modifications. No new state needs to be added in the FAST protocol. Thus, FAST will be deployed very easily even in resource-constrained tags. 4. CTM design In this section, we describe the design of CTM in detail. We first discuss the signature detection process, then determine the critical parameter M. 4.1. Signature detection In CTM, a collision occurs when multiple tags select the same slot and respond their signatures. As the signature set that can be used in this system has been determined to be S = {s1 , . . . , sM }, only the signatures of S will be received. When receiving a collided signal containing multiple signatures, the reader will do cross correlation between the incoming signal and each signature of S to detect which signatures are in the incoming signal. As the tags’ signals are not precisely synchronized, the reader should consider the offsets among the received signals from these tags. We assume the length of signature is L symbols and the maximum offset among all the tags is ∆. The reader aligns L symbols of each si in S with the first L symbols of the received signal and computes the correlation. If the correlation result spikes, the signature si is in the received signal. Otherwise, si is not at this position. The reader then shifts the alignment with one symbol, computes the correlation again and determines whether a signature exists or not. The process repeats for ∆ times to compensate the received signal offsets among tags. The cross correlation is computed as the following steps. Suppose si [n] represents the nth symbol of the transmitted signal of signature si from one tag, the received symbol y[n] at the reader is represented as: y[n] = Hs si [n]ej2π nδf T + yo [n] + w[n], where Hs and δf refer to the amplitude attenuation and frequency offset between the signals at the transmitting tag and the reader, T is the symbol period, yo is the received signal from other tags, and w is the background white noise. To detect the signature si at the reader side, the signal of si is cross correlated with the received signal y at position l, that is, R(l) =
L k=1
si [k] · y[l + k] =
L
si [k](Hs si [k]ej2π kδf T + yo [l + k] + w[k]),
(1)
k=1
where si [k] is the complex conjugate of si [k]. As si is independent of the signals from any other tag or the noise, the correlation result between si and yo or w is close to zero. Also, the frequency offset δf can be compensated since it does not change over a long period. We then get R(l) =
L k=1
si [k](Hs si [k]ej2π kδf T ) · e−j2π kδf T =
L k=1
Hs |si [k]|2 .
(2)
J. Yao et al. / Pervasive and Mobile Computing (
)
–
5
If the value R(l) spikes and is above a threshold β , we can decide that the signature si is at the position l. To simplify the threshold β , we first normalize R(l) to be L
R(l) =
Hs |si [k]|2
k =1
,
L · RSSI si
(3)
where RSSI si is the received signal strength indicator of si , then the threshold β is set to be a constant ϕ . Fig. 3 illustrates the detailed signature detection process at any position l. After getting L symbols of the received signal beginning from l, the reader will do correlation between these L symbols and each element in the signature set {s1 , . . . , sM }, then output signatures whose correlation results are over β . Among these signatures, the one with the maximum correlation result will be determined in the received signal at this position. The signature detection process (Fig. 3) will be conducted repeatedly till position ∆ to detect all the signatures in the received signal. Fig. 4 illustrates an example that two tags transmit signatures s1 and s2 concurrently. Fig. 4(a) shows the received signal that contains the two signatures. Here we set S = {s1 , . . . , s16 }, that is, there are 16 signatures used in this system. The normalized correlation results at the beginning position of s1 and s2 , which are l1 and l3 , are shown in Fig. 4(b) and Fig. 4(d). We also give the normalized correlation results at other two positions l2 and l4 as comparison in Fig. 4(c) and Fig. 4(e). The threshold β is set to be a constant 0.55 in this example. Fig. 4(b) indicates that the correlation result is 0.981 when doing cross correlation between s1 and the alignment beginning at l1 , which is above β , the reader can determine that s1 is in the received signal at position l1 . As the correlation results between this alignment and the other signatures in S are all below β (such as 0.151 for s2 ), the reader can also determine that these signatures are not in the received signal at this position. Similarly, from Fig. 4(d), the reader can determine that s2 is in the received signal at position l3 , and all the other signatures are not in the signal at this position. Note that the correlation results at other positions are all below the threshold β , such as l2 and l4 shown in Fig. 4(c) and Fig. 4(e), so the reader determines that there is no signature at these positions. 4.2. Determination of M CTM requests tags choosing the same slot to send a randomly selected signature, then lets them send their tag IDs sequentially through a series of ACK commands. However, if more than one tag select the same signature from the M signatures in S, a collision occurs in the tag ID transmission, leading to no tag be identified. Obviously, a larger M will lead to less signature collisions, but induce more computational overhead in the signature detection process. We should carefully determine the parameter M to make a tradeoff between the two situations. We define P (x|F , N ) to be the probability that x tags select a slot p in a frame with F slots and N tags, where p ∈ [1, F ]. We get
N x
· (F − 1)N −x
. (4) FN To calculate the probability of signature collision in this slot, we define P (k|x) to be the probability that, given x tags in a collided slot, k tags (1 ≤ k ≤ x) select the same signature in this slot. Then, we can calculate P (k|x) as P (x|F , N ) =
P (k|x) =
U
(−1)
i+1
·
i=1
M i
· P ′ (i, k|x),
(5)
where U = ⌊ kx ⌋, and P ′ (i, k|x) is defined to be the probability that, given x tags in a collided slot, and given i signatures in S, each signature is selected by k tags simultaneously: P ′ (i, k|x) =
=
x ik (i − 1)k 2k k (M − i)x−ik · · ... · · x ik
Px,ik
(k!)i
k
k
(M − i)
x−ik
·
Mx
k
k
M
,
(6)
where Px,ik denotes the ik-permutation of x. Therefore, in a frame with F slots and N unidentified tags, the probability of signature collision in a slot with x tags involved is Pc (x) =
x
P (k|x) · P (x|F , N )
k=2
N U x−ik · (F − 1)N −x x M P ( M − i ) x,ik . = (−1)i+1 · · · i (k!)i Mx FN k=2 i=1 x
(7)
6
J. Yao et al. / Pervasive and Mobile Computing (
)
–
Fig. 3. Signature detection process at position l.
(a) The received signal containing two signatures.
(b) Correlation results at position l1 .
(c) Correlation results at position l2 .
(d) Correlation results at position l3 .
(e) Correlation results at position l4 .
Fig. 4. An example of signature detection process.
Suppose the maximum number of signatures that CTM can correctly detect at the same time is K . That is, the collision slots with x tags are useful slots only when x ≤ K . We call K as signature detection limit in this paper. We use look-up tables to get a proper M in this paper. Given an F , N and K , we use a two-dimensional table to record the calculated Pc (x) at each value of M and x (x ∈ [2, K ]). we then find a value of M to make Pc (x) < δ at each value of x, where δ is an empirical constant. Here we give an example when N = 100, F = 15 and K = 10. The look-up table is described as a figure, as shown in Fig. 5, based on which we can set M to 30 to make the probability of signature collision below 0.2%.
J. Yao et al. / Pervasive and Mobile Computing (
)
–
7
Fig. 5. The values of Pc (x) when N = 100, F = 15 and K = 10.
5. Dynamic frame length estimation In this section, we will discuss the dynamic frame length estimation in FAST. 5.1. Overview of dynamic frame length estimation In FAST, a reader may not be able to identify all the tags in the system within one frame. Therefore, the reader needs to initiate a series of frames to identify all the tags. At the beginning of each frame, it should deliberately estimate the number of tags that are still to be identified and determine the frame length to maximize the performance. The dynamic frame length estimation is shown in Algorithm 1: Algorithm 1: Dynamic Frame Length Estimation. Estimate N0 in the system; Set Nu = N0 ; Nc = 0; while Nu > 0 ∥ Nc > 0 do Get F = f (Nu ); /* use Eq. (11) */ Send Query(F ) command to all tags; Use CTM to identify the tags; Get Nu and Nc ; /* use Eq. (12) and Eq. (13) */
The reader first makes a rough estimation of the number of tags in the system, denoted as N0 , and sets the number of unidentified tags Nu to be N0 ; meanwhile, it initializes the number of collision slots Nc to be 0. It then initiates a series of frames till both Nu = 0 and Nc = 0. As Nu may not be the actual number of tags in the system, we additionally check if Nc = 0 to end the tag identification process. In each frame, the reader first determines the length F by using a function f (Nu ), which will be discussed in Section 5.2. The reader then sends a Query(F ) command and uses CTM to identify the tags. Both Nu and Nc will be dynamically adjusted at the end of each process, according to the information of the signal collision obtained at the current frame, which will be discussed in Section 5.3. There are many schemes to estimate the number of tags, N0 , in RFID systems [11,12]. In this paper we simply use an average run based tag estimation scheme (ART) [12], which can estimate N0 within 1s with the reliability of 95%. In the following subsection, we discuss the determination of the frame length and the estimation of the number of unidentified tags. 5.2. Frame length determination In this part, we determine the frame length according to the estimated number of unidentified tags to maximize the performance of tag identification. In Eq. (4), P (x|F , N ) is derived following a binomial distribution. As the binomial distribution is approximately equal to Poisson distribution when N is large and F1 is small, we get
N x P (x|F , N ) ≈
F
x!
N
e− F .
(8)
8
J. Yao et al. / Pervasive and Mobile Computing (
Fig. 6. The values of
N F
)
–
and the fitting curve.
Fig. 7. Slot utilizations of the three protocols.
We define Hu to be the slot utilization of an F -length frame given N tags and signature detection limit K . Hu indicates the expected number of tags that can be identified in each slot. For the FAST, we have Hu =
K
x · P (x|F , N ) =
x =1
x =1
N x
K
F
(x − 1)!
N
e− F .
(9)
To maximize Hu , we set dHu dF
=
d
N x K
dF
F
x =1
(x − 1)!
e
− NF
= 0.
(10)
As Eq. (10) does not have an explicit solution, we first obtain the value of use the linear regression method to calculate the coefficient α between
N F
N F
in each K according to this equation, then
and K , as shown in Fig. 6. Then, we derive the
equation as NF = α K , where α = 0.736. Therefore, given Nu unidentified tags, FAST will determine the frame length F as F = f (Nu ) =
Nu
αK
.
(11)
By setting the frame length with Eq. (11), the slot utilization of FAST can be maximized. To compare with EPC and DDC, we also calculate the slot utilizations of EPC and DDC, which are
N x Hu_EPC = P (x|F , N ) = Hu_DDC
N
F e− F . (x)! N x k k N F = P (x|F , N ) = e− F . ( x )! x =1 x =1
To maximize their performance, we set F = N in EPC and set F = 1+(tN−1)/e in DDC. Fig. 7 shows the values of Hu of the three protocols, where K is set from 2 to 12 in FAST, and t is set to 3 in DDC. Comparing with the value of 0.3676 in EPC and that of 0.7243 in DDC, FAST can get the value of 0.8341 even when K is 2, while the value increases to 6.4942 when K is 11. These values suggest that FAST can increase the slot utilization dramatically.
J. Yao et al. / Pervasive and Mobile Computing (
)
–
9
Fig. 8. Three scenarios that the tags cannot be identified correctly in a collided slot. The tag1 selects s1 which is missed; Both tag2 and tag3 select s2 , leading to a signature collision; and s3 is wrongly detected by the reader in the signature detection process.
5.3. Tag number estimation In this part, we discuss how to estimate the number of unidentified tags, Nu , in Algorithm 1. There are four scenarios that will affect the performance of FAST: (1) The tags selecting the same slot outnumber K , leading to a failure in the signature detection process, then all the tags involved in these slots cannot be detected correctly. (2) A signature si sent by a tag is not detected successfully by the reader (such as tag1 in Fig. 8). (3) A signature collision occurs (such as tag2 and tag3 in Fig. 8, they select the same signature s2 ), leading to a collision in the tag ID transmission. (4) A signature si , which is not sent by any tag, is wrongly detected as another signature sj by the reader (such as s3 in Fig. 8). Scenario (4) will just introduce extra overhead to FAST, while scenarios (1), (2) and (3) will make the tags not identified correctly. All the tags involved in the first three scenarios will be active in the next frame. We denote the number of unidentified tags induced by scenarios (1), (2) and (3) as Nu1 , Nu2 and Nu3 , respectively. For scenario (1), we get Nu1 = Nc1 · Ex1 , where Nc1 represents the number of collision slots that have more than K tags involved and Ex1 represents the expected value of the number of tags in such a slot. Nc1 can be obtained directly from the current frame and Ex1 can be calculated as Ex1 =
N
P (x|F , N )
x·
x =K +1
1−
K
.
P (x|F , N )
x =0
For scenario (2), we get Nu2 = PMISS · (N1 + Nc2 ) · Ex2 , where PMISS represents the probability of a missing error in CTM, N1 represents the number of singleton slots, Nc2 represents the number of collided useful slots (the slots with x (x ∈ [2, K ]) tags involved), then N1 + Nc2 indicates the number of useful slots, and Ex2 represents the expected value of the number of tags in such a slot. PMISS is an empirical value which will be derived through experiment evaluation, Nc2 can be obtained directly from the current frame, and Ex2 can be calculated as Ex2 =
K
x·
x =1
P (x|F , N ) K
.
P (x|F , N )
x =1
For scenario (3), we get Nu3 = Nc3 · Ek , where Nc3 represents the number of signature collisions in useful slots and Ek represents the expected value of the number of tags involved in a signature collision. Nc3 can be obtained directly from the current frame and Ek can be calculated as Ek =
K
P (x|F , N ) ·
x =2
x k=2
k·
P (k|x) 1 − P (0|x) − P (1|x)
,
where P (k|x) can be calculated according to Eq. (5). Then the numbers of unidentified tags and collision slots can be respectively calculated as Nu = Nu1 + Nu2 + Nu3 ,
(12)
Nc = Nc1 + Nc2 .
(13)
6. Feasibility evaluation In this section, we evaluate the feasibility of using the signature detection mechanism in CTM to detect signatures through theoretical analysis and hardware experiments.
10
J. Yao et al. / Pervasive and Mobile Computing (
)
–
6.1. Theoretical analysis 6.1.1. Metrics In the signature detection process, a reader does the cross correlation between the received signal and each of the signatures {s1 , . . . , sM } at each position, and compares each correlation result with a threshold β to determine whether the corresponding signature is in the received signal, as described in Section 4.1. The following two metrics can be used to describe the performance of signature detection process. Signature missing rate indicates the probability of one signature si sent by a tag being missed by the reader, when the correlation value of the received signal and si is below β . Signature misdetection rate indicates the probability of one signature si sent by a tag being wrongly detected to be another one sj , when the correlation value of the received signal and sj is above β . 6.1.2. The signature missing rate Suppose a signature si is in the received signal, the signature missing error rate PMISS can be calculated as: PMISS = P (Rsi < β).
(14)
According to Section 4.1 and Eq. (1), at any position l, the correlation result between si and L symbols of the received signal y is Rsi =
L
si [k] · y[k + l],
(15)
k=1
where si indicates the transmitted symbols from one tag, y[k + l] indicates the received signal and y[k + l] = Hsi [k]ej2π nδf T + n(k + l). Here, n(k + l) contains both the interference (the received signal from other tags) and noise. Suppose the frequency offset δf can be compensated before correlation, we have Rsi = H
L
|si [k]|2 +
k=1
L
si [k] · n[k + l].
(16)
k =1
Note that Es = E (|si [k]|2 ) which indicates the transmitted signal strength of si . We can get: Rsi = H · L · Es +
L
si [k] · n[k + l].
(17)
k=1 Rs
According to Eq. (3), to simplify the threshold β , we normalize the correlation result to be L·RSSIi , where RSSI si is the si received signal strength indicator of si , and it is obtained through a matched filter in the hardware experiment, here we use L the same equation RSSI si = 1L · H k=1 |si [k]|2 = H · Es . The normalized correlation result is L
Rsi L · RSSI si
=1+
si [k] · n[k + l]
k=1
.
H · L · Es
Now the threshold β can be set to a constant ϕ . Then, P (Rsi < β) is calculated as the probability of L
si [k] · n[k + l] < (ϕ − 1) · H · L · Es .
(18)
k=1
L
The variable k=1 si [k] · n[k + l] can be regarded as the sum of L independent random variables. According to the central limit theorem, its probability distribution approaches the normal distribution when L is larger than 30. As E (si [k]) = 0, E (n[k + l]) = 0, Var(si [k]) = Es and Var(n[k + l]) = N0 , where N0 also indicates the signal strength of interference and L noise at the receiver side. We have E (si [k] · n[k + l]) = 0, Var(si [k] · n[k + l]) = Es · N0 . Then k=1 si [k] · n[k + l] follows a normal distribution N (0, L · Es · N0 ). As the SINR of the received signal can be represented as error rate PMISS to be PMISS =
1 2
erfc
(1 − ϕ) ·
L 2
√ ·
H 2 Es , N0
according to Eq. (18), we calculate the signature missing
SINR ,
where erfc (x) is the complementary error function defined as erfc (x) = π2
(19)
∞ x
2
e−t dt.
J. Yao et al. / Pervasive and Mobile Computing (
)
–
11
6.1.3. Signature misdetection rate Suppose a signature si is in the received signal, ∀sj ∈ {s1 , . . . , sM } and the Hamming distance between sj and si is d, the probability of si being misdetected to be sj can be calculated as: M
PMD =
· P (Rsj > β) · P (Rsj > Rsi ),
Md
(20)
where Md indicates all the number of signatures that have a Hamming distance of d to si , M indicates the size of the signature set, and M ≤ Md . The condition Rsj > Rsi indicates that the correlation of the received signal and the signature sj is larger than the correlation of the received signal and the signature si . Similar to Eq. (14), the correlation result between sj and L symbols of the received signal is Rsi =
L
sj [k] · y[k + l]
k=1
=H
L
sj [k] · si +
k=1
L
si [k] · n[k + l].
(21)
k=1
By considering the Hamming distance between si and sj is d, we can get
L
k=1 sj
[k] · si = (L − 2d) · Es . Thus,
L
Rsi = H · (L − 2d) · Es +
sj [k] · n[k + l].
(22)
k=1
Then, P (Rsj > β) is calculated as the probability of L
sj [k] · n[k + l] ≥ (ϕ − 1) · H · L · Es + H · 2d · Es .
(23)
k=1
We have P (Rsj > β) =
1 2
erfc
[(ϕ − 1) · L + 2d] ·
SINR 2L
.
(24)
P (Rsj > Rsi ) is calculated as the probability of L
sj [k] · n[k + l] −
k=1
L
si [k] · n[k + l] ≥ 2d · H · Es .
(25)
k=1
As the sum of two normal random variables is a normal distribution, we get follows a normal distribution N (0, 2 · L · Es · N0 ). Then we have P (Rsj > Rsi ) =
1 2
erfc
d·
SINR L
L
k=1 sj
[k] · n[k + l] −
L
k=1 si
[k] · n[k + l]
.
(26)
Finally, the signature misdetection rate is represented as: PMD =
M 4Md
· erfc [(ϕ − 1) · L + 2d] ·
SINR 2L
· erfc d ·
SINR L
.
(27)
6.2. Hardware experiment 6.2.1. Experimental methodology 6.2.1.1. Backscatter communication. In this part, we introduce the link budget in RFID systems to determine the transmission power in the experiments. In UHF RFID systems, the reader and passive tags use ‘‘backscatter’’ communications [5]. During the communications, the reader transmits a continuous wave (CW) RF signal. The CW signal makes the tag receive enough energy to modulate the reflection coefficient of its antenna, so that it can backscatter an information signal to the reader [5]. The link budget in RFID systems is analyzed as follows: As the passive tag antenna needs to deliver enough power to turn the tag circuit on, the minimum transmission power is −10 dBm [13]. Suppose the reader’s transmission power is 1 W (30 dBm), that means, the pass loss from the reader to the tag should be less than 40 dB, corresponding to about 3 m distance [13]. According to this analysis, we conclude that the receiving power of each backscattered signal at the reader side is more than −50 dBm.
12
J. Yao et al. / Pervasive and Mobile Computing (
)
–
Fig. 9. The three-node line topology in the hardware experiment.
Normalized Correlation Value
1.2 1 0.8 0.6 0.4 0.2 0
0
–5
–10
–15
SINR Fig. 10. The normalized correlation results.
Fig. 11. The signature detection rate.
6.2.1.2. Experimental setting. We conduct the experiment based on a three-node USRP2 (Universal Software Radio Peripheral 2) platform [14] and use the GNURadio [15] for the signal processing blocks. We choose BPSK as the modulation type, which is recommended in EPC C1G2 protocol [5]. The transmission power of each node is based on the link budget analysis in the previous part. We intend to evaluate the feasibility of signature detection process and determine the three parameters K , L, M in FAST through the experiment with the topology shown as Fig. 9. The nodes T 1 and T 2 work as tags while R works as the reader. T 1 and T 2 transmit signatures concurrently and these signals collide at R. We conduct the experiment under different SINR (Signal to Interference and Noise Ratio) environments, which are created by adjusting the transmission power of T 1 from −10 to −30 dBm while fixing that of T 2 to −30 dBm. We then formulate the relationship between K and SINR and finally determine the value of K from the experiment results, and then we can further determine L and M. Suppose signals transmitted from tags have comparable power at the reader side. When K tags transmit signal p concurrently, the SINR of the signal from one tag at the reader side is SINR = (K −1)·rp +p , where pr indicates the received r n signal power from one tag and it is larger than −50 dBm, pn indicates the noise power and it is −98 dBm empirically. As 1 pn is negligible comparing with pr , we have SINR ≈ K − , that means, if the reader can tolerate the SINR lower to a value 1 TSINR , K can be determined to be ⌊ T 1
SINR
+ 1⌋.
6.2.2. Experiment results 6.2.2.1. Correlation results. We test a set of signatures with different L under different SINR environments, the threshold β in the normalized correlation process is set to be ϕ = 0.55, and the correlation results are shown in Fig. 10. We can see that shorter signatures are more vulnerable to SINR, making them more likely be wrongly detected. As shown in Fig. 11, signatures can be detected successfully with the probability of about 100% when SINR is above −6 dB. The detection rate decreases along with the decrease of SINR, and longer signatures have better performance. 6.2.2.2. Signature missing rate. The signature missing error occurs when the correlation value of the received signal containing the signature is wrongly below the threshold β .
J. Yao et al. / Pervasive and Mobile Computing (
)
–
13
Fig. 12. The signature missing rate.
Fig. 13. The signature misdetection rate.
Fig. 12 shows the signature missing error rate obtaining from both experiments and theoretical analysis, under different signature length L and SINR. Both results indicate that a shorter L or lower SINR will lead to a higher missing rate. Especially, through the experiment results, the missing rate decreases to 0% when L equal to 80 bits and SINR is above −6 dB; it also decreases to about 0% when L is longer than 160 bits and SINR is above −10 dB. Fig. 12 also shows that the experiment and theoretical results cannot match well under low SINR environments. That is because, in the theoretical analysis, we consider the mean value of the interference to be zero (E (n[k]) = 0). However, this condition can only be satisfied when the signal length L is long. When L is not so long enough, such as the values in our experiments, E (n[k]) is not exactly zero. That is the reason why the experiment results deviate from the theoretical ones. We also see that the gap between the two kinds of results decreases along with the increase of SINR and L, as the non-zero-mean-value interference will have greater effect on the signature detection process under lower SINR and shorter L. 6.2.2.3. Signature misdetection rate. The signature misdetection rate is seriously affected by the Hamming distance between any pair of signatures, as a shorter Hamming distance will lead to a larger value in the correlation process, which may be wrongly above the threshold β . Fig. 13 shows an example of the signature misdetection rate from both experiment and theoretical results, when L = 160. To calculate the theoretical values through Eq. (27), we set M = 30 and Md = 255, the detailed analysis is in the following subsection. Fig. 13 indicates that the misdetection rate decreases along with the increase of SINR, and along with the increase of Hamming distance d between signatures. Especially, through experiment results, this rate is below 1% if the distance is equal to 28, when SINR is −10 dB. When SINR is −5 dB, d can decrease to 12 to make the error rate below 1%. 6.3. Parameter determination Based on the experiment results, longer signatures can support lower SINR environments, which can make a larger K in the protocol. However, they induce more transmission overhead. We should make a tradeoff between the two situations. Here we give two examples of the parameter determination: the signature length L is set to be 80 bits and 160 bits. When L = 80 bits, signatures can be detected successfully with the probability of more than 99% when SINR is above −6 dBm, that means TSINR = 0.25, then K = 5. Similarly, when L = 160 bits, we have TSINR = 0.1, and we get K = 11. The other corresponding parameters in FAST are listed in Table 1. When K = 5, the slot utilization is 2.5373 according to Eq. (9), The signature missing rate is 0.006, which is used to calculate Nu according to Eq. (12); when K = 11, the slot utilization is up to 6.4942 and the signature missing rate is 0.001. M can be set to be 30 in both scenarios to make the probability of signature collision below 0.3%. We should carefully design signatures to make them have enough pair-wise Hamming distance, so that CTM can have a high signature detection rate. Note that the signature set S = {s1 , . . . , sM } is fully available. There are several types of classical sequences that can be used to design signatures in our protocol, such as Gold code, m-sequence [16]. Here we
14
J. Yao et al. / Pervasive and Mobile Computing (
)
–
Table 1 The values of parameters in FAST. Parameter
L
K
M
Hu
PMISS
Value Value
80 bits 160 bits
5 11
30 30
2.5373 6.4942
0.006 0.001
use m-sequence, a pseudo-random code that has high auto-correlation and low cross-correlation characteristics. When we design signatures whose pair-wise Hamming distance is 28, we get 255 signatures (Md = 255) when L is 160 bits and 127 signatures (Md = 127) when L is 80 bits respectively, which are much more than the signatures (M = 30) used here. 6.4. Signature generation In FAST, both the reader and tags should preserve the signature set S = {s1 , . . . , sM }. In the tag side, each signature is an L-length m-sequence (an L-length bit string), tags will transmit signatures after transforming them into symbols through modulation. On the contrary, the reader will store signatures in symbol level so that they can be used directly in the signature detection process, that means, M × L complex signals should be preserved. As tags are always designed with limited memory, here we mainly focus on the signature generation in the tag side. Tags have two ways to generate a signature in the set S = {s1 , . . . , sM }. The first way is, they preserve all the elements of S and randomly select one when needed. This way requires each tag to reserve an extra space of L × M bits for all the signatures. Although common commercial tags have maximally 512 bits of memory, recent technologies can improve this value to 1, 2 and 4 kb [17], and even 32 kb [18]. That means, even when L is up to 160 bits, M can be up to 200, which is fairly adequate according to the analysis in the previous part. The second way is, when the memory is limited, tags use a pseudo-random number generator (RNG) to generate a signature. As each tag has already implemented a RNG to generate the 16-bit random number (RN16) using m-sequence based on the D flip–flop shifting and feedback logic circuits [5], it will extend this mechanism easily to generate L-bit sequences as signatures. Through this way, tags only need to store initial values for the RNG registers and M shifting numbers, each shifting number corresponds to a signature in S. This approach decreases the extra space that tags need from L × M to ⌈log2 (L)⌉ + M bits. 7. Performance evaluation In this section, we evaluate the performance improvement of FAST comparing with DDC and EPC through simulations. We implement a simulator in MATLAB to imitate the tag identification process of the three protocols. We do not simulate the physical layer mechanisms, but instead use the already known results as parameters. For DDC, we set t = 3, that means, DDC can identify one tag correctly with the probability of 100% when no more than three tags select the same slot. For FAST, we test the two sets of parameters in Table 1. That means, without considering signature collision, when signatures are 80 bits, if no more than 5 tags select the same slot, FAST can identify all the tags correctly with the probability of 99%; when signatures are 160 bits, if no more than 11 tags select the same slot, FAST can identify all the tags correctly with the probability of 100%; if the number of involved tags outnumber 5 or 11 in the respective condition, no tag will be identified correctly. Meanwhile, to evaluate the effect of signature collision, for each set, we set the number of signatures M to be both 15 and 30 to see how M can affect the performance of our protocol. For the dynamic frame length estimation of DDC and EPC, we use the similar mechanism as FAST. We first estimate the number of unidentified tags at the end of each frame, based on which we calculate the optimal length for the next frame. We vary the number of tags N from 200 to 5000, and set the estimated number of tags N0 to be N. We compare FAST and the other two protocols using two metrics, slot utilization and tag read rate, to evaluate the improvement of FAST in different aspects. In RFID systems, the reader-to-tag link rate is from 26.7 to 128 kb/s, and the tag-to-reader link rate is from 40 to 640 kb/s, according to the EPC C1G2 protocol [5]. Note that the reader-to-tag link rate is always lower than the tag-to-reader link rate as the tags’ decoding capability is limited by its simple design. In our simulations, we first fix the reader-to-tag and tag-toreader link rate to be 64 kb/s and 320 kb/s respectively, to get results for the two metrics. We will change the link rate to compare FAST with other protocols for the tag read rate. 7.1. Slot utilization In this subsection, we evaluate the slot utilization of the three protocols, that is, the average number of identified tags in each slot. We first vary the number of tags N from 200 to 5000, and get the slot utilization in four combinations where L is set to be 80 bits and 160 bits, and M is set to be 15 and 30. We then fix both N and N0 to be 2000 to get detailed information in a whole tag identification process. Each simulation will be repeated for 100 times to get an average result.
J. Yao et al. / Pervasive and Mobile Computing (
)
–
15
Fig. 14. Slot utilizations of three protocols.
Fig. 15. Number of identified tags (N = 2000).
As shown in Fig. 14, the result demonstrates that, FAST can improve the slot utilization dramatically in all cases. When K = 5, FAST can identify about 2.0 tags in a slot, comparing with that of 0.65 in DDC and 0.35 in EPC; when K = 11, this value increases to about 4.0 if M = 15, and increases to about 5.0 if M = 30. A lower M may induce more signature collisions, thus decreases the performance of FAST. The values obtained from simulations are a little lower than that from theoretical analysis, because the length of each frame is not exactly the optimal one due to the deviation in the tag number estimation; meanwhile, signature collisions also degrade the performance of FAST. Figs. 15 and 16 give more detailed information in each frame in a tag identification process, where N = 2000, K = 11 and M = 30. From Fig. 15, we can see that FAST can identify about 1300 tags in the first frame, and it can nearly identify all the tags after five frames, while DDC needs about seven frames and EPC needs about ten frames. Fig. 16 shows the number of wasted opportunities Nw in each frame, which degrades the system performance. For FAST, Nw = Nc1 + Nc3 + Ne , where Nc1 and Nc3 are defined in Section 5.3 and Ne denotes the number of empty slots. For DDC, Nw = Nc_DDC + Ne , where Nc_DDC denotes the number of slots with more than t (t = 3) tags involved. For EPC, Nw = Nc_EPC + Ne , where Nc_EPC denotes the number of collision slots. Fig. 16 indicates that FAST has the lowest wasted opportunities. Note that, although DDC identifies comparable number of tags with EPC in some frames, it has less wasted slots, thus leading to a higher slot utilization comparing with EPC. 7.2. Tag read rate Fig. 14 demonstrates that FAST can improve the performance of tag identification through increasing the slot utilization. However, the duration of one slot in FAST may be much larger than that in other protocols due to the long signatures and multiple tag ID transmissions. We need to further study the efficiency of our protocol. In this subsection, we use the metric of
16
J. Yao et al. / Pervasive and Mobile Computing (
)
–
Fig. 16. Number of wasted slots (N = 2000).
tag read rate to evaluate performance improvement of FAST. Tag read rate is defined as the number of tags that are identified successfully in a given time interval. Here we set the time interval to be 1 s. We first fix both the reader-to-tag and tag-to-reader link rates to be lowest (the reader-to-tag link rate is 26.7 kb/s and the tag-to-reader link rate is 40 kb/s) or highest (the corresponding link rates are 128 kb/s and 640 kb/s), and vary the number of tags N from 200 to 5000 to compare FAST with other protocols in networks with different scales. As shown in Fig. 17(a), the result indicates that, when M = 30 and K is 5 or 11, at the lowest rate, FAST can increase the tag read rate by about 23% comparing with EPC, and by about 12% comparing with DDC. If M = 15, the performance will decrease more dramatically when K = 11 than K = 5. The reason is that the longer signatures will induce more overhead when signature collisions occur. When the link rate increases to be highest, as shown in Fig. 17(b), the improvement of tag read rate becomes about 113.3% comparing with EPC, and about 75.6% comparing with DDC when K = 11 and M = 30; when K = 5 and M = 30, the value decreases to 100.1% comparing with EPC, and 62.3% comparing with DDC. The tag read rate will also decrease in both cases when M is changed to 15. We finally fix N to be 2000, and compare FAST with other protocols under different link rates. As shown in Fig. 17(c), FAST can outperform EPC and DDC protocols nearly under all link rates, and the tag read rate improvement increases along with the increase of the link rate. 8. Related work Prior work related to this paper mainly falls into the following two categories: 8.1. Tag identification Current Research related to tag identification in RFID systems mainly fall into two parts: framed slotted ALOHA based and binary tree based algorithms. The ALOHA system is first proposed by Robert to avoid collisions in a single broadcast channel shared by a number of communication devices [19]. In the ALOHA based RFID system, the reader divides each frame into a series of time slots, and each tag randomly selects one slot to contend for identification. The system obtains an optimum throughput for tag identification when the number of slots is equal to the number of tags. Many researches focus on adjusting the frame length to maximize the throughput by designing various mechanisms [7,9]. The EPC C1G2 standard [5] is a widely deployed protocol that is based on the framed slotted ALOHA, whose performance has been studied by M. Buettner and D. Wetherall [20] in a realistic setting. The binary tree based algorithm has been adopted by another well-known RFID protocol, ISO 18000-6 [21]. In this algorithm, tags are organized in a binary tree according to their IDs. The reader broadcasts a query command with a string prefix, and the tag that has a match prefix with its ID responds its ID in this query. Efficient algorithms [22–29] are proposed to reduce collisions and identify tags efficiently comparing with previous work. Comparing with the above protocols that focus on collision avoidance in the RFID systems, Kang et al. propose DDC [10] to directly decode signals in collision slots, and performance can be improved greatly by leveraging the collision slots. However, it can only reuse the collision slots with less than three tags involved, and can only identify one tag in a collided slot, the performance improvement of this protocol is limited. The main difference between FAST and DDC is that, FAST can identify up to 11 tags in a collided slot, it increases the slot utilization to about 6.49 and improves the performance of tag identification dramatically.
J. Yao et al. / Pervasive and Mobile Computing (
a
)
–
17
b
c
Fig. 17. Tag read rate under three scenarios: (a) the lowest link rate; (b) the highest link rate; (c) various link rates (N = 2000).
A related research topic is the tag cardinality estimation problem which aims to estimate the population of tags [11,30–33,12,34]. As it only estimates the tag population, the solutions of this problem cannot be directly applied to the tag identification problem. Some work [35–38] proposes to use multiple readers to improve the tag reading speed. 8.2. Collision recovery Different from traditional approaches to avoiding collisions in wireless networks, some recent studies focus on mechanisms trying to recover the interfered signals directly. The technology of cross correlation has been leveraged to combat collisions in some recent researches. ZigZag [39] proposes an algorithm that takes advantage of the packet retransmission mechanism to recover the collided packets in a WLAN scenario where multiple clients send packets to AP. As these collided packets have different interference-free stretches at their start, ZigZag uses these clean symbols to bootstrap the decoding. Sen et al. [40] exploit cross correlation to detect the collision notification information, which is sent by the receiver and transmitted concurrently with the data packet, thus achieves the mechanism of CSMA/CN in wireless networks. SIC [41] exploits the capture effect technique to receive a stronger interfered signal first and then recover the other interfered signal if its SINR after subtracting the stronger one is above the threshold. [42,43] leverage cross correlation to detect control information that is collided with other data packets or in low SNR environments, so as to solve the exposed terminal problem and hidden terminal problem in wireless networks to improve the network throughput. In this paper we exploit this technology to improve the performance of tag identification in RFID systems. 9. Conclusion We propose FAST that can fully reuse the collision slots to improve the performance of tag identification in RFID systems. We design a collision tolerant mechanism (CTM) that can identify tags in collision slots correctly. We also design a dynamic frame length estimation mechanism to maximize the slot utilization by considering the signature detection ability of CTM, so
18
J. Yao et al. / Pervasive and Mobile Computing (
)
–
as to further improve the performance of tag identification. We show the feasibility of this protocol through both theoretical analysis and hardware experiments, and demonstrate the performance improvement of FAST over current EPC C1G2 and DDC protocols through simulations. References [1] B. Sheng, C.C. Tan, Q. Li, W. Mao, Finding popular categories for RFID tags, in: Proc. of ACM MOBIHOC, 2008. [2] T. Kriplean, E. Welbourne, N. Khoussainova, V. Rastogi, M. Balazinska, G. Borriello, T. Kohno, D. Suciu, Physical access control for captured RFID data, Pervasive Comput. 6 (4) (2007) 48–55. [3] Z. Yang, Y. Liu, X.Y. Li, Beyong trilateration: Confidence based iterative localization, IEEE Trans. Netw. 18 (6) (2010) 1806–1814. [4] K. Bu, X. Liu, J. Li, B. Xiao, Less is more: Efficient RFID-based 3D localization, in: Proc. of IEEE MASS, 2013. [5] EPCGlobal, EPC radio-frequency identify protocols class 1 generation 2 UHF RFID protocol for communications at 860 MHz–960 MHz, version 1.2.0, 2008. [6] T. Li, S. Chen, Y. Ling, Identifying the missing tags in a large RFID system, in: Proc. of ACM MOBIHOC, 2010. [7] F. Schoute, Dynamic frame length ALOHA, IEEE Trans. Commun. 31 (4) (1983) 565–568. [8] V. Anantharam, The stability region of the finite-user slotted ALOHA protocol, IEEE Trans. Inform. Theory 37 (3) (1991) 535–540. [9] S.R. Lee, S.D. Joo, C.W. Lee, An enhanced dynamic framed slotted ALOHA algorithm for RFID tag identification, in: Proc. of IEEE SIGCOMM, 2005. [10] L. Kang, K. Wu, J. Zhang, H. Tan, L.M. Ni, DDC: A novel scheme to directly decode the collisions in UHF RFID systems, IEEE Trans. Parallel Distrib. Syst. 23 (2) (2012) 263–270. [11] M. Kodialam, T. Nandagopal, Fast and reliable estimation schemes in RFID systems, in: Proc. of ACM MOBICOM, 2006. [12] M. Shahzad, A.X. Liu, Every bit counts - fast and scalable RFID estimation, in: Proc. of ACM MOBICOM, 2012. [13] D.M. Dobkin, RFID basics: How to determine the link budget, EE Times, 2007. [14] E. Inc., Universal software radio peripheral. http://ettus.com. [15] G.FSF, GNU Radio - GNU FSF Project. [16] K. Tse, M. Viswanath, Fundamentals of Wireless Communication, Cambridge University Press, 2005. [17] B. Violino, New RFID tag with more memory, RFID J. (2003). [18] ICsense, High-memory passive RFID tags on the new Airbus. http://www.icsense.com. [19] L.G. Roberts, ALOHA packet system with and without slots and capture, in: Proc. of IEEE SIGCOMM, 1975. [20] M. Buettner, D. Wetherall, An empirical study of UHF RFID performance, in: Proc. of ACM MOBICOM, 2008. [21] RFID for item management air interface. Part-6, ISO 18000-6 Standard, 2003. [22] F. Zhou, C. Chen, D. Jin, C. Huang, H. Min, Evaluating and optimizing power consumption of anti-collision protocols for applications in RFID systems, in: Proc. of ISLPED, 2004. [23] J. Myung, W. Lee, Adaptive splitting protocols for RFID tag collision arbitration, in: Proc. of ACM MOBIHOC, 2006. [24] V. Namboodiri, L. Gao, Energy-aware tag anti-collision protocols for RFID systems, in: Proc. of IEEE PERCOM, 2007. [25] J. Myung, W. Lee, Adaptive binary splitting: A RFID tag collision arbitration protocol for tag identification, in: Broadband Networks, 2005. [26] T.F.L. Porta, G. Maselli, C. Petrioli, Anti-collision protocols for single-reader RFID systems: temporal analysis and optimization, IEEE Trans. Mob. Comput. 10 (2) (2011) 267–279. [27] X. Liu, S. Zhang, K. Bu, B. Xiao, Complete and fast unknown tag identification in large RFID systems, in: Proc. of IEEE MASS, 2012. [28] X. Liu, B. Xiao, S. Zhang, K. Bu, Unknown tag identification in large RFID systems: An efficient and complete solution, IEEE Trans. Parallel Distrib. Syst. (99) (2014) 1–14. [29] X. Liu, B. Xiao, K. Bu, S. Zhang, LOCK: A fast and flexible tag scanning mechanism with handheld readers, in: Proc. of IEEE/ACM IWQoS, 2014. [30] M. Kodialam, T. Nandagopal, W.C. Lau, Anonymous tracking using RFID tags, in: Proc. of IEEE INFOCOM, 2007. [31] H. Han, B. Sheng, C. Tan, Q. Li, W. Mao, S. Lu, Counting RFID tags efficiently and anonymously, in: Proc. of IEEE INFOCOM, 2010. [32] T. Li, S. Wu, S. Chen, M. Yang, Energy efficient algorithms for the RFID estimation problem, in: Proc. of IEEE INFOCOM, 2010. [33] Y. Zheng, M. Li, C. Qian, PET: Probabilistic estimating tree for large-scale RFID estimation, in: Proc. of IEEE ICDCS, 2011. [34] Y. Zheng, M. Li, ZOE: Fast cardinality estimation for large-scale RFID systems, in: Proc. of IEEE INFOCOM, 2013. [35] S. Tang, J. Yuan, X. Li, G. Chen, Y. Liu, J. Zhao, RASPberry: A stable reader activation scheduling protocol in multi-reader RFID systems, in: Proc. of IEEE ICNP, 2009. [36] R.M. Jacobsen, K.F. Nielsen, P. Popovski, T. Larsen, Reliable identification of RFID tags using multiple independent reader sessions, in: Proc. of IEEE RFID, 2009. [37] L. Yang, J. Han, Y. Qi, C. Wang, T. Gu, Y. Liu, Season: Shelving interference and joint identification in large-scale RFID systems, in: Proc. of IEEE INFOCOM, 2011. [38] H. Yue, C. Zhang, M. Pan, Y. Fang, S. Chen, A time-efficient information collection protocol for large-scale RFID systems, in: Proc. of IEEE INFOCOM, 2012. [39] S. Gollakota, D. Katabi, ZigZag decoding: Combating hidden terminals in wireless networks, in: Proc. of ACM SIGCOMM, 2008. [40] S. Sen, R.R. Choudhury, S. Nelakuditi, CSMA/CN: Carrier sense multiple access with collision notification, in: Proc. of ACM MOBICOM, 2010. [41] D. Halperin, T. Anderson, D. Wetherall, Taking the sting out of carrier sense: Interference cancellation for wireless LANS, in: Proc. of ACM MOBICOM, 2008. [42] J. Yao, T. Xiong, W. Lou, Elimination of exposed terminal problem using signature detection, in: Proc. of IEEE SECON, 2012. [43] T. Xiong, J. Zhang, J. Yao, W. Lou, Symbol-level detection: A new approach to silencing hidden terminals, in: Proc. of IEEE ICNP, 2012.