A Self-Localization Method for Wireless Sensor Networks

We consider the problem of locating and orienting a network of unattended sensor nodes that have been deployed in a scene at unknown locations and orientation angles. This self-calibration problem is solved by placing a number of source signals, also with unknown locations, in the scene. Each source in turn emits a calibration signal, and a subset of sensor nodes in the network measures the time of arrival and direction of arrival (with respect to the sensor node’s local orientation coordinates) of the signal emitted from that source. From these measurements we compute the sensor node locations and orientations, along with any unknown source locations and emission times. We develop necessary conditions for solving the self-calibration problem and provide a maximum likelihood solution and corresponding location error estimate. We also compute the Cram´er-Rao bound of the sensor node location and orientation estimates, which provides a lower bound on calibration accuracy. Results using both synthetic data and ﬁeld measurements are presented.


INTRODUCTION
Unattended sensor networks are becoming increasingly important in a large number of military and civil applications [1,2,3,4]. The basic concept is to deploy a large number of low-cost self-powered sensor nodes that acquire and process data. The sensor nodes may include one or more acoustic microphones as well as seismic, magnetic, or imaging sensors. A typical sensor network objective is to detect, track, and classify objects or events in the neighborhood of the network.
We consider a sensor deployment architecture as shown in Figure 1. A number of low-cost sensor nodes, each equipped with a processor, a low-power communication transceiver, and one or more sensing capabilities, are set out in a planar region. Each sensor node monitors its environment to detect, track, and characterize signatures. The sensed data is processed locally, and the result is transmitted to a local central information processor (CIP) through a low-power communication network. The CIP fuses sensor information and transmits the processed information to a higher-level processing center.

Central information processor
Higher-level processing center Sensors Figure 1: Sensor network architecture. A number of low-cost sensor nodes are deployed in a region. Each sensor node communicates to a local CIP, which relays information to a more distant command center.
Many sensor network signal-processing tasks assume that the locations and orientations of the sensor nodes are known [4]. However, accurate knowledge of sensor node locations and orientations is often not available. Sensor nodes are often placed in the field by persons, by an air drop, or by artillery launch. For careful hand placement, accurate location and orientation of the sensor nodes can be assumed; however, for most other sensor deployment methods, it is difficult or impossible to know accurately the location and orientation of each sensor node. One could equip every sensor node with a GPS and compass to obtain location and orientation information, but this adds to the expense and power requirements of the sensor node and may increase susceptibility to jamming. Thus, there is interest in developing methods to selflocalize the sensor network with a minimum of additional hardware or communication.
Self-localization in sensor networks is an active area of current research (see, e.g., [1,5,6,7,8] and the references therein). Iterative multilateration-based techniques are considered in [7], and Bulusu et al. [5,9] consider low-cost localization methods. These approaches assume availability of beacon signals at known locations. Sensor localization, coupled with near-field source localization, is considered in [10,11]. Cevher and McClellan consider sensor network selfcalibration using a single acoustic source that travels along a straight line [12]. The self-localization problem is also related to the calibration of element locations in sensor arrays [13,14,15,16,17,18]. In the element calibration problem, we assume knowledge of the nominal sensor locations and assume high (or perfect) signal coherence between the sensors; these assumptions may not be satisfied for many sensor network applications, however.
In this paper, we consider an approach to sensor network self-calibration using sources at unknown locations in the field. Thus, we relax the assumption that beacon signals at known locations are available. The approach entails placing a number of signal sources in the same region as the sensor nodes (see Figure 2). Each source in turn generates a known signal that is detected by a subset of the sensor nodes; each sensor node that detects the signal measures the time of arrival (TOA) of the source with respect to an established network time base [19,20] and also measures the direction of arrival (DOA) of the source signal with respect to a local (to the sensor node) frame of reference. The set of TOA and DOA measurements are collected together and form the data used to estimate the unknown locations and orientations of the sensor nodes.
In general, neither the source locations nor their signal emission times are assumed to be known. If the source signal emission times are unknown, then the time of arrival to any one sensor node provides no information for selflocalization; rather, time difference of arrival (TDOA) between sensor nodes carries information for localization. If partial information is available, it can be incorporated into the estimation procedure to improve the accuracy of the calibration. For example, [21] considers the case in which source emission times are known; such would be the case if the sources were electronically triggered at known times.
We show that if neither the source locations nor their signal emission times are known and if at least three sensor nodes and two sources are used, the relative locations and orientations of all sensor nodes, as well as the locations and signal emission times of all sources, can be estimated. The calibration is computed except for an unknown translation and rotation of the entire source-signal scene, which cannot be estimated unless additional information is available. With the additional location or orientation information of one or two sources, absolute location and orientation estimates can be obtained.
We consider optimal signal processing of the measured self-localization data. We derive the Cramér-Rao bound (CRB) on localization accuracy. The CRB provides a lower bound on any unbiased localization estimator and is useful to determine the best-case localization accuracy for a given problem and to provide a baseline standard against which suboptimal localization methods can be measured. We also develop a maximum likelihood (ML) estimation procedure, and show that it achieves the CRB for reasonable TOA and DOA measurement errors.
There is a great deal of flexibility in the type of signal sources to be used. We require only that the times of arrival of the signals can be estimated by the sensor nodes. This can be accomplished by matched filtering or generalized crosscorrelation of the measured signal with a stored waveform or set of waveforms [22,23]. Examples of source signals are short transients, FM chirp waveforms, PN-coded or directsequence waveforms, or pulsed signals. If the sensor nodes can also estimate signal arrival directions (as is the case with vector pressure sensors or arrays of microphones), these estimates can be used to improve the calibration solution.
An outline of the paper is as follows. Section 2 presents a statement of the problem and of the assumptions made. In Section 3, we first consider necessary conditions for a self-calibration solution and present methods for solving the self-calibration problem with a minimum number of sensor nodes and sources. These methods provide initial estimates for an iterative descent computation needed to obtain ML calibration parameter estimates derived in Section 4. Bounds on the calibration uncertainty are also derived. Section 5 presents numerical examples to illustrate the approach, and Section 6 presents conclusions.

