Keywords

1 Introduction

With the rapid development of Internet, Internet of things, mobile communication and other technologies, people urgently need to obtain location information anytime and anywhere. In the outdoor environment, Global Positioning System (GPS), BeiDou Navigation Satellite System (BDS) [1] and other Global Navigation Satellite Systems (GNSS) can provide users with meter-level location services, which basically solves the need of people in outdoor localization. However, due to indoor multipath effect, the GNSS signal is rapidly attenuated and even cannot be detected [2], leading to a sharp drop in indoor localization accuracy. A variety of indoor localization technology came into being under such circumstance. The RFID indoor localization technology exploits radio frequency signals to automatically identify tags without direct contact, so it has been widely used [3,4,5].

At present, the research on RFID localization is mainly based on the Received Signal Strength (RSS) of the tag backscattered signal or with the help of reference tags. However, due to the large fluctuation of RSS and its sensitivity to antenna direction and environment, the localization accuracy can hardly be further improved. And reference tags are complex to deploy and consume more resources. Compared to the localization algorithm based on RSS or reference tags, the phase-based algorithm can achieve precise localization by obtaining accurate phase information, since phase is very sensitive to time and distance. Therefore, a passive Ultra High Frequency (UHF) RFID location algorithm based on carrier phase and distance difference is proposed in this paper.

The rest of this paper is organized as follows. The related works on localization using RFID technology are reviewed in Sect. 2. The description of system is presented in Sect. 3. The Frequency Hopping Continuous Wave (FHCW) ranging algorithm is discussed in Sect. 4, including Line-of-Sight (LOS) path identification, multipath suppression optimization algorithm, and phase cycle ambiguity solving. Section 5 introduces the Least Square (LS) localization algorithm. Section 6 presents the related simulation results. And Sect. 7 concludes this paper.

2 Related Works

Many researches have been conducted on RFID localization [6, 7]. Early proposals in this field depend on measuring the RSS, due to the requirements of no additional hardware support and additional network consumption. However, RSS suffers from poor accuracy because of its large fluctuation and sensitivity to antenna direction and environment. In order to get better localization performance, reference tag is introduced into subsequent proposals. Whereas, the deployment and density of the reference tags not only consume more resources, but also are difficult in high-precision localization.

Compared to the localization algorithm based on RSS or reference tags, the phase- based algorithm can achieve precise localization by obtaining accurate phase information, because phase is very sensitive to time and distance. A ranging method based on multi-frequency carrier phase difference is proposed [8], which uses Chinese Remainder Theorem (CRT) to solve the phase cycle ambiguity. The authors propose a uniform linear array of passive tags to implement tag localization relying on the phase information of the backscattered tag signal [9], but it consumes more resources and suffers from higher requirements because what they need to localize are tag arrays. Ma Yunfei et al. [10, 11] have done a lot of research works on passive UHF RFID indoor localization based on phase information. In [10], the authors propose to use the nonlinear backscattering mechanism of the tag and the phase information to achieve accurate 3D real-time indoor localization. However, the tag needs to be customized. Reference [11] proposes to achieve centimeter-level indoor localization based on phase information. It is much easier for researchers to reproduce, since the authors directly use off-the-shelf narrowband passive tags.

In this paper, we propose a centimeter-level passive UHF RFID localization algorithm, which relies on carrier phase for a tag ranging, and uses distance difference to achieve two-dimensional localization by LS method.

3 System Description

Since passive tags can be attached to the surface of the objects without occupying space, and the cost is low for large-area deployment, passive tag localization has a broader prospect in indoor localization. However, passive tags have an ISM (Industrial Scientific Medical) band of only 26 MHz. Even if the reader transmits signals at all frequencies in this band, its bandwidth is much smaller than that of the GHz band [12, 13] which achieves the localization accuracy of centimeters.

