FormalPara Chapter Roadmap

The rest of this chapter is organised as follows. Section 3.1 explains the motivation of studying dynamic tag population estimation and summarizes the contributions. Section 3.2 gives a brief review of existing tag population estimation algorithms. Section 3.3 introduces background knowledge on Extended Kalman filter and stochastic process. Section 3.4 formulates the dynamic tag estimation problem. Sections 3.5 and 3.6 present tag estimation in static and dynamic systems. Section 3.7 conducts theoretical performance analysis. Section 3.8 discusses the issues in practical environment. Section 3.9 shows the experimental results. Section 3.10 gives the summary.

3.1 Introduction

3.1.1 Context and Motivation

Recent years have witnessed an unprecedented development and application of the radio frequency identification (RFID) technology. As a promising low-cost technology, RFID is widely utilized in various applications ranging from inventory control [1, 2], supply chain management [3] to tracking/location [4, 5]. A standard RFID system has two types of devices: a set of RFID tags and one or multiple RFID readers (simply called tags and readers). A tag is typically a low-cost microchip labeled with a unique serial number (ID) to identify an object. A reader, on the other hand, is equipped with an antenna and can collect the information of tags within its coverage area.

Tag population estimation and counting is a fundamental functionality for many RFID applications such as warehouse management, inventory control and tag identification. For example, quickly and accurately estimating the number of tagged objects is crucial in establishing inventory reports for large retailers such as Wal-Mart [6]. Due to the paramount practical importance of tag population estimation, a large body of studies [7,8,9,10,11] have been devoted to the design of efficient estimation algorithms. Most of them, as reviewed in Sect. 3.2, are focused on the static scenario where the tag population is constant during the estimation process. However, many practical RFID applications, such as logistic control, are dynamic in the sense that tags may be activated or terminated as specialized in C1G2 standard [12], or the tagged objects may enter and/or leave the reader’s covered area frequently, thus resulting in tag population variation. In such dynamic applications, a fundamental research question is how to design efficient algorithms to dynamically trace the tag population quickly and accurately.

3.1.2 Summary of Contributions

In this chapter, we develop a generic framework of stable and accurate tag population estimation schemes for both static and dynamic RFID systems. By generic, we mean that our framework both supports the real-time monitoring and can estimate the number of tags accurately without any prior knowledge on the tag arrival and departure patterns. Our design is based on the extended Kalman filter (EKF) [13], a powerful tool in optimal estimation and system control. By performing Lyapunov drift analysis, we mathematically prove the efficiency and stability of our framework in terms of the boundedness of estimation error.

The main technical contributions of this chapter are articulated as follows. We formulate the system dynamics of the tag population for both static and dynamic RFID systems where the number of tags remains constant and varies during the estimation process. We design an EKF-based population estimation algorithm for static RFID systems and further enhance it to dynamic RFID systems by leveraging the cumulative sum control chart (CUSUM) to detect the population change. By employing Lyapunov drift analysis, we mathematically characterise the performance of the proposed framework in terms of estimation accuracy and convergence speed by deriving the closed-form conditions on the design parameters under which our scheme can stabilise around the real population size with bounded relative estimation error that tends to zero within exponential convergence rate. To the best of our knowledge, our work is the first theoretical framework that dynamically traces the tag population with closed form conditions on the estimation stability and accuracy.

3.2 Related Work

Due to its fundamental importance, tag population estimation has received significant research attention, which we briefly review in this section.

3.2.1 Tag Population Estimation for Static RFID Systems

Most of existing works are focused on the static scenario where the tag population is constant during the estimation process. The central question there is to design efficient algorithms quickly and accurately estimating the static tag population. Kodialam et al. design an estimator called PZE which uses the probabilistic properties of empty and collision slots to estimate the tag population size [14]. The authors then further enhance PZE by taking the average of the probability of idle slots in multiple frames as an estimator in order to eliminate the constant additive bias [7]. Han et al. exploit the average number of idle slots before the first non-empty slots to estimate the tag population size [15]. Later, Qian et al. develop Lottery-Frame scheme that employs geometrically distributed hash function such that the jth slot is chosen with prob. \(\frac {1}{2^{j+1}}\) [9]. As a result, the first idle slot approaches around the logarithm of the tag population and the frame size can be reduced to the logarithm of the tag population, thus reducing the estimation time. Subsequently, a new estimation scheme called ART is proposed in [10] based on the average length of consecutive non-empty slots. The design rational of ART is that the average length of consecutive non-empty slots is correlated to the tag population. ART is shown to have smaller variance than prior schemes. More recently, Zheng et al. propose another estimation algorithm, ZOE, where each frame just has a single slot and the random variable indicating whether a slot is idle follows Bernoulli distribution [11]. The average of multiple individual observations is used to estimate the tag population.

We would like to point out that the above research work does not consider the estimation problem for dynamic RFID systems and thus may fail to monitor the system dynamics in real time. Specifically, in typical static tag population estimation schemes, the final estimation result is the average of the outputs of multi-round executions. When applied to dynamic tag population estimation, additional estimation error occurs due to the variation of the tag population size during the estimation process.

3.2.2 Tag Population Estimation for Dynamic RFID Systems

Only a few propositions have tackled the dynamic scenario. The works in [16] and [17] consider specific tag mobility patterns that the tags move along the conveyor in a constant speed, while tags may move in and out by different workers from different positions, so these two algorithm cannot be applicable to generic dynamic scenarios. Subsequently, Xiao et al. develop a differential estimation algorithm, ZDE, in dynamic RFID systems to estimate the number of arriving and removed tags [18]. More recently, they further generalize ZDE by taking into account the snapshots of variable frame sizes [19]. Though the algorithms in [18] and [19] can monitor the dynamic RFID systems, they may fail to estimate the tag population size accurately, because they must use the same hash seed in the whole monitoring process, which cannot reduce the estimation variance. Using the same seed is an effective way in tracing tag departure and arrival, however, it may significantly limit the estimation accuracy, even in the static case.

Besides the limitations above, prior works do not provide formal analysis on the stability and the convergence rate. To fill this vide, we develop a generic framework for tag population estimation in dynamic RFID systems. By generic, we mean that our framework can both support real-time monitoring and estimate the number of tags accurately without the requirement for any prior knowledge on the tag arrival and departure patterns. As another distinguished feature, the efficiency and stability of our framework is mathematically established.

3.3 Technical Preliminaries

In this section, we briefly introduce the extended Kalman filter and some fundamental concepts and results in stochastic process which are useful in the subsequent analysis. The main notations used in this chapter are listed in Table 3.1.

Table 3.1 Main notations

3.3.1 Extended Kalman Filter

The extended Kalman filter is a powerful tool to estimate system state in nonlinear discrete-time systems. Formally, a nonlinear discrete-time system can be described as follows:

$$\displaystyle \begin{aligned} z_{k+1} &= f(z_k, x_k) + w^*_k \end{aligned} $$
(3.1)
$$\displaystyle \begin{aligned} y_k &= h(z_k) + u^*_k,\end{aligned} $$
(3.2)

where \(z_{k+1} \in \mathbb {R}^n\) denotes the state of the system, \(x_k \in \mathbb {R}^d\) is the controlled inputs and \(y_k \in \mathbb {R}^m\) stands for the measurement observed from the system. The uncorrelated stochastic variables \(w^*_k \in \mathbb {R}^n\) and \(u^*_k \in \mathbb {R}^m\) denote the process noise and the measurement noise, respectively. The functions f and h are assumed to be the continuously differentiable.

For the above system, we introduce an EKF-based state estimator given in Definition 3.1.

Definition 3.1 (Extended Kalman Filter [13])

A two-step discrete-time extended Kalman filter consists of state prediction and measurement update, defined as

  1. 1)

    Time update (prediction)

    $$\displaystyle \begin{aligned} \hat{z}_{k+1 | k} &= f(\hat{z}_{k | k},x_k) {} \end{aligned} $$
    (3.3)
    $$\displaystyle \begin{aligned} P_{k+1 | k} &= P_{k | k} + Q_k , {}\end{aligned} $$
    (3.4)
  2. 2)

    Measurement update (correction)

    $$\displaystyle \begin{aligned} \hat{z}_{k+1 | k+1} &= f(\hat{z}_{k+1 | k},x_k) + K_{k+1} v_{k+1} {} \end{aligned} $$
    (3.5)
    $$\displaystyle \begin{aligned} P_{k+1 | k+1} &= P_{k+1 | k} \left( 1- K_{k+1} C_{k+1} \right) {} \end{aligned} $$
    (3.6)
    $$\displaystyle \begin{aligned} K_{k+1} &= \frac{P_{k+1 | k} C_{k+1}}{P_{k+1 | k} {C_{k+1}}^2 + R_{k+1} }, {}\end{aligned} $$
    (3.7)

    where

    $$\displaystyle \begin{aligned} v_{k+1} &= y_{k+1} - h(\hat{z}_{k+1|k}) {} \end{aligned} $$
    (3.8)
    $$\displaystyle \begin{aligned} C_{k+1} &= \frac{\partial h({z}_{k+1})}{\partial {z}_{k+1}} \bigg |{}_{{z}_{k+1} = \hat{z}_{k+1|k} }. {}\end{aligned} $$
    (3.9)

Remark

In the above definition of extended Kalman filter, the parameters can be interpreted in our context as follows:

  • \(\hat {z}_{k+1 | k}\) is the prediction of z k+1 at the beginning of frame k + 1 given by the previous state estimate, while \(\hat {z}_{k+1 | k+1}\) is the estimate of z k+1 after the adjustment based on the measure at the end of frame k + 1.

  • v k+1, referred to as innovation, is the measurement residual in frame k  +  1. It represents the estimated error of the measure.

  • K k+1 is the Kalman gain. With reference to equation (3.5), it weighs the innovation v k+1 w.r.t. \(f(\hat {z}_{k+1 | k},x_k)\).

  • P k+1|k and P k+1|k+1, in contrast to the linear case, are not equal to the covariance of estimation error of the system state. Here, we will refer to them as pseudo-covariance.

  • Q k and R k are two tunable parameters which play the role as that of the covariance of the process and measurement noises in linear stochastic systems to achieve optimal filtering in the maximum likelihood sense. We will show later that Q k and R k also play an important role in improving the stability and convergence of our EKF-based estimators.

3.3.2 Boundedness of Stochastic Process

In order to analyse the stability of an estimation algorithm, we need to check the boundedness of the estimation error defined as follows:

$$\displaystyle \begin{aligned} e_{k|k-1} \triangleq z_{k} - \hat{z}_{k|k-1}. {}\end{aligned} $$
(3.10)

Due to probabilistic nature of the estimation algorithm, the estimation process is a stochastic process. Thus, we further introduce the following two mathematical definitions [20, 21] on the boundedness of stochastic process.