PROBLEM STATEMENT AND NOTATION
Assume we have a set of A sensor nodes in a plane, each with unknown location {a i = (x i , y i )} A i=1 and unknown orientation angle θ i with respect to a reference direction (e.g., North). We consider the two-dimensional problem in which the sensor nodes lie in a plane and the unknown reference direction is azimuth; an extension to the three-dimensional case is possible using similar techniques. A sensor node may consist of one or more sensing element; for example, it could be a single sensor, a vector sensor [24], or an array of sensors in a fixed known geometry. If the sensor node does not measure the DOA, then its orientation angle θ i is not estimated.
In the sensor field are also placed S point sources at lo- The source locations are in general unknown. Each source emits a known finite-length signal that begins at time t j ; the emission times are also in general unknown.
Each source emits a signal in turn. Every sensor node attempts to detect the signal, and if detected, the sensor node estimates the TOA of the signal with respect to a sensor network time base, and a DOA with respect to the sensor node's local reference direction. The time base can be established either by using the electronic communication network linking the sensor nodes [19,20] or by synchronizing the sensor node processor clocks before deployment. The time base needs to be accurate to a number on the order of the time of arrival measurement uncertainty (1 ms in the examples considered in Section 5). The DOA measurements are made with respect to a local (to the sensor node) frame of reference. The absolute directions of arrival are not available because the orientation angle of each sensor node is unknown (and is estimated in the calibration procedure). Both the TOA and DOA measurements are assumed to contain estimation errors. We denote the measured TOA at sensor node i of source j as t i j and the measured DOA as θ i j .
We initially assume every sensor node detects every source signal; partial measurements are considered in Section 4.4. If so, a total of 2AS measurements are obtained. The 2AS measurements are gathered in a vector where vec(M) stacks the elements of a matrix M columnwise and where Each sensor node transmits its 2S TOA and DOA measurements to a CIP, and these 2AS measurements form the data with which the CIP computes the sensor calibration. Note that the communication cost to the CIP is low, and the calibration processing is performed by the CIP. The above formulation implicitly assumes that sensor node measurements can be correctly associated to the corresponding source. That is, each sensor node TOA and DOA measurement corresponding to source j can be correctly attributed to that source. There are several ways in which this association can be realized. One method is to timemultiplex the source signals so that they do not overlap. If the source firing times are separated, then any sensor node detection within a certain time interval can be attributed to a unique source. Alternately, each source can emit a unique identifying tag, encoded, for example, in its transmitted signal. In either case, failed detections can be identified at the CIP by the absence of a report from sensor node i about source j. Finally, we can relax the assumption of perfect association by including a data association step in the selflocalization algorithm, using, for example, the methods in [25,26].
Define the parameter vectors Note that β contains the sensor node unknowns and γ contains the source signal unknowns. We denote the true TOA and DOA of source signal j at sensor node i as τ i j (α) and φ i j (α), respectively, and include their dependence on the parameter vector α; they are given by where is the angle between the points ξ, η ∈ 2 , and c is the signal propagation velocity. Each element of X has measurement uncertainty; we model the uncertainty as where µ(α) is the noiseless measurement vector whose elements are given by (4) for values of i and j that correspond to the vector stacking operation in (1), and where E is a random vector with known probability density function.
The self-calibration problem then is, given the measurement X, estimate β. The parameters in γ are in general unknown and are nuisance parameters that must also be estimated. If some parameters in γ are known, the complexity of the self-calibration problem is reduced, and the resulting accuracy of the β estimate is improved.

