Recent years have witnessed an unprecedented development of the radio frequency identification (RFID) technology. As a promising low-cost technology, RFID is widely utilized in various applications ranging from inventory control   , supply chain management and logistics      to tracking/location   
. In these applications, an RFID system typically consists of one or several RFID readers and a large number of RFID tags. Specially, the RFID reader is a device equipped with a dedicated power source and an antenna and can collect and process the information of tags within its coverage area. An RFID tag, on the other hand, is a low-cost microchip labeled with a unique serial number (ID) to identify an object and can receive and transmit the radio signals via the wireless channel. More specifically, the tags are generally classified into two categories: passive and active tags. Passive tags are energized by the radio wave of the reader, while active tags have power sources and relatively long communication range.
I-B Motivation and problem statement
According to the statistics presented in , inventory shrinkage, a combination of shoplifting, internal theft, administrative and paperwork error, and vendor fraud, resulted in 44 billion dollars in loss for retailers in . Fortunately, RFID technology can be used to reduce the cost by monitoring products for its low cost and non-line-of-sight communication pattern. Obviously, the first step in the application of loss prevention is to determine whether there is any missing tag. Hence, quickly finding out the missing tag event is of practical importance.
The presence of unexpected tags, however, prolongs the detection time and even leads to miss detection. Here, we present two examples to motivate the presence of unexpected tags in realistic scenarios.
Example 1. Consider a retail store with expensive goods and a much larger amount of inexpensive goods, and an RFID system is deployed to monitor the goods. Because of the higher value of expensive products, they are expected to be detected more frequently, but the tags of inexpensive goods also response the interrogation of readers, which influences the decision of readers.
Example 2. Consider a large warehouse rented to multiple companies where the products of the same company may be placed in different zones according to their individual categories, such as child food and adult food, chilled food and ambient food. When detecting the tags identifying products from one company, readers also receive the feedbacks from the tags of other companies.
In both examples, how to effectively reduce the impact of unexpected tags is of critical importance in missing tag detection. In this paper, we consider a scenario, as depicted in Fig. 1, where each product is affixed by an RFID tag. The reader stores the IDs of expected tags. The problem we address is how to detect missing expected tags in the presence of a large number of unexpected tags in the RFID systems in a reliable and time-efficient way.
I-C Prior art and limitation
Prior related work can be classified into three categories from the perspective of detecting missing tags: missing tag detection protocols, tag identification protocols, and tag estimation protocols.
. The probabilistic protocols find out a missing tag event with a certain required probability if the number of missing tags exceeds a given threshold, thus they are more time-efficient but return weaker results in comparison with the deterministic protocols that report all IDs of the missing tags. Actually, they can be used together such that a probabilistic protocol is executed in the first phase as an alarm that reports the absence of tags and then a deterministic protocol is executed to report IDs of missing tags. Unfortunately, all missing tag detection protocols except RUN work on the hypothesis of a perfect environment without unexpected tags and thus fail to effectively detect missing tags in the presence of unexpected tags. Although RUN  is tailored for missing tag detection in the RFID systems with unexpected tags, all unexpected tags may always participate in the interrogation, which leads to the significant degradation of the performance when the unexpected tag population size scales.
Tag identification protocols     can identify all tags in the interrogation region. To detect missing tags, tag identification protocols can be executed to obtain the IDs of the tags present in the population and then the missing tags can be found out by comparing the collected IDs with those recorded in the database. However, they are usually time-consuming  and fail to work when it is not allowed to read the IDs of tags due to privacy concern.
Tag estimation protocols     are used to estimate the number of tags in the interrogation region. If many expected tags are absent in RFID systems without unexpected tags, a missing tag event may be detected by comparing the estimation and the number of expected tags stored in the database. However, the estimation error may be misinterpreted as missing tags and cause detection error, especially when there are only a few missing tags. Moreover, the estimation protocol cannot handle the case with a large number of unexpected tags.
I-D Proposed solution and main contributions
Motivated by the detrimental effects of unexpected tags on the performance of missing tag detection, we devise a reliable and time-efficient protocol named Bloom filter-based missing tag detection protocol (BMTD). Specifically, BMTD consists of two phases, each consisting of a number of rounds.
In each round of the first phase, the reader fist constructs a Bloom filter by mapping all the expected tag IDs into it such that each tag has multiple representative bits. Then the constructed Bloom filter is broadcasted to all tags. If at least one representative bit of a tag is ’0’s, it finds itself unexpected and will not participate in the rest of BMTD. Thus, the number of active unexpected tags is considerably reduced.
Subsequently, in each round of the second phase, the reader constructs a Bloom filter by aggregating the feedbacks from the remaining tags and uses it to check whether any expected tag is absent from the population.
The major contributions of this paper can be articulated as follows. First, we propose a new solution for the important and challenging problem of missing tag detection in the presence of a large number of unexpected tags by employing Bloom filter to filter out the unexpected tags and then detect the missing tags. Second, we perform the theoretical analysis for determining the optimal parameters used in BMTD that minimize the detection time and also meet the required reliability. Third, we perform extensive simulations to evaluate the performance of BMTD. The results show that BMTD significantly outperforms the state-of-the-art solutions.
The remainder of the paper is organised as follows. Section II gives a brief overview of related work. In Section III, we formally present the missing tag detection problem and describe the design goal and requirements. In Section IV and V, we elaborate the designed protocol and perform the theoretical analysis of the parameter configuration, respectively. In Section VI, we introduce the method to estimate the unexpected tag population size. Then the extensive simulations are conducted in Section VII. Finally, we conclude our paper in Section VIII.
Ii Related Work
Extensive research efforts have been devoted to detecting missing tags by using probabilistic method     and deterministic method   . Next, we briefly review the existing solutions of missing tag detection problem.
Ii-a Probabilistic protocols
The objective of probabilistic protocols is to detect a missing tag event with a predefined probability. Tan et al. initiate the study of probabilistic detection and propose a solution called TRP in . TRP can detect a missing tag event by comparing the pre-computed slots with those picked by the tags in the population. Different from our BMTD, TRP does not take into account the negative impact of unexpected tags. Follow-up works   employ multiple seeds to increase the probability of the singleton slot. Same to TRP, they are required to know all the tags in the population. The latest probabilistic protocol called RUN is proposed in . The difference with previous works lies in that RUN considers the influence of unexpected tags and can work in the environment with unexpected tags. However, RUN does not eliminate the interference of unexpected tags fundamentally such that the false positive probability does not decrease with respect to the unexpected tag population size, which shackles the detection efficiency especially in the presence of a large number of unexpected tags. In addition, the first frame length is set to the double of the cardinality of the expected tag set in RUN, which is not established by theoretical analysis and leads to the failure of estimation method in RUN when the number of the unexpected tags is far larger than that of the expected tags.
Ii-B Deterministic protocols
The objective of deterministic protocols is to exactly identify which tags are absent. Li et al. develop a series of protocols in  which intend to reduce the radio collision and identify a tag not in the ID level but in the bit level. Subsequently, Zhang et al. propose another series of determine protocols in  of which the main idea is to store the bitmap of tag responses in all rounds and compare them to determine the present and absent tags. But how to configure the protocol parameters is not theoretically analyzed. More recently, Liu et al.  enhance the work by reconciling both 2-collision and 3-collision slots and filtering the empty slots such that the time efficiency can be improved. None of existing deterministic protocols, however, have been designed to work in the chaotic environment with unexpected tags.
Iii System Model and Problem Formulation
Iii-a System model
Consider a large RFID system consisting of a single RFID reader and a large number of RFID tags. The reader broadcasts the commands and collects the feedbacks from the tags. In the RFID system, the tags can be either battery-powered active ones or lightweight passive ones that are energized by radio waves emitted from the reader. In this paper, we first take account of the single-reader case and then extend the proposed protocol to the multi-reader case.
The communications between the readers and the tags follow the Listen-before-talk mechanism : A reader initiates communication first by sending commands and broadcasting the parameters to tags, such as the frame size, random seeds, and then each tag responds in its chosen time slot. Consider an arbitrary time slot, if no tag replies in this slot, it is called an empty slot; otherwise, it is called a nonempty slot. Only one bit is needed to distinguish an empty slot from a nonempty slot: ‘0’ for an empty slot with an ideal channel while ‘1’ for a nonempty slot with a busy channel.
During the communications, the tag-to-reader transmission rate and the reader-to-tag transmission rate may differ with each other and are subject to the environment. In practice, the former can be either kb/s kb/s in the FM0 encoding format or kb/s kb/s in the modulated subcarrier encoding format, while the later is normally about kb/s kb/s .
Iii-B Problem formulation
In the considered RFID system, we use to denote the set of IDs of the expected tags which are expected to be present in a population and target tags to be monitored. In the RFID system, we assume that an unknown number of tags, , out of these tags are missing. Note that stands for the cardinality of a set. Denote by the set of IDs of the remaining tags that are actually present in the population. Let be the set of IDs of unexpected tags within the interrogation region of the reader which does not need to be monitored. The reader may neither knows exactly the IDs of unexpected tags nor does it know the cardinality of .
Let be a threshold on the number of missing expected tags. We use to denote the probability that the reader can detect a missing event. The optimum missing tag detection problem is formally defined as follows.
Definition 1 (Optimum missing tag detection problem).
Given unexpected tags where both and the IDs of tags in are unknown, the optimum missing tag detection problem is to devise a protocol of minimum execution time capable of detecting a missing event with probability if , where is the system requirement on the detection reliability.
Table I summaries the main notations used in the paper.
|set of target tags that need to be monitored|
|tags that are actually present in the population|
|set of unexpected tags|
|required detection reliability|
|number of missing expected tags|
|threshold to detect missing tags|
|prob. of detecting a missing event in BMTD|
|number of rounds in Phase 1|
|length of the -th frame of Phase 1|
|number of hash functions in the -th frame of Phase 1|
|random seed used in the -th frame of Phase 1|
|set of remaining active unexpected tags after Phase 1|
|number of remaining active tags after Phase 1|
|false positive rate in the -th frame of Phase 1|
|time cost of Phase 1|
|number of rounds in Phase 2|
|length of the -th frame of Phase 2|
|number of hash functions in the -th frame of Phase 2|
|random seed used in the -th frame of Phase 2|
|false positive rate in the -th frame of Phase 2|
|time taken to execute rounds in Phase 2|
|theoretical execution time|
|prob. of detect a missing tag in a given slot of Phase 2|
|random variable for slot of the first detection|
|expected detection time of BMTD|
Iv Bloom Filter-based Missing Tag Detection Protocol
Iv-a Design rational and protocol overview
To improve the time efficiency of detecting missing tags in the presence of a large number of unexpected tags in the population, we limit the interference of unexpected tags in our protocol. To achieve this goal, we employ a powerful technique called Bloom filter which is a space-efficient probabilistic data structure for representing a set and supporting set membership queries  to rule out the unexpected tags in the set , which efficiently reduces their interference and thus the overall execution time. Following this idea, we propose a Bloom filter-based Missing Tag Detection protocol (BMTD), by which Bloom filters are sequentially constructed by the reader and by the feedbacks from the active tags in the RFID system.
The BMTD consists of two phases: 1) the unexpected tag deactivation phase and 2) the missing tag detection phase.
The first phase is divided into rounds where the reader constructs Bloom filters by mapping the recorded IDs in the reader to deactivate the unexpected tags after identifying them.
The second phase is divided into rounds. The reader constructs Bloom filters according to the responses of the remaining active tags and uses the Bloom filters to detect any missing event. Our protocol either detects a missing event or reports no missing event if the reader does not detect a missing event after rounds.
We elaborate the design of the BMTD in the rest of this section.
Iv-B Phase 1: unexpected tag deactivation
In Phase 1, we use Bloom filters to reduce the number of active unexpected tags. Specifically, in the -th round of Phase 1 (
), the reader first constructs a Bloom filtering vector by mapping the expected tags in setinto an -bit array using hash functions with random seed . Here, we denote the -bit Bloom filter vector as . How the values of , are chosen and how is calculated are analysed in Sec. V on parameter optimisation.
Then, the reader broadcasts the -bit Bloom filtering vector, and to all tags. Upon receiving , , and , each tag maps its ID to bits pseudo-randomly at positions , and checks the corresponding positions in . If all of bits are , then the tag regards itself expected by the reader. If any of bits is , the tag regards that it is unexpected and then remains silent in the rest of the time.
Let denote the set of the remaining active unexpected tags after the -th round of Phase 1, and let denote the set of unexpected tags that pass the membership test of . Since the Bloom filter has no false negatives, the set of remaining active tags can be represented as .
After rounds when Phase 1 is terminated, the number of remaining active unexpected tags, termed as , is . The present tag population size can be written as . Subsequently, the reader enters Phase 2.
Iv-C Phase 2: missing tag detection
In the second phase, we still employ Bloom filter to detect a missing tag event. Note that the parameters that the reader broadcasts in each round in Phase 2 except random seeds are identical. In the -th round of Phase 2 (), the reader first broadcasts the parameters containing the Bloom filter size , the number of hash functions , and a new random seed . How their values are chosen and how is calculated are analysed in Sec. V on parameter optimisation.
After receiving the configuration parameters, each tag in the set selects slots at the indexes () in the frame of slots and transmits a short response at each of the corresponding slots. As a consequence, a Bloom filter is formed in the air by the responses from the remaining active tags. In each round, there are two types of slots: empty slots and nonempty slots.
According to the responses from the tags, the reader encodes an -bit Bloom filter as follows: If the -th slot is empty, the reader sets -th bit of the -bit vector to be ’0’, otherwise ’1’. Consequently, a virtual Bloom filter is constructed using which the reader then performs membership test. Let denote the constructed Bloom filter in -th round.
To perform membership test, the reader uses tag IDs from the expected tag set . Specifically, for each ID in , the reader maps it into bits at positions () in . If all of them are ’1’s, then the tag is regarded as present. Otherwise, the tag is considered to be missing. If a missing event is detected in -round, the reader terminates the protocol without executing the remaining rounds. Otherwise, the reader initiates a new round until the protocol runs rounds. If the reader does not detect a missing event after rounds, it reports no missing event, i.e., the number of missing tags is less than the threshold .
Iv-D An illustrative example of BMTD
We present an illustrative example to show the execution of BMTD. Consider an RFID system with tags. We assume that the reader needs to monitor tag and tag and thus knows their IDs, i.e., ID1, ID2, but it is not aware of the presence of tag and tag , who are unexpected, i.e., ID3, ID4. In the example, tag is missing from the population.
As shown in (1) of Fig. 2(a), the reader first constructs a Bloom filter by mapping IDs in and broadcasts a message containing and the values of and . Here we assume , and . After receiving , each tag checks if it is an expected tag. As shown in (2) of Fig. 2(a), tag finds itself expected due to the fact that both and are equal to . However, tag realizes that it is unexpected for and deactivates itself. Different from tag , actually unexpected tag passes the test and will participate in the rest of BMTD.
As depicted in (1) of Fig. 2(b), after the first phase, the reader starts to detect missing tags by broadcasting parameters and . Here we assume , and . By using and , tag and tag generate a Bloom filter vector, respectively, which is shown in (2) of Fig. 2(b). Then they transmit following their individual Bloom filter vector. By sensing the channel, the reader can encode a Bloom filter and use it to check the IDs in one by one. As shown in (3) of Fig. 2(b), since the Bloom filter is constructed based on the responses of tag and tag , tag passes the test but tag fails and is regarded as absent. Then the protocol reports a missing event.
V Performance optimisation and parameter tuning
In this section, we investigate how the parameters in the BMTD are configured to minimise the execution time while ensuring the performance requirement.
V-a Tuning parameters in Phase 1
According to the property of Bloom filter, false negatives are impossible. The false positive rate of the Bloom filter in the -th round in Phase 1, defined as , can be calculated as follows :
By rearranging (1), we can express the Bloom filter size in the -th round as
The total time spent in this round can thus be calculated as , where denotes the per bit transmission time from reader to tags.
We denote the cost to detect and deactivate an unexpected tag as follows:
From the expression of , it can be noted that represents the average time consumed to detect and deactive an unexpected tag in the -th round. In our design we minimize so as to achieve the optimal time-efficiency. To minimize , we first compute the derivative of with respect to as follows:
Furthermore, let , we can obtain
and the unique minimiser as when , and when . Therefore, reaches the minimum value when . The optimum Bloom filter size, denoted as , can be computed as
The time spent in the -th round can be computed as . Therefore, the total execution time of Phase 1, denoted as , can be derived as
Let be the number of tags still active after Phase 1 (i.e., rounds), it holds that
where is the set of unexpected tags still active after Phase 1. Recall (5), the expectation of can be derived as
V-B Tuning parameters in Phase 2
Similar to Phase 1, the false positive rate of the -th round in Phase 2, defined as , can be calculated as
Therefore, the Bloom filter size is
Moreover, the probability that at least one missing tag can be detected in -th round, denoted as , can be computed as
Following the analysis above, the probability that the reader is able to detect a missing event after at most rounds in Phase 2, can thus be written as
It follows from the system requirement that
As a result, we can obtain
In the following lemma, we derive the optimum frame size of the Bloom filter which is broadcast by the reader in each round of Phase 2.
Let , the optimum Bloom filter frame size, denoted by , that achieves the detection requirement while minimising the execution time of Phase 2, is as follows:
Denote by the total length of all Bloom filters in the second phase, we thus have
It can be checked that depends on the product of and which is the total number of hash functions used in Phase 2. To minimize the execution time, let , we first calculate the derivation of with respect to as follows:
Moreover, when , it holds that ; when , it holds that . Therefore, achieves the minimum at . The minimum of , denoted by can be computed by injecting into (14). The proof is thus completed. ∎
As the reader does not have prior knowledge on , the number of missing tags, in the design of BMTD, we require that the detection performance requirement to be hold for any . Hence, and are as follows:
where we use in and , which is the hardest case. Since , it can be checked that the detection probability is monotonically increasing and is monotonically decreasing with respect to the number of missing tags , meaning that makes the detection hardest and any greater will ease the hardness, it is thus reasonable to use in the rest of the analysis, because if the reader can detect a missing tag event with probability when , it will fulfill the detection with probability when .
In addition, since is the total number of hash functions used in Phase 2 and at least one round is executed so as to detect a missing event, needs to be a positive integer. Therefore, we set , which guarantees the required detection performance requirement. Note that and can be set as arbitrary positive integers.
Under the optimum parameter setting derived above, we can calculate the time needed to execute rounds of Phase 2, denoted by , as follows:
where is the time needed by the tags to transmit one bit to the reader. sets an upper-bound on the execution time of Phase 2.
V-C Tuning and to minimize worst-case execution time
In this subsection, we study how to set and to minimize the worst-case execution time, which corresponds to the experience of the execution time where no missing event is detected and hence all the rounds in the second round need to be executed. We denote the worst-case execution time by . In the following theorem, we derive the minimiser of .
Denote , need to be set to as follows to minimise the worst-case execution time of the BMTD:
where . That is, in regard to minimise the worst-case execution time, when the number of unexpected tags does not exceed a threshold , Phase 1 is not executed, otherwise Phase 1 is executed with the parameters and set to .
Recall the two phases of BMTD and (7), we can derive the expectation of as follows:
From (21), it can be noted that is a function of . We then calculate the optimum that minimizes . To that end, we compute the derivation of with respect to :
Since , it thus holds for all that if , i.e.,
It is worth noticing that is a monotonic nondecreasing function in this case with respect to , we thus set to minimize the execution time, which means that if the number of unexpected tags is smaller than the threshold , we should remove the Phase 1 and only execute Phase 2.
In contrast, if , can be negative, zero, or positive. Setting , the optimal value of to minimise , defined as , can be calculated as
Since represents the total number of hash functions used in Phase 1, it needs to be a non-negative integer. Therefore, we set either to its ceiling or floor integer depending on which one leads to a smaller . The parameters and are set such that .
V-D Tuning and to minimize expected detection time
The parameters derived in Theorem 1 establish that the BMTD is able to detect a missing event with probability equal to or greater than the system requirement after rounds of Phase 2. However, in many practical scenarios, the missing event may be detected in the round when the algorithm can be terminated. In this subsection, we derive the parameter configuration (i.e., and ) that minimises the expected detection time. To that end, we first calculate the probability that at least one of the missing tags can be detected for the first time in a given slot and use it to formulate the expectation of the missing event detection time.
The probability that a missing tag can be detected in a given slot of Phase 1, denoted by , is as follows:
A loose lower-bound for , denoted as , can be established as follows:
A missing tag can be detected in a given slot only when at least one missing tag is hashed to this slot and no tag in selects the same location. Consider the hardest case for detecting a missing tag event, i.e., , the probability that at least one missing tag maps to the given slot can be given by . The probability that no tag in maps to that slot is equal to . Consequently, multiplying the former by the later leads to , i.e.:
We then derive the lower-bound . To that end, noticing that is negatively correlated with which falls into the range , we have
On the other hand, noticing that , we have . ∎
After calculating , we next derive the expected missing event detection time, denoted by .
The expected missing event detection time is given by the following equation:
Recall (16), it holds that there are slots in Phase 2. We next calculate the number of slots before detecting the first missing tag. It is easy to check that the event that in slot the reader detects the first missing tag happens if no missing tags is detected in the first slots while at least one missing tag is detected in slot . Let denote the random variable of , we have
which is geometrically distributed.
We can then compute the expectation of , conditioned by , as follows:
Moreover, it follows from the analysis of Phase 1 that the probability that an unexpected tag is still active after Phase 1 is . On the other hand, since represents the ID set of active unknown tags after Phase 1, recall (5) and , we can compute the probability of having active unexpected tags after Phase 1 as follows:
It can be noted that
follows the binomial distribution. Recall the relationship betweenand in (7), it holds that
Therefore, can be derived as
Injecting into completes the proof. ∎
After deriving as a function of , we seek the optimum, denoted by , which minimizes . To this end, we first establish an upper-bound of in the following lemma.
It holds that .
We write as a function of . Specifically, let . To prove the lemma, we show that for any it holds that where .
For any , we then have
The lemma is thus proved. ∎
Lemma 3 shows that falls into the range . We can thus search to find that minimises and then set and such that .
V-E BMTD parameter setting: summary
We conclude this section by streamlining the procedure of the parameter setting in the BMTD:
Set parameters in Phase 1: compute by Theorem 1 if the objective is to minimise the worst-case execution time; compute if the objective is to minimise the expected detection time; then the set of and is given such that or .
Following the above two steps, we can obtain all parameters in the BMTD.
Vi Cardinality estimation
In order to execute the BMTD, the reader needs to estimate the number of unexpected tags . In our work, we use the SRC estimator which is designed in  and is the current state-of-the-art solution. Denote by the estimated total number of tags in the system, then the cardinality can be approximated as if . Because the number of bits that set to one in Bloom filter is concentrated tightly around the mean  and , once the estimation is obtained, we can calculate the expectation of according to (9) with and use it as the estimator of .
The SRC estimator consists of two phases: rough estimation and accurate estimation. It is proven in  that SRC can obtain a rough estimation which at least equals to after its first phase. In the second phase, SRC can achieve that the relative estimation error is not greater than which is referred to as confidence range with the settings as follows: the frame size and the persistence probability .
We then analyse the overhead introduced to estimate the cardinality of . As proven in , the overhead of SRC estimator is at most , which is moderate for large-scale RFID systems with large and .
Vi-a Fast detection of missing event
In our estimation approach, we require that . In case where is close to , the estimation may not be accurate. Luckily, in this case, we can quickly detect a missing event in the cardinality estimation phase due to large .
Specifically, we analyze the SRC estimator’s capability of detecting missing event under large by comparing the pre-computed slots with those selected by the present tags. Recall the proof of Lemma 2, we can derive the detection probability in any given slot, defined as , as
Since the detections in different slots are independent of each other, the probability of detecting at least one missing tag event by the SRC estimator can be calculated as which is a increasing function of .
Fig. 3 illustrates the detection probability of SRC with the various number of missing tags under different unexpected tag population sizes. To obtain the figure, we set and . It is observed that in the cases that , , , SRC is able to detect at least a missing tag event with probability one when is not less than , , , which means that a missing event is detected by SRC and the reader does not need to invoke the BMTD. In the other side, in the cases that is less than , , , it holds that , respectively. With reference to the conclusion drawn from the Fig. 4, the BMTD can tolerate these levels of estimation error.
Vi-B Sensibility to estimation error
The estimation algorithm we use inevitably introduces error on , which may have a negative impact on the performance of the BMTD. In order to investigate this impact, we next illustrate the sensitivity of the detection time to the estimation error.
Fig. 4 shows the theoretically calculated expected detection time from (2) under different unexpected tag population sizes and various levels of estimation error for . All results here are normalized with respect to the expected detection time without estimation error, which can be represented as . As shown in the figure, the expected detection time based on the estimation is greater than the actual one almost in all levels of estimation error. But it is worth noticing that the expected detection time only increases by up to when , which is nearly same with that without estimation error. Even when , the departure from the detection time without estimation is only . Therefore, it can be concluded that BMTD is very robust to the estimation error.
Vi-C Enforcing detection reliability
Estimation error also has impact on the reliability of the BMTD as is calculated base on the estimated cardinality.
To enforce the detection reliability, we introduce more rounds to execute additional Bloom filters. The scheme works as follows: After receiving the Bloom filtering vector constructed by the active tags in the set in each round of Phase 2, the reader first counts the actual number of ’1’ bits in the filtering vector, defined as and uses it to compute the actual false positive probability, denoted by , as follows:
because an arbitrary unexpected tag maps to a ’1’ bit with a probability of out of .
Following (13), we have the observed protocol reliability, denoted by , as follows:
If , the reader adds one more round in Phase 2 to further detect the missing tag event until .
Vi-D Discussion on multi-reader case
In large-scale RFID systems deployed in a large area, multiple readers are thus deployed to ensure the full coverage for a larger number of tags in the interrogation region. In such scenarios, we leverage the approach proposed in  and employed in . The main idea is that a back-end server is used to synchronize all readers such that the RFID system with multiple readers operates as the single-reader case.
Specially, the back-end server calculates all the parameters involved in BMTD and constructs Bloom filter and sends them to all readers such that they broadcast the same para