Definition 3.2 (Boundedness of Random Variable)

The stochastic process of the estimation error e k|k−1 is said to be bounded with probability one (w.p.o.), if there exists X > 0 such that

$$\displaystyle \begin{aligned} \lim_{k \to \infty} \sup_{k \ge 1} \mathbb P\{|e_{k|k-1}|>X \} =0.\end{aligned} $$
(3.11)

Definition 3.3 (Boundedness in Mean Square)

The stochastic process e k|k−1 is said to be exponentially bounded in the mean square with exponent ζ, if there exist real numbers ψ 1, ψ 2 > 0 and 0 < ζ < 1 such that

$$\displaystyle \begin{aligned} E[e_{k|k-1}^2] \le \psi_1 e_{1|0}^2 {\zeta}^{k-1} + \psi_2.\end{aligned} $$
(3.12)

To investigate the boundedness defined in Definition 3.2 and 3.3, we introduce the following lemma [22].

Lemma 3.1

Given a stochastic process V k (e k|k−1) and constants β̲, \(\overline \beta \) , τ  >  0 and 0  <  α  ≤ 1 with the following properties:

$$\displaystyle \begin{aligned} \underline \beta e_{k|k-1}^2 \le V_k (e_{k|k-1}) \le \overline\beta e_{k|k-1}^2 , {} \end{aligned} $$
(3.13)
$$\displaystyle \begin{aligned} E[V_{k+1} (e_{k+1|k}) | e_{k|k-1}] - V_k (e_{k|k-1}) \le -\alpha V_k (e_{k|k-1}) + \tau , {} \end{aligned} $$
(3.14)

then for any k ≥ 1 it holds that

  • the stochastic process e k|k−1 is exponentially bounded in the mean square, i.e.,

    $$\displaystyle \begin{aligned} \begin{array}{rcl} E[e_{k|k{-}1}^2] \le \frac{\overline\beta}{\underline \beta} E[e_{1|0}^2] (1{-}\alpha)^{k{-}1} {+} \frac{\tau}{\underline \beta} \sum_{j=1}^{k{-}2} {(1{-}\alpha)^j} \le \frac{\overline\beta}{\underline \beta} E[e_{1|0}^2] (1{-}\alpha)^{k{-}1} {+} \frac{\tau}{\underline \beta \alpha},\\ {} \end{array} \end{aligned} $$
    (3.15)
  • the stochastic process e k|k−1 is bounded w.p.o..

From Lemma 3.1, it can be known that if we can construct V k (e k|k−1), a function of e k|k−1, such that both its drift and \(\frac {V_k (e_{k|k-1})}{e^2_{k|k-1}}\) are bounded, i.e, (3.14) and (3.13) hold, then e k|k−1 is also bounded and the convergence rate depends on constant α mostly. Besides, it can be noted that Lemma 3.1 can only be implemented offline. To address this limit, we adjust Lemma 3.1 to an online version with time-varying parameters, which can be proven by the same method as in [21] and [23].

Lemma 3.2

If there exist a stochastic process V k (e k|k−1) and real numbers β , β k , τ k  >  0 and \(0\,<\,\alpha ^*_k\,\le \,1\) with the following properties:

$$\displaystyle \begin{aligned} V_1(e_{1|0}) \le \beta^* {e}_{1|0}^2, {} \end{aligned} $$
(3.16)
$$\displaystyle \begin{aligned} \beta_k {e}_{k|k-1}^2 \le V_k (e_{k|k-1}), {} \end{aligned} $$
(3.17)
$$\displaystyle \begin{aligned} E[V_{k+1} (e_{k+1|k}) | e_{k|k-1}] - V_k (e_{k|k-1}) \le -\alpha^*_k V_k (e_{k|k-1}) + \tau_k; {} \end{aligned} $$
(3.18)

then for any k ≥ 1 it holds that

  • the stochastic process e k|k−1 is exponentially bounded in the mean square, i.e.,

    $$\displaystyle \begin{aligned} E[e_{k|k-1}^2] \le \frac{\beta^*}{\beta_k} E[{e_{1|0}}^2]\prod_{i=1}^{k-1} {(1-\alpha^*_{i})} + \frac{1}{\beta_k} \sum_{i=1}^{k-2} \tau_{k-i-1}\prod_{j=1}^{i}{(1-\alpha^*_{k-j})}, \end{aligned} $$
    (3.19)
  • the stochastic process e k|k−1 is bounded w.p.o..

Remark

The conditions in Lemma 3.2 can be interpreted as follows: To prove the boundedness of e k|k−1, it is sufficient by constructing a function V k (e k|k−1) such that both its drift, i.e, (3.18), and \(\frac {V_k (e_{k|k-1})}{e^2_{k|k-1}}\), i.e, (3.16), (3.17), are bounded.

3.4 System Model and Problem Formulation

3.4.1 System Model

Consider a RFID system consisting of a reader and a mass of tags operating on one frequency channel. The number of tags is unknown a priori and can be constant or dynamic (time-varying), which we refer to as static and dynamic systems, respectively throughout this chapter. The MAC protocol for the RFID system is the standard framed-slotted ALOHA protocol, where the standard Listen-before-Talk mechanism is employed by the tags to respond the reader’s interrogation [24].

The reader initiates a series of frames indexed by an integer \(k \in \mathbb {Z_+}\). Each individual frame, referred to as a round, consists of a number of slots. The reader starts frame k by broadcasting a begin-round command with frame size L k , persistence probability r k and a random seed Rs k . When a tag receives a begin-round command, it uses a hash function h(⋅), L k , Rs k , and its ID to generate a random number i in the range [0, L k  − 1] and reply in slot i of frame k with probability r k .Footnote 1

Since every tag picks its own response slot individually, there may be zero, one, or more than one tags transmitting in a slot, which are referred to as idle, singleton, and collision slots, respectively. The reader is not assumed to be able to distinguish between a singleton or a collision slot, but it can detect an idle slot. We term both singleton and collision slots as occupied slots throughout this chapter. By collecting all replies in a frame, the reader can generate a bit-string B k illustrated as B k  = {⋯|0|0|1|0|1|1|⋯ }, where ‘0’ indicates an idle slot, and ‘1’ stands for an occupied one.

Subsequently, the reader finalizes the current frame by sending an end round command. Based on the number of idle slots, i.e., the number of ‘0’ in B k , the reader runs the estimation algorithm, detailed in the next section, to trace the tag population.

3.4.2 Tag Population Estimation Problem

Our objective is to design a stable and accurate tag population estimation algorithm for both static and dynamic systems. By stable and accurate we mean that

  • the estimation error of our algorithm is bounded in the sense of Definition 3.2 and 3.3 and the relative estimation error tends to zero;

  • the estimated population size converges to the real value with exponential rate.

Mathematically, we consider a large-scale RFID system of a reader and a set of tags with the unknown size z k in frame k which can be static or dynamic. Denote by \(\hat {z}_{k|k-1}\) the prior estimate of z k in the beginning of frame k. At the end of frame k, the reader updates the estimate \(\hat {z}_{k|k-1}\) to \(\hat {z}_{k|k}\) by running the estimation algorithm. Our designed estimation scheme need to guarantee the following properties:

  • \(\displaystyle \lim _{z_k\rightarrow \infty } \left |\frac {\hat {z}_{k|k-1}-z_k}{z_k}\right |=0\);

  • the converges rate is exponential.

3.5 Tag Population Estimation: Static Systems

In this section, we focus on the baseline scenario of static systems where the tag population is constant during the estimation process. We first establish the discrete-time model for the system dynamics and the measurement model using the bit string B k observed during frame k. We then present our EKF-based estimation algorithm.

3.5.1 System Dynamics and Measurement Model

Consider the static RFID systems where the tag population stays constant, the system state evolves as

$$\displaystyle \begin{aligned} z_{k+1} = z_{k}, {} \end{aligned} $$
(3.20)

meaning that the number of tags z k+1 in the system in frame k + 1 equals that in frame k.

In order to estimate z k , we leverage the measurement on the number of idle slots during a frame. To start, we study the stochastic characteristics of the number of idle slots.

Assume that the initial tag population z 0 falls in the interval \(z_0 \in [ {\underline{z}}_0, \overline {z}_0]\), yet the exact value of z 0 is unknown and should be estimated. The range \([\underline {z}_0, \overline {z}_0]\) can be a very coarse estimation that can be obtained by any existing population estimation method. Recall the system model that in frame k, the reader probes the tags with the frame size L k . Denote by variable N k the number of idle slots in frame k, that is, the number of ‘0’s in B k , we have the following results on N k according to [14, 25].

Lemma 3.3

If each tag replies in a random slot among the L k slots with probability r k , then it holds that \(N_k \sim {\mathcal {N}}[ \mu , \sigma ^2]\) for large L k and z k , where \(\mu = L_k (1- \frac {r_k}{L_k})^{z_k}\) and \(\sigma ^2 = L_k (L_k -1)(1- \frac {2r_k}{L_k})^{z_k} + L_k (1- \frac {r_k}{L_k})^{z_k} - {L_k}^2 (1- \frac {r_k}{L_k})^{2 z_k}\).

Lemma 3.4

For any 𝜖  > 0, there exists some M > 0, such that if z k  ≥ M or \(L_k =\hat {z}_{k|k-1} \ge M\) , then it holds that

$$\displaystyle \begin{aligned} \big|\mu - L_k e^{- r_k\rho} \big| \le \epsilon^* , {} \end{aligned} $$
(3.21)
$$\displaystyle \begin{aligned} \big|\sigma^2 - L_k (e^{- r_k\rho} - (1+ r^2_k \rho)e^{- 2r_k\rho}) \big| \le \epsilon^*, {} \end{aligned} $$
(3.22)

where \(\rho = \frac {z_k}{L_k}\) is referred to as the reader load factor.

Lemmas 3.3 and 3.4 imply that in large-scale RFID systems, we can use \(L_k e^{- r_k \rho }\) and \(L_k (e^{-r_k \rho } - (1+ r^2_k \rho )e^{- 2 r_k \rho })\) to approximate μ and σ 2.

At the end of each frame k, the reader gets a measure y k of the idle slot frequency defined as

$$\displaystyle \begin{aligned} y_k = \frac{N_k}{L_k}. {}\end{aligned} $$
(3.23)

Recall Lemma 3.3, it holds that y k is a Normal distributed random variable specified as follows: \(E[y_k] = e^{-r_k \rho }\) and \(Var[y_k] = \frac {1}{{L_k}} (e^{-r_k \rho } - (1+ r^2_k\rho )e^{- 2r_k\rho })\). Since there are z k tags reply in frame k with probability r k , the probability that a slot is idle, denoted as p(z k ), can be calculated as

