Sniper Localization Using Acoustic Sensors ESE 499 Final Report Brian Carpenter, Drew Lanning, Marie Swarzenski Systems Science and Engineering, Class of 2014 Faculty Advisor: Dr. Arye Nehorai Preston M. Green Department of Electrical and Systems Engineering Washington University in St. Louis [email protected]Spring 2014
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Sniper Localization Using Acoustic Sensors ESE 499 Final Report Brian Carpenter, Drew Lanning, Marie Swarzenski Systems Science and Engineering, Class of 2014 Faculty Advisor: Dr. Arye Nehorai Preston M. Green Department of Electrical and Systems Engineering Washington University in St. Louis [email protected]
Spring 2014
08 Fall
2
Table of Contents Abstract ................................................................................................................................................. 3
Signal Model ......................................................................................................................................... 5 Time of Arrival ........................................................................................................................................ 5 Time Difference of Arrival ................................................................................................................. 5 Model ................................................................................................................................................. 6
Estimation ............................................................................................................................................ 6 Maximum Likelihood Estimation ......................................................................................................... 7 Mean Square Error ...................................................................................................................................... 8 Implementation .............................................................................................................................. 9
Results ...................................................................................................................................................... 10 Sensor Network Setup ................................................................................................................. 10 Parameter Variation for Single Line Sensor Setup .............................................................. 13 Noise Level Analysis .................................................................................................................... 16 Cramér-‐Rao Bound ............................................................................................................................ 16 Signal-‐to-‐Noise Ratio .................................................................................................. 17
Appendix A ......................................................................................................................................... 25
Appendix B ......................................................................................................................................... 28
Appendix C .......................................................................................................................................... 30
3
Abstract Sniper localization can be broken down into two distinct subcategories – estimation,
that is determining the origin of gunfire, and detection – that is determining whether the
detected signal is sniper fire or noise. Both problems rely primarily on acoustic signals
from a gunshot, which can be detected and time-‐stamped by acoustic sensor nodes. These
measurements can then be exploited to estimate where the shot was fired from. In this
project, we used MATLAB to generate sample time of arrival measurements of the muzzle
blast signal, which we used to calculate time difference of arrival (TDOA) between sensors.
Using a model based on TDOA data, we were able to implement the maximum likelihood
method in order to estimate the sniper’s position. From there, we investigated the effect of
different sensor node arrangements, as well as parameter variation, on localization
accuracy. In addition to estimation, we used hypothesis testing and the Neyman-‐Pearson
lemma to explore detection of a sniper, and to quantify the distinction between a gunshot
and noise.
4
Introduction
Sniper localization is an important issue in both military defense and civilian
security. There are many different types of source localization systems in use today, which
consist of sensor nodes that can detect signals such as sound, motion, and light. Our project
deals solely with an acoustic sensor network, which recognizes acoustic phenomena
produced by a gunshot. These systems rely primarily on information received from two
acoustic signals of a shot – the muzzle blast (MB), which is the waveform generated by a
bullet leaving the barrel, and the supersonic shock wave (SW) generated by a bullet itself
[1]. The shock wave can only be detected by sensors located within the bullet path – a
rapidly expanding cone, whose axis is the bullet trajectory [3].
Standard acoustic systems use microphone arrays, either stationary or mobile, to
detect and time stamp these two signals. In military operations, sensors are often placed on
soldiers' helmets or on artillery vehicles; however, the inclusion of sensor mobility and
other physical interference raises the complexity of our estimation problem, so we
applied our model to a static acoustic sensor network [4].
By considering sensor location in conjunction with the time measurements from
the acoustic phenomena of a gunshot, it is possible to estimate a sniper's position to a
fairly high degree of accuracy. Some systems use an advanced time of arrival (TOA)
technique, which deals with synchronization errors individually across the entire network
of sensors. However, the majority of systems rely on a time difference of arrival (TDOA)
algorithm to localize the origin of the signal. Most military operations implement a TDOA
model that uses a combination of the MB and SW signals. Implementing a model based on
the shock wave of a gunshot increases localization accuracy, but requires knowledge
5
of bullet speed and trajectory, parameters that are not easy to simulate. Therefore, to
simplify our project, we only considered the muzzle blast in our signal model.
Signal Model
In this project, we use MATLAB generated data to simulate muzzle blast time of
arrival (TOA) measurements. Our model assumes the existence of a single sniper within an
acoustic sensor network.
Time of Arrival (TOA)
TOA of the muzzle blast signal, τ iT , is an m x T matrix, where m is the number of
sensors in the network and T is the number of shots. The time of arrival at the ith sensor is
given by:
τ iT =
ric+τ 0
where ri is the distance from the ith sensor to the source of gunfire and c is the speed of
sound, constant at 343.2 m/s.τ 0 is the time origin of the muzzle blast, and is modeled as
noise using a Gaussian distribution with mean, μ = 0, and variance, σ2. τ iT , then, is the exact
time in seconds it takes the muzzle blast signal of the Tth shot to reach sensor i, plus a
randomly generated time origin of the signal.
Time Difference of Arrival (TDOA)
Having generated TOA data, we were able to determine time difference of arrival
measurements to use in our signal model. Setting one sensor as a reference allowed us to
[2]
6
find the difference between arrival times at the indicated sensor and the rest of the sensors
in the system – for every non-‐reference sensor i, we calculated the difference between the
TOA at the reference sensor and the TOA at sensor i, which gave us a total of m-‐1 TDOA
measurements for each shot. TDOA data is much more robust than TOA data because it
reduces the time synchronization error that occurs when multiple sensors are detecting
the same signal; this issue would otherwise have to be dealt with using advanced GPS
locating techniques for each individual sensor. The mathematical equation for TDOA is
below.
TDOA = τ iT −τ1
T =ric−r1c
"
#$
%
&'+ τ 0
i −τ 01( )
Model
Our final model for processing can be written as Y = θ + e, where Y is the
environment, θ is the exact time difference of arrival – our deterministic unknown
estimator, and e is the error from time origin measurements. Y and e are independent and
normally distributed such that Y ~ N θ,σ 2( ) and e ~ N 0,σ 2( ) . Then,
Y =θ + e = ric−r1c
"
#$
%
&'+ τ 0
i −τ 01( ) .
Estimation
In order to estimate the position of a sniper, we exploited the generated time stamps
of the acoustic signals and then calculated TDOA measurements. In our setup, we assumed
that both the exact position of the sniper and the position of the sensor nodes were known.
[2]
7
With this information, we were able to apply the maximum likelihood method to our model
to estimate the position of the shooter.
Maximum Likelihood Estimation
Maximum likelihood estimation is a statistical method of estimating the parameters
of a given statistical model. In general, the model is based on n observations of a random
variable, X. In our case, there are n = T observations, one for each gunshot. To apply the
maximum likelihood method, the likelihood function, lik(θ ) = f x1, x2,…, xn |θ( ) , of the
observed data has to be specified, where lik(θ ) is the probability of observing the given
data as a function of θ . If the Xi are independent and identically distributed, then
lik(θ ) = f xi |θ( )i=1
n
∏ [7]. The estimates are calculated as the values of the unknown
parameters that maximize this likelihood function. In our model, our unknown parameter,
θ , is deterministic and represents the exact time difference of arrival from sensor i to the
reference sensor, ric−r1c
"
#$
%
&' [6].
In practice, it is quite tedious to maximize this equation, so we exploit the natural
logarithm, and the fact that it is a monotonically increasing function. Because of this fact,
maximizing the likelihood function is equivalent to maximizing the log of the likelihood
function,
Our signal model is normally distributed with mean, μ = θ, and variance, σ. Therefore,
l θ( ) = log f xi |θ( )( )i=1
n
∑ [6]
8
lik θ( ) = P Y |θ( ) = ei=2
m
∏j=1
T
∏−(Yi, j−θi )
2
2σ 2
where T is the number of shots fired, m is the number of sensors in the network, and Yi,j is
the TDOA for the jth shot at the ith sensor. Then, the log likelihood function for our purposes
will be:
l(θ ) = −12σ 2 (Yi, j −θi )
2
i=2
m
∑j=1
T
∑
and we see that the maximum likelihood estimator is equivalent to minimizing the sum of
The mean square error (MSE) measures the difference between the estimator and
what is estimated; by definition, the MSE is the average of the sum of each error term
squared. In our model, the sum of squared errors is averaged over m-‐1 TDOA
measurements and T shots.
However, since our ultimate goal was to estimate sniper position, rather than TDOA, we
replaced θ with x and y as follows:
θ represents the time difference of arrival between signals at the reference sensor and
another sensor in the network for a shot fired from position (x,y).
MSE = 1m−1
* 1T* (θ −θi
i=2
m
∑ )2j=1
T
∑
MSE =1
m−1* 1T* (x − xi )
2
i=2
m
∑ + (y− yi )2
j=1
T
∑
[6]
[6]
[7]
[7]
9
Implementation
We used the maximum likelihood method and mean square errors to estimate the
position of a sniper. This involved searching every integer coordinate point in a given range
to determine which (x,y) point resulted in the smallest mean square error for the m-‐1 TDOA
measurements across T shots. However, in order to implement this algorithm, we had to
convert each of the (x,y) coordinates in our search space into a time measurement
equivalent to its associated exact TOA measurements. This calculation was done by finding
the distance from each searched coordinate point to the true sniper position and dividing
this distance by the speed of sound, c. Once this was done, we were able to convert each of
the time estimates into time difference of arrival estimates based on the TDOA model
discussed earlier.
Next, we found the difference between our estimated TDOA measurements in the
search space and the generated TDOA times, squared each of these differences, or errors,
and then summed them across the m-‐1 TDOA measurements and T shots. A portion of our
MATLAB code designed to find mean square error is shown below for reference.
for x = 0:xrange for y = 0:yrange dist = sqrt((sensorLocales(1:M,1)-x).^2 + (sensorLocales(1:M,2)-y).^2); estTime = (dist)/c; for i=2:M deltaEst(i-1,:) = estTime(i) - estTime(1); end for i=1:T ssMsmts = sum((delta(1:M-1,i) - deltaEst(1:M-1)).^2); sse = ssMsmts + sse; end
... end end
10
In order to minimize the 2500 MSE values we calculated, we declared an initial
minimum sum of squared errors (SSE) variable, which we compared each of the calculated
values to. As we iterated through the search space, each new smallest SSE value that was
reached was saved over the previous smallest value, so that the final value assigned to the
initial variable was the true minimum squared error value over the entire search space.
Each SSE value was then converted to an MSE value by dividing by m-‐1 TDOA
measurements and T shots. Finally, in order to produce a contour localization plot, each
MSE value was attached to its associated (x,y) coordinate point so that we could reference it
back to an estimated sniper position.
Results Our implementation of the maximum likelihood estimation on our signal model
allowed us to examine the effect of varying different parameters in our system. The
following parameters were used in our baseline system setup:
T (# of shots): 200 m (# of sensors): 6 σ (noise): 0.01 Search Space: [0,0]-‐[50,50] Exact Sniper Location: (25,25)
Sensor Network Setup
First, we tested our model on a variety of sensor arrangements and examined
position localization performance for these different network setups. Our initial
arrangement was a single line of sensors.
11
Single Line Sensor Arrangement: Estimated Sniper Position (25,26)
Figure 1a depicts our most
basic sensor-‐sniper arrangement.
The shooter, located at (25,25), is
15 meters from a single line of six
sensors that are spaced five
meters apart. With σ fixed at 0.01,
our model localized the sniper to
(25,26). To better visualize mean
square error over the search
space, we plotted the MSE values over their (x,y) coordinate in our region of interest
(Figure 1b).
Figure 1a Single Line Sensor Setup
Figure 1b Single Line Sensor Localization
12
In this figure the dark blue parts of the mesh plot are associated with lower position
error while the red parts indicate a higher degree of error. Our estimation for the single
line sensor array setup wasn't entirely accurate – if it had been extremely accurate, the
projection of the MSE values onto the XY plane would have formed a series of circles
around (25,25), the true sniper position.
We also examined three other sensor geometries – a circle of sensors around the
sniper, two lines of sensors, and a randomly generated arrangement of sensors.
Circular Sensor Arrangement: Estimated Sniper Position (25,25)
Random Sensor Arrangement: Estimated Sniper Position (25,25)
Figure 2a Circular Sensor Setup
Figure 2b Circular Sensor Localization
Figure 3a Random Sensor Setup
Figure 3b Random Sensor Localization
13
Two Line Sensor Arrangement: Estimated Sniper Position (25,25)
The circular arrangement (Figures 2a-‐b), yields an extremely accurate localization,
as can be seen in the MSE contours. However, this arrangement is unrealistic in military
operations. The random arrangement of sensor nodes achieves an accurate estimation as
well, but this is likely due to the sniper’s centralized location in the system (Figures 3a-‐b).
The two line setup, (Figures 4a-‐b), while accurate, is also somewhat unrealistic, although
this arrangement can be seen as two stationary arrays mounted on the sides of opposite
buildings. The single line sensor node arrangement is perhaps most relevant to real world
applications because it most closely mimics a stationary array of sensors, or the movement
of a group of soldiers in unison. In general though, the single line setup is not nearly as
perceptive as other sensor arrangements, and does not consistently estimate source fire
accurately.
Parameter Variation for Single Line Sensor Setup
After testing our model on various sensor arrangements, we focused on increasing
the reliability and accuracy of position localization for a single line sensor network. We did
Figure 4a Two Line Sensor Setup
Figure 4b Two Line Sensor Localization
14
this by changing a single parameter at a time, while fixing the remaining parameters as was
in our baseline setup. Variables we investigated were number of shots (T), number of
sensors (m), and interspacing of sensors. The effects of each variation on localization
performance are noted here.
No. of Shots (T) • T = 1000: (25,25) • T = 100: (25,26) • T = 10: (25,31) • T = 1: (21,33)
No. of Sensors (m) • m = 12: (25,25) • m = 10: (25,25) • m = 6: (25,26) • m = 2: (24, 50)