Keywords

1 Introduction

In recent years, RFID-based localization technology is getting more and more attention, especially in the field of virtual reality and factory automation [1], such as warehouse cargo location management, posture detection [2] and other fields. Received signal strength (RSS) [3], angle of arrival (AOA) [4] and carrier phase-based ultra-wideband localization [5], are the most popular RFID localization methods, and carrier phase-based ultra-wideband localization method has better performance than RSS and AOA. The key to carrier phase-based algorithm is how to obtain carrier phase of multiple receivers. Therefore, multiple receivers are needed to receive the data backscattered by tag, as shown in Fig. 1.

Fig. 1.
figure 1

System structure which is suitable for carrier phase-based ultra-wideband localization algorithm.

At present, we can easily to communicate with tags use a Commercial-Off-The-Shelf (COTS) RFID reader (R420), but the original data cannot be directly obtained and cannot work in ultra-wideband. On the other hand, although physical layer communication between software-defined radio (SDR) and tag at different frequency is implemented [6], but the SDR transmission power is low, and cannot implement a transmitter, multiple receivers, which is not suitable for carrier phase-based localization algorithm.

To solve this problem, this paper proposes a system that uses a R420 to communicate with tag while an SDR with custom-made RF front-end (SRCF) is used to send carrier and receive data backscattered by the tag. When transmitting a high-power signal in ISM and a low-power signal outside ISM the tag is powered up and reflects data both frequencies simultaneously [7]. Thus, if the number of SRCF receivers is enough, the carrier phase of multiple links can be obtained.

The rest of this paper is organized as follows. Section 2 presents the system model when the tag uses FM0 encoding. Section 3 offers signal detection and carrier phase estimation. Section 4 is the experimental results.

2 System Model

When a tag is powered up by R420 at frequency \( f_{1} \), an SRCF is used to transmit the carrier wave (CW) at frequency \( f_{2} \). The tag modulates its information on both \( f_{1} \) and \( f_{2} \), then reflects, as shown in Fig. 2. In this way, the SRCF receiving antenna will receive four types of signals, directly by SRCF and R420. Due to in different frequencies, we can filter out the signal from the R420 with the frequency \( f_{1} \), and only the signal with the frequency \( f_{2} \) is left, but this will leave a small number of harmonic components. The complex baseband equivalent of the received signal at the SDR is [8]:

Fig. 2.
figure 2

System structure

$$ y(t) = [m_{dc} + m_{\bmod } x(t)]e^{{ + j2\pi\Delta ft}} + z(t) + n(t) $$
(1)

Where the DC component \( m_{dc} \) is caused by CW and an unmodulated component scattered back by the tag; the modulated \( m_{\bmod } \) component depends on the channel coefficients of the SRCF transmitting antenna-to-tag and tag-to-SRCF receiving antenna links, the tag antenna reflection coefficients, the tag scattering efficiency and the carrier transmitting power, which the channel coefficients are mainly composed of two parts: amplitude and phase. \( x(t) \) is a binary real-valued tag scattered waveform; \( z(t) \) is the residual harmonic component of the signal with frequency \( f_{1} \). \( \Delta f \) is the carrier frequency offset (CFO) between CW transmission and SRCF reception chain. \( n(t) \) is the complex thermal (receiver) Gaussian noise. The system of this work is based on a local oscillator for both transmission and reception, so \( \Delta f = 0 \); Because the difference between \( f_{1} \) and \( f_{2} \) is much larger than the frequency of returning data from the tag, thus \( z(t) = 0 \).

3 Signal Detection and Carrier Phase Estimation

3.1 SDR Receive Signal Representation

According to Gen2 [9], in FM0 encoding, level transitions always occur on the bit boundaries. In addition, a level transitions will occur in the middle of the symbol 0, and the symbol 1 will not. Thus, there are 4 waveforms that can be generated per symbol data, as shown in Fig. 3.

Fig. 3.
figure 3

FM0 symbols

