Summer Research Fellowship Programme of India's Science Academies 2017
Shooter Localisation from Gunshot using Wireless
Sensor Networks
Biswadeep Chakraborty
Student ID: ENGS574
Guide: Dr. Amitava Sen G u p ta ,
The Nor t h Cap University, Gu r g ao n
Contents
1 Abstract 3
2 Introduction 3
3 Signal Detection 7
3.1 Gun Shot Acoustics- Muzzle Blast . . . . . . . . . . . . . . . 7
3.2 Supersonic Projectiles: Shock Wave Considerations . . . . . . 7
4 Signal Detection in presence of Noise 10
5 Signal Detection and Estimation 11
6 Estimations from Gun Shot Acoustics 16
7 Shooter Location Estimation from Muzzle Blast 18
7.1 Signal Model . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
7.1.1 Time of Arrival (TOA) . . . . . . . . . . . . . . . . . 18
7.1.2 Time Dierence of Arrival (TDOA) . . . . . . . . . . 19
7.2 Estimation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Jadavpur University,Kolkata
1
8 Simulations 21
8.1 Signal Detection in presence of Noise . . . . . . . . . . . . . . 21
8.2 Detection of the position of the shooter from Time of Arrival
of Muzzl e Blast . . . . . . . . . . . . . . . . . . . . . . . . . . 27
8.3 Localisation of a shooter from the time of arrival data . . . . 30
9 Proposed Experiment 32
9.1 Equipment s . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
9.1.1 Acoustic Sensors . . . . . . . . . . . . . . . . . . . . . 32
9.1.2 Sensor Nodes . . . . . . . . . . . . . . . . . . . . . . . 35
9.2 Experimental Setup . . . . . . . . . . . . . . . . . . . . . . . 38
10 Conclusion and Future Work 38
11 Acknowledgements 39
12 References 39
13 Appendix 42
13.1 MATLAB Code for determining the shooter location and the
estimation error ellipse . . . . . . . . . . . . . . . . . . . . . . 42
13.2 MATLAB Code for Error in estimation of sh ooter location
for die re nt position of shooter . . . . . . . . . . . . . . . . . 44
2
1 Abstract
Shooter localisation 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 shooter 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 th is
project, we used MATLAB to generate sample time of arrival measurements
of the muzzle blast si gn al, which we used to calculate time dierence of
arrival (TDOA) between sensors. Using a m odel based on TDOA data, we
were able to implement the maximum likelihood method in order to estimate
the shooter’s position. In addition to estimation, we used hypoth es i s testing
and the Neyman-Pearson lemma to explore detection of a shooter, and to
quantify the distinct ion between a gunshot and noise.
2 Introduction
Several acoustic shooter localisation systems are today com m er ci al l y avail-
able; [1-4]. Typicall y, one or more microphone ar rays are used, each syn-
chronously sampling acoustic phenomena associated with gunfire. An overview
is found in [5].In [5] , t he systems are e ss entially based on acoustic detecti on
with specific signal processing of ShockWaves and Muzzle Blasts. Their
purpose is to detect and locate sniper and small-arms fire. The main pa-
rameters, which are estimated by the se systems, are azimuth, elevation and
range of the origin of a shot.
3
Figure 1: Acoustic Shooter localisation
Figure 2: Signal Received at the node showing shockwave and muzzle blast[5]
4
Some of these systems are mobi l e, and in [6] it is even described how sol-
diers can carry the microphone arrays on their helmets. The paper presented
a wireless sensor network-based mobile countersniper system. A sensor node
consisted of a helmet mounted microphone array, a COTS MICAz mote for
internode communication and a custom sensorboard that implemented the
acoustic detection and Time of Arrival (ToA) estimation algorithms on an
FPGA. A 3-axis compass provided self orientation and Bluetooth was used
for communi cat i on wi t h the soldier’s PDA running the data f us ion and the
user interface. The heterogeneous sensor fusion algorithm could work wi th
data from a single sensor or it could fuse ToA or An gl e of Arrival (AoA)
observations of muzzle blasts and ballistic shockwaves from multiple sensors.
The system estimated the traje ct or y, the range, the cali ber and the weapon
type. Anot h er interesting attempt to find direction of sound from one micro-
phone only is described in [7]. They proposed a machine learning approach
to monaural localisation, using only a single microphone and an “artificial
pinna” (that distorts sound in a direction-dependent way). Their approach
models the typical distribution of nat ur al and artificial sounds, as well as the
direction-dependent changes to sounds in d uc ed by the pinna.In contrast to
microphone arrays, they showed their approach oered the potential of sig-
nificantly more compact, as well as lower cost and power, devices for sounds
localisation. But this approach has not yet been applied to gun s hot s .
There are also shooter localisation systems based on singleton micro-
phones geographically distributed in a wireless sensor network. An obvious
issue in wir el e ss networks is the sensor synchronisation. For localisation al-
gorithms that rely on accurate timing like the ones based on time dierence
of arrival (TDOA), it is of major importance that synchronisation errors
are carefully controlled. Regardless if the synchronisation is solved by using
GPS or othe r techniques, see, for instance [8-10], the synchronisation pro-
cedures are associated with costs i n battery li fe or communication resources
that us ual l y must be kept at a minimum.
In [11] the synchronisation error impact on the sniper localisation ability
of an urban network is studied by using Monte Carlo simulations. One of
the results is that the inaccuracy i nc re ased significantly (> 2m) for syn-
chronisati on errors exceeding approximately 4 ms. 56 small w ir el e ss sensor
nodes were modelled. Another closely related work that deals with mobile
asynchronous sensors is [12], where the est im at ion bounds with respect to
both sensor synchronisation and position errors are developed and validated
by Monte Carlo s i mulations. Also in [13], they pr es ented the system of
acoustic measurements, based on a number of both directional and omnidi-
rectional microphones detecting the shock wave only, yielding exact solut ion
5
for the sniper direction in spite of certain errors in th e directional measu re -
ments. The system had a self-corre ct i n g abi li ty concerni n g th e s oun d d ir e c-
tional measure ments which contributed to the system technical feasibility.
Auxiliary muzzle blast measurements would yield the sniper position. In
[14], the paper addressed the problem of shooter localisation using a wire-
less sensor network of soldier-worn gunfire detection systems. If the sensor
was wi t h i n the field of view of the shockwave ge ne r ate d by the supersonic
projectile, then using acoustic phenomena analysis, t h e gunfire detection
system could localise the source of the incoming fire with respect to the
sensor location. Those relative solutions from in di v i du al gunfire detection
systems were relaye d to the central node, where they were fused to yield a
highly accurate geo-rectified solut i on, which was then relayed back to the
soldiers for added situational awareness. Detailed f or mulation of t he fusion
methodology that was presented indicated that the multi-sensor fusion algo-
rithm for soldier-worn gunfire detection systems was essentially a weighted
nonlinear least-squares algorith m, which could be implemented using the
Gauss-Newton method. The performance analysis of the proposed fusion al-
gorithm through numerical simulations revealed that the fused solution was
much more accurate compared to the individual best sensor solut i on and
the simpl e averaged sensor solution. Since the proposed fusion algorithm
required consistent weighting of individual sensor s olut i ons , a consi st en cy -
based weighting scheme was int r oduced to tackle the lack of reliability among
sensor pr ovided weights.
In [15], they have derived fundamental estimation bounds for shooter local-
isation systems based on wi r el es s sensor networks, with the synchronisation
errors in focus.They analyzed th e ap pr oach to base the e st i mat i on on the
time dierence of MB and SW at each sensor, which became insensitive to
synchronis at ion inaccuracies. Cramer-Rao lower bound analysis indicat ed
how a lower bound of the root mean square error depended on the syn-
chronisati on error for the MB and the MB-SW dierence, respectively. The
estimation probl em was formulated in a separ abl e nonlinear least squares
framework. An accurate me t hod independent of the synchronisation errors
was analyzed (t h e M B- SW mo d el ) as well as a useful bull e t deceleration
model. [16]
6
3 Signal Detection
3.1 Gun Shot Acoustics- Muzzle Bl a st
A conventional firearm uses a confined explosive charge to propel the bullet
out of the gun barrel. The hot, rapidly expanding gases cause an acoustic
blast to emerge from the barrel. The acoustic disturbanc e lasts 3-5 millisec-
onds and propagates through the air at the speed of sound (c). The sou n d
level of the muzzle blast is strongest in the direction the barrel is pointi n g,
and decreases as the o-axis angle increases, as shown i n [17]. A microphone
located in the vicinity of the gun shot will detect the muzzle blast signal
once the sound propagation travels at the speed of sound from the gun to the
microphone position. However, the muzzle blast signal will also reflect o
the ground and o other nearby surfaces, resulting in a complicated received
signal con si st i n g of multiple overlapping reflections.
3.2 Supersonic Projectiles: Shock Wave Considerations
Depending on t h e size of the charge, the mass of the bullet, and other factors,
the bullet may be traveling at supersonic speed. A supersonic bullet causes
a characteri s t ic shock wave patte rn as it moves through the air. Th e shock
wave expands as a cone behind the bullet, with the wave front pr op agat in g
outward at the speed of sound. The shock wave cone has an in n er angl e,
M = arcsin(
1
M
), where M = V/c is the Mach Number. The geometry is
shown in Figure 1. Wit h a very fast bull et , M is large and
M
becomes small,
causing the shock wave to propagate nearly perpendicularly to the bullet’s
trajectory. For example, a bullet traveling at 3000 feet per second at room
temperature h as M=2.67, giving M = 22 deg. On the other hand, if the
bullet is only slightly faster than the speed of sound, M is approximately
unity,
M
is nearly 90, and the shock wave propagates nearly parallel to the
bullet’s path. If two or more microphones are located at known locations
within the path of the shock wave, the time of arrival dierence(s) can be
used t o estimate the shock’s propagation direction. Note, however, that de-
termining the bullet’s traje ct or y from the shock propagation vector requires
knowledge of the bullet velocity, V. If V is not known, then M and
M
are
also not known, and the bullet’s trajectory c ann ot be determined exactly
without additional spatial information.
7
Figure 3: Supersonic Bullet Shock Wave Description
The acoustic s hock wave from th e bullet has a very rapid rise to a pos-
itive overpressure maximum, followed by a corresponding under-pressure
minimum. As the shock wave propagates the nonlinear behavior of the air
causes the pressure dist ur b anc e to form an “N” sh ape with a rapid onset, a
ramp to the minimum pressure, and then an abrupt oset. The time i nter-
val of the “N” wave between the over- and under-pressure is proportional
to the s i ze of the projectile. A typical bullet a few centimeters long has an
intershock int er val of less than 200µsec, as shown in Figure 2.[17]
8
Figure 4: Shock Wave Recording(“N” Wave)
If solid surfaces are present nearby, the passi ng shock wave con e will be
partially absorbed and partially reflected by the surface. Thus, a microphone
in the vicinity will pick up both the original shock wave and the reflected
shock wave with a delay corresponding to the path length dierence. The
ground re fle ct i on is depicted in Figure 3.[17]
Figure 5: Shock Wave Ground Reflection(elevation view, not to scale, b u ll e t
into the page)
9
4 Signal Detection in presence of Noise
In [19] , they have used the Neyman-Pe ars on Test (NP) for a specified size,
and found the power of this test for a range of significance levels. They
derived that their optimal region was given by the threshold
c =
0
+
p
n
z
a
and they rejected t h e null Hypothesis if ¯y
0
p
n
z
a
and accepted if
¯y<
0
p
n
z
a
.
In our work we have dete ct ed t h e si gnal in a noisy environment. We have
tested a null hypothe si s to detect the signal in presence of noise with a given
threshold value.[17]
The generic signal detection problem that we consider corresponds to
receiving a signal x[ n] over a noisy channel. x[n] either contains a known
deterministic pu l se s[n] or it does not contain the pulse. Thus our two
hypotheses are:
H
0
: x[n]=w[n] ,n=0, 1,...,N 1
H
1
: x[n]=s[n]+w[n] ,n=0, 1,...,N 1
where s[n] is known and w[n] N (0,
2
). Let us collect al l the samples of
the sign al in a vector s given by
s =
s[0] ... s[N 1]
T
and also the samples of the noise
w =
w[0] ... w[N 1]
T
and both are column vect ors . Now,
H
0
: x = w(observed data is the sam pl e of noise)
f
H
0
(x) N(0,
2
I)=
1
2⇡
2
exp(
1
2
2
x
T
x)
H
1
: x = s + w
f
H
1
(x) N(s,
2
I)=
1
2⇡
2
exp(
1
2
2
(x s)
T
(x s))
10
Now, the likelihood ratio function:
L(x =
f
H
1
(x)
f
H
0
(x)
)=exp{
1
2
2
[(x s)
T
(x s) x
T
x]}
L(x) > =) L
0
(x)=ln(L(x)) >ln()
=
1
2
2
(s
T
s 2s
T
x)
=)
2
2
L
0
(x)+s
T
s
2
= L
00
(x)=s
T
x ?
H
1
H
0
00
(1)
This is the matched filter condition where
00
=
0
2
2
s
T
s
2
Note that s
T
x =
N1
P
n=0
s[n]x[n] Here,we filtered our observation x with a
signal s, we are tryi n g to detect. To find for desired Probability of false
alarm,P
FA
, we need pdf of s
T
x under H
0
,where
H
0
: x N (0,
2
I)=) s
T
x N(0,
2
s
T
s)
Taking z = s
T
x, we get
P
FA
=
Z
1
1
p
2⇡
2
s
T
s
exp(
1
2
2
s
T
s
z
2
)dz
Thus we can find threshold for a given probability of false alarm.
Performance Characterisation:
H
1
: z = s
T
x N(s
T
s,
2
s
T
s)
P
D
=
Z
1
1
p
2⇡
2
s
T
s
exp(
1
2
2
s
T
s
(z s
T
s)
2
)dz
For fixed P
FA
and P
D
depends on SNR where,
SN R =
s
T
s
2
=
1
2
N1
X
n=0
s
2
[n]
5 Signal Detection and Estimation
A signal detec t ion apparatus includes a temporary signal detector and a
final signal detector. A header of a signal has at least M successive bits of
11
a first level, where M is an integer more than the Nth power of 2, and N is
a positive integer. The temporary signal det ect or detects the Nth power of
2 successive bits of the first level as a temporary signal when receiving the
Nth power of 2 suc ces si ve bits of the first level before receivin g the alternat-
ing bits. The final signal detector determines that the detec t ed temporary
signal is the he ade r when receiving th e at least M successive bits of the first
level.[21]
A signal detecti on apparatus for a bus signal varying between a first level
and a second level, the bus signal including a header field and a signal fiel d
following the header field, the header field having at least M successive bits
of the fi r st level, the signal field having alternating bits starting with the
second le vel, the signal detector comprising:
A temporary signal detector configured to detect the Nth power of 2
successive bits of the first level as a t em porary signal when receiving
the Nth power of 2 successive bits of the first level before receiving the
alternating bits; and
A final signal detector configured to determine that the detected t em-
porary signal is th e header field when receiving the at least M suc-
cessive bits of the first level and when detecting that the integer M
exceeds the Nth power of 2.
In the signal det ect i on apparatus, the temporary signal detector includes a
timer, a memory, and a comparator.
The timer measures an interval from when the bus signal varies from
the second level to th e first level to when the bus signal varies f rom
the first level to the second level and/or an interval from when the
bus signal varies from the first level to the second level to when the
bus signal varies from the second level to the first level, each interval
corresponding to the bit length,
The memory stor es the measured interval,
The comparator compare s the previously measured interval stored
in the memory w it h a presently measured interval that is present l y
measured by the time r, and the temporary signal detector det ect s th e
temporary signal when the previous measured interval is the Nth power
of 2 or more times greater than the presently measured interval.
12
The final signal detector determines that the detect ed temporary signal is
the header field when a length of the detected temporary signal divided by
the calc ul at ed average duration is the integer M or more.[21]
Figure 6: This is a flow chart of a temporary signal detection interrupt
routine performed when the temporary signal is detected
13
Figure 7: This is a block diagram illustrat i ng a signal detection apparatus
Figure 8: This a block d i agram illustrating a hardware configuration of the
signal de t ec ti on apparat us
14