Abstract

We investigate the problem of localizing an underwater sensor node based on message broadcasting from multiple surface nodes. With the time-of-arrival measurements from a DSP-based multicarrier modem, each sensor node localizes itself based on the travel time differences among multiple senders to the receiver. Using one-way message passing, such a solution can scale to accommodate a large number of nodes in a network. We consider the issue from not only the physical layer, but also at the node processing layer by incorporating a tracking solution. We present simulation results, testing results in a swimming pool featuring both stationary and moving receivers, and results from a lake test with a mobile receiver.

1. Introduction

Underwater localization is a topic of great interest and study, with increasingly hungry applications driving the need for better and better solutions [1, 2]. Several current systems feature augmented inertial navigation methods, which use filtering and tracking methods to provide corrections and improvements upon traditional onboard navigational equipments [3, 4]. Aside from these methods, there are several localization techniques based on acoustic signaling. The first is the long base line (LBL) system, where transponders are installed at the sea floor, and an underwater vehicle interrogates the transponders for round-trip delay estimation followed by triangulation [5]. LBL has good localization accuracy, but it requires long-time calibration. The second is the short base line (SBL) system, where a mothership moves above the underwater vehicle. The ship locates the vehicle using high-frequency directional emitters. The third approach is based on floating buoys [6, 7]. This system acts like a long base line system except that the reference points are surface buoys. There are commercial products—the GPS intelligent buoys (GIB)—that route signals from an underwater node to surface buoys [7], and using radio links, the surface buoys forward all information to a mothership, wherein the localization is performed. The floating buoys are easier to deploy and calibrate than LBL systems.

Several systems have been proposed which consider a network of underwater nodes instead of a single underwater vehicle or small group of nodes. These approaches typically use an anchor-client-based approach, where nodes systematically position themselves and disseminate this information with other nearby nodes in an effort to systematically localize the entire network [819]. However, few of these methods have been fully implemented in physical networking systems.

In this paper, we propose a new localization approach based on message broadcasts from multiple surface nodes, coupled with tracking algorithms and implemented on a physical system to provide a complete analysis. With the time-of-arrival measurements, the receiver computes its own localization based on the differences of the travel time among multiple senders to the receiver. We present one solution based on exhaustive search and the other based on the least-squares formulation [20]. By implementing the localization algorithms in the OFDM modem prototypes developed in [21], we have carried out tests in swimming pool and lake environments. With these point measurements, tracking analysis was also carried out on the collected data to further refine the position estimate.

Thus, we consider the problem not only at the modem physical layer with regards to timing and detection, but further analyze it in a single-point estimate, and ultimately combine the point estimates for a tracking implementation. In particular, we consider two tracking scenarios: a largely static scenario in which the nodes are assumed to be tethered or freely floating with no self-propulsion and a mobile scenario in which the object being tracked is assumed to make deliberate maneuvers and have some control of its motion, such as an autonomous underwater vehicle (AUV).

The advantage of the proposed localization method is that the broadcast messages can serve an arbitrary number of underwater nodes once they are in range, in contrast to many existing solutions which can only serve a small number of users.

The rest of the paper is organized as follows. We present the system overview in Section 2. Section 3 discusses the timing concerns of the physical layer. In Section 4, we consider the self-localization of a node for a single-point estimate. In Section 5, we present the series of tracking algorithms that are implemented. Sections 6, 7, and 8 contain simulation results and testing results from a swimming pool and lake, respectively. Conclusions are in Section 9.

2. System Overview

Figure 1 depicts the considered system setup, with several surface nodes and multiple underwater nodes. The surface nodes are equipped with satellite-based GPS receivers. Relying on the internal pulse provided by the GPS device that is accurate to within 1 microsecond GPS time, the surface nodes are assumed to be well synchronized. At predetermined intervals, the surface nodes sequentially broadcast their current location and time.

The underwater nodes within the broadcast range will detect a series of transmissions and decode those messages. By comparing the reception time with the transmission time encoded in the message, each underwater node can obtain estimates of the time of arrivals (or time of flights) of messages from different surface nodes, based on which it tries to compute its own position. Note that the broadcast from the surface to underwater nodes is a one-way transmission, that localization quality is independent of the number of underwater nodes in the network, and that there is no additional interference involved among different underwater nodes.