EXISTENCE AND UNIQUENESS OF SOLUTIONS
In this section, we address the existence and uniqueness of solutions to the self-calibration problem and establish the minimum number of sensor nodes and sources needed to obtain a solution. We assume that every sensor node detects every source and measures both TOA and DOA. In addition, we assume that the TOA and DOA measurements are noiseless and correspond to values that correspond to a planar sensor-source scenario; that is, we assume they are solutions to (4) for some vector α ∈ 3(A+S) . We establish the minimum number of sources and sensor nodes needed to compute a unique calibration solution and give algorithms for finding the self-calibration solution in the minimal cases. These algorithms provide initial estimates to an iterative descent algorithm for the practical case of nonminimal noisy measurements presented in Section 4. The four cases below make different assumptions on what is known about the source signal locations and emission times. Of primary interest is the case where no source parameters are known; however, the solution for this case is based on solutions for cases in which partial information is available, so it is instructive to consider all four cases. In all four cases, the number of measurements is 2AS, and determination of β involves solving a nonlinear set of equations for its 3A unknowns. Depending on the case considered, we may also need to estimate the unknown nuisance parameters in γ. The result in each case is summarized in Table 1.
Case 1 (known source locations and emission times). A unique solution for β can be found for any number of sensor nodes as long as there are S ≥ 2 sources. In fact, the location and orientation of each sensor node can be computed independently of other sensor node measurements. The location of the ith sensor node a i is found from the intersection of two circles with centers at the source locations and with radii (t i1 − t 1 )/c and (t i2 − t 2 )/c. The intersection is in general two points; the correct location can be found using the sign of θ i2 − θ i1 . We note that the two circle intersections can be computed in closed form. Finally, from the known source and sensor node locations and the DOA measurements, the sensor node orientation θ i can be uniquely found. Figure 3: A circular arc is the locus of possible sensor node locations whose angle between two known points is constant.
Case 2 (known source locations and unknown emission times). For S ≥ 3 sources, the location and orientation of each sensor node can be computed in closed form independently of other sensor nodes. A solution procedure is as follows. Consider the pair of sources (s 1 , s 2 ). Sensor node i knows the angle θ i2 − θ i1 between these two sources. The set of all possible locations for sensor node i is an arc of a circle whose center and radius can be computed from the source locations (see Figure 3). Similarly, a second circular arc is obtained from the source pair (s 1 , s 3 ). The intersection of these two arcs is a unique point and can be computed in closed form. Once the sensor node location is known, its orientation θ i is readily computed from one of the three DOA measurements.
A solution for Case 2 can also be found using S = 2 sources and A = 2 sensor nodes. The solution requires a onedimensional search of a parameter over a finite interval. The known location of s 1 and s 2 and the known angle θ 11 − θ 12 means that sensor node 1 must lie on a known circular arc as in Figure 3. Each location along the arc determines the source emission times t 1 and t 2 . These emission times are consistent with the measurements from the second sensor node for exactly one position a 1 along the arc.
Case 3 (unknown source locations and known emission times). In this case and in Case 4 below, the calibration problem can only be solved to within an unknown translation and rotation of the entire sensor-source scene because any translation or rotation of the entire scene does not change the t i j and θ i j measurements. To eliminate this ambiguity, we assume that the location and orientation of the first sensor node are known; without loss of generality, we set x 1 = y 1 = θ 1 = 0. We solve for the remaining 3(A − 1) parameters in β.
For the case of unknown source locations, a unique solution for β is computable in closed form for S = 2 and any A ≥ 2 (the case A = 1 is trivial). The range to each source from sensor node 1 can be computed from r j = (t 1 j − t j )/c, and its bearing is known, so the locations of the two sources can be found. The locations and orientations of the remaining sensor nodes are then computed using the method of Case 1.
Case 4 (unknown source locations and emission times). For this case, it can be shown that an infinite number of calibration solutions exist for A = S = 2, 1 but a unique solution exists in almost all cases for either A = 2 and S = 3 or A = 3 and S = 2. In some degenerate cases, not all of the γ parameters can be uniquely determined, although we do not know a case for which the β parameters cannot be uniquely found.
Closed form calibration solutions are not known for this case, but solutions that require a two-dimensional search can be found. We outline one such solution that works for either A = 2 and S ≥ 3 or S = 2 and A ≥ 3. Assume as before that sensor node 1 is at location (x 1 , y 1 ) = (0, 0) with orientation θ 1 = 0. If we know the two source emission times t 1 and t 2 , we can find the locations of sources s 1 and s 2 as in Case 3. From the two known source locations, all remaining sensor node locations and orientations can be found using the procedure in Case 1, and then all remaining source locations can be found using triangulation from the known arrival angles and known sensor node locations. These solutions will be inconsistent except for the correct values of t 1 and t 2 . The calibration procedure, then, is to iteratively adjust t 1 and t 2 to minimize the error between computed and measured time delays and arrival angles.