In order to achieve centimeter-level localization accuracy, it is necessary to meet the requirements of large bandwidth and ensure that the transmission power can drive passive tags for communication. We employ backscatter communication mechanism of passive tags to emulate a large virtual bandwidth by hopping technology [11]. Specifically, two reader simultaneously transmit continuous waves at a frequency \( f_{p} \) inside the ISM band and at another frequency \( f_{c} \) outside the ISM band, respectively. It uses high power \( f_{p} \) to power up and communicate with the passive tag, and uses lower power \( f_{c} \) to hop over time as shown in Fig. 1. Then we stitch the channels at the various frequencies to realize a large virtual bandwidth and improve multipath resolution. Such an approach still remains compliant with FCC regulations. Since the passive tag is like a mirror, both signals at \( f_{p} \) and \( f_{c} \) will be backscattered back to the reader. We use low pass filter to filter out the high-frequency signal \( f_{p} \) and only leave the signal information corresponding to the frequency \( f_{c} \).

Fig. 1.
figure 1

System structure for ranging.

The signal transmitted by the reader to emulate the bandwidth can be denoted as

$$ S_{TX} \left( t \right) = A\cos \left( {2\pi \,f_{c} t + \varphi_{0} } \right) $$
(1)

where \( A \) is the signal magnitude, \( f_{c} \) is carrier frequency, \( \varphi_{0} \) is initial phase of the carrier.

If the tag takes Binary Amplitude Shift Keying (2ASK) modulation, the received signal is given by

$$ S_{RX} \left( t \right) =\Gamma A\alpha_{f} \alpha_{b} \cos \left( {2\pi f_{c} \left( {t - \tau_{f} - \tau_{b} } \right) + \varphi_{0} } \right) + S_{IN} \left( t \right) $$
(2)

where \( \Gamma \) is reflection coefficient of the tag, \( \alpha_{f} \) and \( \alpha_{b} \) is attenuation coefficient of the forward link (reader-to-tag) signal and the back link (tag-to-reader) signal, respectively, \( \tau_{f} \) and \( \tau_{b} \) is Time of Flight (TOF) of the forward link signal and the back link signal, respectively, \( S_{IN} \left( t \right) \) is interference signals, mainly including the signals only reflected by obstacles without the tag reflection and direct leaked signals from the transmitter to the receiver.

After I/Q quadrature demodulation and filtering the interference signals \( S_{IN} \left( t \right) \), we can obtain the in-phase \( I\left( \tau \right) \) and quadrature \( Q\left( \tau \right) \) branches of the received signal, and the phase value is obtained by

$$ \theta = \arctan \left( {\frac{Q\left( \tau \right)}{I\left( \tau \right)}} \right) $$
(3)

Due to the complexity of the indoor environment, RF signals bounce off different obstacles (such as ceilings, walls and furniture). As a result, the receiver obtains several copies of the signal and every copy has experienced a different TOF. Therefore, the phase obtained by (3) is not accurate and TOF calculated by the phase is also with large error. The impacts of multipath and noise on the phase should be minimized in order to obtain accurate phase and TOF.

4 FHCW Ranging Algorithm

Since the proposed localization algorithm relies on the distance parameter, we can evaluate the distance based on Ref. [14], which presents a FHCW ranging algorithm, including LOS path identification, multipath suppression and phase cycle ambiguity solving, as shown in Fig. 2.

Fig. 2.
figure 2

The flow diagram of FHCW ranging.

4.1 LOS Path Identification

Since the communication distance of UHF RFID system is short and generally within 10 m and the tag to be located is stationary, the channel can be regarded as a time-invariant linear channel, which can be expressed as [15]

$$ H\left( f \right) = \sum\limits_{l} {\alpha_{l} } e^{{ - j2\pi f\tau_{l} }} = \alpha_{los} e^{{ - j2\pi f\frac{{d_{los} }}{c}}} + \sum\limits_{i} {\alpha_{i} } e^{{ - j2\pi f\frac{{d_{i} }}{c}}} $$
(4)