The overall scheme of localization refinement is presented in Figure 2. For one round of transmissions, the receiver obtains the travel times from all the surface buoys, based on which a point estimate is available. Once several of these broadcast periods have occurred, individual point estimates may be combined via tracking algorithms to form a more accurate understanding of the current node position. The algorithms at different stages are described in the following sections.

3. One-Way Travel Time Estimation

Let us focus on one receiver at position (𝑥𝑟,𝑦𝑟,𝑧𝑟). Suppose that there are 𝑁 surface nodes, at positions (𝑥𝑛,𝑦𝑛,𝑧𝑛), 𝑛=1,,𝑁. Let 𝑑𝑛 denote the distance between the receiver node and the 𝑛th surface node 𝑑𝑛=𝑥𝑟𝑥𝑛2+𝑦𝑟𝑦𝑛2+𝑧𝑟𝑧𝑛2.(1) Without loss of generality, we set the first surface node at the origin, that is, 𝑥1=𝑦1=𝑧1=0, such that 𝑑21=𝑥2𝑟+𝑦2𝑟+𝑧2𝑟.(2) The actual time of arrival is 𝑡𝑛=𝑑𝑛/𝑐, where 𝑐 is the sound propagation speed.

The transmission time is encoded at each broadcast message. The receiver needs to estimate the arrival time of each message to provide an estimate on the time of arrival 𝑡𝑛. In this paper, we use real-time DSP-based OFDM modem prototypes [21], as shown in Figure 3. First, the communication channel is monitored to detect signal arrivals, based on a background noise level monitoring performed by the modem at initialization. When a signal is detected, the correlation of the signal with a sliding window of itself is compared to determine when the level of peak correlation in the preamble of the message occurs, indicated by a plateau in the correlation. Once this plateau is selected, the time of arrival is coarsely estimated as having been approximately halfway during this plateau period [22]. Once coarse channel estimation has occurred, the preamble, which is entirely known to the receiver, is used to estimate the instantaneous underwater channel conditions, and from there, a more refined estimation of the time of arrival is performed via the modified page test as in [23].

Let ̂𝑡𝑛 denote the estimate of 𝑡𝑛 from the OFDM modem. It can be expressed as the sum of the real transmission propagation, the delay in signal processing at both transmitter and receiver 𝑏𝑛, and the estimation noise 𝑤𝑛: ̂𝑡𝑛=𝑡𝑛+𝑏𝑛+𝑤𝑛.(3) Multiple tests of the OFDM modem reveal that the noise 𝑤𝑛 has standard deviation on the order of 5–10 ms. (The bandwidth used by the OFDM modem is 6 kHz, leading to a baseband sampling interval of 1/6 ms.) On the other hand, the processing delay (bias) 𝑏𝑛 has large magnitude, which might be on the order of 500 ms. However, tests have also shown that 𝑏𝑛 is nearly identical across modems with similar hardware and operating software with the assumed GPS synchronization. Thus, we will treat 𝑏𝑛 as a constant 𝑏𝑛=𝑏 and present the localization algorithms based on ̂𝑡𝑛=𝑡𝑛+𝑏+𝑤𝑛,𝑛=1,,𝑁.(4)

4. Localization

In each round of broadcasting from all surface nodes, a node collects 𝑁 travel time measurements and can form a single-point estimate of its current position. This is accomplished by way of localization algorithms based on the intersection of spherical surfaces.

Since the bias 𝑏 is unknown and usually large, time-of-arrival- (TOA-) based methods are not suitable. Instead, we use the time-difference-of-arrival (TDOA) method to cancel the common bias term 𝑏 by forming Δ̂𝑡𝑛1=̂𝑡𝑛̂𝑡1,𝑛=2,,𝑁.(5) The distance difference 𝑑𝑛1=𝑑𝑛𝑑1 is then estimated by 𝑑𝑛1̂𝑡=𝑐Δ𝑛1.(6)