$$\displaystyle \begin{aligned} p(z_k) = (1- \frac{r_k}{L_k})^{z_k} \approx e^{-\frac{r_k z_k}{L_k}}. {}\end{aligned} $$
(3.24)

Notice that for large z k , p(z k ) can be regarded as a continuously differentiable function of z k .

Using the language in the Kalman filter, we can write y k as follows:

$$\displaystyle \begin{aligned} y_k = p(z_k) + u_k, {}\end{aligned} $$
(3.25)

where, based on the statistic characteristics of y k , u k is a Gaussian random variable with zero mean and variance

$$\displaystyle \begin{aligned} Var[u_k] = \frac{1}{{L_k}} (e^{-r_k \rho} - (1+ r^2_k\rho)e^{- 2r_k\rho}). {}\end{aligned} $$
(3.26)

We note that u k measures the uncertainty of y k .

To summarise, the discrete-time model for static RFID systems is characterized by (3.20) and (3.25).

3.5.2 Tag Population Estimation Algorithm

Noticing that the system state characterised by (3.20) and (3.25) is a discrete-time nonlinear system, we thus leverage the two-step EKF described in Definition 3.1 to estimate the system state. In (3.7), the Kalman gain K k increases with Q k while decreases with R k . As a result, Q k and R k can be used to tune the EKF such that increasing Q k and/or decreasing R k accelerates the convergence rate but leads to larger estimation error. In our design, we set Q k to a constant q > 0 and introduce a parameter ϕ k as follows to replace R k to facilitate our demonstration:

$$\displaystyle \begin{aligned} R_k = \phi_k P_{k|k-1} {C_k}^2. {} \end{aligned} $$
(3.27)

It can be noted from (3.7) and (3.27) that K k is monotonously decreasing in ϕ k , i.e., a small ϕ k leads to quick convergence with the price of relatively high estimation error. Hence, choosing the appropriate value for ϕ k consists of striking a balance between the convergence rate and the estimation error. In our work, we take a dynamic approach by setting ϕ k to a small value ϕ ̲ but satisfying (3.64) at the first few rounds (J rounds) of estimation to allow the system to act quickly since the estimation in the beginning phase can be very coarse. After that we set ϕ k to a relatively high value \(\overline \phi \) to achieve high estimation accuracy.

Algorithm 1 Tag population estimation (static cases): executed by the reader

Require: z̲0, P 0|0, q, J, L, ϕ̲, \(\overline \phi \), maximum number of rounds k max

Ensure: Estimated tag population set \(S_z =\{\hat {z}_{k|k}: k \in [0, k_{max}] \}\)

1: Initialisation: \(\hat {z}_{0|0} \leftarrow \underline {z}_0\), Q 0 ← q, \(S_z = \{\hat {z}_{0|0}\}\)

2: for k = 1 to k max  do

3:   \(\hat {z}_{k|k-1} \leftarrow \hat {z}_{k-1|k-1}\), L k  ← L, \(r_{k} \leftarrow 1.59L_k/\hat {z}_{k|k-1}\), P k|k−1 ← P k−1|k−1 + Q k−1

4:   Generate a new random seed Rs k and broadcast (L k , r k , Rs k )

5:   Run Listen-before-Talk protocol

6:   Obtain the number of idle slots N k , and compute y k and v k using (3.23) and (3.8)

7:   Q k  ← q

8:   if k ≤ J then

9:      ϕ k  ←ϕ̲

10:   else

11:      \(\phi _k \leftarrow \overline \phi \)

12:   end if

13:   Calculate R k and K k using (3.27) and (3.7)

14:   Update \(\hat {z}_{k|k}\) and P k|k using (3.5) and (3.6)

15:   \(S_z \leftarrow S_z \ {\cup } \ \{\hat {z}_{k|k}\}\)

16: end for

Now, we present our tag population estimation algorithm in Algorithm 1 where P 0|0, q can be set to some constants straightforward since the performance mostly depends on ϕ k and k max is the pre-configured time horizon during which the system needs to be monitored. The major procedures can be summarised as:

  1. 1.

    In the beginning of frame k: prediction (line 3). The reader first predicts the number of tags based on the estimation at the end of frame k  − 1. The predicted value is defined as \(\hat {z}_{k|k-1}\). Then the reader sets the persistence probability r k following Lemma 3.8 and z k is set to \(\hat {z}_{k|k-1}\).

  2. 2.

    Line 4–5. The reader launches the Listen-before-talk protocol as introduced in 3.4.1 in order to receive the feedbacks from tags.

  3. 3.

    At the end of frame k: correction (line 6–14). The reader computes N k based on B k and further calculates y k and v k from N k . It then updates the prediction with the corrected estimate \(\hat {z}_{k|k}\) following (3.5).

We will theoretically establish the stability and accuracy of the algorithm in Sect. 3.7.

3.6 Tag Population Estimation: Dynamic Systems

In this section, we further tackle the dynamic case where the tag population may vary during the estimation process. The objective for the dynamic systems is to promptly detect the global tag papulation change and accurately estimate the quantity of this change. To that end, we first establish the system model and then present our estimation algorithm.

3.6.1 System Dynamics and Measurement Model

In dynamic RFID systems, we can formulate the system dynamics as

$$\displaystyle \begin{aligned} z_{k+1} = z_{k} + w_k, {} \end{aligned} $$
(3.28)

where the tag population z k+1 in frame k  +  1 consists of two parts: (1) the tag population in frame k and (2) a random variable w k which accounts for the stochastic variation of tag population resulting from the tag arrival/departure during frame k. Notice that w k is referred to as process noise in Kalman filters and the appropriate characterisation of w k is crucial in the design of stable Kalman filters, which will be investigated in detail later. Besides, the measurement model is the same as the static case. Hence, the discrete-time model for dynamic RFID systems can be characterized by (3.28) and (3.25).

3.6.2 Tag Population Estimation Algorithm

In the dynamic case, we leverage the two-step EKF to estimate the system state combined with the CUSUM test to further trace the tag population fluctuation.

Algorithm 2 Tag population estimation (unified framework): executed by the reader

Require: z̲0, P 0|0, q, J, L, ϕ̲, \(\overline \phi \), maximum number of rounds k max

Ensure: Estimation set \(S_z =\{\hat {z}_{k|k}: k \in [0, k_{max}] \}\)

1: Initialisation: \(\hat {z}_{0|0} \leftarrow \underline {z}_0\), Q 0 ← q, \(S_z = \{\hat {z}_{0|0}\}\)

2: for k = 1 to k max  do

3:   \(\hat {z}_{k|k-1} \leftarrow \hat {z}_{k-1|k-1}\), L k  ← L, \(r_{k} \leftarrow 1.59L_k/\hat {z}_{k|k-1}\), P k|k−1 ← P k−1|k−1 + Q k−1

4:   Generate a new seed Rs k and broadcast (L k , Rs k ) and run Listen-before-Talk protocol

5:   Obtain the number of idle slots N k , and compute y k and v k using (3.23) and (3.8)

6:   Q k  ← q

7:   if k ≤ J then

8:      ϕ k  ←ϕ̲

9:   else

10:      Execute Algorithm 3

11:      ϕ k  ←output of Algorithm 3

12:   end if

13:   Calculate R k and K k using (3.27) and (3.7), and update \(\hat {z}_{k|k}\) and P k|k using (3.5) and (3.6)

14:   \(S_z \leftarrow S_z \ {\cup } \ \{\hat {z}_{k|k}\}\)

15: end for

Algorithm 3 CUSUM test: executed by the reader in frame k

Require: Υ, θ

Ensure: ϕ k

1: Initialisation: \({g}_0^+ \leftarrow 0\), \({g}_0^- \leftarrow 0\)

2: Compute Φ k using equation (3.29)

3: \({g}_k^+\leftarrow \) (3.30), \({g}_k^- \leftarrow \) (3.31)

4: if \({g}_k^+ >\theta \) or \({g}_k^- <-\theta \) then

5:   δ ← 1, ϕ k  ← φ 1(δ), \({g}_k^+ \leftarrow 0\), \({g}_{k}^-\leftarrow 0\)

6: else

7:   δ ← 0, ϕ k  ← φ 1(δ)

8: end if

9: Return ϕ k

Our main estimation algorithm is illustrated in Algorithm 2. The difference compared to the static scenario is that tag population variation needs to be detected by the CUSUM test presented in Algorithm 3 in the next subsection and the output of Algorithm 3 acts as a feedback to ϕ k , meaning ϕ k is no more a constant after the first J rounds as the static case due to the tag population variation. Specifically, if a change on the tag population is detected in frame k, ϕ k is set to ϕ ̲ to quickly react to the change, otherwise ϕ k sticks to \(\overline \phi \) to stabilize the estimation. The overall structure of the estimation algorithm is illustrated in Fig. 3.1. We note that in the case where z k is constant, Algorithm 2 degenerates to Algorithm 1.

Fig. 3.1
figure 1

Estimation algorithm diagram: dashed box indicates the EKF

3.6.3 Detecting Tag Population Change: CUSUM Test

The CUSUM Detection Framework

We leverage the CUSUM test to detect the change of tag population and further adjust ϕ k . CUSUM test is a sequential analysis technique typically used for change detection [26]. It is shown to be asymptotically optimal in the sense of the minimum detection time subject to a fixed worst-case expected false alarm rate [27].

In the context of dynamic tag population detection, the reader monitors the innovation process \(v_k=y_k- p(\hat z_{k|k-1})\). If the number of the tags population is constant, v k equals to u k which is a Gaussian process with zero mean. In contrast, upon the system state changes, i.e., tag population changes, v k drifts away from the zero mean. In our design, we use Φ k as a normalised input to the CUSUM test by normalising v k with its estimated standard variance, specified as follows:

$$\displaystyle \begin{aligned} \Phi_k = \frac{v_k}{\sqrt{(P_{k|k-1}+Q_{k-1}){C_k}^2 + Var[u_k] \big|{}_{z_k = \hat z_{k|k-1}}}}. {} \end{aligned} $$
(3.29)

The reader further updates the CUSUM statistics \({g}_k^+\) and \({g}_k^-\) as follows:

$$\displaystyle \begin{aligned} {g}_k^+ &= \max \{0, {g}_{k-1}^+ +\Phi_k - \Upsilon\}, {} \end{aligned} $$
(3.30)
$$\displaystyle \begin{aligned} {g}_k^- &= \min \{0, {g}_{k-1}^- +\Phi_k +\Upsilon\},\ {} \end{aligned} $$
(3.31)
$$\displaystyle \begin{aligned} {g}_k^+ &= {g}_k^- = 0, \text{if} \ \delta =1, \end{aligned} $$
(3.32)