MAXIMUM LIKELIHOOD SELF-CALIBRATION
In this section, we derive ML estimator for the unknown sensor node location and orientation parameters.
The ML algorithm involves the solution of a set of nonlinear equations for the unknown parameters, including the unknown nuisance parameters in γ. The solution is found by iterative minimization of a cost function; we use the methods in Section 3 to initialize the iterative descent. In addition, we derive the CRB for the variance of the unknown parameters in α; the CRB also gives parameter variance of the ML parameter estimates for high signal-to-noise ratio (SNR).
The ML estimator is derived from a known parametric form for the measurement uncertainty in X. In this paper, we adopt a Gaussian uncertainty. The justification is as follows. First, for sufficiently high SNR, TOA estimates obtained by generalized cross-correlation are Gaussian distributed with negligible bias [23]. The variance of the Gaussian TOA error can be computed from the signal spectral characteristics [23]. For broadband signals with flat spectra, the TOA error standard deviation is roughly inversely proportional to the signal bandwidth [21]. Furthermore, most DOA estimates are also Gaussian with negligible bias for sufficiently high SNR [27]. For single sources, the DOA standard deviation is proportional to the array beamwidth [28]. Thus, Gaussian TOA and DOA measurement uncertainty model is a reasonable assumption for sufficiently high SNR.

