Next Article in Journal
DNA Hybridization Sensors Based on Electrochemical Impedance Spectroscopy as a Detection Tool
Next Article in Special Issue
Survey of Visual and Force/Tactile Control of Robots for Physical Interaction in Spain
Previous Article in Journal / Special Issue
A Featured-Based Strategy for Stereovision Matching in Sensors with Fish-Eye Lenses for Forest Environments

Sensors 2009, 9(12), 9493-9512; doi:10.3390/91209493

Acoustic Sensor Planning for Gunshot Location in National Parks: A Pareto Front Approach
Francisco Javier González-Castaño 1,2,*, Javier Vales Alonso 3, Enrique Costa-Montenegro 2, Pablo López-Matencio 3, Francisco Vicente-Carrasco 3, Francisco J. Parrado-García 3, Felipe Gil-Castiñeira 2 and Sergio Costas-Rodríguez 1
Fundacion Centro Tecnologico de las Telecomunicaciones de Galicia (Gradiant), Campus As Lagoas/Marcosende, Vigo, Spain
Telematics Engineering Department, University of Vigo, Spain
Information and Communications Technologies Department, Technical University of Cartagena, Spain
Author to whom correspondence should be addressed; Tel.: +34-98-681-3788; Fax: +34-98-681-2116.
Received: 9 October 2009; in revised form: 13 November 2009 / Accepted: 16 November 2009 / Published: 26 November 2009


: In this paper, we propose a solution for gunshot location in national parks. In Spain there are agencies such as SEPRONA that fight against poaching with considerable success. The DiANa project, which is endorsed by Cabaneros National Park and the SEPRONA service, proposes a system to automatically detect and locate gunshots. This work presents its technical aspects related to network design and planning. The system consists of a network of acoustic sensors that locate gunshots by hyperbolic multi-lateration estimation. The differences in sound time arrivals allow the computation of a low error estimator of gunshot location. The accuracy of this method depends on tight sensor clock synchronization, which an ad-hoc time synchronization protocol provides. On the other hand, since the areas under surveillance are wide, and electric power is scarce, it is necessary to maximize detection coverage and minimize system cost at the same time. Therefore, sensor network planning has two targets, i.e., coverage and cost. We model planning as an unconstrained problem with two objective functions. We determine a set of candidate solutions of interest by combining a derivative-free descent method we have recently proposed with a Pareto front approach. The results are clearly superior to random seeding in a realistic simulation scenario.
acoustic sensing; sound location; sensor synchronization; sensor network planning; derivative-free optimization; Pareto front

1. Introduction

The Spanish SEPRONA [1] agency fights against poaching with considerable success. However, the problem remains relevant. Since 2007, SEPRONA has detained over 150 people for hunting felonies [2, 3]. Consequently, the authors have proposed the DiANa project, Detección de caza furtiva con Armas de fuego en parques NAcionales (Detection of illegal hunting with gunfires in national parks), to automatically detect and locate gunshots, which is endorsed by Cabañeros National Park [4].

The DiANa system consists of a network of acoustic sensors that locate gunshots. There exist some commercial solutions for gunshot detection, although they do not locate sound sources [5]. There also exist sound location tools for the military, but they are too costly and cannot be deployed in large numbers in civilian applications [6]. This paper presents an original method for gunshot location and a planning algorithm for its deployment in large terrain extensions (e.g., a national park). Two key design issues are implementation cost minimization and performance maximization in real-time scenarios. Therefore, sensor protocols and tasks (such as time synchronization and gunshot position estimators), as well as network planning for node placement, have been taken into account.

Assuming a group of sensors has correctly detected an acoustic signal (e.g., using Gaussian Mixture Models, GMM [7, 8]), the location of this signal results from the combination of sensor data. A sensor only knows its own position and local time, and therefore these measures must suffice to locate the gunshot.

In the literature there are several location estimators, such as triangulation [9] and trilateration [10] methods. In the triangulation schema, every sensor determines the direction from which the acoustic event is detected, and then the location of that event is calculated as the intersection of the detection directions. We discarded this alternative, because determining the direction of the acoustic event would make the hardware design too complex and costly, and the solution would be highly sensitive to terrain shape. A trilateration schema determines the location of the event from the distance between the source of the acoustic event and a fixed sensor. These distances can be obtained if the generation time of the event is known. However, in our scenario, only the detection time is available to the nodes.

A directly observable acoustic signal between a couple of microphones is the time difference of arrival (TDoA) [1113]. The TDoA technique exploits the relationship between distance and transmission time when the propagation speed is known. Once the time delays are calculated, they are processed in order to estimate the location of the source [1416]. Due to the distances between the deployed sensors (in the order of hundreds of meters), and the smooth landscape in Cabañeros National Park (Figure 1), we have assumed a two-dimensional scenario.

The hyperbolic location method [17] minimizes an error measure that is a nonlinear function of the potential source location. This approach is scalable, since location accuracy increases with the number of nodes that detect the gunshot (see Section 5.). Its domain can be a plane or a three-dimensional space.

TDoA-based ranging techniques require accurate clock synchronization. Every sensor knows its own position exactly, and it records the arrival time of the sound event. So, the sensor clocks must be as tightly synchronized as possible, using dedicated time-synchronization algorithms. Since a gunshot location network must scale to large sizes, it is necessary to minimize the number of exchanged messages to attain convergence, keeping energy consumption at reasonable levels if the electric grid is not available.