where \({g}_0^+\,=\,0\) and \({g}_0^-\,=0\). And Υ  ≥ 0, referred to as reference value, is a filter design parameter indicating the sensitivity of the CUSUM test to the fluctuation of Φ k , Moreover, by δ we define an indicator flag indicating tag population change:

$$\displaystyle \begin{aligned} \begin{array}{rcl} \delta= \begin{cases} 1 &\displaystyle \text{if} \ {g}_k^+ > \theta \ \text{or}\ {g}_k^- <-\theta, \\ 0 &\displaystyle \text{otherwise}, \end{cases} \end{array} \end{aligned} $$
(3.33)

where θ > 0 is a pre-specified CUSUM threshold.

The detailed procedure of the change detection is illustrated in Algorithm 3 where φ 1(δ) is used to assign the value to ϕ k according to whether the system state changes and is shown in (3.37).

Parameter Tuning in CUSUM Test

The choice of the threshold θ and the drift parameter Υ has a directly impact on the performance of the CUSUM test in terms of detection delay and false alarm rate. Formally, the average running length (ARL) L(μ ) is used to denote the duration between two actions [28]. For a large θ, L(μ ) can be approximated as Footnote 2

$$\displaystyle \begin{aligned} \begin{array}{rcl} L(\mu^*) = \begin{cases} \Theta(\theta),&\displaystyle \text{if}\ \mu^* \neq 0,\\ \Theta(\theta^2),&\displaystyle \text{if}\ \mu^* = 0, \end{cases} {} \end{array} \end{aligned} $$
(3.34)

where μ denotes the mean of the process Φ k .

In our context, ARL corresponds to the mean time between two false alarms in the static case and the mean detection delay of the tag population change in the dynamic case. It is easy to see from (3.34) that a higher value of θ leads to lower false alarm rate at the price of longer detection delay. Therefore, the choices of θ and Υ consists of a tradeoff between the false alarm rate and the detection delay.

Recall that Φ k can be approximated to a white noise process, i.e, \(\Phi _k \sim {\mathcal {N}}[ \mu ^*, {\sigma ^*}^2]\) with μ  = 0, σ  = 1 if the system state does not change. Generically, as recommended in [29], setting θ and Υ as follows achieves good ARL from the engineering perspective.

$$\displaystyle \begin{aligned} \begin{array}{rcl} \theta &\displaystyle =&\displaystyle 4 \sigma^*, {} \end{array} \end{aligned} $$
(3.35)
$$\displaystyle \begin{aligned} \begin{array}{rcl} \Upsilon &\displaystyle =&\displaystyle \mu^* + 0.5 \sigma^*. {} \end{array} \end{aligned} $$
(3.36)

In the CUSUM framework, we set ϕ k by φ 1(δ) as follows:

$$\displaystyle \begin{aligned} \begin{array}{rcl} \varphi_1(\delta) = \begin{cases} \underline \phi,&\displaystyle \text{if}\ \delta =1, \\ \overline \phi,&\displaystyle \text{if}\ \delta =0. \end{cases} {} \end{array} \end{aligned} $$
(3.37)

The rationale is that once a change on the tag population is detected in frame k, ϕ k is set to ϕ ̲ to quickly react to the change, while ϕ k sticks to \(\overline \phi \) when no system change is detected.

3.7 Performance Analysis

In this section, we establish the stability and the accuracy of our estimation algorithms for both static and dynamic cases.

3.7.1 Static Case

Our analysis is composed of two steps. We first derive the estimation error and then establish the stability and the accuracy of Algorithm 1 in terms of the boundedness of estimation error.

Computing Estimation Error

We first approximate the non-linear discrete system by a linear one. To that end, as the function p(z k ) is continuously differentiable at \(z_{k} = \hat {z}_{k|k-1}\), using the Taylor expansion, we have

$$\displaystyle \begin{aligned} p(z_{k}) = p(\hat{z}_{k|k-1}) + C_{k} (z_{k}-\hat{z}_{k|k-1}) + \chi (z_{k},\hat{z}_{k|k-1}), {} \end{aligned} $$
(3.38)

where

$$\displaystyle \begin{aligned} &C_{k} = -\frac{r_k \rho}{e^{r_k \rho} \hat{z}_{k|k-1}}, {} \end{aligned} $$
(3.39)
$$\displaystyle \begin{aligned} &\chi (z_{k},\hat{z}_{k|k-1}) = \sum_{j=2}^{\infty} { \frac{1}{e^{r_k \rho} j!}(r_k \rho-\frac{r_k \rho z_{k}}{\hat{z}_{k|k-1}})^j}.{} \end{aligned} $$
(3.40)

Regarding the convergence of \(\chi (z_{k},\hat {z}_{k|k-1})\) in (3.40), assume that

$$\displaystyle \begin{aligned} z_{k} = a^{\prime}_k \hat{z}_{k|k-1}, {} \end{aligned} $$
(3.41)

we can obtain the following boundedness of the residual for the case \(|a^{\prime }_k-1|<\frac {1}{r_k \rho }\):

$$\displaystyle \begin{aligned} &|\chi (z_{k},\hat{z}_{k|k-1})| = \frac{(r_k \rho)^2(\hat{z}_{k|k-1} - z_{k})^2}{e^{r_k \rho} {\hat{z}_{k|k-1}}^2}\sum_{j=0}^{\infty} { \frac{(r_k \rho)^j}{ (j+2)!}\Big|1-\frac{z_{k}}{\hat{z}_{k|k-1}} \Big|{}^j} \end{aligned} $$
(3.42)
$$\displaystyle \begin{aligned} &\le \frac{(r_k \rho)^2(\hat{z}_{k|k-1} - z_{k})^2}{2e^{(r_k \rho)} { \hat{z}_{k|k-1}}^2 [1-\big|{(r_k \rho)}(1-\frac{z_{k}}{\hat{z}_{k|k-1}}) \big|]} \le \frac{(r_k \rho)^2(\hat{z}_{k|k-1} - z_{k})^2}{2e^{(r_k \rho)} a_k { \hat{z}_{k|k-1}}^2}, \end{aligned} $$
(3.43)

where

$$\displaystyle \begin{aligned} \begin{array}{rcl} a_k = 1-(r_k \rho)|1-a^{\prime}_k|. {} \end{array} \end{aligned} $$
(3.44)

Recall the definition of the estimation error in (3.10) and using (3.20), (3.3) and (3.5), we can derive the estimation error e k+1|k as follows:

$$\displaystyle \begin{aligned} e_{k+1|k} =& z_{k+1} - \hat z_{k+1|k} = z_k - \hat z_{k|k} = z_k - \hat z_{k|k-1}\\ &- K_k \left[ C_k (z_k - \hat z_{k|k-1}) + \chi (z_{k},\hat{z}_{k|k-1}) + u_k\right] \\ =& (1- K_k C_k) e_{k|k-1} + s_k + m_k, {} \end{aligned} $$
(3.45)

where s k and m k are defined as

$$\displaystyle \begin{aligned} s_k &= - K_k u_k {}, \end{aligned} $$
(3.46)
$$\displaystyle \begin{aligned} m_k &= - K_k \chi (z_{k},\hat{z}_{k|k-1}). {} \end{aligned} $$
(3.47)

Boundedness of Estimation Error

Having derived the dynamics of the estimation error, we now state the main result on the stochastic stability and accuracy of Algorithm 1.

Theorem 3.1

Consider the discrete-time stochastic system given by (3.20) and (3.25) and Algorithm 1 , the estimation error e k|k−1 defined by (3.10) is exponentially bounded in mean square and bounded w.p.o., if the following conditions hold:

  1. 1.

    there are positive numbers q̲, \(\overline q\) , ϕ̲ and \(\overline \phi \) such that the bounds on Q k and ϕ k are satisfied for every k  ≥ 0, as in

    $$\displaystyle \begin{aligned} \underline q &\le Q_k \le \overline q, {} \end{aligned} $$
    (3.48)
    $$\displaystyle \begin{aligned} \underline \phi &\le \phi_k \le \overline \phi, {} \end{aligned} $$
    (3.49)
  2. 2.

    The initialization must follow the rules

    $$\displaystyle \begin{aligned} P_{0|0} &>0 {}, \end{aligned} $$
    (3.50)
    $$\displaystyle \begin{aligned} |e_{1|0}| &\le \epsilon {} \end{aligned} $$
    (3.51)

    with positive real number 𝜖 > 0.

Remark

By referring to the design objective posed in Sect. 3.4, Theorem 3.1 prove the following properties of our estimation algorithm:

  • the estimation error of our algorithm is bounded in mean square and the relative estimation error tends to zero;

  • the estimated population size converges to the real value with exponential rate.

Moreover, the conditions in Theorem 3.1 can be interpreted as follows:

  1. 1.

    The inequalities (3.48) and (3.49) can be satisfied by the configuring the correspondent parameters in Algorithm 1, which guarantees the boundedness of the pseudo-covariance P k|k−1 as shown later.

  2. 2.

    The inequality (3.50) consists of establishing positive P k|k−1 for every k ≥ 1.

  3. 3.

    As a sufficient condition for stability, the upper bound 𝜖 may be too stringent. As shown in the simulation results, stability is still ensured even with a relatively large 𝜖.

Before the proof of Theorem 3.1, we first state several auxiliary lemmas to streamline the proof and show how to apply these lemmas to prove Theorem 3.1 subsequently.

Lemma 3.5

Under the conditions of Theorem 3.1 , if P 0|0 > 0, there exist \(\underline p_{k},\overline p_{k}>0\) such that the pseudo-covariance P k|k−1 is bounded for every k ≥ 1, i.e.,

$$\displaystyle \begin{aligned} \underline p_{k} \le P_{k|k-1} \le \overline p_k. \end{aligned} $$
(3.52)

Proof

Recall (3.4) and (3.6), we have P k|k−1 ≥ Q k−1, and

$$\displaystyle \begin{aligned} P_{k|k-1} &= P_{k-1|k-2} (1-K_{k-1} C_{k-1}) + Q_{k-1} \\ &= P_{k-1|k-2} \left( 1- \frac{P_{k-1|k-2} {C_{k-1}}^2}{{P_{k-1|k-2} {C_{k-1}}^2 + R_{k-1}}}\right) + Q_{k-1}. {} \end{aligned} $$
(3.53)

Following the design of R k in (3.27) and by iteration, we further get

$$\displaystyle \begin{aligned} P_{k|k-1} &= P_{k-1|k-2} \left( 1-\frac{1}{1+ \phi_{k-1}} \right) + Q_{k-1} \\ &= P_{1|0} \prod_{i=1}^{k-1} \left( 1-\frac{1}{1+ \phi_{i}} \right) + \sum_{i=0}^{k-2} {Q_i \prod_{j=i}^{k-2} \left( 1-\frac{1}{1+ \phi_{j+1}} \right)} + Q_{k-1}. {} \end{aligned} $$

