We investigate the problem of target tracking using a wireless sensor network with asynchronous sensors. To study the impact of sensor clock imperfection on target tracking in practical situations, we build a testbed and collect data from an outdoor experiment. After analyzing the collected data, we find that the TDOA (time-difference-of-arrival) and FDOA (frequency-difference-of-arrival) measurements have notable bias, which is caused by asynchronous sensors or more precisely by the sensor clock drift. Based on the model of clock drift, the measurement bias and the target position are integrated into a state-space model. Both can be estimated in the framework of the extend Kalman filter. In some circumstance, the target trajectory is tracked successfully.

1. Introduction

As an emerging wireless service and application, target positioning or tracking using the measurements collected in wireless sensor networks (WSNs) has drawn a lot of attention over the past two decades [1, 2]. Recent research interests lie in dealing with the practical environments, e.g., NLOS (non-line-of-sight) environment [3], multipath environment [4], and uncertain sensor positions [5].

In this paper, we consider the practical case that the involved sensors are not perfectly synchronized. The asynchronism between sensors is caused by the local oscillator drift of sensors. In recent years, the problem of target positioning is investigated jointly with the problem of clock synchronization. In [68], a network composed of an unknown node and some synchronized anchor nodes is considered. In order to jointly estimate the unknown node’s location and clock parameters, the maximum likelihood (ML) estimator and a low-complexity least squares (LS) based estimator are derived in [6], two iterative approaches based on the Expectation-Maximization (EM) and the LS, respectively, are proposed in [7], and two suboptimal estimators based on semidefinite programming and linear estimation, respectively, are proposed in [8]. In [9, 10], by contrast, a fully asynchronous network is considered. A scheme of joint clock synchronization and ranging for all the nodes is proposed. More precisely, the solution based on the LS is given to jointly estimate all the unknown clock-skews, clock-offsets, and pairwise distances of the sensors.

Instead of implementing distinct protocols (e.g., two-way message exchange) as the aforementioned work, the work in [11, 12] involves the information provided by the trajectory of a moving node and the periodicity of the transmitted signal to estimate the node’s location and clock information. In [13], a new technique for estimating fine clock errors and range between two nodes simultaneously based on round trip time measurements is proposed and tested based on the experimental data. The data is collected from an in-house testbed based on the impulse-radio ultrawideband (IR-UWB) technology. Generally speaking, very few estimation algorithms for clock parameter and location have been verified experimentally in the literature. This is mainly due to the lack of experimental testbeds or platforms.

In this paper, we attempt to build an outdoor testbed using radio frequency, which can be used as a platform to test and validate different schemes of joint clock synchronization and localization of the nodes in WSNs. In addition, a simple scheme based on the extended Kalman filter (EKF) is proposed to track the target node’s location and clock parameters, which can deal with the case with nonstationary clock parameters. Recall that most of the existing methods are based on the stationarity assumption on the clock parameters.

The remainder of the paper is organized as follows. The experimental setup is presented in Section 2 and the collected data is analyzed in Section 3. In Section 4, the algorithm is described in detail. After that, we present the tracking result after implementing the proposed algorithm on the real data in Section 5. Finally, Section 6 concludes the paper briefly.

2. Experimental Setup

In the outdoor experiment, we use three sensors which are placed at different positions to track the trajectory of a moving target. The target to be tracked is a satellite phone. Someone is sitting in a moving car and making call using the satellite phone. The uplink signal of the phone can be sensed by our sensors, from which we can extract necessary information for tracking purpose, e.g., TDOA and FDOA measurements. The relative positions of sensors and the target trajectory are marked on a Cartesian coordinate plane; see Figure 8 in Section 5.

At the target side, there are mainly three items. First, the involved satellite phone product is Inmarsat IsatPhone pro. Second, an external magnetic mount antenna (i.e., Serial No. AT1595-90) is mounted on the top the car, in order to let the phone calling in the car. Third, a Trimble 5700 GPS Receiver is used to record the instantaneous position of the car, which is considered as ground truth in algorithm implementation.