Selecting a synchronization schema for a real application like ours is not easy. The best known synchronization schemas implement network mechanisms to adjust all local clocks to the same value. This is achieved by exchanging time stamps between node pairs. The more frequent the exchanges, the higher the time accuracy. Two representative examples are Reference Broadcast Synchronization (RBS) [18] and the Timing-Sync Protocol for sensor Networks (TSPN) [19]. We discarded GPS receivers due to their high cost. In Section 2.3. we propose a new ad-hoc flood method to set the clock times in every network node to the same value. In this method, the nodes do not exchange synchronization messages, and thus they save power. Once a node detects a gunshot, the time of the event is transmitted to the sink node through a previously generated path. The method performs a cooperative backward time adjustment, so that every node along the path is able to estimate the event time.

Regarding network planning, since the areas under surveillance are wide, and electric power is seldom available, it is necessary to both maximize detection coverage and minimize system cost. Therefore, we model sensor network planning as an unconstrained problem with two objective functions. We provide a set of candidate solutions of interest by combining a derivative-free descent method we have recently proposed and a Pareto front approach.

Due to the inherent difficulties exhibited by the thus far formulated models in sensor network planning, several heuristic optimization strategies have been proposed in the literature: variants of simulated annealing [20], genetic algorithms [21], gradient descent (when applicable) [22] and others [23, 24].

Some of these approaches (simulated annealing, genetic algorithms and the like) do not guarantee theoretical convergence. Regarding gradient descent methods, the gradient is often unavailable or too costly to compute. Therefore, we have adapted a non-monotone derivative-free optimization technique with guaranteed convergence [25] to formulate and solve a computationally efficient optimization model with a dual objective: maximization of acoustic network coverage and minimization of power infrastructure cost. The results are presented as a Pareto front, revealing solutions that are clearly superior to random seeding.

Our notation is as follows: Lower case Greek letters are scalars, lower case Latin letters are vectors in IR2, x k j is the j-th component of the vector xk, and ‖x‖ is the Euclidean norm. A capital Latin letter, say S, stands for a collection of vectors in IR2; if S = {s1, …, sp} we also say that SIR2p; τS = {τs1, …, τsp}, and the sum Z = S + D means that S and D have the same number of elements, say p, and zkZ if and only ifk ∈ {1, …, p} | zk = sk + dk. In general the subindex i is the value of an entity (scalar, vector, set, and so forth) at the i-th iteration of an algorithm; for instance Si = {si1, …, sip} is a set of p vectors in IR2, at the i-th iteration.

The rest of the paper is organized as follows:

Section 2. describes the sound location and node synchronization procedures. In Section 3. we present the optimization model to plan the acoustic sensor network. In Section 4. we verify that the problem fulfills the conditions in [26] to apply the advanced derivative-free algorithms in [25]. In Section 5. we perform numerical tests to evaluate the approach. Finally, Section 6. concludes the article.

2. Gunshot Location

In this section we describe the location procedure for acoustic events, which we have implemented for MicaZ motes. The goal of our system is gunshot location by means of a sensor network. Location is based on hyperbolic positioning [17]. Hyperbolic positioning requires the sensor clocks to be synchronized, in order to apply the TDoA technique. For this reason we have implemented a synchronization protocol in the MICAz motes. Next, we describe the system architecture, the location method and, finally, the synchronization schema.

2.1. System architecture

Figure 2 shows the system architecture, with three components:

  • Sensor nodes: The sensor nodes in known positions are equipped with the necessary hardware for the detection of acoustic events. They can discriminate between normal and shot segment classes in audio streams. When a sensor node detects a sound event, it transmits a packet with information about the type of sound event and a sound timestamp to a special node, the sink.

  • Sink nodes: Sink nodes collect the packets sent by sensor nodes and deliver them to the GIS server to calculate the position of the sound event. Sink nodes may be sensing nodes as well.

  • GIS server: Using the information from the sink nodes, the GIS server estimates the position of the acoustic event by means of a hyperbolic method, described in Section 2.2.

2.2. Source location procedure

Since our optimization model (see Section 3.) considers a flat landscape with scattered trees, we have selected a two-dimensional hyperbolic positioning algorithm. Nevertheless, it could be easily extended to three-dimensional location in rough scenarios.

Let us consider an acoustic event that takes place at an unknown position xIR2, which we wish to determine. Formally, all sensing node locations s = (s1, s2) belong to a well-defined compact set XIR2. We denote the Euclidean distance δ(s, x) between a sensor location s and another point x in the scenario, s, xX, by

δ 2 ( s , x ) = s x 2 .

Let us also assume that a subset BX of the nodes have detected the event, and that the position of those nodes is known. Let us denote the sound propagation speed as υ. Then, the time of arrival tb of the event at any node bB is:

t b = 1 υ δ ( x , s b )
and the difference between the arrival times of the event to a pair of nodes sb and sb is:
τ b b t b t b = 1 υ [ δ ( x , s b ) δ ( x , s b ) ] , b , b B

This expression defines hyperboles, whose intersection determines the source of the shot. Figure 3 shows this process graphically.