Since ϕ k and Q k are controllable parameters, we can set \(\phi _k \le \overline \phi \) and \(Q_k \le \overline q\) for every k ≥ 0 in Algorithm 1, where \(\overline \phi ,\overline q >0\). Consequently, we have

$$\displaystyle \begin{aligned} P_{k|k-1} & \le P_{1|0} \left( 1-\frac{1}{1+ \overline \phi} \right)^{k-1} + {\overline q}\sum_{j=1}^{k-1} {\left( 1-\frac{1}{1+ \overline \phi} \right)^j} + Q_{k-1} \\ &\le (P_{0|0} + Q_0) \left( 1-\frac{1}{1+ \overline \phi} \right)^{k-1} + {\overline q} {\overline \phi} + Q_{k-1} \end{aligned} $$
(3.54)

Let \(\overline p_{k}= ((P_{0|0} + Q_0) \left ( 1-\frac {1}{1+ \overline \phi } \right )^{k-1}+ {\overline q} {\overline \phi } + Q_{k-1}\) and p ̲ k  = Q k−1, we have \(\underline p_{k} \le P_{k|k-1} \le \overline p_{k}\). □

Lemma 3.6

Let \(\alpha _k\triangleq \frac {1}{1+ \phi _{k}}\) , it holds that

$$\displaystyle \begin{aligned} \frac{(1-K_k C_k)^2}{P_{k+1|k}} e_{k|k-1}^2 \le (1-\alpha_k) \frac{e_{k|k-1}^2}{P_{k|k-1}},\ \forall k\ge 1. {} \end{aligned} $$
(3.55)

Proof

From (3.53), we have

$$\displaystyle \begin{aligned} P_{k+1|k} = P_{k|k-1} \left( 1-K_k C_k \right) + Q_{k} \ge P_{k|k-1} \left( 1-K_k C_k \right). {} \end{aligned} $$
(3.56)

By substituting it into the left-hand side of (3.55) and using the fact that R k  = ϕ k P k|k−1 C k 2 for every k ≥ 1, we get

$$\displaystyle \begin{aligned} \frac{(1-K_k C_k)^2}{P_{k+1|k}} e_{k|k-1}^2 &\le \frac{(1-K_k C_k)^2}{P_{k|k-1} \left( 1-K_k C_k \right)} e_{k|k-1}^2 \le (1-K_k C_k) \frac{{e_{k|k-1}}^2 }{P_{k|k-1}} \\ &\le \left( 1-\frac{1}{1+ \phi_{k}} \right) \frac{e_{k|k-1}^2 }{P_{k|k-1}}. \end{aligned} $$

We are thus able to prove (3.55). □

Lemma 3.7

Let \(\displaystyle b_k \triangleq \frac {r_k\rho (4 a_k \phi _{k}+1-a_k)}{4 a_k^2 \phi _{k}(1+\phi _{k}) \hat {z}_{k|k-1} P_{k|k-1}}\) , it holds that

$$\displaystyle \begin{aligned} \frac{m_k [2(1-K_k C_k)e_{k|k-1}+m_k]}{P_{k+1|k}} \le b_k |\hat{z}_{k|k-1} - z_{k}|{}^3. {} \end{aligned} $$
(3.57)

Proof

From (3.47), we get the following expansion

$$\displaystyle \begin{aligned} \frac{m_k [2(1-K_k C_k)e_{k|k-1}+m_k]}{P_{k+1|k}} = \frac{1}{P_{k+1|k}} \frac{-P_{k|k-1} C_k}{P_{k|k-1} {C_k}^2 + R_k} \chi(z_k,\hat z_{k|k-1}) \\ \cdot \Bigg[ 2\left( 1- \frac{P_{k|k-1} {C_k}^2}{P_{k|k-1} {C_k}^2 + R_k}\right) e_{k|k-1} - \frac{P_{k|k-1} C_k}{P_{k|k-1} {C_k}^2 + R_k} \chi(z_k,\hat z_{k|k-1}) \Bigg]. \end{aligned} $$
(3.58)

It then follows from (3.39), (3.41) and (3.56) that

$$\displaystyle \begin{aligned} &\hspace{-2pc}\frac{m_k [2(1-K_k C_k)e_{k|k-1}+m_k]}{P_{k+1|k}}\\ \le &\frac{1}{P_{k|k-1}( 1-K_k C_k)} \frac{-P_{k|k-1} C_k}{P_{k|k-1} {C_k}^2 + R_k} \frac{(r_k \rho)^2(\hat{z}_{k|k-1} - z_{k})^2}{2e^{r_k \rho} a_k { \hat{z}_{k|k-1}}^2}\\ &\cdot \Bigg[ 2\left( 1- \frac{P_{k|k-1} {C_k}^2}{P_{k|k-1} {C_k}^2 + R_k}\right) |\hat{z}_{k|k-1} - z_{k}|\\ & - \frac{P_{k|k-1} C_k}{P_{k|k-1} {C_k}^2 + R_k} \frac{(r_k \rho)^2(\hat{z}_{k|k-1} - z_{k})^2}{2e^{1.59} a_k { \hat{z}_{k|k-1}}^2} \Bigg] \\ \le& \frac{r_k\rho(4 a_k \phi_{k}+1-a_k)}{4 a_k^2 \phi_{k}(1+\phi_{k}) \hat{z}_{k|k-1} P_{k|k-1}} |\hat{z}_{k|k-1} - z_{k}|{}^3. \end{aligned} $$

We are thus able to prove (3.57).

Lemma 3.8

\(\displaystyle E \left [\frac {{s_k}^2}{P_{k+1|k}} \big | e_{k|k-1} \right ] \le \frac {2.46\hat {z}_{k|k-1}}{\phi _{k} (1+\phi _{k}) r_k P_{k|k-1}}\) when r k ρ = 1.59.

Proof

From (3.46), we have \(E \left [\frac {s_k^2}{P_{k+1|k}} \big | e_{k|k-1} \right ] = \frac {K_k^2 E[u_k^2]}{P_{k+1|k}}\). With (3.7), (3.26) and (3.56), we have

$$\displaystyle \begin{aligned} E \left[\frac{s_k^2}{P_{k+1|k}} \big| e_{k|k-1} \right] \le \frac{e^{2r_k \rho}\hat{z}_{k|k-1}}{\phi_{k} (1+\phi_{k}) P_{k|k-1} \rho r_k^2} (e^{-r_k \rho} - (1+ r^2_k\rho)e^{- 2r_k\rho}). \end{aligned} $$

Since item \(E \left [\frac {s_k^2}{P_{k+1|k}} \big | e_{k|k-1} \right ]\) influences the estimation accuracy, we set the optimal persistence probability to minimize this item. Denote \(\Lambda (r_k)=\frac {e^{2r_k \rho }}{r_k^2}(e^{-r_k \rho } - (1+ r^2_k\rho )e^{- 2r_k\rho })\), we have

$$\displaystyle \begin{aligned} \frac{\mathrm{d}\Lambda}{\mathrm{d}r_k} =\frac{(r_k\rho-2)e^{r_k\rho}+2}{r^3_k}. \end{aligned} $$

Since r k ρ > 0 and \(\frac {\mathrm {d}((r_k\rho -2)e^{r_k\rho }+2)}{\mathrm {d}r_k \rho }=(r_k\rho -1)e^{r_k\rho }\) which is greater zero if r k ρ > 1 and is smaller than zero if r k ρ < 1, and 1) if r k ρ = 1, \(\frac {\mathrm {d}\Lambda }{\mathrm {d}r_k}<0\); 2) if r k ρ = 0, \(\frac {\mathrm {d}\Lambda }{\mathrm {d}r_k}=0\); 3) if r k ρ = 2, \(\frac {\mathrm {d}\Lambda }{\mathrm {d}r_k}>0\), there exists a unique solution r k ρ ∈ (1, 2) for \(\frac {\mathrm {d}\Lambda }{\mathrm {d}r_k}=0\) such that Λ(r k ) is minimized. Searching in (1, 2), we find the optimal r k ρ = 1.59. Therefore, we can obtain that

$$\displaystyle \begin{aligned} E \left[\frac{s_k^2}{P_{k+1|k}} \big| e_{k|k-1} \right] \le \frac{2.46\hat{z}_{k|k-1}}{\phi_{k} (1+\phi_{k}) r_k P_{k|k-1}} \triangleq \xi_k, {} \end{aligned} $$
(3.59)

which completes the proof. □

Armed with the above auxiliary lemmas, we next prove Theorem 3.1.

Proof of Theorem 3.1

First, we construct the following Lyapunov function to define the stochastic process:

$$\displaystyle \begin{aligned} V_k (e_{k|k-1}) = \frac{e_{k|k-1}^2}{P_{k|k-1}}, \end{aligned}$$

which satisfies (3.4) and (3.50) as P k|k−1 > 0.

Next, we use Lemma 3.2 to develop the proof. Because it follows from Lemma 3.5 that the properties (3.16) and (3.17) in Lemma 3.2 are satisfied, the main task left is to prove (3.18).

From (3.45), expanding V k+1(e k+1|k) leads to

$$\displaystyle \begin{aligned} V_{k+1} (e_{k+1|k}) =& \frac{e_{k+1|k}^2}{P_{k+1|k}} = \frac{[(1- K_k C_k) e_{k|k-1} + s_k + m_k]^2}{P_{k+1|k}} =\frac{(1-K_k C_k)^2}{P_{k+1|k}} e_{k|k-1}^2 \\ &+ \frac{m_k [2(1-K_k C_k)e_{k|k-1}+m_k]}{P_{k+1|k}} + \frac{2s_k [(1-K_k C_k)e_{k|k-1}+m_k]}{P_{k+1|k}} \\ &+ \frac{s_k^2}{P_{k+1|k}}. \end{aligned} $$

Furthermore, by Lemmas 3.6, 3.7 and 3.8 and some algebraic operations, we have

$$\displaystyle \begin{aligned} E\left[V_{k+1} (e_{k+1|k}) |e_{k|k-1}\right]- V_{k}(e_{k|k-1}) \le -\alpha_k V_{k}(e_{k|k-1}) + b_k |e_{k|k-1}|{}^3 + \xi_k. {} \end{aligned} $$
(3.60)

To obtain the same formation with (3.18), we further proceed to bound the second term in b k in (3.60) as follows:

$$\displaystyle \begin{aligned} b_k |e_{k|k-1}|{}^3 \le \varsigma \alpha_k V_{k}(e_{k|k-1}), {} \end{aligned} $$
(3.61)