The maximum likelihood estimate
Under the assumption that the measurement uncertainty E in (5) is Gaussian with zero mean and known covariance Σ, the likelihood function is A special case is when the measurement errors are uncorrelated and the TOA and DOA measurement errors have variances σ 2 t and σ 2 θ , respectively; (7) then becomes Depending on the particular knowledge about the source signal parameters, none, some, or all of the parameters in α may be known. We let α 1 denote vector of unknown elements of α and let α 2 denote the vector of known elements in α. Using this notation along with (6), the ML estimate of α 1 iŝ α 1,ML = arg max α1 f X, α 2 ; α = arg min α1 Q(X; α). (9)

Nonlinear least squares solution
Equation (9) involves solving a nonlinear least squares problem. A standard iterative descent procedure can be used, initialized using one of the solutions in Section 3. In our implementation, we used the Matlab function lsqnonlin. The straightforward nonlinear least squares solution we adopted converged quickly (in several seconds for all examples tested) and displayed no symptoms of numerical instability. In addition, the nonlinear least squares solution converged to the global minimum in all cases we considered. We note, however, that alternative methods for solving (9) may reduce computation. For example, we can divide the parameter set and iterate first on the sensor node location parameters and second on the remaining parameters. Although the sensor node orientations and source parameters depend nonlinearly on the sensor node locations, computationally efficient approximations exist (see, e.g., [29]), so the computational savings of lower-dimensional searches may exceed the added computational cost of iterations nested in iterations if the methods are tuned appropriately. Similarly, one can view the source parameters as nuisance parameters and employ estimate-maximize (EM) algorithms to obtain the ML solution [30].

Estimation accuracy
The CRB gives a lower bound on the covariance of any unbiased estimate of α 1 . It is a tight bound in the sense thatα 1,ML has parameter uncertainty given by the CRB for high SNR; that is, as max i Σ ii → 0. Thus, the CRB is a useful tool for analyzing calibration uncertainty.
The CRB can be computed from the Fisher information matrix of α 1 . The Fisher information matrix is given by [22], The partial derivatives are readily computed from (6) and (4); we find that where G (α 1 ) is the 2AS×dim(α 1 ) matrix whose i jth element is ∂µ i (α 1 )/∂(α 1 ) j . For Cases 3 and 4, the Fisher information matrix is rank deficient due to the translational and rotational ambiguity in the self-calibration solution. In order to obtain an invertible Fisher information matrix, some of the sensor node or source parameters must be known. It suffices to know the location and orientation of a single sensor node, or to know the locations of two sensor nodes or sources. These assumptions might be realized by equipping one sensor node with a GPS and a compass, or by equipping two sensor nodes or sources with GPSs. Letα 1 denote the vector obtained by removing these assumed known parameters from α 1 . To compute the CRB matrix forα 1 in this case, we first remove all rows and columns in I α1 that correspond to the assumed known parameters then invert the remaining matrix [22],

Partial measurements
So far we have assumed that every sensor node detects and measures both the TOA and DOA from every source signal.
In this section, we relax that assumption. We assume that each emitted source signal is detected by only a subset of the sensor nodes in the field and that a sensor node that detects a source may measure the TOA and/or the DOA for that source, depending on its capabilities. We denote the availability of a measurement using two indicator functions I t i j and I θ i j , where If sensor node i measures the TOA (DOA) for source j, then I t i j = 1 (I θ i j = 1); otherwise, the indicator function is set to zero. Furthermore, let L denote the 2AS × 1 vector whose kth element is 1 if X k is measured and is 0 if X k is not measured; L is thus obtained by forming A × S matrices I t and I θ and stacking their columns into a vector as in (1). Finally, definẽ X to be the vector formed from elements of X for which measurements are available, so X k is inX if L k = 1.
The ML estimator for the partial measurement case is similar to (9) but uses only those elements of X for which the corresponding element of L is one. Thus, where (assuming uncorrelated measurement errors as in (8)), The Fisher information matrix for this case is similar to (11), but includes only information from available measurements; thusĨ where The above expression readily extends to the case when the probability of sensor node i detecting source j is neither zero nor one. If Σ is diagonal, the FIM for this case is given by  Figure 5: Two standard deviation location uncertainty ellipses for sensor nodes A3 and A9 from Figure 4.
where P D is a diagonal matrix whose kth diagonal element is the probability that measurement X k is available. We note that when partial measurements are available, the ML calibration may not be unique. For example, if only TOA measurements are available, a scene calibration solution and its mirror image have the same likelihoods. A complete understanding of the uniqueness properties of solutions in the partial measurement case is a topic of current research.