If the starting position of the bit in the received waveform is found and the starting position is shifted back by T/2, where T is the bit (symbol) period, only two possible pulse shapes can be generated (instead of four) [10], shown in Fig. 4.

Fig. 4.
figure 4

Tow possible pulse shapes

Finally, differential decoding can be used to detect a transmitted bit.

Assume that the SRCF receiver accurately detects the bit signal reflected by the tag and removes \( m_{dc} \) from the received waveform (zero-offset FM0). The received digital signal should be expressed:

$$ y[k] = y(kTs) + n(kTs) = hx[k] + n[k],x[k] = \sum\limits_{n = 0}^{N} {S_{d(n)} [k - nL - \tau ]} $$
(2)

where \( n[k] \) is the sampling of Gaussian white noise; Ts represents the sampling interval, T represents the symbol period, \( \tau \) represents the delay before tag starts transmitting its information, \( L = \frac{T}{Ts} \) represents the number of sampling points of each symbol. \( S_{d(n)} \) represents two forms of received waveform:

$$ S_{0} [k] = \left\{ \begin{aligned} 1,if\,0 \le k < \frac{L}{2} \hfill \\ 0,if\frac{L}{2} \le k < L \hfill \\ \end{aligned} \right.,S_{1} [k] = \left\{ \begin{aligned} 0,if\,0 \le k < \frac{L}{2} \hfill \\ 1,if\frac{L}{2} \le k < L \hfill \\ \end{aligned} \right. $$
(3)

3.2 Signal Detection and DC Offset

Since the SDR is always transmitting the carrier wave, it does not know when the received data contains the bit sent by the tag. Therefore, the SRCF needs to detect in real time whether the received data contains bit sequence reflected by the tag. Due to the characteristics of FM0 coding, the amplitude spectrum distribution is similar to the pulse signal with a period T of T/2. By analyzing the amplitude spectrum of the received waveform, it can be determined whether the tag modulation information is included [11].

The double-sided band amplitude spectrum of a pulse signal with a period T of T/2 can be expressed as:

$$ \left| {F_{n} } \right| = \frac{A}{2}\left| {Sa(\frac{{nw_{0} T}}{2})} \right| $$
(4)

where \( w_{0} = \frac{2\pi }{T} \), \( F_{ \pm 1} \) represents the amplitude of the fundamental component when \( n = \pm 1 \).

Supposing the SDR receives a sequence y(n) of length M, by performing an N-point FFT transformation on y(n), transformed sequence Y(k) can be expressed as:

$$ Y(k) = FFT[y(n)]_{N} $$
(5)

Because the characteristics of FFT, if the complex sampling rate of the signal is B Hz, the frequency bandwidth represented by Y(k) after the FFT of the N point is B Hz.

By calculating the ratio of the fundamental frequency \( w_{0} \) and B, the position of the pulse signal in Y(k) can be determined.

$$ k_{1} = N/2 + k_{w} ,k_{2} = N/2 - k_{w} ,k_{w} = \left\lfloor {\frac{{w_{0} N}}{B}} \right\rfloor $$
(6)

In the double-sided band amplitude spectrum, \( k_{1} \), \( k_{2} \) are symmetric about the midpoint N/2. By accumulate the Y(k) near these two positions and the entire Y(k), we can obtain:

$$ P_{1} = \sum\limits_{{n = k_{1} - a}}^{{k_{1} + a}} {Y(k)} + \sum\limits_{{n = k_{2} - a}}^{{k_{2} + a}} {Y(k)} ,P_{2} = \sum\limits_{n = 0}^{N} {Y(k)} $$
(7)

where a is the summation width. When the received signal contains tag-modulated information, the ratio of \( P_{1} \) and \( P_{2} \) should be significantly larger than not included.

Once the tag-modulated bit sequence in the received signal is detected, the bit starting point can be roughly determined with the above method, and the average value of the data point of a certain length before the starting point is regarded as \( m_{\bmod } \), and then \( m_{\bmod } \) will be removed from the entire piece of data by subtracting this value.

3.3 Synchronization and Phase Estimation

After the previous work is completed, we need to synchronize the receiving bit with a known preamble. The offset of the bit start point and the received data start point can be found by the following equation.

$$ \tau = \mathop {\arg \hbox{max} }\limits_{{\tau \in \left\{ {0, \ldots ,L} \right\}}} \left| {\sum\limits_{n = 0}^{{N_{p} }} {s_{p} [n]y[\tau + n]} } \right| $$
(8)

where the \( s_{p} \) is a known 6 symbol lengths preamble, \( N_{p} \) is the number of samples in the preamble.

The channel coefficient h can be estimated by solving a least squares problem:

$$ \hat{h} = \arg \hbox{min} \sum\limits_{k = \tau }^{{\tau + N_{p} - 1}} {\left| {y[k] - hs_{p} [k - \tau ]} \right|^{2} } $$
(9)
$$ = \frac{{\sum\nolimits_{k = \tau }^{{\tau + N_{p} - 1}} {y[k]s_{p} [k - \tau ]} }}{{\left\| {\varvec{s}_{p} } \right\|^{2} }}\left( {\frac{\pi }{2} - \theta } \right) $$
(10)

where \( \left\| {\; \bullet \;} \right\| \) denotes the Euclidean norm.

After the channel coefficient h is known, the phase difference caused by the propagation of the CW in the channel can be calculated as [8].

$$ \varphi = angle(h) $$
(10)

where \( \varphi \) is a complex value.

When correlation synchronization is completed, a bit sequence with known starting point can be obtained. Through moving the bit start point back by T/2, the data can be decoded by differential decoding.

$$ b(n) = d(n - 1) \otimes d(n),n = 1, \ldots ,N $$
(11)

when the received signal waveform is \( S_{0} \), d(n) = 0, when it is \( S_{1} \), d(n) = 1. \( b(n) \) is the decoded bit. operation \( \oplus \) ← denotes modulo-2 addition (xor).

4 Experimental Results

The experimental platform is shown in Fig. 5, which contains three antennas, a commercial tag, a SRCF and a R420. The backscatter parameters of the tag are set to FM0 encoding with a reverse link rate of 400K by R420. At the SRCF receiver, 4M complex sampling rate is set. Therefore, the sampling point of each symbol is 10. According to Gen2 protocol, the data modulated by the tag including RN16 and EPC, wherein the sequence length of RN16 is 22, and the sequence length of EPC is 135. We extract phase information from the EPC at the SRCF receiver because EPC is longer than RN16 and has CRC-16 check.

Fig. 5.
figure 5

Experimental setup.

Figure 6 shows the value of P1/P2 under the following experimental conditions, (1) treat 512 samples as a data packet, (2) the SRCF signal transmission power was 17.2 dBm and the R420 signal transmission power was 25 dBm, (3) the distance between tag and SRCF receiver, about 2 meters away. In Fig. 6 a larger peak and a smaller peak can be found in the round frame, which correspond to EPC and RN16, respectively. Because the EPC corresponds to a wider peak width and a larger amplitude, we can easily distinguish between EPC and RN16.

Fig. 6.
figure 6

The P1/P2 of different data pack.

Figure 7 shows the data detected by SRCF, which contains EPC. Useful information can be obtained by processing these data.

Fig. 7.
figure 7

The dotted box is the EPC sequence detected by the gate block.

In order to validate the correctness of the estimated phase, we move the tag two centimeters at each time, and get multiple carrier phases for each distance. As shown in Fig. 8, the carrier phase changes by about 0.75 for each change of distance, which is in line with the theory. Thus, the proposed channel coefficient algorithm can extract the phase correctly.

Fig. 8.
figure 8

The phase value changes with distance.

5 Conclusion

Existing RFID systems do not meet the requirements of the carrier phase-based ultra-wideband localization algorithm. This paper presents a system consisting of a SRCF and R420, which can be easily extended to one transmitter multiple receivers structures. A channel coefficient estimation algorithm is proposed, which can extract the phase and decode the EPC correctly. Thus, the proposed system is suitable for carrier phase-based ultra-wideband localization algorithm.