where 0 < ς < 1 is preset controllable parameter. To prove the above inequality, we need to prove \(|e_{k|k-1}| \le \frac {4\varsigma a_k^2 \phi _{k}\hat {z}_{k|k-1}}{1.59(4a_k \phi _{k}+1.59|a^{\prime }_k-1|)}\). Since \(|e_{k|k-1}|=|a^{\prime }_k-1|\hat {z}_{k|k-1}\), it suffices to show

$$\displaystyle \begin{aligned} |{a^{\prime}_k}-1| \le \frac{4\varsigma a_k^2 \phi_{k}}{1.59(4{a_k} \phi_{k}+1.59|a^{\prime}_k-1|)}, {} \end{aligned} $$
(3.62)

which is equivalent to (1 − 4ϕ k  − 4ϕ k ς)a k 2 + (4ϕ k  − 2)a k  + 1 ≤ 0 because of (3.44). With some algebraic operations, we obtain (1) \(\frac {1-2\phi _{k}-2\sqrt {\phi _{k}(\phi _{k}+\varsigma )}}{1-4\phi _{k}(1+\varsigma )}<a_k \le 1\), if \(\phi _{k}<\frac {1}{4(1+\varsigma )}\); and (2) \(\frac {2\phi _{k}-1+2\sqrt {\phi _{k}(\phi _{k}+\varsigma )}}{4\phi _{k}(1+\varsigma )-1} \le a_k \le 1\), if \(\phi _{k}>\frac {1}{4(1+\varsigma )}\); and (3) \(\frac {1+\varsigma }{1+2\varsigma } \le a_k \le 1\), if \(\phi _{k}=\frac {1}{4(1+\varsigma )}\). Since it holds that \(\frac {2\phi _{k}-1+2\sqrt {\phi _{k}(\phi _{k}+\varsigma )}}{4\phi _{k}(1+\varsigma )-1} < \frac {1+\varsigma }{1+2\varsigma }\) for every ς and \(\frac {2\phi _{k}-1+2\sqrt {\phi _{k}(\phi _{k}+\varsigma )}}{4\phi _{k}(1+\varsigma )-1}\) will decrease monotonically to \(\frac {1}{1+\varsigma }\) for a large ϕ k , we have in the worst case for \(\phi _{k} \ge \frac {1}{4(1+\varsigma )}\),

$$\displaystyle \begin{aligned} \frac{1+\varsigma}{1+2\varsigma} \le a_k \le 1. {} \end{aligned} $$
(3.63)

It follows from the analysis that if we set

$$\displaystyle \begin{aligned} \phi_{k} \ge \frac{1}{4(1+\varsigma)}, {} \end{aligned} $$
(3.64)

(3.62) can be satisfied. Moreover, it holds that

$$\displaystyle \begin{aligned} |a^{\prime}_k -1| \le \frac{0.63\varsigma}{1+2\varsigma}. {} \end{aligned} $$
(3.65)

That is,

$$\displaystyle \begin{aligned} |e_{k|k-1}| \le \epsilon_k, {} \end{aligned} $$
(3.66)

where \(\epsilon _k \triangleq \frac {0.63\varsigma }{1+2\varsigma } \hat {z}_{k|k-1}\). By setting ϕ k in (3.64), for |e k|k−1|≤ 𝜖 k , we thus have

$$\displaystyle \begin{aligned} E\left[V_{k+1} (e_{k+1|k}) |e_{k|k-1}\right]- V_{k}(e_{k|k-1}) \le -(1-\varsigma)\alpha_k V_{k}(e_{k|k-1}) + \xi_k. {} \end{aligned} $$
(3.67)

Therefore, we are able to apply Lemma 3.2 to prove Theorem 3.1 by setting \(\epsilon = \frac {0.63\varsigma }{1+2\varsigma } \hat {z}_{1|0}\), \(\beta ^* = \frac {1}{Q_0}\), \(\alpha ^*_k = (1-\varsigma )\alpha _k\), \(\beta _k = \frac {1}{\overline p_k}\) and τ k  = ξ k . □

Remark