NUMERICAL RESULTS
This section presents numerical examples of the selfcalibration procedure. First, we present a synthetically generated example consisting of ten sensor nodes and 2-11 sources placed randomly in a 2 km×2 km region. Second, we present results from field measurements using four acoustic sensor nodes and four acoustic sources.

Synthetic data example
We consider a case in which ten sensor nodes are randomly placed in a 2 km × 2 km region. In addition, between two and 11 sources are randomly placed in the same region. The sensor node orientations and source emission times are randomly chosen. Figure 4 shows the locations of the sensor nodes and sources. We initially assume that every sensor node detects each source emission and measures the TOA and DOA of the source. The measurement uncertainties are Gaussian with standard deviations of σ t = 1 ms for the TOAs and σ θ = 3 • for the DOAs. Neither the locations nor emission times of the sources are assumed to be known. In order to eliminate the translation and rotation uncertainty in the scene, we assume that either two sensor nodes have known locations or one sensor node has known location and orientation. Figure 4 also shows the two standard deviation (2σ) location uncertainty ellipses for both the sources and sensor nodes assuming that the locations of sensor nodes A1 and A2 are known. The ellipses are obtained from the 2 × 2 covariance submatrices of the CRB in (12) that correspond to the location parameters of each sensor node or source. These ellipses appear as small dots in the figure; an enlarged view for two sensor nodes are shown in Figure 5.
The results of the ML estimation procedure are also shown in Figure 5. The "×" marks show the ML location estimates from 100 Monte-Carlo experiments in which randomly generated DOA and TOA measurements were generated. The DOA and TOA measurement errors were drawn from Gaussian distributions with zero mean and variances of σ t = 1 ms and σ θ = 3 • , respectively. The solid ellipse shows the 2-standard deviation (2σ) uncertainty region as predicted from the CRB. We find good agreement between the CRB uncertainty predictions and the Monte-Carlo experiments, which demonstrates the statistical efficiency of the ML estimator for this level of measurement uncertainty. Figure 6 shows an uncertainty plot similar to Figure 4, but in this case we assume that the location and orientation of sensor node A1 is known. In comparison with Figure 4, we see much larger uncertainty ellipses for the sensor nodes, especially in the direction tangent to circles with center at sensor node A1. The high tangential uncertainty is primarily due to the DOA measurement uncertainty with respect to a known orientation of sensor node A1. By comparing Figures 4 and 6 Figure 6: The 2σ location uncertainty ellipses for the scene in Figure 4 when the location and orientation of sensor node A1 is assumed to be known. desirable to know the locations of two sensor nodes than to know the location and orientation of a single sensor node; thus, equipping two sensor nodes with GPS systems results in lower uncertainty than equipping one sensor node with a GPS and a compass. In the example shown, we arbitrarily chose sensor nodes A1 and A2 to have known locations, and in this realization they happened to be relatively close to each other; however, choosing the two sensor nodes with known locations to be well-separated tends to result in lower location uncertainties of the remaining sensor nodes.
We use as a quantitative measure of performance the 2σ uncertainty radius, defined as the radius of a circle whose area is the same as the area of the 2σ location uncertainty ellipse. The 2σ uncertainty radius for each sensor node or source is computed as the geometric mean of the major and minor axis lengths of the 2σ uncertainty ellipse. We find that the average 2σ uncertainty radius for all ten sensor nodes is 0.80 m for the example in Figure 4 and it is 3.28 m for the example in Figure 6. Figure 7 shows the effect of increasing the number of sources on the average 2σ uncertainty radius. We plot the average of the ten sensor node 2σ uncertainty radii, computed from the CRB, using from 2 through 11 sources, starting initially with sources S1 and S2 in Figure 4 and adding sources S3, S4, . . . , S11 at each step. The solid line gives the average 2σ uncertainty radius values when sensor nodes A1 and A2 have known locations, and the dotted line corresponds to the case that A1 has known location and orientation. The uncertainty reduces dramatically when the number of sources increases from 2 to 3 and then decreases more gradually as more sources are added. Partial measurements Next, we consider the case when not all sensor nodes detect all sources. For a sensor node that is a distance r from a source, we model the detection probability as where r 0 is a constant that adjusts the decay rate on the detection probability (r 0 is the range in meters at which P D = e −1 ). We assume that when a sensor node detects a source, it measures both the DOA and TOA of that source. Three detection probability profiles are considered, as shown in Figure 8, and correspond to r 0 = 800 m, r 0 = 2000 m, and r 0 = ∞. Figure 9 shows the average 2σ uncertainty radius values, computed from the inverse of the Fisher information matrix in (18), for each of these choices for r 0 . In this experiment, we assume that the locations of sensor nodes A1 and A2 are known. The average number of sources detected by each sensor node is also shown. For r 0 = 2000 m, we see only a slight uncertainty increase over the case where all sensor nodes detect all sources. When r 0 = 800 m, the average location uncertainty is substantially larger, because the effective number of sources seen by each sensor node is small. This behavior is consistent with the average number of sources detected by each sensor node, shown in the figure.
For a denser set of sensor nodes or sources, the uncertainty reduces to a value much closer to the case of full signal detection; for example, with 30 sensor nodes and 30 sources in this region the average uncertainty is less than 1 m even when r 0 = 800 m.