The TDOA method also corrects for clock skew alongside this bias term, due to the nature of the shared GPS clock. Each receiving node will have its own internal clock, which at some update period 𝑘 will have drifted by an unknown, nonlinear skew factor 𝜙(𝑘). Each of the surface transmitters, however, will have the same clock skew, and due to the periodic corrections by the GPS clock, this value can be assumed approximately 0 for any period 𝑘. Thus, each transmission time can be represented as ̂𝑡𝑛=𝑡𝑛+𝑏+𝜙(𝑘)+𝑤𝑛,𝑛=1,,𝑁,(7) and again, by taking the difference of the time-of-arrival estimates, this common clock skew is eliminated from the timing estimate.

Next, we present the localization methods based on the exhaustive search and least-squares formulations.

4.1. Exhaustive Search

The individual time estimates ̂𝑡𝑛 generally have correlated noise in the underwater channel. For simplicity, we assume instead that they are independent and identically distributed (i.i.d.) and pursue a maximum likelihood function min𝑥𝑟,𝑦𝑟,𝑧𝑟𝑓𝑥𝑟,𝑦𝑟,𝑧𝑟=𝑁𝑛=2̂𝑡𝑐Δ𝑛1𝑑𝑛𝑑12.(8)

The solution to (8) is found by exhaustive search.

In subtracting a common random variable, ̂𝑡1, from all subsequent TOA estimates, we are correlating each measurement by a factor of approximately 1/2. As such, assuming again i.i.d. measurements, a differencing measurement bias modification can be made as follows: min𝑥𝑟,𝑦𝑟,𝑧𝑟𝑓𝑥𝑟,𝑦𝑟,𝑧𝑟=𝑐̂𝐭Δ𝐝Δ𝑇Σ1𝑐̂𝐭Δ𝐝Δ𝑇,(9) where ̂𝐭Δ=Δ̂𝑡21Δ̂𝑡31Δ̂𝑡𝑛1,𝐝Δ=𝑑2𝑑1𝑑3𝑑1𝑑𝑛𝑑1,(10) and Σ is an (𝑁1)×(𝑁1) normalized covariance matrix 11Σ=2121212112121212121.(11)

4.2. Least-Squares Solution

We use the least-squares solution from [20]. Since 𝑑𝑛=𝑑𝑛1+𝑑1, we have 𝑑𝑛1+𝑑12=𝑥2𝑛+𝑦2𝑛+𝑧2𝑛2𝑥𝑛𝑥𝑟2𝑦𝑛𝑦𝑟2𝑧𝑛𝑧𝑟+𝑑21,(12) which can be simplified as 𝑥𝑛𝑥𝑟+𝑦𝑛𝑦𝑟+𝑧𝑛𝑧𝑟=12𝑥2𝑛+𝑦2𝑛+𝑧2𝑛𝑑2𝑛1𝑑𝑛1𝑑1.(13) Define the following matrix and vectors: 𝑥𝐇=2𝑦2𝑧2𝑥3𝑦3𝑧3𝑥𝑁𝑦𝑁𝑧𝑁𝑑,𝐯=21𝑑31𝑑𝑁1,1𝐮=2𝑥22+𝑦22+𝑧22𝑑221𝑥23+𝑦23+𝑧23𝑑231𝑥2𝑁+𝑦2𝑁+𝑧2𝑁𝑑2𝑁1𝑥,𝐚=𝑟𝑦𝑟𝑧𝑟.(14) The least-squares solution can be obtained as ̂𝐚=𝑑1𝐇𝐯+𝐇𝐮,(15) where stands for pseudoinverse. Substituting the entries of into (2) yields a quadratic equation for 𝑑1 [20]. Solving for 𝑑1 and substituting the positive root back into (15) provides the final solution for the receiver position a. We compare this LS solution with our exhaustive search in Figure 4, where timing error was assumed Gaussian distributed with zero mean and a varied standard deviation.

5. Tracking Algorithms

To further reduce the localization error from a single-point measurement, tracking algorithms can be implemented to combine the knowledge of multiple measurements into a more accurate position estimate.

In deciding which tracking approach would be best, we first consider the scenarios in which the node is being localized. There are two distinct modes in which underwater nodes typically move: either passively, with the water currents as a free-floating node, or actively as an underwater vehicle such as an AUV. Both are characterized primarily by long periods of relatively straight motion at a fairly constant speed. Typically, AUV motion differs in that at certain random intervals, it will change direction according to operator or preprogrammed instruction. Most search patterns for AUVs are defined by spiral paths, or by rectangular search grids. In either case, the vehicle is likely to alter its direction by way of a continuous turn; that is, to make a turn at a fixed angular velocity until the desired heading is achieved (or in the case of a spiral, until the search area is exhausted).