where \( \alpha_{l} \) and \( \tau_{l} \) are attenuation coefficient and TOF of \( l - th \) path, respectively. \( \alpha_{los} \) and \( d_{los} \) are attenuation coefficient and length of the LOS path, respectively. \( \alpha_{i} \) and \( d_{i} \) are attenuation coefficient and length of \( i - th \) multipath, respectively. \( c \) is the speed of light.

In order to identify the LOS signal from the multipath signals and achieve ranging, we regard the first peak of Channel Impulse Response (CIR) profile as judgment standard. The multipath resolution is important to identify LOS path and inversely proportional to the signal bandwidth [13]. A larger signal bandwidth results in a higher multipath resolution, which helps to separate the LOS path from the multipath. In Sect. 3, we have obtained a virtual large bandwidth, so the bandwidth requirement of the LOS path identification can be satisfied.

By performing Inverse Discrete Fourier Transform (IDFT), we can transform the channels from the frequency domain, i.e. (4), to the time domain, and plot CIR profile as shown in Fig. 3(a). And the first peak denotes the LOS signal.

Fig. 3.
figure 3

(a) CIR profile at 200 MHz bandwidth; (b) Unwrapped phase before and after cubic spline interpolation method.

Since the commercial passive tag is matched with the antenna in the ISM band, the receiver may not receive the signals at all the frequencies due to interference, resulting in the wrong identification of LOS path by IDFT. We proposed inversing Non-uniform Discrete Fourier Transform (NDFT) as demonstrated in [14] to obtain the same distance estimate as shown in Fig. 3(a). But we find that the method is at the cost of complexity because we need to consider how to process the CFR data that are symmetrical with the missing data in following multipath suppression. In order to reduce the complexity, we propose that the CFR data are firstly recovered by cubic spline interpolation method, and then perform IDFT to identify LOS path in this paper. The phases corresponding to missing frequencies recovered by cubic spline interpolation method are as shown in Fig. 3(b).

Each phase in Fig. 3(b) is an overlay value affected by three multipath and noise, whose signal to noise ratio is 10 dB. For ease of analysis, we only take three multipath into consideration in this paper. It is seen that there are eight phases obtained by interpolation, which are denoted by red symbols. Most of them are very close to the theoretical values (i.e., denoted by blue symbols), but exist a little deviation due to random noise. The difference between interpolation phase values of the first and the eighth and corresponding theoretical values is \( 2\pi \), which is a cycle of phase. What we need to emphasize is that the difference of \( 2\pi \) still can prove the interpolated result is accurate because of the periodicity of phase. In summary, Fig. 3(b) demonstrates that cubic spline interpolation method can recover missed phase information, and CFR data because it also depends on the same in-phase and quadrature branches.

4.2 Multipath Suppression Optimization Algorithm

When the phase errors caused by the system itself are eliminated by technical means, the main source of phase error is multipath and noise, which can only be suppressed. Reference [11] presents an idea that using the rough distance estimate \( \tilde{d}_{los} \) of the identified LOS path performs suppression. \( \tilde{d}_{los} \) is obtained from \( c \) multiplying by the TOF estimate of the LOS signal. The accurate phase obtained by suppression [11] is given by

$$\begin{aligned} {{\theta}_{k}} = \angle {\sum\limits_{i = 1}^{K}} {{h_{i}} e^{j{\frac{2\pi }{c}}\left( {f_{i}} - {f_{k}} \right){{\tilde{d}}_{los}} } } = \angle {a_{los}} e^{ - j{\frac{2\pi }{c}}{f_{k}} {d_{los}} } {\sum\limits_{i = 1}^{K}} {e^{{j{\frac{2\pi }{c}}\left( {i - k} \right)\Delta f\left( {{{\tilde{d}}_{los}} - d_{los} } \right)}} } \\ + \angle {\sum\limits_{l = 1}^{L}} {a_{l} e^{{ - j{\frac{2\pi }{c}}{f_{k}} {d_{l}} }} } {\sum\limits_{i = 1}^{K}} {e^{{j{\frac{2\pi }{c}}\left( i - k \right)\Delta f\left( {{\tilde{d}}_{los}} - {d_{l}} \right)}} } \end{aligned}$$
(5)