The sensor is built based on the USRP (Universal Software Radio Peripheral) (https://www.ettus.com) and related peripherals. All the components of the sensor are given in Figure 1. The sensor contains an Antcom Iridium/Inmarsat/GPS antenna (i.e., Serial No. 0.5R1216P-XSM-4-GN-3in), a Mini-Circuits low noise amplifier (i.e., Serial No. ZHL-1217MLN), and its related DC power supply (i.e., Serial No. ELC-ALR3003), an Ettus USRP N210 with WBX daughterboard and a laptop as well as some necessary cables. Also, a LEAD-ACID 12V/65Ah battery and a related Pure Sine Wave power inverter are used to provide power for all the components of the sensor. The uplink signal of the satellite phone is received by Antcom Iridium/Inmarsat/GPS Antenna, amplified by Mini-Circuits low noise amplifier, processed by USRP’s daughterboard and mainboard, and finally stored in the laptop. Figure 2 shows the sensor prototype.

We use the GPS-unlocked oscillators (or free-running local clocks) to synchronize the USRP. In this case, the USRPs’ local clocks are initialized roughly through the NTP service before recording the data. The NTP service needs WIFI access which is provided by a mobile phone. The free-running local clocks of the USRPs cause the bias of the TDOA and FDOA measurements, which is analyzed in the next section.

3. Measurement Bias Analysis

The uplink signal of the Inmarsat IsatPhone Pro is modulated by GMSK with a channel bandwidth of KHz and appears in the frequency range of MHz. In our recorded data, the center frequency of the uplink signal is located on MHz or MHz. The USRP has a center frequency of MHz and sampling rate of MHz, which covers the potential frequency of the uplink signal in the experiment. A bandpass filter is used to filter out the uplink signal from the recorded signal by the USRP. We record the signal for s. As an example, the uplink signal amplitude in the time period s is given in Figure 3.

The initial synchronization between sensor clocks via NTP service is not very precise and can lead to the clock difference as large as 1 s. Since we have no prior knowledge of sensor clock parameters, we do manual calibration to achieve the clock difference smaller than 1 ms by inspecting received signal packet pattern. Based on the calibrated signals of three sensors, we use the generalized cross correlation algorithm [14] to estimate TDOA and FDOA values for each pair of sensors. For a couple of sensors, we estimate the TDOA and FDOA values every 10 ms so that the TDOA and FDOA measurements are updated every 10 ms. The true TDOA values are calculated based on the true positions of sensors and target. The target positions are recorded by the Trimble 5700 GPS Receiver mounted on the car that has a sampling rate of 10 Hz. Note that the altitude difference between sensors and target is ignored since it has limited impact on tracking accuracy compared to other error sources in the experiment scene.

The local oscillator drift or simply the clock drift leads to significant bias when estimating TDOA and FDOA measurements. The biases of estimated TDOA values compared to the true ones are given in Figures 46. (In the figures, the TDOA values are multiplied by the light speed.) Blue circles are the biases, that is, the estimated TDOA values minus the true ones. Black line is outcome of robust line fitting of blue circles. Red lines mark confidence interval of ( m) for black line. It means that all the blue circles outside the region between two red lines could be treated as outliers in the tracking algorithm.

The bias is suspected to be caused by two sources. One is imperfect synchronization between sensors, which can be roughly modeled by line fitting. If there is prior knowledge of the clock drift, e.g., obtained by training data or other sources, the modeling will be more accurate. However, it is not the case in our experiment. The other is propagation error in the channel between the target and sensors, e.g., multipath effect or non-line-of-sight (NLOS) error, which is hard to be modeled. In this paper, we focus on the bias caused by asynchronous clocks. In order to isolate the propagation error and model the synchronization error, only the data, which is suspected to be transmitted via the channel of good quality, is used for line fitting. More precisely, the data between 28 s and 90 s is used for line fitting in Figures 46. Because the correlation value in this period is relatively high [14].

The line fitting of the TDOA bias captures the trend of bias variation with respect to the time. This validates the linear model for TDOA bias caused by the clock drift, which will be presented in the next section. It is worth mentioning that the measurement bias is modeled roughly by the line fitting in this section and will be estimated more accurately in the next section. The result of line fitting is used for the initialization for the estimation procedure.

The estimated FDOA values has relatively small bias and large variance, compared to the TDOA values. The FDOA bias also can be modeled by line fitting. However, the FDOA measurement is not informative as the TDOA measurement in our case. We do not attempt to present the result of the estimated FDOA values here.

4. Algorithm Description

To implement tracking algorithm, the measurement bias must be estimated simultaneously with the target position. Therefore, we have to study the mechanism of clock drift producing the measurement bias.

The local time of Sensor with respect to a universal standard time is defined aswhere and are clock skew and clock offset, respectively. In order to describe the clock error of sensors, we use the well-known two-state clock model in [15]: where is the time step, is the duration of a time step, and is a Gaussian noise vector with zero mean and covariance matrix ofwith typical values and for the oven-controlled crystal oscillators of the USRP in our test bed [16]. In what follows, we describe the impact of the clock parameter on the TDOA and FDOA measurements.

For a pair of sensors, e.g., Sensor and Sensor , the TDOA and FDOA values are defined bywhere denotes the light speed, denotes the carrier frequency of the target signal, and is the time step. Herein, and are the location and velocity of the target at time step , whereas and are the location and velocity of Sensor . Note hat is known and is m/s since the sensors are fixed at predetermined locations. The unit position vector from the target position at time step to Sensor is given by

Since each pair of sensors produces a set of TDOA and FDOA values, we will have sets of TDOA and FDOA values given sensors. For simplicity, define and as TDOA in distance and FDOA in velocity between Sensors and at time step : Due to the relative clock drift between sensors, the estimated TDOA and FDOA values, e.g., and , based on the received signals by sensors can be formulated approximately as follows [17]:where and are the measurement noise, which are assumed to be Gaussian distributed with zero means. Herein, and are the bias contributed by the clock drift between two sensors. Moreover, and also can be captured by the two-state state-space model as in (2)where is the zero mean Gaussian noise but with a different covariance matrix compared to in (3). However, the difference is not significant so that in (3) is used for the covariance matrix of . As mentioned before, the TDOA bias is much larger than the FDOA bias, i.e., .

We stack only the Sensor 1 related TDOA and FDOA bias in order into two column vectors:Define andand it follows from (8) thatwhere denotes the Kronecker product, denotes identity matrix of size , and the noise is Gaussian distributed with zero mean and covariance matrix ofwhere is given in (3).

Now, we can stack the TDOA and FDOA measurements at time step k in order into two column vectors, i.e., and , respectively. Then, as mentioned before, the TDOA bias is much larger than the FDOA bias, is a dimensional vector with the elements , whereas is also a dimensional vector with the elements . In our experiment, and . We obtain

Let and be the column vectors stacking all ’s and ’s at time step . Then, following (7) we obtainwhere and are stacked noise. and are given in. (9). is the transition matrix which transits a dimensional column vector into a dimensional column vector. It shows the relationship between the measurement biases of all the sensor pairs. For example, when , it can be readily derived that

The target state includes the position and velocity; that is,Then, the state-space model for the target is given bywhereand is a 2-dimensional Gaussian vector with zero mean and covariance matrix of . Following from (4), (6), and (14), we derive the dimensional vectors and , respectively, with elementswith . and are both Gaussian distributed with zero means and covariance matrices of and , respectively.

If we define , , , as well asandwe rewrite (17a), (17b), (17c), and (17d) aswhere and are Gaussian distributed with zero means and covariance matrices ofandrespectively.

The extended Kalman filter for the state-space model in (22a) and (22b) can be given bywhereHerein, , , and are the matrices of size with their rowswhere .

As a summary, the EKF in (26) can estimate the measurement bias and the target position simultaneously. It is worth mentioning that the rejection is adopted to reject suspicious outliers of the TDOA and FDOA measurements in EKF formulation in (26). It means that all the blue circles outside the region between two red lines in Figures 46 are discarded in the EKF computation.

5. Tracking Results

Before implementing the EKF, some initial values should be set appropriately. By inspecting the TDOA and FDOA measurements, we can set and for the measurement model. We set the time interval s and for the dynamic model. The initial velocity of target is set as 0 m/s. The initial position is set as the true position.

The initial measurement bias in (9) is supposed to be set according to the prior knowledge about the clock parameters. In our case, we do not have such information so that we have to extract it from the TDOA and FDOA measurements. is set according to the outcome of line fitting of the TDOA and FDOA measurements in Section 3. However, the above initial bias value could be far from the true one. To compensate this, we have to set the bias variance much larger than its theoretical value, i.e., , , and . The tracking of the true measurement bias resorts to the EKF. Note that we do not have the ground truth of the clock drift so that it is impossible to check the performance of measurement bias estimation directly. Instead, we can check the trajectory tracking result.

Figures 7 and 8 demonstrate the sensor positions, the true target trajectory, and the estimated trajectory. In Figure 7, the full set of data is used, whereas in Figure 8, a partial set of data, i.e., from 40 s to 90 s, is used. It is seen that the tracking error between 0 s and 40 s is much larger than between 40 s and 90 s. The performance difference is caused by the quality of the TDOA and FDOA measurements. In Figures 46, we can find that the TDOA values estimated from the data between 0 s and 40 s are sparser than that between 40 s and 90 s. It indicates that the channel quality of the former is lower than that of the latter. The low channel quality leads to the low measurement quality, which directly impacts the tracking accuracy. A large amount of error is accumulated in the former period so that the tracking cannot converge well even when the data is of good quality later on.

According to the EKF formulation in Section 4, the bias and trajectory are estimated together. The inaccurate bias initial setting definitely influences the trajectory estimation. In Figure 8, it is seen that there is a notable tracking error around the time 50 s. This error is supposed to be caused by the inaccurate initial setting for the bias. After the EKF filtering over sufficiently large amount of samples, the measurement bias can be estimated correctly, which improves the accuracy of the trajectory tracking. The Root Mean Square Error (RMSE) of the estimated positions in Figure 8 is about 18 meter.

It can been seen that the estimated trajectory deviates from the true one at the end of target motion (i.e., around 90 s). It is supposed to be caused by model mismatch of the TDOA and FDOA measurement noise. Recall the measurement noise is assumed to be Gaussian distributed with zero mean; see and in (7). However, for some collected data, the measurement noise does not exactly follow the assumed Gaussian distribution, which can be observed in Figure 4, for example. In Figure 4, the TDOA biases (blue circles) located in the interval between 85 s and 90 s are not distributed symmetrically around the center (black line).

6. Conclusion

We build an outdoor testbed in order to jointly track target location and clock parameter. The main challenge of target tracking in our experiment is the nonnegligible measurement bias caused by the sensor clock drift. The collected TDOA and FDOA measurements validates the theoretical state-space model of clock parameters. Following this, the measurement bias can be modeled. The EKF is used to track the measurement bias (or clock parameters) and the target trajectory simultaneously. The tracking result directly depends on the channel quality. When the channel is of good quality, the target trajectory is successfully tracked. The channel effect on the measurements, including multipath and NLOS propagation, is not well studied in this paper. This should be investigated in the future work. Besides, using the developed testbed to validate the existing algorithms is expected to be investigated in the future.

Data Availability

The MATLAB codes used to support the findings of this study are available from the corresponding author upon request. However, the experimental data is not available because of security issues.

Conflicts of Interest

The authors declare that they have no conflicts of interest.


The research was supported by the National Natural Science Foundation of China (no. 61601254) and the K. C. Wong Magna Fund in Ningbo University. The experimental data was collected during the first author staying with the Sensor Array Group at Temasek Labs of Nanyang Technological University in Singapore. The authors would like to thank all the group members for their invaluable assistance in preparing the experiment.