Theorem 3.1 also holds in the sense of Lemma 3.1 (the off-line version of Lemma 3.2) by setting the parameters in (3.15) as \(\overline \beta = \frac {1}{Q_0}\), \(\alpha = \frac {1-\varsigma }{1+{\overline \phi }} \le \alpha ^*_k \), \(\underline \beta = (P_{0|0} + Q_0 + {\overline q} ({\overline \phi } + 1) \ge \overline p_k\), and \(\tau = \frac {Q_0 \hat {z}_{max}}{\underline \phi (1+ \underline \phi )} \ge \xi _k \), where \(\hat {z}_{max}\) is the maximum estimate.

We conclude the analysis on the performance of our estimation algorithm for the static case with a more profound investigation on the evolution of the estimation error |e k|k−1|. More specifically, we can distinguish three regions:

  • Region 1: \(\sqrt {\frac {2.46M \hat {z}_{k|k-1}}{\phi _{k}(M-1)r_k(1-\varsigma )}} \le |e_{k|k-1}| \le \epsilon _k\). By substituting the condition into the right hand side of (3.67), we obtain: \(-(1-\varsigma )\alpha _k V_{k}(e_{k|k-1}) + \xi _k \le -\frac {(1-\varsigma )\alpha _k}{M} V_{k}(e_{k|k-1})\), where M > 1 is a positive constant and can be set beforehand. It then follows that

    $$\displaystyle \begin{aligned} E\left[V_{k+1} (e_{k+1|k}) |e_{k|k-1}\right] \le \left(1- \frac{(1-\varsigma)\alpha_k}{M} \right) V_{k}(e_{k|k-1}). \end{aligned}$$

    Consequently, we can bound \(E[e_{k|k-1}^2]\) as:

    $$\displaystyle \begin{aligned} E[e_{k|k-1}^2] \le \frac{\overline p_k}{Q_0} E[{e_{1|0}}^2]\prod_{i=1}^{k-1} {(1-\alpha^*_{i})} {} \end{aligned} $$
    (3.68)

    with \(\alpha ^*_k = \frac {(1-\varsigma )\alpha _k}{M}\). It can then be noted that \(E[e_{k|k-1}^2] \to 0\) at an exponential rate as k →.

  • Region 2: \(\sqrt {\frac {2.46\hat {z}_{k|k-1}}{\phi _{k}r_k(1-\varsigma )}} \le |e_{k|k-1}| < \sqrt {\frac {2.46M \hat {z}_{k|k-1}}{\phi _{k}(M-1)r_k(1-\varsigma )}}\). In this case, we have

    $$\displaystyle \begin{aligned} -\frac{(1-\varsigma)\alpha_k}{M} V_{k}(e_{k|k-1}) <-(1-\varsigma)\alpha_k V_{k}(e_{k|k-1}) + \xi_k \le 0. \end{aligned}$$

    It then follows from Lemma 3.2 that

    $$\displaystyle \begin{aligned} E[e_{k|k-1}^2] \le \frac{\overline p_k}{Q_0} E[{e_{1|0}}^2]\prod_{i=1}^{k-1} {(1-\alpha^*_{i})} + \overline p_k \sum_{i=1}^{k-2} \xi_{k-i-1}\prod_{j=1}^{i}{(1-\alpha^*_{k-j})}. \end{aligned} $$
    (3.69)

    Hence, when k →, \(E[e_{k|k-1}^2]\) converges at exponential rate to \(\overline p_k \sum _{i=1}^{k-2} \xi _{k-i-1}\,\cdot \) \(\prod _{j=1}^{i}{(1-\alpha ^*_{k-j})}\sim \Theta (\hat {z}_{k|k-1})\), which is decoupled with the initial estimation error and it thus holds \(\displaystyle \frac {E[e_{k|k-1}]}{z_k} = \Theta \Big (\frac {1}{\sqrt {z_k}}\Big )\to 0\) when z k  →.

  • Region 3: \(0 \le |e_{k|k-1}| < \sqrt {\frac {2.46\hat {z}_{k|k-1}}{\phi _{k}r_k(1-\varsigma )}}\). In this case, we can show that the right hand side of (3.67) is positive, i.e., − (1 − ς)α k V k (e k|k−1) + ξ k  > 0. It also follows from Lemma 3.2 that

    $$\displaystyle \begin{aligned} E[e_{k|k-1}^2] \le \frac{\overline p_k}{Q_0} E[{e_{1|0}}^2]\prod_{i=1}^{k-1} {(1-\alpha^*_{i})} + \overline p_k \sum_{i=1}^{k-2} \xi_{k-i-1}\prod_{j=1}^{i}{(1-\alpha^*_{k-j})}. \end{aligned} $$
    (3.70)

    Hence, when k →, \(E[e_{k|k-1}^2]\) converges exponentially to \(\overline p_k \sum _{i=1}^{k-2} \xi _{k-i-1}\)\(\prod _{j=1}^{i}\) \({(1-\alpha ^*_{k-j})} \sim \Theta (\hat {z}_{k|k-1})\), which is decoupled with the initial estimation error and it thus holds \(\displaystyle \frac {E[e_{k|k-1}]}{z_k} \le \Theta \Big (\frac {1}{\sqrt {z_k}}\Big )\to 0\) when z k  →.

Combining the above three regions, we get the following results on the convergence of the expected estimation error E[e k|k−1]: (1) if the estimation error is small (Region 3), it will converge to a value smaller than \(\Theta (\sqrt {\hat {z}_{k|k-1}})\) as analysed in Region 3; (2) if the estimation error is larger (Region 1), it will decrease as analysed in Region 1 and fall into either Region 2 or Region 3 where E[e k|k−1]  ≤ \(\Theta (\sqrt {\hat {z}_{k|k-1}})\) such that the relative estimation error \(\frac {E[e_{k|k-1}]}{{z}_{k}}\,\to \,0\) when z k  → .

3.7.2 Dynamic Case

Our analysis on the stability of Algorithm 2 for the dynamic case is also composed of two steps. First, we derive the estimation error. Second, we establish the stability and the accuracy of Algorithm 2 in terms of the boundedness of estimation error.

We first derive the dynamics of the estimation error as follows:

$$\displaystyle \begin{aligned} e_{k+1|k} = (1- K_k C_k) e_{k|k-1} + s_k + m_k, {} \end{aligned} $$
(3.71)

which differs from the static case (3.45) in s k . In the dynamic case, we have

$$\displaystyle \begin{aligned} s_k &= w_k - K_k u_k {} \end{aligned} $$
(3.72)

Next, we show the boundedness of the estimation error in Theorem 3.2.

Theorem 3.2

Under the conditions of Theorem 1 , consider the discrete-time stochastic system given by (3.28) and (3.25) and Algorithm 2 , if there exist time-varying positive real number λ k , σ k  > 0 such that

$$\displaystyle \begin{aligned} E[w_k] &\le \lambda_k, \end{aligned} $$
(3.73)
$$\displaystyle \begin{aligned} E[{w_k}^2] &\le \sigma_k, \end{aligned} $$
(3.74)

then the estimation error e k|k−1 defined by (3.10) is exponentially bounded in mean square and bounded w.p.o..

Remark

Note that the condition E[w k ] ≤ λ k always holds for E[w k ] < 0, we thus focus on the case that E[w k ] ≥ 0. In the proof, the explicit formulas of λ k and σ k are derived. As in the static case, the conditions may be too stringent such that the results still hold even if the conditions are not satisfied, as illustrated in the simulations.

The proof of Theorem 3.2 is also based on Lemmas 3.6, 3.7 and 3.8, but due to the introduction of w k into s k , we need another two auxiliary lemmas on E[s k ] and \(E[s_k^2]\).

Lemma 3.9

If E[w k ] ≥ 0, then there exists a time-varying real number d k  > 0 such that

$$\displaystyle \begin{aligned} E \left[\frac{2s_k [(1-K_k C_k)e_{k|k-1}+m_k]}{P_{k+1|k}} \Big| e_{k|k-1} \right] \le d_k |e_{k|k-1}| E[w_k]. \end{aligned}$$

Proof

When E[w k ] ≥ 0, from E[v k ] = 0, (3.41), (3.56) and the independence between w k and e k|k−1, we can derive

$$\displaystyle \begin{aligned} &E \left[\frac{2s_k [(1-K_k C_k)e_{k|k-1}+m_k]}{P_{k+1|k}} \Big| e_{k|k-1} \right]\\ &\le 2 E[w_k] \frac{1+\phi_{k}}{\phi_{k} P_{k|k-1}} \left[ \frac{\phi_{k} |e_{k|k-1}|}{1+\phi_{k}} + \frac{1.59|e_{k|k-1}|{}^2}{2a_k(1+\phi_{k}) \hat z_{k|k-1}}\right] \\ &\le E[w_k] \frac{2a_k \phi_{k}+(1-a_k)}{a_k \phi_{k}P_{k|k-1}} |e_{k|k-1}|. \end{aligned} $$

We thus complete the proof by setting

$$\displaystyle \begin{aligned} d_k = \frac{2a_k\phi_{k}+(1-a_k)}{a_k \phi_{k}P_{k|k-1}}. {} \end{aligned} $$
(3.75)

Lemma 3.10

There exists a time-varying parameter \(\xi _k^*>0\) such that \(E \left [\frac {{s_k}^2}{P_{k+1|k}} \big | e_{k|k-1} \right ] \le \xi _k^*\).

Proof

By (3.72), we have \(s_k^2 = w_k^2 - 2K_k w_k u_k + K_k^2 u_k^2\). Since w k and u k are uncorrelated and e k|k−1 does not depend on either w k or u k , we have

$$\displaystyle \begin{aligned} E \left[\frac{s_k^2}{P_{k+1|k}} \big| e_{k|k-1} \right] = \frac{E[w_k^2]}{P_{k+1|k}} + \frac{K_k^2 E[u_k^2]}{P_{k+1|k}}. {} \end{aligned} $$
(3.76)

Substituting (3.7), (3.56) and using Lemma 3.8, noticing that E[u k ] = 0, we get

$$\displaystyle \begin{aligned} E \left[\frac{s_k^2}{P_{k+1|k}} \big| e_{k|k-1} \right] \le \frac{1+\phi_{k}}{\phi_{k}P_{k|k-1}}E[w_k^2] + \frac{2.46\hat{z}_{k|k-1}}{\phi_{k} (1+\phi_{k}) r_k P_{k|k-1}}. \end{aligned}$$

Finally, by setting \(\xi _k^*\) as

$$\displaystyle \begin{aligned} \xi_k^*= \frac{1+\phi_{k}}{\phi_{k}P_{k|k-1}}E[{w_k}^2] + \frac{2.46\hat{z}_{k|k-1}}{\phi_{k} (1+\phi_{k}) r_k P_{k|k-1}}, {} \end{aligned} $$
(3.77)

we complete the proof. □

Armed with the above lemmas, we next prove Theorem 3.2 by utilizing the same method with the proof of Theorem 3.1.

Proof of Theorem 3.2

Recall (3.46) and (3.72), we notice that the only difference between the estimation errors of Algorithms 2 and 1 is s k . Therefore, it suffices to study the impact of w k on V k (e k|k−1).

It follows from Lemmas 3.6, 3.7, 3.8, 3.9 and 3.10 that

$$\displaystyle \begin{aligned} \begin{array}{rcl} E\left[V_{k+1} (e_{k+1|k}) |e_{k|k-1}\right]- V_{k}(e_{k|k-1}) \le -\alpha_k V_{k}(e_{k|k-1}) + b_k |e_{k|k-1}|{}^3\\ + d_k |e_{k|k-1}| E[w_k] + \xi^*_k. \end{array} \end{aligned} $$

Furthermore, bounding the second item in b k as (3.61) and given ϕ k in (3.64), yields

$$\displaystyle \begin{aligned} \begin{array}{rcl} E\left[V_{k+1} (e_{k+1|k}) |e_{k|k-1}\right]&\displaystyle - &\displaystyle V_{k}(e_{k|k-1}) \le -(1-\varsigma)\alpha_k V_{k}(e_{k|k-1})\\ &\displaystyle +&\displaystyle d_k |e_{k|k-1}| E[w_k] + \xi^*_k \end{array} \end{aligned} $$

for |e k|k−1|≤ 𝜖 k .

And we can thus prove Theorem 3.2 by setting \(\epsilon = \frac {0.63\varsigma }{1+2\varsigma } \hat {z}_{1|0}\), \(\beta ^* = \frac {1}{Q_0}\), \(\alpha ^*_k = (1-\varsigma )\alpha _k\), \(\tau _k =\xi ^*_k + d_k |e_{k|k-1}| \lambda _k\) and \(\beta _k = \frac {1}{\overline p_k}\). □

We conclude the analysis on the performance of our estimation algorithm for the dynamic case with a more profound investigation on the evolution of the estimation error |e k|k−1| and derive the explicit formulas for λ k and σ k . More specifically, we can distinguish three regions:

  • Region 1: \(\sqrt {\frac {9.84M\hat {z}_{k|k-1}}{\phi _{k}(M-1)r_k(1-\varsigma )}} \le |e_{k|k-1}| \le \epsilon _k\). In this case, the objective is to achieve

    $$\displaystyle \begin{aligned} E\left[V_{k+1} (e_{k+1|k}) |e_{k|k-1}\right]- V_{k}(e_{k|k-1}) \le -\frac{1}{M} (1-\varsigma)\alpha_k V_{k}(e_{k|k-1}) {} \end{aligned} $$
    (3.78)

    so that \(E[e_{k|k-1}^2]\) is bounded as

    $$\displaystyle \begin{aligned} E[e_{k|k-1}^2] \le \frac{\overline p_k}{Q_0} E[{e_{1|0}}^2]\prod_{i=1}^{k-1} {(1-\alpha^*_{i})}. {} \end{aligned} $$
    (3.79)

    That is, it should hold that \(d_k |e_{k|k-1}| E[w_k] + \xi _k^* \le \frac {M-1}{M} (1-\varsigma )\alpha _k V_{k}(e_{k|k-1})\). To that end, we firstly let the following inequalities hold

    $$\displaystyle \begin{aligned} \begin{array}{rcl} \begin{cases} d_k |e_{k|k-1}| E[w_k] \le \frac{M-1}{2M} (1-\varsigma)\alpha_k V_{k}(e_{k|k-1}), \\ \xi_k^* \le \frac{M-1}{2M} (1-\varsigma)\alpha_k V_{k}(e_{k|k-1}). \end{cases} {} \end{array} \end{aligned} $$
    (3.80)

    Secondly, substituting (3.75), (3.77) into (3.80) leads to

    $$\displaystyle \begin{aligned} E[w_k] \le \frac{a_k \phi_{k} (1-\varsigma) |e_{k|k-1}|} {(1+\phi_{k})\left(2a_k\phi_{k}+1-a_k\right)}, {} \end{aligned} $$
    (3.81)
    $$\displaystyle \begin{aligned} \begin{array}{rcl} E[{w_k}^2] \le \frac{\phi_{k}(M-1)r_k(1-\varsigma){|e_{k|k-1}|}^2- 4.92M\hat{z}_{k|k-1}}{2M(1+\phi_{k})^2}. {} \end{array} \end{aligned} $$
    (3.82)

    Thirdly, let

    $$\displaystyle \begin{aligned} \frac{\phi_{k}(M-1)r_k(1-\varsigma){|e_{k|k-1}|}^2}{2M(1+\phi_{k})^2} \ge \frac{4.92\hat{z}_{k|k-1}}{(1+\phi_{k})^2}, {} \end{aligned} $$
    (3.83)

    and we thus have

    $$\displaystyle \begin{aligned} |e_{k|k-1}| &\ge \sqrt{\frac{9.84M\hat{z}_{k|k-1}}{\phi_{k}(M-1)r_k(1-\varsigma)}} \triangleq \tilde \epsilon, \end{aligned} $$
    (3.84)
    $$\displaystyle \begin{aligned} E[{w_k}^2] &\le \frac{ 2.46\hat{z}_{k|k-1}}{(1+\phi_{k})^2} \triangleq \sigma_k. {} \end{aligned} $$
    (3.85)

    The rational behind can be interpreted as follows: (1) the right term of (3.82) cannot be less than zero and (2) there always exists the measurement uncertainty in the system. Consequently, the impact of tag population change plus the measurement uncertainty should equal in order of magnitude that of only measurement uncertainty, which can be achieved by establishing \(E[{w_k}^2] \le K_k^2 E[{u_k}^2]\) and (3.83) with reference to (3.76) and (3.77).

    However, since \(a^{\prime }_k\) and a k are unknown a priori, we thus need to transform the right hand side of (3.81) to a computable form. From (3.63), we get \(\frac {1}{a_k} -1\le \frac {\varsigma }{1+\varsigma }\) such that it holds for the right hand side of (3.81) that \(\frac {a_k \phi _{k} (1-\varsigma ) |e_{k|k-1}|} {3(1+\phi _{k})\left (2a_k\phi _{k}+1-a_k\right )} \ge \frac {\phi _{k} (1-\varsigma ) \tilde \epsilon } {3(1+\phi _{k})\left (2\phi _{k}+\frac {\varsigma }{1+\varsigma }\right )}\).

    Finally, let

    $$\displaystyle \begin{aligned} \begin{array}{rcl} E[w_k] \le \frac{\phi_{k} (1-\varsigma) \tilde \epsilon} {3(1+\phi_{k})\left(2\phi_{k}+\frac{\varsigma}{1+\varsigma}\right)} \triangleq \lambda_k, {} \end{array} \end{aligned} $$
    (3.86)

    we can establish (3.79) and thus get that \(E[e_{k|k-1}^2] \to 0\) at an exponential rate when k →.

  • Region 2: \(\sqrt {\frac {9.84\hat {z}_{k|k-1}}{\phi _{k}r_k(1-\varsigma )}} \le |e_{k|k-1}| < \sqrt {\frac {9.84M\hat {z}_{k|k-1}}{\phi _{k}(M-1)r_k(1-\varsigma )}}\). Given \(\tilde \epsilon \), λ k and σ k as in Region 1, in this case, we have \(-(1-\varsigma )\alpha _k V_{k}(e_{k|k-1}) + d_k |e_{k|k-1}| E[w_k]+ \xi _k^* \le 0\). It then follows from Lemma 3.2 that

    $$\displaystyle \begin{aligned} E[e_{k|k-1}^2] \le \frac{\overline p_k}{Q_0} E[{e_{1|0}}^2]\prod_{i=1}^{k-1} {(1-\alpha^*_{i})} + \overline p_k \sum_{i=1}^{k-2} \tau_{k-i-1}\prod_{j=1}^{i}{(1-\alpha^*_{k-j})}. \end{aligned} $$
    (3.87)

    Hence, when k →, \(E[e_{k|k-1}^2]\) converges exponentially to \(\overline p_k \sum _{i=1}^{k-2} \tau _{k-i-1}\)\(\prod _{j=1}^{i}\) \({(1-\alpha ^*_{k-j})}\sim \Theta (\hat {z}_{k|k-1})\) and it thus holds that \(\frac {E[e_{k|k-1}]}{{z}_{k}} = \Theta (\frac {1}{\sqrt {{z}_{k}}}) \to 0\) for z k  →.

  • Region 3: \(0 \le |e_{k|k-1}| < \sqrt {\frac {9.84\hat {z}_{k|k-1}}{\phi _{k}r_k(1-\varsigma )}}\). The circumstances in this region are very complicated due to E[w k ] and E[w k 2], we here thus just consider the worst case that E[w k ] = λ k and E[w k 2] = σ k . Consequently, we have \(-(1-\varsigma )\alpha _k V_{k}(e_{k|k-1}) + d_k |e_{k|k-1}| E[w_k]+ \xi _k^* > 0\), and it then follows from Lemma 3.2 that

    $$\displaystyle \begin{aligned} E[e_{k|k-1}^2] \le \frac{\overline p_k}{Q_0} E[{e_{1|0}}^2]\prod_{i=1}^{k-1} {(1-\alpha^*_{i})} + \overline p_k \sum_{i=1}^{k-2} \tau_{k-i-1}\prod_{j=1}^{i}{(1-\alpha^*_{k-j})}. \end{aligned} $$
    (3.88)

    Hence, when k →, \(E[e_{k|k-1}^2]\) converges at exponential rate to \(\overline p_k \sum _{i=1}^{k-2} \tau _{k-i-1}\prod _{j=1}^{i}\) \({(1-\alpha ^*_{k-j})}\sim \Theta (\hat {z}_{k|k-1})\), and thus \(\frac {E[e_{k|k-1}]}{{z}_{k}} \le \Theta (\frac {1}{\sqrt {{z}_{k}}}) \to 0\) for z k  →.

    Note that for the case that E[w k ] < λ k and E[w k 2] < σ k , the range of Region 3 will shrink and the range of Region 2 will largen.

Integrating the above three regions, we can get the similar results on the convergence of the expected estimation error E[e k|k−1] as in the static case.

3.8 Discussion

This section discusses the application of the proposed algorithm to the unreliable channel and multi-reader scenario.

Error-Prone Channel

The unreliable channel may corrupt a would-be idle slot into a busy slot and vice versa. We consider the random error model as [30]. Let t 0 and t 1 be the false negative rate that a would-be empty slot turns into a busy slot and the false positive rate, respectively. Each parameter without error rate is marked with a superscript ∗ to define its counterpart with error rate t 0 and t 1. Then, we have

$$\displaystyle \begin{aligned} p^*(Z_k) = t_1 +(1-t_0-t_1)p(Z_k) \end{aligned} $$
(3.89)
$$\displaystyle \begin{aligned} Var^*[u_k] = (1-t_0-t_1)^2 Var[u_k], \end{aligned} $$
(3.90)

and thus get the new Kalman gain \(K_k^*\) as

$$\displaystyle \begin{aligned} K_k^* = \frac{1}{(1-t_0-t_1)} K_k. \end{aligned} $$
(3.91)

It is noted that the ideal channel condition is equivalent to the special case where t 0  =  t 1  =  0. When the channel is totally random, i.e., t 0  =  t 1  =  0.5, the noisy will overwhelm the measurement and estimation. Nevertheless, if t 0, t 1  ∈ (0, 0.5), updating the analysis with the new equations, we find that Theorem 3.1 and 3.2 still holds under the same conditions, meaning that the communication error can be compensated successfully.

Multi-Reader Case

In multi-reader scenarios, we leverage the same approach as [31]. The main idea is that a back-end server can be 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 and sends them to all readers such that they broadcast the same parameters to the tags. Subsequently, each reader sends its bitmap to the back-end server. Then the back-end server applies OR operator on all bitmaps, which eliminates the impact of the duplicate readings of tags in the overlapped interrogation region.

3.9 Numerical Analysis

In this section, we conduct extensive simulations to evaluate the performance of the proposed tag population estimation algorithms by focusing on the relative estimation error denoted as \(REE_k=\left | \frac {z_k - \hat z_{k|k-1}}{z_k} \right |\). Specifically, we simulate in sequence both static and dynamic RFID systems where the initial tag population are z 0 = 104 with the following parameters: q = 0.1, P 0|0 = 1, J = 3, θ = 4 and Υ = 0.5 with reference to (3.35) and (3.36), L = 1500, ϕ ̲ = 0.25 and \(\overline \phi = 100\) such that (3.64) always holds. Since the proposed algorithms do not require collision detection, we set a slot to 0.4ms as in the EPCglobal C1G2 standard [12]. We will discuss the effect of \( \underline \phi \) and \(\overline \phi \) on the performance in next section.

3.9.1 Algorithm Verification

In the subsection, we show the impact of \( \underline \phi \) and \(\overline \phi \) on the system performance. To that end, with REE 0  =  0.5, we keep z k  =  104 in static scenario while the tag population varies in order of magnitude from \(\sqrt {\hat z_{k|k-1}}\) to \(0.4 \hat z_{k|k-1}\) in different patterns in dynamic scenario. Specifically, we set \(\overline \phi \,=\,100\) while varying \( \underline \phi =0.25,0.5,1\) in Figs. 3.2, and 3.3, and fix \( \underline \phi \,=\,0.25\) with varying \(\overline \phi \,=\,1,10,100\) in Figs. 3.4, and 3.5. As shown in the figures, a smaller \( \underline \phi \) leads to rapider convergence rate while the bigger \(\overline \phi \), the smaller the deviation. Thus, we choose \( \underline \phi \,=\,0.25\) and \(\overline \phi \,=\,100\) in the rest of the simulation.

Fig. 3.2
figure 2

Static:\(\overline \phi =100\)

Fig. 3.3
figure 3

Dynamic:\(\overline \phi =100\)

Fig. 3.4
figure 4

Static:ϕ̲ = 0.25

Fig. 3.5
figure 5

Dynamic:ϕ̲ = 0.25

Moreover, we make the following observations. First, as derived in Theorem 3.2, the estimation is stable and accurate facing to a relative small population change, i.e., around the order of magnitude \(\sqrt {\hat z_{k|k-1}}\). Second, the proposed scheme also functions nicely even when the estimation error is as high as \(0.4 \hat z_{k|k-1}\) tags as shown in Figs. 3.3 and 3.5. This is due to the CUSUM-based change detection which detects state changes promptly such that a small value is set for ϕ k , leading to rapid convergence rate.

3.9.2 Algorithm Performance

In this section, we evaluate the performance of the proposed EKF-based estimator, referred to as EEKF here, in comparison with [7] in static scenario and with [19] in dynamic scenario.

3.9.2.1 Static System (z k  = 104)

We evaluate the performance by varying initial relative error as

  • \(REE_0=\frac {z_0-\hat z_{0|0}}{z_0}=0.8\) means a large initial estimation error.

  • REE 0 = 0.5 means a medium initial estimation error.

  • REE 0 = 0.2 implies a small initial estimation error and satisfies (3.66) with 0.5 ≤ ς < 1.

The purpose of the first two cases is to investigate the effectiveness of the estimation in relative large initial estimation errors while the third case intends to verify the analytical results \(\frac {\hat z_{0|0}}{z_0}\, >\,0.79\) as shown in (3.66). Note that EZB uses the optimal persistence probability [7] that needs to know coarse range of tag size. And estimation time of EZB increases with the width of the range. Figure 3.6 illustrates the estimation processes with different initial estimation errors. As shown in the figures, the estimation \(\hat z_{k|k-1}\) converges towards the actual number of tags within very short time in all cases, despite the initial estimation error. It is worth noticing that EZB suffers the significant deviation though it is faster than EEKF.

Fig. 3.6
figure 6

Algorithm performance under different initial estimation errors. (a) REE 0 = 0.2. (b) REE 0 = 0.5. (c) REE 0 = 0.8

3.9.2.2 Dynamic System

In this subsection, we evaluate the performance of EEKF for dynamic systems by comparing with the start-of-the-art solution JREP [19] in terms of execution time to achieve the required accuracy. To that end, we refer to the simulation setting in [19]. Specifically, the initial estimation error is 10%. The tag population size changes by following the normal distribution with the mean of 10,000 and the variance of 20002 and the accuracy requirement is 95%. By taking 9 samplings, we obtain the results as listed in Table 3.2. As shown in Table 3.2, EEKF is more time-efficient than JREP. This is because the persistence probability in JREP is set to optimise the power-of-two frame size, which increases the variance of the number of empty slots and leads to the performance degradation. In contrast, EEKF can minimise this variance while promptly detecting the tag population changes.

Table 3.2 Execution time

3.10 Conclusion

In this chapter, we have addressed the problem of tag estimation in dynamic RFID systems and designed a generic framework of stable and accurate tag population estimation schemes based on Kalman filter. Technically, we leveraged the techniques in extended Kalman filter (EKF) and cumulative sum control chart (CUSUM) to estimate tag population for both static and dynamic systems. By employing Lyapunov drift analysis, we mathematically characterised the performance of the proposed framework in terms of estimation accuracy and convergence speed by deriving the closed-form conditions on the design parameters under which our scheme can stabilise around the real population size with bounded relative estimation error that tends to zero within exponential convergence rate.