For two given receiver locations, sb and sb′ a set of emitter locations would yield the same TDoA measurement. This is the locus of possible emitter locations and it describes a hyperbole. If we now consider a receiver at a third location sb, it provides a second TDoA measurement, and, hence, allows the location of the emitter on a second hyperbole. In general, a set of distances from the source to every sensor pair identifies a set of hyperboles. As a consequence, the location of the source is the intersection of this set of hyperboles. In Section 5., our tests show that location accuracy increases with the number of gunshot detection nodes. In most trials, the accuracy in scenarios with three detection nodes or more is sufficient to find the acoustic source (the detailed TDoA location technique is described in [17]).

Although non-linear expression (3) has a unique solution if there are enough hyperboles, there is some uncertainty in the calculation since:

  • The speed of sound varies depending on altitude, humidity and air temperature. As we have mentioned, multi-path propagation affects the accuracy of acoustic signal detection. Single spread-spectrum techniques such as those in [27] largely mitigate it.

  • The microphone directionality or polar pattern affects the result.

  • The clock drift may drastically vary in time due to environmental temperature and humidity changes. In Section 2.3. we propose an approach to reduce sensor clock deviations.

Due to these inaccuracies, expression (3) may be inconsistent. Nevertheless, low-error estimations are possible. A nonlinear optimization problem can be formulated [28] to minimize the difference between estimated and real positions. We minimize the square error of the location, defined as the differences between the squares of the theoretical and measured differential arrival times to a reference node sb:

x = arg min x { b B \ s b [ ( δ ( x , s b ) δ ( x , s b ) ) υ τ b b ] 2 }

The least square minimization problem in (4) is not convex. Thus, standard optimization algorithms, such as incremental gradient, are not guaranteed to converge to the global minimum. The initial conditions in an iterative algorithm may lead to a local optimum or a saddle point at the termination, adding imprecision to gunshot location. The required computing power is moderate, and the GIS server (Figure 2) can handle the calculations. The solutions can be obtained practically in real time (see Section 5.). Our synchronization algorithm (see Section 2.3.) also contributes to the location procedure, since it is required for the sink node to compute the TDoA between the detectors. The tests with our reference implementation in MICAz motes reveal that, the more sensors that detect the sound event, the greater the location precision (see Section 5.). This is due to error compensation in arrival time measures. In conclusion, a high density of sensors around a sound event always improves location precision. Therefore, optimal sensor positioning improves the performance of the location system.

2.3. Synchronization schema

Time synchronization is a fundamental aspect in distributed sensor networks. In the proposed shot detection system, the differences in arrival times can only be computed if the nodes are tightly synchronized. To adjust the clocks, the nodes must exchange messages indicating the time reference. In fact, time adjustment degrades progressively due to clock drifts, and it is indeed mandatory to readjust it periodically (by sending new messages). However, power consumption is higher if synchronization packets are continuously transmitted. Even if a continuous energy source is available, it may be necessary to extend the network with autonomous nodes at its edges. Therefore, the number of exchanged messages should be as low possible, for a given accuracy goal. For gunshot location purposes, if we assume a maximum error of few meters, the maximum allowed error in time synchronization is in the order of a tenth of a second (de, where de is the allowed spatial error). For example, three milliseconds of clock drift will cause an estimated error of one meter, relative to the real source position. Thus, fine-grained clock synchronization is mandatory. The tests with our synchronization algorithm show a time accuracy of tenths of microseconds. The implementation has been carried out with TinyOS in MICAz devices.

The synchronization algorithm has two steps:

  • Level discovery: This step is similar to the level discovery stage in TPSN [19]. Before the synchronization process takes place, the network has to organize itself as a hierarchical tree, beginning at a root node (in our case we choose the sink). According to the minimum number of hops to the sink, a level is assigned to each node (level 0 to the root). To compute the tree, the process starts at the root, broadcasting a level discovery packet to the nodes at level 0. The nodes that receive this packet are marked as children of the root node, and they set their level to 1. The nodes ignore further level discovery packets with greater or equal level numbers. Then, level 1 nodes broadcast their level discovery packets, and so on. Note that this process also permits discover of optimal communication paths (in number of hops) to the root, and, thus, it is valid for network routing.

  • Synchronization: Once the hierarchical network structure is completed, the synchronization process may start. In general, level k nodes synchronize their children (of level k + 1).

    Besides its own local clock, a sensor node will maintain an estimation of its synchronizer node clock in the upper hierarchical level. The approximation consists of calculating the regression line of those two clocks. Previously, the level k node receives several synchronized time-stamps of level k – 1 (see Figure 4), which are broadcast following the tree structure that was created at the level discovery step. Figure 4 shows the regression line used to calculate the parent node clock in a level k node. Value αk represents the clock offset at reference time t = 0, and the slope βk is the rate of change (clock drift) of the local clock.

    Once a node detects a gunshot, it sends the event to its parent node in the upper level, according to the parent time clock. After one or more hops, level 0 (sink node) will receive estimations of the detection time that are synchronized with the sink clock, from one or more level 1 nodes. This way, local clock exchanges do not spend power. Since clock drift varies slowly, the regression line must only be calculated every 6 or 8 hours, according to our tests with MicaZ motes. Only large temperature variations affect the regression line slope, requiring node re-synchronization.