5.1. Kalman Filter

For simple motion models, characterized by long periods of motion free from maneuvers, a Kalman filter is the best linear state estimator for a Gaussian initial state assumption [24].

In the KF, we choose to model the movement of the node as set of discrete white noise acceleration (“kinematic”) models [24], with a separate model for each possible direction, that is, 𝑥, 𝑦, and 𝑧. As such, the state equation for the Kalman filter at time index 𝑘+1 based on information from time step 𝑘 becomes 𝐿(𝑘+1)=𝐅(𝑘)𝐿(𝑘)+𝑣(𝑘),(16) with measurement 𝑧(𝑘+1)=𝐇(𝑘+1)𝐿(𝑘+1)+𝑤(𝑘+1),(17) where 𝐅(𝑘)=1𝜏0000010000001𝜏0000010000001𝜏000001,(18)𝐇(𝑘+1)=100000001000000010,(19)𝑣(𝑘) is process noise, 𝑤(𝑘) is measurement noise, and 𝜏 is the sampling interval of the discrete model in seconds.

The state covariance is modeled as 𝐏(𝑘+1𝑘)=𝐅(𝑘)𝐏(𝑘𝑘)𝐅(𝑘)𝑇+𝐐(𝑘).(20) The corresponding process noise has a covariance given as 1𝐐=4𝜏412𝜏3100002𝜏3𝜏210000004𝜏412𝜏3100002𝜏3𝜏210000004𝜏412𝜏3100002𝜏3𝜏2𝜎2𝑣.(21)

Here, 𝜎𝑣 is a design parameter that is chosen to match the most likely level of process noise to be experienced by the object in question, which is to say it controls how much the model anticipates the object to maneuver. Given that the object in question is likely to be either stationary or altering its velocity at a slow, steady rate, a process noise level of 𝜎𝑣=0.5m/s2 was selected to best emulate this behavior. The filter was initialized with two-point differencing [24].

5.2. Probabilistic Data Association Filter

During analysis of the performance of the KF, it became apparent that within a tracking window, there were point estimates which would appear as outliers by a considerable margin. On closer inspection, it was found that these were likely the result of one or more transmissions during which the direct-path signal propagation had been blocked, and a bounce was instead detected and treated as the direct path. Due to the assumption implicit to the KF approach that all of our messages are the direct-path propagation, this resulted in a drastic alteration of the point estimate, to the point where it could be classified as a false measurement. In that context, the probabilistic data association filter (PDAF) offers an improved performance over the standard KF, by allowing outlier estimates such as these to be ignored as false-alarm or clutter detections [25]. The PDAF is very similar to the KF in terms of state equations, presented here for measurement 𝑘+1: 𝐿(𝑘+1)=𝐅(𝑘)𝐿(𝑘)+𝑣(𝑘),(22) with measurement 𝑧(𝑘+1)=𝐇(𝑘+1)𝐿(𝑘+1)+𝑤(𝑘+1),(23) where 𝐅(𝑘) and 𝐇(𝑘+1) are given in (18) and (19), respectively.