Field test results
We present the results of applying the auto-calibration procedure to an acoustic source calibration data collection conducted during the DUNES test at Spesutie Island, Aberdeen Proving Ground, Maryland, in September 1999. In this test, four acoustic sensors are placed at known locations 60-100 m apart as shown in Figure 10. Four acoustic source signals are also used; while exact ground truth locations of the sources are not known, it was recorded that each source was within approximately 1 m of a sensor. Each source signal is a series of bursts in the 40-160-Hz frequency band. Time-aligned samples of the sensor microphone signals are acquired at a sampling rate of 1057 Hz. Times of arrival are estimated by cross-correlating the measured microphone signals with the known source waveform and finding the peak of the correlation function. Only a single microphone signal is available at each sensor node, so while TOA measurements are obtained, no DOA measurements are available. Figure 10 shows the ML estimates of sensor node and source location, assum-  ing that sensor node A1 has known location and orientation but assuming no information about the source locations or emission times. Since no DOA estimates are available, the location, but not the orientation, of each sensor node is estimated. The estimate shown in Figure 10 and its mirror image have identical likelihoods; we have shown only the "correct" estimate in the figure. The location errors of sensor nodes A2, A2, and A4 are 0.09 m, 0.19 m, and 0.75 m, respectively, for an average error of 0.35 m. In addition, the source location estimates are within 1 m of the sensor node locations, consistent with our ground truth records. Finally, we note that the calibration procedure requires low sensor node communication and has reasonable computational cost. The algorithms require low communication overhead as each sensor node needs to communicate only 2 scalar values to the CIP for each source signal it detects. Computation of the calibration solution takes place at the CIP. For the synthetic examples presented, the calibration computation takes on the order of 10 seconds using Matlab on a standard personal computer. For the field test data, computation time was less than 1 second.

CONCLUSIONS
We have presented a procedure for calibrating the locations and orientations of a network of sensor nodes. The calibration procedure uses source signals that are placed in the scene and computes sensor node and source unknowns from estimated TOA and/or DOA estimates obtained for each sourcesensor node pair. We present ML solutions to four variations on this problem, depending on whether the source locations and signal emission times are known or unknown. We also discuss the existence and uniqueness of solutions and algorithms for initializing the nonlinear minimization step in the ML estimation. A ML calibration algorithm for the case of partial calibration measurements was also developed.
An analytical expression for the Cramér-Rao lower bound on sensor node location and orientation error covariance matrix is also presented. The CRB is a useful tool to investigate the effects of sensor node density and source detection ranges on the self-localization uncertainty.