3. Optimization Model

The sound spectrum of a gunshot is dominated by the 130 Hz to 3 kHz frequency range [29]. According to [30], at these frequencies there is an extra attenuation of 3 dB each ∼25 m in woods, yielding 12 dB vs. 9 dB in open space. Given the sensitivity threshold of the sensing node, its maximum ranges are 1 Km in open space and 750 m in a wood.

We consider a large outdoor flat scenario with open space areas and wood patches. The scenario is crossed by a few power lines. In it, we wish to deploy a given number of fixed sensing nodes, so that the detection coverage is maximum. A point gets covered if it is reachable by one sensing node at least, although this capability increases if more sensing nodes see the point (to achieve source signal location we require a coverage of at least three nodes, as explained in Section 2.2.).

At the same time, we wish to minimize the distance between the sensing nodes and the power lines so that the cost of the power infrastructure is minimal in case the nodes are not autonomous. The nodes communicate through the electric grid itself, so transmission coverage is not an issue of interest.

This scenario clearly prevents an optimal educated guess, specially when only a small number of sensing nodes is available.

We define δ(s, x) = ω1(s, x) + ω2(s, x), where:

  • ω1(s, x) corresponds to propagation distance through wood space.

  • ω2(s, x) corresponds to propagation distance through open space.

Given a sensor location sX and a point xX we say that x is visible from sensor s if:

1 Km 750 m ω 1 ( s , x ) + ω 2 ( s , x ) < 1 Km

Let S = {s1 …, sp}, skX, k = 1, …, p, be the positions of p acoustic sensors on X. We denote by V(x) the set of all sensors sS that are visible from the location x. We also define an arbitrary grid GX. Objective function f1, which measures acoustic sensor coverage, is defined as follows:

f 1 ( S ) = x G { 0.5 card ( V ( x ) ) if card ( V ( x ) ) < 3 3 + 0.01 ( card ( V ( x ) ) 3 ) if card ( V ( x ) ) 3

This function penalizes grid points that see fewer than three sensors (a gunshot in those points cannot be located with highest precision), and gives a small bonus to grid points that see more than three sensors (the minimum number of sensors for highest precision location).

A second objective function f2 measures the cost of the sensor deployment. As in the case of sensor coverage, there are many ways to model this. In this paper we assume that the cost of a sensor unit is negligible compared to the cost of a permanent power line. As we previously said, the scenario is crossed by m power lines. We define:

f 2 ( S ) = s S min i { 1 , , m } δ i ( s )
where δi(s) is the Euclidean distance between s and the i-th power line, i.e., between s and the point in that line that is closest to s in Euclidean distance.

Our ultimate task is to place p sensors on X in such a way that the coverage f1 on X is maximized and the cost f2 on X is minimized. Clearly, these objectives are contradictory. Minimizing −f1 (i.e., maximizing f1) tends to spread the sensors, whereas minimizing f2 tends to concentrate them around the power lines. For that reason, it is desirable to produce the Pareto front [31] of these two functions, which represents a pool of candidate solutions. A point x* ∈ X belongs to the Pareto front of a set of functions in X if a further decrease in one of them is not possible without causing an increase in some of them. The methodology in [31] obtains joint descent directions for all the objective functions in a set, but it requires all of them to be differentiable, and that is not the case with f1.

In our case, since there are only two objective functions, we define the following unconstrained optimization problem:

minimize s 1 , , s p f ( s 1 , , s p ) = ( θ 1 ) f 1 ( s 1 , , s p ) + θ f 2 ( s 1 , , s p )

By solving problem (8) repeatedly, assigning random values to θ in [0, 1], we obtain a collection of points of the Pareto front of f1 and f2.

Remark 1

Note that any local minima in − f1 and f2 belong, by definition, to the Pareto front.

The next section deals with the solution of the model, including a proper choice of parameters.

4. Solving the Optimization Model

Many optimization algorithms are iterative. Starting with a solution estimate S1 = {s11, …, s1p}, a subsequence {Si}iI = {si1, …, sip}iI is generated that hopefully converges to the solution of the problem. As it is common in all implementations, there are several parameters (magic numbers) the user must set. Some of them will notably influence the performance of the algorithm, and often depend upon the structure of the objective function.

4.1. Alternative approaches

Two methods were suggested in [23, 24] for access point coverage optimization, a similar problem to ours: neighborhood search and simulated annealing [32], which we compared in [33]. These methods have no guaranteed convergence. On the other hand, gradient descent methods converge, but they can only be applied when the objective function is smooth, which is unusual in realistic models like ours.

4.2. Derivative-free unconstrained minimization

The function f(S), with θ ∈ (0, 1], is non-smooth on X with directional derivatives everywhere defined, which is a required assumption in a recent algorithm for unconstrained minimization (ignoring θ = 0 is not relevant when estimating the Pareto front, because θ can be arbitrarily close to 0). Numerical results show that the algorithm is competitive with others that try to find a good local minimum [25, 26]. Essentially the algorithm is an iterative process that does not force the decrease of f(Si), but imposes a controlled bound φif(Si) at every iteration. More specifically, given a stepsize τiΔ > 0, and a unitary direction DIR2p, D = {d1, …, dp}, one iteration of the algorithm succeeds if

f ( S i + τ i Δ D ) f ( S i ) + α i ( φ i f ( S i ) ) ν ( τ i Δ ) ,
where ν(·), φ satisfy A4 - A5 given below. The point Si is blocked when the algorithm fails to satisfy (9) on a set of directions {D1, …, Dn}, n > 2p that positively spans IR2p. It is shown in [25] that under assumptions A1 - A5 given below, the sequence of blocked points converges to a point S* that satisfies the zero order stationary point of f(S), i.e., f′(S*, Dk) ≥ 0, k = 1, …, n, where the directional derivative is nonnegative along the given directions. In theory, if A6 also holds, then ∇f(S*) = 0, but we are aware that A6 is seldom fulfilled for our kind of function and we do not stress this result in this paper. The reader may read [25, 26] to complete the details. We reproduce [25, Table 1] in Table 1.

  • A1. f(S) : IR2pIR is bounded below, and { S i } i = 1 remains in a compact set,

  • A2. f(S) has directional derivatives f′(S, D) everywhere defined:

    η > 0 { f ( S , η D ) = η f ( S , D ) , f ( S + η D ) = f ( S ) + η f ( S , D ) + o ( η )

  • A3. The unit directions D1, …, Dn positively span R2p.

  • A4. The function ν(·) : IR+IR+ is little-o of τ, that is: lim ν(τ)/τ = 0

  • A5. The reference values { φ i } 1 are upper bounds of f(·), i.e., φif(Si) for all i, and decrease sufficiently after a given finite number of successful iterations.

  • A6. f(S) is strictly differentiable or locally convex at all limit points of the sequence { S i } i = 1 generated by the algorithm.

Remark 2

The simplest case of INTERPOLATE(S, D, τΔ) is Z = S + τΔD, fZ = f(Z), which we follow in this paper, although there exist more elaborate alternatives [25].

Remark 3

If α = 0, we obtain the monotone version of the derivative-free algorithm, which converges to the local minimum in the neighborhood of the starting point.

Remark 4

A5 holds.

Remark 5

In order to improve convergence, [25] suggested expanding τ every time a significant number of successes is achieved. Nevertheless, convergence is also guaranteed if τ only decreases.

Regarding conditions A1-A5: (1) The objective function f(·) : IR2pIR as defined in (8) is non negative by adding a constant and S = {s1, …, sp} remains in the compact set X, (2) f(·) possesses everywhere directional derivatives if θ ∈ (0, 1], (3) the directions of search DkIR2p, k = 1, …, n are easy to generate [26], (4) the choice of ν(τΔ) in Section 5. is 0.001(τΔ)2, and (5) φ = f(S) as soon as all directions in D have been explored (Table 1 and Remark 4).

5. Numerical Tests

We model the 10 km × 10 km flat wood scenario in Figure 5. The light areas represent open space, and the dark ones represent wood patches. The scenario is crossed by three “vertical” power lines, respectively at 1.66, 5 and 8.33 Km from the left side. This terrain representation partly encloses the difficulties in modelling Cabaneros national park.

Grid G is given by a uniform discretization of the scenario in 50-m steps. In it we want to install 200 acoustic sensors (p = 200) with maximum detection coverage, at a minimum power cost. In order to obtain the Pareto front, we obtain the solution of problem (8) several times, starting from different random points S0. We normalize the objective function by dividing it by its value at the starting points.

Since an algorithm can lead to a local optimum of problem (4) or to a solution that differs from the global optimum, we have chosen a brute force approach that computes the function at every grid point. Real-time system response is not affected, as the calculation time in a 10 km × 10 km scenario is in the order of a tenth of millisecond.

Following the results in [33], instead of applying the non-monotone derivative-free search as described in Section 4., we applied a zone search variant. If we simply “move” one sensor at a time, instead of “moving” them all, the evaluation of the objective function is significantly less time consuming, since most computations in f(S) do not change.

To formalize this approach, we split the scenario into q non-overlapping zones Xj, j = 1, …, q, such that X = ∪j=1..qXj and XkXj = ∅, kj. Let V(si) = {xG | siV(x)}. When we move the k-th sensor, the remaining sensor positions do not change, i.e., the group moves from S = {s1, …, sk, …, sp} to S = { s 1 , , s k , , s p }. When this happens, V ( S ) = V ( S ) V ( s k ) V ( s k ). To quickly obtain a relaxed estimate Tv of V ( s k ) V ( s k ), we discard all Xj | ∀xXj min ( δ ( s k , x ) , δ ( s k , x ) ) > 1 Km. Let Tnv be the set of discarded zones and let Tv = V(S′) − Tnv. Then, we compute ΣxTv f(S′), and keep ΣxTnv f(S′) = ΣxTnv f(S) from the previous iterate. In the numerical tests that follow, we divided our scenario in 100 [1 Km × 1 Km] zones (q = 100). We compute one objective function component per zone at the beginning of the algorithm execution. When only one sensor is moved, there is no need to recompute the objective function in zones that are not affected by the sensor movement.

This way, the time to compute an objective function value drops from 20 seconds on average to just 1.5 seconds on a Pentium IV.

Let S = {s1, …, sk, …, sp}. In order to move only one AP at a time, say sk, we generate a set of unit search directions djIR2, j = 1, …, n such that the set D = {d1, …, dn} positively spans IR2. We recall that n ≥ 3. We declare a success when

f ( s 1 , , s k 1 , s k + τ i d j , s k + 1 , , s p ) f ( S ) + α i ( φ i f ( S ) ) ν ( τ i )
for some djD and some sS. The point S is blocked if the algorithm is unable to move a single sS. We observe that this schema may be carried out simultaneously in a multi processor environment and it is straightforward to show that after we try all sS we have searched on a set of directions that positively span IR2p, although we are using at least 3p directions of search.

We tuned the method in preliminary trials and determined the following parameter values:

  • Δ = 0.1 Km, i.e., the method stops when the maximum sensor displacement is under 100 m.

  • ετ = 1

  • τ = 5

  • max_success= 40 (20%p), but we do not allow τ > 8.

  • We initially set φ to the value of the objective function at the starting point.

  • α = 0, i.e., we perform a monotone derivative-free search.

  • Finally, we set ν(τΔ) = 0.001(τΔ)2.

Figures 6, 7 and 8 show the results. Instead of representing f2 versus f1, we represent f2 versus the coverage areas (in percentage) that correspond to V(x) ≥ 1, V(x) ≥ 2 and V(x) ≥ 3, respectively. Algorithm execution is repeated 20 times, from 20 different starting points. Each starting point consists of a random deployment of 200 acoustic sensors in the scenario in Figure 5, with a uniform distribution.

The results reveal that the Pareto front approach is useful. The solutions show a compromise between cost and coverage. In the V(x) ≥ 1 case there is no real advantage over a random seeding in terms of coverage, although the cost drops considerably for 100% coverage. However, in the V(x) ≥ 3 case, the optimization result is clearly superior to random seeding across the whole Pareto front. At maximum cost, there is a 20% increase in coverage, and at 85% coverage (the best coverage of random seeding) there is a 50% decrease in cost.

Figures 9, 10 and 11 show three sensor deployments in our synthetic scenario in Figure 5, for three different choices of θ = {0.1, 0.5, 0.9} (red points represent sensor positions, blue areas zones with less coverage, dark blue areas indicate no coverage at all). The results are consistent with the fact that coverage improves for low θ values. As the values of θ become higher, the sensors tend to concentrate around the power lines. Therefore, power cost decreases, but so does the coverage (Figure 11 for θ = 0.9).

Figure 12 represents the percentage of grid points covered by different numbers of sensors in the three previous deployments. In the θ = 0.9 case, where the cost function has more weight, over 35% grid points are out of coverage, and, due to the concentration of the sensors around the power lines, there are grid points that are covered by 13 sensors or more. As θ decreases, grid points covered by less than 3 sensors are rare, and the majority of the grid points are covered by 3-5 sensors.

Table 2 shows location precision and expected coverage results. The location algorithm described in Section 2.2. has been tested in the three previous deployments (θ = {0.1, 0.5, 0.9}). Table 2 shows the average location error in meters (distance between estimated and real positions) for 10, 000 random gunshot positions in the simulation area, for each θ value and three levels of variation in sensor clocks. These variations are generated by adding a normal Gaussian random toss to the arrival time at each node, for three different values of σ between 0 and 10 ms. The results show that location accuracy increases with the number of detecting nodes, as well as with a better clock synchronization. In addition, this table provides information on the expected coverage at each scenario. For instance, in the θ = 0.1 case, the probability that one or more nodes detect the event is 0.99973, for two or more nodes it is 0.99777, and so on. Clearly, there must be a compromise between detection accuracy, coverage and deployment cost.

6. Conclusions

In this paper, we have proposed a gunshot location procedure based on sensor networks and a Pareto front approach to optimize large-scale deployments. The location procedure is based on hyperbolic multi-lateration using data from a synchronized sensor network. We also propose a practical distributed synchronization algorithm for that purpose, with low energy consumption. Sensor network planning follows a Pareto front approach, using a monotone descent method without derivatives that is compatible with realistic optimization functions. Our results are clearly superior to random placement, achieving a 50% cost reduction for 85% coverage. In the two-dimensional scenario, event detection by at least four nodes is required to achieve satisfactory gunshot location accuracy.


This work has been partly supported by Spanish grants DEP2006-56158-C03-01/02/03 and TEC2007-67966-C03-01/02 (CON-PARTE).


  1. SEPRONA. Servicio de Protección a la Naturaleza webpage. Available online: (accessed September 20, 2009), (in Spanish).
  2. Detenidos 12 cazadores furtivos en la Operación Bambi. Available online: (accessed September 22, 2009), (in Spanish).
  3. Desarticulada un red de cazadores furtivos en la Sierra de Gredos. Available online: (accessed September 24, 2009), (in Spanish).
  4. Spanish National Parks webpage. Available online: (accessed September 25, 2009), (in Spanish).
  5. Silvano webpage. Available online: (accessed September 26, 2009).
  6. Anti-sniper/sniper detection/gunfire detection systems at a glance. Defense Rev. Available online: (accessed September 27, 2009).
  7. Clavel, C.; Ehrette, T.; Richard, G. Events detection for an audio-based surveillance system. Proceedings of IEEE International Conference on Multimedia and Expo, Amsterdam, the Netherlands; 2005. [Google Scholar]
  8. Rouas, J.; Louradour, J.; Ambellouis, S. Audio events detection in public transport vehicle. Proceedings of 9th International IEEE Conference on Intelligent Transportation Systems, Toronto, Canada, September 17–20, 2006.
  9. Niculescu, D.; Nath, B. Ad hoc positioning system (APS) using AOA. Proceedings of 22nd Annual Joint Conference of the IEEE Computer and Communications Societies, San Francisco, CA, USA, April 1–3, 2003; Vol. 3. pp. 1734–1743.
  10. Doukhnitch, E.; Salamah, M.; Ozen, E. An efficient approach for trilateration in 3D positioning. Comput. Commun. 2008, 31, 4124–4129. [Google Scholar]
  11. Karl, H.; Willig, A. Protocols and Architectures for Wireless Sensor Networks; Kluwer Academic Publisher: Dordrecht, The Netherlands, 2005; ISBN: ISBN: 978-0-470-09510-2. [Google Scholar]
  12. Chen, J.; Huang, Y.; Benesty, J. Audio Signal Processing for Next-Generation Multimedia Communication Systems; Kluwer Academic Publisher: Dordrecht, The Netherlands, 2004; pp. 4–5. [Google Scholar]
  13. Krishnamachari, B. Networking Wireless Sensors; Cambridge University: Cambridge, UK, 2006; pp. 3–4. [Google Scholar]
  14. Valenzise, G.; Gerosa, L.; Tagliasacchi, M.; Antonacci, F.; Sarti, A. Scream and gunshot detection and localization for audio-surveillance systems. Proceedings of IEEE International Conferences on Advanced Video and Signal-based Surveillance Systems, London, UK; 2007. [Google Scholar]
  15. Chen, J.C.; Yip, L.; Elson, J.; Hanbiao, W.; Maniezzo, D.; Hudson, R.R.; Kung, Y.; Estrin, D. Coherent acoustic array processing and localization on wireless sensor networks. IEEE 2003, 91, 1154–1162. [Google Scholar]
  16. Brandstein, M.S.; Adcock, J.E.; Silverman, H.F. A closed-form location estimator for use with room environment microphone arrays. IEEE Trans. Speech Audio Process. 1997, 5, 45–50. [Google Scholar]
  17. Patwari, N. Location Estimation in Sensor Networks. Dissertation; University of Michigan: Ann Arbor, MI, USA, 2005. Available online: (accessed September 26, 2009). [Google Scholar]
  18. Elson, J.; Girod, L.; Estrin, D. Fine-grained network time synchronization using reference broadcasts. ACM SIGOPS Operat. Syst. Rev. 2002, 36, 147–163. [Google Scholar]
  19. Ganeriwal, S.; Kumar, R.; Srivastava, M.B. Timing-sync protocol for sensor networks. Proceedings of 1st International Conference on Embedded Networked Sensor Systems, Los Angeles, CA, USA, November 5–7, 2003; pp. 138–149.
  20. Anderson, H.; McGeehan, J. Optimizing microcell base station locations using simulated annealing techniques. Proceedings of IEEE 44th Vehicular Technology Conference, Stockholm, Sweden; 1994; pp. 858–862. [Google Scholar]
  21. Lieska, K.; Laitinen, E.; Läteenmäki, J. Radio coverage optimization with genetic algorithms. Proceedings the 9th IEEE International Symposium on Personal, Indoor and Mobile Radio Communications, Boston, MA, USA; 1998; pp. 318–322. [Google Scholar]
  22. Sherali, H.D.; Pendayla, C.M.; Rappaport, T.S. Optimal location of transmitters and receivers for micro-cellular radio communication system design. IEEE J. Sel. Areas Commun. 1996, 14, 662–673. [Google Scholar]
  23. Kamenetsky, M.; Unbehaun, M. Coverage planning for outdoor wireless LAN systems. Proceedings International Zurich Seminar on Broadband Communications, Zurich, Switzerland; 2002; pp. 49:1–49:6. [Google Scholar]
  24. Unbehaun, M. ; Kamenetsky M. On the deployment of picocellular wireless infrastructure. IEEE Wirel. Commun. 2003, 10, 70–80. [Google Scholar]
  25. García-Palomares, U.M.; González-Castaño, F.J.; Burguillo-Rial, J.C. A combined global and local search approach to global optimization. J. Global Optim. 2006, 34, 409–426. [Google Scholar]
  26. García-Palomares, U.M.; Rodríguez, J.F. New sequential and parallel derivative free algorithms for unconstrained minimization. SIAM J. Optim. 2002, 13, 79–96. [Google Scholar]
  27. Girod, L.; Estrin, D. Robust range estimation using acoustic and multimodal sensing. Proceedings of EEE/RSJ International Conference on Intelligent Robots and Systems, Maui, HI, USA; 2001; Vol. 3. pp. 1312–1320. [Google Scholar]
  28. Li, X.; Hua, B.; Shang, Y.; Xiong, Y. A robust localization algorithm in wireless sensor networks. Front. Comput. Sci. China 2008, 2, 438–450. [Google Scholar]
  29. Pääkkönen, R. Finnish Suppressor Project, Available online: (accessed September 28, 2009).
  30. Bucur, V. Acoustics of Wood; Springer Series in Wood Science; Springer: Berlin, Germany; February 10; 2006. [Google Scholar]
  31. García-Palomares, U.M.; Burguillo-Rial, J.C.; González-Castaño, F.J. Explicit gradient information in multiobjective optimization. Operat. Res. Lett. 2008, 36, 722–725. [Google Scholar]
  32. Locatelli, M. Simulated annealing algorithm for continuous global optimization: Convergence conditions. J. Optim. Theory Appl. 2000, 104, 121–133. [Google Scholar]
  33. González-Castaño, F.J.; Costa-Montenegro, E.; Burguillo-Rial, J.C.; García-Palomares, U. Outdoor WLAN planning via non-monotone derivative-free optimization: algorithm adaptation and case study. Comput. Optim. Appl. 2008, 40, 405–419. [Google Scholar]
Figure 1. Landscape of the Cabañeros National Park.
Figure 1. Landscape of the Cabañeros National Park.
Sensors 09 09493f1 1024
Figure 2. Gunshot location architecture.
Figure 2. Gunshot location architecture.
Sensors 09 09493f2 1024
Figure 3. Hyperbolic multilateration of an acoustic signal.(a) Locus of the TDoA obtained between positions xA and xB.(b) Loci of the TDoA obtained between positions xA and xB, and between positions xA and xC.
Figure 3. Hyperbolic multilateration of an acoustic signal.(a) Locus of the TDoA obtained between positions xA and xB.(b) Loci of the TDoA obtained between positions xA and xB, and between positions xA and xC.
Sensors 09 09493f3a 1024Sensors 09 09493f3b 1024
Figure 4. Regression line performed in a level k node, with several broadcast time stamps from a level k – 1 node.
Figure 4. Regression line performed in a level k node, with several broadcast time stamps from a level k – 1 node.
Sensors 09 09493f4 1024
Figure 5. Synthetic outdoor scenario for the numerical tests. The green lines represent power lines.
Figure 5. Synthetic outdoor scenario for the numerical tests. The green lines represent power lines.
Sensors 09 09493f5 1024
Figure 6. Aggregated distance to the power lines (cost) vs. coverage area with V (x) ≥ 1.
Figure 6. Aggregated distance to the power lines (cost) vs. coverage area with V (x) ≥ 1.
Sensors 09 09493f6 1024
Figure 7. Aggregated distance to the power lines (cost) vs. coverage area with V (x) ≥ 2.
Figure 7. Aggregated distance to the power lines (cost) vs. coverage area with V (x) ≥ 2.
Sensors 09 09493f7 1024
Figure 8. Aggregated distance to the power lines (cost) vs. coverage area with V (x) ≥ 3.
Figure 8. Aggregated distance to the power lines (cost) vs. coverage area with V (x) ≥ 3.
Sensors 09 09493f8 1024
Figure 9. A sensor deployment for θ = 0.1.
Figure 9. A sensor deployment for θ = 0.1.
Sensors 09 09493f9 1024
Figure 10. A sensor deployment for θ = 0.5.
Figure 10. A sensor deployment for θ = 0.5.
Sensors 09 09493f10 1024
Figure 11. A sensor deployment for θ = 0.9.
Figure 11. A sensor deployment for θ = 0.9.
Sensors 09 09493f11 1024
Figure 12. Percentage of covered grid points versus number of detecting sensors for different values of θ.
Figure 12. Percentage of covered grid points versus number of detecting sensors for different values of θ.
Sensors 09 09493f12 1024
Table 1. Non-monotone derivative-free algorithm.
Table 1. Non-monotone derivative-free algorithm.
Parameters: ετ, μ, τ, φ
Get S, let fS = f(S)
DO success= 0
 Choose Dk, k = 1, …, n that positively span IR2p
 FOR j = 1 TO n
  [Z fZ] = INTERPOLATE (S, Dk, τΔ)Remark 2
  α = min(τ, α), φ = fS + α(φfS)Remark 3
  IF (fZϕν(τΔ))
   S = Z, fS = fZ
φ = fSRemark 4
 IF (success>max_success)Remark 5
  τ = τ + 1
  τ = τ − 1
WHILE (τ > ετ)
Table 2. Gunshot average location error (m).
Table 2. Gunshot average location error (m).
>1 [0.99973%]>2 [0.99777%]>3 [0.99448%]>4 [0.75258%]>5 [0.45608%]

θ = 0.1sinc. < 1ms64.4064.4064.405.301.60
sinc. 1ms78.0066.9073.905.500.00
sinc. 10ms76.9090.7073.4013.603.90

>1 [0.99988%]>2 [0.99730%]>3 [0.98856%]>4 [0.70991%]>5 [0.43301%]

θ = 0.5sinc. < 1ms139.20138.90123.508.300.00
sinc. 1ms146.70120.20125.4022.500.00
sinc. 10ms144.90162.60150.2042.704.00

>1 [0.64476%]>2 [0.59659%]>3 [0.57273%]>4 [0.50632%]>5 [0.47687%]

θ = 0.9sinc. < 1ms114.0066.8020.2011.001.50
sinc. 1ms99.3056.4049.9019.202.40
sinc. 10ms171.80127.1088.0031.7019.50
Sensors EISSN 1424-8220 Published by MDPI AG, Basel, Switzerland RSS E-Mail Table of Contents Alert