The state covariance is modeled similarly as 𝐏(𝑘+1𝑘)=𝐅(𝑘)𝐏(𝑘𝑘)𝐅(𝑘)𝑇+𝐐(𝑘).(24) The difference is on how to compute 𝐏(𝑘𝑘). First, let 𝑃𝐷 denote the probability of detection, which is a design parameter. Operating under the assumption that the measurement is always gated, define 𝑏=21𝑃𝐷𝑃𝐷.(25) Define the following variables and matrices: 𝜈(𝑘)=𝑧(𝑘)𝐇(𝑘)𝐿(𝑘),𝑒(𝑘)=𝑒(1/2)𝜈(𝑘)𝑇𝑆(𝑘)1𝜈(𝑘),𝐒(𝑘)=𝐇(𝑘)𝐏(𝑘𝑘1)𝐇(𝑘)𝑇+𝐑,𝐖(𝑘)=𝐏(𝑘𝑘1)𝐇(𝑘)𝑇𝐒(𝑘)1,(26) where 𝐑 is the observation noise covariance. The probability of no correct measurement available is 𝛽0𝑏(𝑘)=.𝑏+𝑒(𝑘)(27) The probability of a correct measurement is 𝛽1(𝑘)=𝑒(𝑘).𝑏+𝑒(𝑘)(28) Further defining 𝐏𝑐(𝑘𝑘)=𝐏(𝑘𝑘1)𝐖(𝑘)𝐒(𝑘)𝐖(𝑘)𝑇,𝛽𝐏(𝑘)=𝐖(𝑘)1(𝑘)𝜈(𝑘)𝜈(𝑘)𝑇𝜈(𝑘)𝜈(𝑘)𝑇𝐖(𝑘)𝑇,(29) the covariance matrix update is as follows: 𝐏(𝑘𝑘)=𝛽0(𝑘)𝐏(𝑘𝑘1)+𝛽1(𝑘)𝐏𝑐(𝑘𝑘)+𝐏(𝑘).(30)

We are assuming that the measurement is always gated, and that there is only a single target and a single measurement at each time step. Accordingly, the 𝑃𝐷 is then the probability that the current measurement is a valid estimate of the node being tracked. Based on experimental data, the number of “false detection” measurements was around 5% of the total samples, and so a value of 0.95 was selected for 𝑃𝐷.

5.3. Interacting Multiple Model (IMM) Filter

For the more complex motion of an active underwater node, an interacting multiple model filter (IMM) was implemented, as the expected maneuvering index of underwater vehicles can easily exceed the threshold for which a single linear filter is likely to have any benefit. To this end, the IMM was a simple two-model filter, with a single, linear, low process noise (𝜎𝑣=0.05m/s2) KF to account for the straight motion travel, and an extended Kalman filter (EKF), configured in a coordinated-turn mode [26]. This validity of the coordinated turn assumption is dependent on the scenario in question, though given the previously described search patterns, it should be sufficiently accurate [27].

The linear KF uses similar system equations as given previously, augmented with an additional column and row of zeros in order to accommodate the use of the EKF’s additional state in the IMM. The EKF in this problem uses one of two sets of state equations: the first set is an approximation used when the predicted coordinated turn rate is near 0 (Ω(𝑘)0), and the second set is used when the predicted coordinated turn rate is greater than some detection threshold (|Ω(𝑘)|>0) [24].

The first set of EKF state equation modifications (Ω(𝑘)0) is as follows: 𝐿(𝑘+1)=𝐅𝐿(𝑘)𝐿(𝑘)+𝑣(𝑘),(31)

where 𝐅𝐿1(𝑘)=1𝜏00002𝜏21̂̇𝜂(𝑘)010000𝜏̂̇𝜂(𝑘)001𝜏002𝜏2̂̇𝜉(𝑘)000100𝜏̂̇𝜉(𝑘)00001𝜏000000100000001,(32) where 𝜂 and 𝜉 represent the 𝑥 and 𝑦 directions, respectively, and we denote ̇𝜂 as the velocity component in the 𝜂 direction. When |Ω(𝑘)|>0, 𝐅𝐿1Ω(𝑘)=sin(𝑘)ΩΩ(𝑘)𝜏01cos(𝑘)𝜏Ω(𝑘)00𝑓Ω,1(𝑘)ΩΩ0cos(𝑘)𝜏0sin(𝑘)𝜏00𝑓Ω,2(𝑘)01cosΩ(𝑘)𝜏1Ω(𝑘)sinΩ(𝑘)𝜏Ω(𝑘)00𝑓Ω,3(𝑘)0sinΩ(𝑘)𝜏0cosΩ(𝑘)𝜏00𝑓Ω,4(𝑘)00001𝜏000000100000001(33) where the partial derivatives 𝑓Ω,1(𝑘),,𝑓Ω,4(𝑘) are found as: 𝑓Ω,1(𝑘)=𝜏cosΩ(𝑘)𝜏̂̇𝜉(𝑘)Ω(𝑘)sinΩ(𝑘)𝜏̂̇𝜉(𝑘)Ω(𝑘)2𝜏sinΩ(𝑘)𝜏̂̇𝜂(𝑘)Ω(𝑘)1+cosΩ(𝑘)𝜏̂̇𝜂(𝑘)Ω(𝑘)2,𝑓Ω,2(𝑘)𝜏𝜏𝑓=sinΩ(𝑘)𝜏̂̇𝜉(𝑘)cosΩ(𝑘)𝜏̂̇𝜂(𝑘),Ω,3(𝑘)=𝜏sinΩ(𝑘)𝜏̂̇𝜉(𝑘)Ω(𝑘)1cosΩ(𝑘)𝜏̂̇𝜉(𝑘)Ω(𝑘)2+𝜏cosΩ(𝑘)𝜏̂̇𝜂(𝑘)Ω(𝑘)sinΩ(𝑘)𝜏̂̇𝜂(𝑘)Ω(𝑘)2,𝑓Ω,4(𝑘)=𝜏𝜏cosΩ(𝑘)𝜏̂̇𝜉(𝑘)sinΩ(𝑘)𝜏̂̇𝜂(𝑘).(34)