where \( K \) is the total number of frequency hopping. \( d_{los} \) is the actual distance. \( \Delta f \) is frequency space. As described in [11], there is

$$ \left| {\frac{{\sum\limits_{i = 1}^{K} {e^{{j\frac{2\pi }{c}\left( {i - k} \right)\Delta f\left( {\tilde{d}_{los} - d_{l} } \right)}} } }}{K}} \right| \approx \left| {\sin c\left( {B\left( {\tilde{d}_{los} - d_{l} } \right)} \right)} \right| \ll 1 $$
(6)

The equation of (6) takes the absolute value, but \( \sum\limits_{i = 1}^{K} {e^{{j\frac{2\pi }{c}\left( {i - k} \right)\Delta f\left( {\tilde{d}_{los} - d_{l} } \right)}} } \) of (5) in fact is a complex. Therefore, (5) has no perfect suppression performance. We hence put forward an optimization algorithm by introducing an additional condition as shown by

$$ \begin{aligned} \theta_{m} = \angle \sum\limits_{i = 1}^{K} {h_{i} e^{{j\frac{2\pi }{c}\left( {f_{i} - f_{m} } \right)\tilde{d}_{los} }} } \hfill \\ {\text{s}}.t. \, \left\{ {\begin{array}{*{20}l} {m = \frac{K + 1}{2}} \hfill \\ {K \ge 3{\text{ is odd number}}} \hfill \\ \end{array} } \right. \hfill \\ \end{aligned} $$
(7)

when \( K \) is odd number and \( m = {{\left( {K + 1} \right)} \mathord{\left/ {\vphantom {{\left( {K + 1} \right)} 2}} \right. \kern-0pt} 2} \), there exists a symmetrical behavior in frequency difference \( \left( {f_{i} - f_{m} } \right) \) as shown in Fig. 4.

Fig. 4.
figure 4

Symmetrical frequency difference.

Thus, the filtering effect is further enhanced to obtain an accurate phase, and the suppressed phase is close to the phase of the LOS path as shown in Fig. 5.

Fig. 5.
figure 5

Unwrapped phase before and after suppression.

We only select five suppressed phases in this paper to solve the cycle ambiguity, and the ranging accuracy of centimeter-level can be achieved. It should be noted that the cycle ambiguity is solved by combining multiple phases in next subsection and the basic number of phases is three. The more phase, the more favorable to solve cycle ambiguity. However, we find that five suppressed phases are enough to obtain centimeter ranging accuracy.

4.3 Solving Phase Cycle Ambiguity

When the measured distance exceeds one wavelength, there will be phase cycle ambiguity due to the periodicity of the phase. That is, TOF computed by \( \theta_{m} \) is wrong at this moment, so we need to solve the phase cycle ambiguity.

The well-known method to solve cycle ambiguity is CRT [16] as described by

$$ \tilde{\tau } = \tau_{m} + {{M_{m} } \mathord{\left/ {\vphantom {{M_{m} } {f_{m} }}} \right. \kern-0pt} {f_{m} }} = - \frac{{\theta_{m} }}{{2\pi f_{m} }} + {{M_{m} } \mathord{\left/ {\vphantom {{M_{m} } {f_{m} }}} \right. \kern-0pt} {f_{m} }} $$
(8)

where \( M_{m} \) is the cycle of each phase, \( m = 12,15,17,19,21 \) in this paper.

However, the set of equations established by (8) is under-determined. Thus, the set of equations does not have a single closed-form solution. And the traditional CRT can only solve integer problems, so we propose to construct a search matrix by (8) as written by

$$ A = \left[ {\begin{array}{*{20}c} {\tau_{12} } & {\tau_{12} + {1 \mathord{\left/ {\vphantom {1 {f_{12} }}} \right. \kern-0pt} {f_{12} }}} & {\tau_{12} + {2 \mathord{\left/ {\vphantom {2 {f_{12} }}} \right. \kern-0pt} {f_{12} }}} & \cdots & {\tau_{12} + {{M_{\hbox{max} } } \mathord{\left/ {\vphantom {{M_{\hbox{max} } } {f_{12} }}} \right. \kern-0pt} {f_{12} }}} \\ {\tau_{15} } & {\tau_{15} + {1 \mathord{\left/ {\vphantom {1 {f_{15} }}} \right. \kern-0pt} {f_{15} }}} & {\tau_{15} + {2 \mathord{\left/ {\vphantom {2 {f_{15} }}} \right. \kern-0pt} {f_{15} }}} & \cdots & {\tau_{15} + {{M_{\hbox{max} } } \mathord{\left/ {\vphantom {{M_{\hbox{max} } } {f_{15} }}} \right. \kern-0pt} {f_{15} }}} \\ {\tau_{17} } & {\tau_{17} + {1 \mathord{\left/ {\vphantom {1 {f_{17} }}} \right. \kern-0pt} {f_{17} }}} & {\tau_{17} + {2 \mathord{\left/ {\vphantom {2 {f_{17} }}} \right. \kern-0pt} {f_{17} }}} & \cdots & {\tau_{17} + {{M_{\hbox{max} } } \mathord{\left/ {\vphantom {{M_{\hbox{max} } } {f_{17} }}} \right. \kern-0pt} {f_{17} }}} \\ {\tau_{19} } & {\tau_{19} + {1 \mathord{\left/ {\vphantom {1 {f_{19} }}} \right. \kern-0pt} {f_{19} }}} & {\tau_{19} + {2 \mathord{\left/ {\vphantom {2 {f_{19} }}} \right. \kern-0pt} {f_{19} }}} & \cdots & {\tau_{19} + {{M_{\hbox{max} } } \mathord{\left/ {\vphantom {{M_{\hbox{max} } } {f_{19} }}} \right. \kern-0pt} {f_{19} }}} \\ {\tau_{21} } & {\tau_{21} + {1 \mathord{\left/ {\vphantom {1 {f_{21} }}} \right. \kern-0pt} {f_{21} }}} & {\tau_{21} + {2 \mathord{\left/ {\vphantom {2 {f_{21} }}} \right. \kern-0pt} {f_{21} }}} & \cdots & {\tau_{21} + {{M_{\hbox{max} } } \mathord{\left/ {\vphantom {{M_{\hbox{max} } } {f_{21} }}} \right. \kern-0pt} {f_{21} }}} \\ \end{array} } \right] $$
(9)

where \( M_{\hbox{max} } = {{R_{\hbox{max} } } \mathord{\left/ {\vphantom {{R_{\hbox{max} } } {\lambda_{\hbox{min} } }}} \right. \kern-0pt} {\lambda_{\hbox{min} } }} \), \( \lambda_{\hbox{min} } = {c \mathord{\left/ {\vphantom {c {f_{\hbox{max} } }}} \right. \kern-0pt} {f_{\hbox{max} } }} \), \( R_{\hbox{max} } \) is maximum reading distance between the reader and the tag. The \( R_{\hbox{max} } \) can limit the traversal range of matrix \( A \). The steps are summarized as follows:

  • Selecting the first row of data of matrix \( A \) as each initial cluster center.

  • Calculating the distance between all the data and the cluster centers in the matrix \( A \), and classifying all data to form several clusters according to the nearest distance principle.

  • Calculating the variance of each cluster, and the cluster with the smallest variance demonstrates that the data in the cluster have the smallest deviation from each other.

  • Selecting the mean of the cluster with the smallest variance as the TOF estimate \( \tilde{\tau } \) of the LOS path.

After the suppression optimization algorithm and the phase cycle ambiguity solving algorithm, we can obtain ranging accuracy of 2 cm by \( \hat{d} = \tilde{\tau } \times c \), and the probability is more than 97%.

5 LS Localization Algorithm

In the bi-static dislocated backscatter link, the reader transmitter and receiver are separated by an electrical distance. Thus, it is easier to spatial layout and localization. Under the premise that the transmitter and receiver are synchronized, we can use distance difference and LS method to locate the target tag. Assume that \( \hat{d}_{i} = \hat{r}_{0} + \hat{r}_{i} \left( {i = 1,2,3} \right) \) is ranging estimate in Sect. 4, where \( \hat{r}_{0} \) is the distance between the reader transmitter and the target tag, \( \hat{r}_{i} \) is the distance between the target tag and the reader receivers. The distance differences are given by

$$ \left\{ {\begin{array}{*{20}c} {\hat{d}_{2} - \hat{d}_{1} = \hat{r}_{21} } \\ {\hat{d}_{3} - \hat{d}_{1} = \hat{r}_{31} } \\ \end{array} } \right. $$
(10)

Then we can obtain distance error equations by

$$ \left\{ {\begin{array}{*{20}c} {\sqrt {(x_{2} - x)^{2} + (y_{2} - y)^{2} } - \sqrt {(x_{1} - x)^{2} + (y_{1} - y)^{2} } - \hat{r}_{21} = e_{21} } \\ {\sqrt {(x_{3} - x)^{2} + (y_{3} - y)^{2} } - \sqrt {(x_{1} - x)^{2} + (y_{1} - y)^{2} } - \hat{r}_{31} = e_{31} } \\ \end{array} } \right. $$
(11)

where \( \left( {x,y} \right) \) is the coordinate of the target tag, \( \left( {x_{i} ,y_{i} } \right)\left( {i = 1,2,3} \right) \) is the coordinate of one receiver.

Assume that the initial coordinate of the target tag is \( (x_{0} ,y_{0} ) \), then the nonlinear equations represented by (11) are linearized by Taylor series, i.e.

$$ \left\{ \begin{aligned} A_{2} \delta_{x} + B_{2} \delta_{y} - k_{2} = e_{21} \hfill \\ A_{3} \delta_{x} + B_{3} \delta_{y} - k_{3} = e_{31} \hfill \\ \end{aligned} \right. $$
(12)

where \( A_{i} = \frac{{x_{0} - x_{i} }}{{\sqrt {(x_{0} - x_{i} )^{2} + (y_{0} - y_{i} )^{2} } }} - \frac{{x_{0} - x_{1} }}{{\sqrt {(x_{0} - x_{1} )^{2} + (y_{0} - y_{1} )^{2} } }} \),

$$ B_{i} = \frac{{y_{0} - y_{i} }}{{\sqrt {(x_{0} - x_{i} )^{2} + (y_{0} - y_{i} )^{2} } }} - \frac{{y_{0} - y_{1} }}{{\sqrt {(x_{0} - x_{1} )^{2} + (y_{0} - y_{1} )^{2} } }}, $$
$$ k_{i} = \hat{r}_{i1} - \left( {\sqrt {(x_{0} - x_{i} )^{2} + (y_{0} - y_{i} )^{2} } - \sqrt {(x_{0} - x_{1} )^{2} + (y_{0} - y_{1} )^{2} } } \right), $$
$$ \delta_{x} = x - x_{0} ,\,\delta_{y} = y - y_{0} . $$

A vector can be given by

$$ W\delta - K = E $$
(13)

where \( W = \left( {\left. {\begin{array}{*{20}c} {A_{2} } & {B_{2} } \\ {A_{3} } & {B_{3} } \\ \end{array} } \right)} \right. \), \( \delta = \left( {\begin{array}{*{20}c} {\delta_{x} } \\ {\delta_{y} } \\ \end{array} } \right) \), \( K = \left( \begin{aligned} k_{2} \hfill \\ k_{3} \hfill \\ \end{aligned} \right) \), \( E = \left( \begin{aligned} e_{2} \hfill \\ e_{3} \hfill \\ \end{aligned} \right) \).

By minimizing the sum of squared errors, we can obtain

$$ \hat{\delta } = (W^{T} W)^{ - 1} W^{T} K $$
(14)

Thus, \( \hat{\delta }_{x} \) and \( \hat{\delta }_{y} \) are obtained. Then take \( x^{\prime}_{0} = x_{0} + \hat{\delta }_{x} \) and \( y^{\prime}_{0} = y_{0} + \hat{\delta }_{y} \), and repeat the above process until \( \hat{\delta }_{x} \) and \( \hat{\delta }_{y} \) are small enough. That is, set a threshold \( \varepsilon \) and when \( \left| {\hat{\delta }_{x} } \right| + \left| {\hat{\delta }_{y} } \right| < \varepsilon \), \( (x^{\prime}_{0} ,y^{\prime}_{0} ) \) is position estimate of the target tag.

When Non-Line-of-Sight (NLOS) errors are not considered, the localization accuracy will depend on two key factors, including the geometric layout of the three receivers and each ranging accuracy. The geometric layout of the receivers can be denoted by Geometric Dilution of Precision (GDOP). When \( G = \left[ {\begin{array}{*{20}c} {A_{2} } & {B_{2} } \\ {A_{3} } & {B_{3} } \\ \end{array} } \right] \), thus GDOP can be given by

$$ GDOP = \left( {q_{11} + q_{22} } \right)^{{\frac{1}{2}}} $$
(15)

where \( q_{11} \) and \( q_{22} \) are from \( Q = \left( {G^{T} G} \right)^{ - 1} = \left[ {\begin{array}{*{20}c} {q_{11} } & {q_{12} } \\ {q_{21} } & {q_{22} } \\ \end{array} } \right] \).

6 Simulation Results

We perform intensive emulation experiments and prove that the presented approach can realize centimeter accuracy on ranging and localization. In our emulation, the bandwidth is 200 MHz and the hopping space is 5 MHz, so the multipath resolution is about 5 ns and the corresponding distance resolution is around 1.5 m. We assume the receiver obtained four copies of the transmitted signal in indoor environment, including one LOS path and three NLOS paths. Through 1000 simulation experiments, it is shown that the proposed algorithm can achieve the ranging accuracy of 2 cm, and the probability is more than 97% as plotted by the red line in Fig. 6, while the probability is only 50% before suppression plotted by the blue line.

Fig. 6.
figure 6

The CDFs of ranging error.

The ranging accuracy has been analyzed above, and the localization accuracy is also related to the relative position of the target tag and the receivers. In order to clearly demonstrate the influence of GDOP on the localization error, we assume that no errors are added in the process and only the position of one receiver changes randomly to represent different GDOP, while the other two receivers are not moving in the horizontal plane.

Suppose that the receivers are set up in an area of \( 8\,\text{m} \times 8\,\text{m} \), the errors of \( \hat{d}_{i} \) are within 2 cm, the actual coordinate of the target tag is set to \( \left( {4,4} \right) \), and the coordinates of the three receivers are set to \( \left( {\text{0,0}} \right) \), \( \left( {8,0} \right) \) and \( \left( {x,8} \right) \), respectively, where \( x \) randomly changes within \( \left[ {0,8} \right] \). We only take nine value of \( x \) to show errors of \( x /y /localization \) and variation of GDOP as plotted in Fig. 7(a).

Fig. 7.
figure 7

(a) Curves of mean error of \( x /y /localization \); (b) The CDFs of localization error.

We can observe that as \( x \) changes, the mean errors of \( x /y /localization \) and GDOP are gradually increasing, respectively in Fig. 7(a). The bigger the mean of GDOP is, the bigger localization error is. When \( x = \text{8} \), the localization error is biggest but is less than 6 cm as shown in Fig. 7(b). In summary, the proposed algorithm can achieve centimeter-level accuracy of ranging and localization.

7 Conclusion

This paper presents a FHCW algorithm based on carrier phase that enables centimeter-level accuracy on ranging. For the purpose of two-dimensional localization, we rely on the distance differences and take the LS method. The main contributions of this paper are to take the solution of missing data into account and propose the improved multipath suppression algorithm. We believe the proposed algorithm can provide a new idea for RFID indoor localization technology.