In both cases, the process noise covariance is determined in the following state equations: 𝐏(𝑘+1𝑘)=𝐅𝐿(𝑘)𝐏(𝑘𝑘)𝐅𝐿(𝑘)+ΓEKF𝐐(𝑘)ΓEKF,(35) where ΓEKF=12𝜏201000𝜏0002𝜏21000𝜏00002𝜏2000𝜏0000𝜏.(36)

From our assumptions of AUV motion, the value of 𝐐(𝑘) was selected as: 𝑟𝐐(𝑘)=𝑠0000𝑟𝑠0000𝑟𝑠0000𝑟𝑑,(37) where 𝑟𝑠=(1.25m/s2)2 and 𝑟𝑑=(0.3𝜋/180rad)2.

The IMM-CT is outlined in Figure 5. It combines a set of filters (in this case a KF and EKF) and mixes the weighted previous state estimates to determine the current hypothesis of each of the filters. The linear KF is designed as described previously, whereas the nonlinear EKF has a different set of model selection parameters which define how it interprets large differences in the measurements. In particular, its covariance matrix describes how much variation is expected during a coordinated maneuver in terms of the angular velocity, represented as two directional speed components and a rate of angular change component.

5.4. Computational Complexity

For a Kalman filter, the computational complexity is approximately of 𝑂(𝑛3), where 𝑛=max(𝑛𝑥,𝑛𝑧), 𝑛𝑥 is the number of state variables, and 𝑛𝑧 is the number of measurements [24]. It follows that the PDAF, having a similar number of calculations, is also nearly approximated by 𝑂(𝑛3). The IMM-CT, which is dominated by the computation of multiple filters in parallel, is approximately 𝑂(𝑝𝑛3), where 𝑝 is the number of filters used in the IMM which are not being processed in a parallel fashion.

6. Simulation Results

We first carry out simulations using a simple noise model to generate the TOA measurements and evaluate the localization accuracy. For simplicity, 𝑧 is assumed to be known, and we only solve for 𝑥 and 𝑦 coordinates. Four transmitters are placed on a square grid with coordinates (0,0), (100,0), (0,100), and (100,100). One receiver is placed at the (0,50) point and moves at a constant rate of 0.125m/s parallel to the x-axis.

The TOAs are generated according to (3) where 𝑏 is a fixed large bias, and 𝑤𝑛 is i.i.d. zero-mean white Gaussian noise with standard deviation of 7.5m. Position updates were taken every 16 seconds.

The localization position error is shown in Figure 6 as a function of total number of measurements acquired. We see that the Kalman filter clearly outperforms the point estimation based on exhaustive search (the LS solution has similar performance as the exhaustive search). We have also tested with a varied clock bias (not depicted), which had no effect upon the position error, as expected.

In addition to the Kalman filter, simulations for the proposed IMM-CT were also run, using the relatively challenging scenario presented in Figure 7, with the corresponding RMS position error given by Figure 8. The dashed lines depicted in the figure indicate the beginning or end of one of the maneuvers from Figure 7. As can be seen in Figure 8, the point estimates are drastically improved by all three of the trackers, with the KF and PDAF slightly outperforming the IMM-CT on the straight-path portion after exiting a maneuver. There was no noticeable difference in the performance of the KF and PDAF, which is to be expected, as the scenario did not feature any indirect path propagations.

7. Pool Tests

We carried out tests in a standard competitive athletic swimming pool at The University of Connecticut, Storrs, whose dimensions are perfectly known. These tests did not use the GPS capabilities of the nodes, due to the limitation of the GPS receivers indoors. The nodes were fixed to the corner locations of the pool, such that their locations are measured accurately. The receiver was positioned approximately in the center of the pool, as outlined in Figure 9. All the transducers are placed about 1 m below the surface. The pool has a depth about 2 m. Stationary test was conducted during March 2010, while the mobile test was conducted during December 2010.

7.1. Test Case 1 (Stationary Test, March 2010)

During the test, not all the messages from the transmitters were decoded correctly. For this reason, we use the data set with at least three measurements within one cycle of broadcasting from the four surface nodes. The favorable geometry and the known value of 𝑧 allow an estimate based on only three surface nodes. The location estimates by the exhaustive search method are shown in Figure 9, and those by the LS method are shown in Figure 10. We see that the LS estimates from these data sets are biased.

Although advanced algorithms could be applied to fuse the data from multiple data sets, here we simply average the location estimates from multiple data sets. As more data sets are available, the localization accuracy improves, as shown in Figure 11. A localization error of about 5 m is achieved with about 10 data sets.

7.2. Test Case 2 (Mobile Test, December 2010)

For the moving test in the pool, a simple straight-line maneuver was carried out. All of the previous conditions apply from the stationary pool test, including the use of only three nodes for localizing purposes. The scatter plot and approximate trajectory of the mobile node along with the four stationary transmitter locations are depicted in Figure 12. There was a significant upgrade in the hardware and software used for the second test, which resulted in a large reduction in the overall error, as can be seen in Figure 13. The high initial error of the Kalman filter can be attributed to the very low process noise of the filter, combined with a very bad initialization which lead the filter to believe the node was traveling almost horizontally. Additionally, the measurements overall had a very low level of error, and the tracking system therefore could offer little improvement.

8. Field Test in a Local Lake

The lake testing was performed in Mansfield Hollow lake, located in Mansfield, CT during August 2011. The average depth of the area in which the testing occurred is approximately 2.5 m, with minor variations of approximately 0.5 m. During the test, wind speed was minimal, typically less than 5 mph. The nodes were positioned in a roughly square formation, with an average separation of 110 m, as depicted in Figure 14. The receiver was attached to a boat which would freely float inside of this node formation for the duration of the testing.

For this test, the ground truth was determined via an onboard GPS device which would record the position of the receiver whenever a message was received. The data for a single run is presented, during which the boat moved at approximately 1 knot while moving along a slightly curved trajectory (approximately 10). Note, however, that at a certain point during the test, the ground-truth GPS stopped updating its position, while the boat continued to move. In order to correct for this, the remaining ground truth was extrapolated from the initial GPS measurements. This introduces a nonnegligible amount of uncertainty, but still enables conclusions to be drawn regarding the behavior of the tracking algorithms. The approximate trajectory and measurements of the boat along with relative node positions are depicted in Figure 15.

As can be seen in Figure 16, the tracking algorithms smooth the error out over the course of the maneuver and eventually reduce the overall error by a slight amount. Over the whole period, approximated error never exceeded a combined 5 m. While the raw measurements do exceed the trackers at one particular stretch, this is a combination of a rather small process noise coupled with a set of increasingly accurate measurements and is considered an acceptable trade-off due to the nature of node motion.

On inspection, the PDAF does not perform much better than the Kalman filter in most cases. There was one measurement where it clearly offered an improvement, but overall they did not differentiate much in performance. In almost all cases, the IMM-CT was superior to both filters.

9. Conclusion

In this paper, we presented an underwater localization solution based on one-way message broadcasting from multiple surface nodes. In addition to simulation results, we provided testing results in a swimming pool and in a local lake. Future work would involve large-scale field tests featuring multiple nodes, as well as sea deployments over larger distances. Those will be pursued when there are suitable opportunities.

Acknowledgments

This work was supported by the ONR Grant N00014-09-1-0704 (PECASE) and the NSF Grant CNS-0821597 (MRI). P. Carroll is supported by a GANNN Fellowship from the Deptartment of Education.