finding an active shooter with gnuradio

31
Finding an Active Shooter with GNURadio ASTRA 09/16/2017 1

Upload: others

Post on 23-Apr-2022

15 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Finding an Active Shooter with GNURadio

Finding an Active Shooter with GNURadio

ASTRA 09/16/2017 1

Page 2: Finding an Active Shooter with GNURadio

Active Shooter Tactical Response AssistantTeam ASTRA:

George Mason University Students:Ben McCall, Puja Patel, Joel Williams, Rohini Shah, Aryan Toughiry

GMU Sponsors: Dr. Kenneth Hintz & Dr. Kathleen WageASTRA 09/16/2017 2

Page 3: Finding an Active Shooter with GNURadio

TDoA Network ● timing issues (only using 1pps from GPS) ● Simple-ish hardware

Direction Finding/Acoustic Phased array ● Timing between elements easier than TdoA ● Hard to capture distance to source

Network of Direction Finding/Acoustic Phased arrays ● Best of both worlds● Geographic spacing with no node-to-node timing needed● Gather distance to source through node intersections

ASTRA

Possible Approaches and Barriers

09/16/2017 3

Page 4: Finding an Active Shooter with GNURadio

Node 1

ASTRAData

Receiver

Node 3

Node 2

ASTRA

ASTRA Walkthrough

09/16/2017 4

Page 5: Finding an Active Shooter with GNURadio

Node 1

ASTRAData

Receiver

Node 3

Node 2

ASTRA

Shot is detected by Acoustic Sensor Array of Nodes

09/16/2017 5

Page 6: Finding an Active Shooter with GNURadio

Node 1

ASTRAData

Receiver

Node 3

Node 2

ASTRA

Each Node plots back a directional vector back to the source

09/16/2017 6

Page 7: Finding an Active Shooter with GNURadio

Node 1

ASTRAData Receiver

Node 3

Node 2

ASTRA

Vector Data is sent to the ASTRA Data Receiver

09/16/2017 7

Page 8: Finding an Active Shooter with GNURadio

ASTRA User Terminal

ASTRA

Intersection of Directional Vectors Shows Approx. Shooter Location

09/16/2017 8

Page 9: Finding an Active Shooter with GNURadio

ASTRA

Approach

09/16/2017 9

Detecting the Gunshot:● Matched Filtering● Tested FFT multiply vs time domain convolution

– FFT Multipy produced %30 increase in processor efficiency● Fixed threshold using visual observation (for now)

Determining the Direction of the Gunshot:● Auto/Cross Correlation to extract delays (lags)

Locate the Gunshot (and Hopefully the Shooter)● Determine Region of Intersection● Determine Region of Uncertainty

Page 10: Finding an Active Shooter with GNURadio

ASTRA

2D Phased Array

09/16/2017 10

Detector Mic

Spatial Mic1

Thanks to M. Rhudy Univ Pitt

Spatial Mic2 Spatial Mic3

SOUNDSOURCE

Page 11: Finding an Active Shooter with GNURadio

Omni Mic

A/DBank of Matched

Filters

WirelessBackhaul

GPS/TCP packetization

GPS position

Omni Mic

Omni Mic

Omni Mic

Phased ArrayDirection

Calculation

LINUX CPU runningGnuradio, python, java

ASTRA

Single Node Architecture

09/16/2017 11

Page 12: Finding an Active Shooter with GNURadio

Google earth

Data Receiver

JAVA to KML

script

KML file

ASTRA TCP

server

ASTRA node

TCP Message

GNURadio

DirectionFinding

ASTRA node

TCP Message

GNURadio

DirectionFinding

Wireless network

connectionASTRAUser

Terminal

ASTRA

ASTRA System Architecture

09/16/2017 12

GNURadio

TCP Message

GNURadio

DirectionFinding

GNURadio

ASTRA node

Page 13: Finding an Active Shooter with GNURadio

AutoCAD designs

Physical implementation

PHYSICAL ARRAY DESIGN AND IMPLEMENTATION

09/16/2017ASTRA

Materials list:NODE (replicated 3x):(1) Tascam US4x4 4 channel A/D converter

(1) Ubiquity Networks Loco M900 900MHz wireless transceiver(4) MOVO LV4 Omnidirectional Lavalier Microphone

13

Page 14: Finding an Active Shooter with GNURadio

IT’S “EASY”● Flowgraphs are easily manipulatable● Out-of-Tree Blocks meet custom needs● Visualizations give Quick Sanity Checks

IT’S FREE

IT’S “SUPPORTED”● Message boards● GNURadio Forum

ASTRA

Why GNURadio?

09/16/2017 14

Page 15: Finding an Active Shooter with GNURadio

Benchtop Testing: single node implementation GNURadio Flowgraph

09/16/2017ASTRA 14/28

Page 16: Finding an Active Shooter with GNURadio

09/16/2017ASTRA 16

Matched Filter Outputsof Multiple Firearms

Detection

Page 17: Finding an Active Shooter with GNURadio

Benchtop Testing: single node Implementation plotting direction

09/16/2017ASTRA

AUTOCORRELATIONMIC1/MIC1

CROSS-CORRELATIONMIC1/MIC3

CROSS-CORRELATIONMIC1/MIC4

CROSS-CORRELATIONMIC1/MIC2

PLOTTING OF ANGLE

17

Page 18: Finding an Active Shooter with GNURadio

Speaker Testing: Single Node Implementation

09/16/2017ASTRA

SOUND SOURCE

SOUND SOURCE

ASTRANODE

ASTRANODE

18

Page 19: Finding an Active Shooter with GNURadio

Speaker Testing: Single Node Implementation

09/16/2017ASTRA 17/28

Umbrella Engineering

UmbrellaLaptop

Node

Page 20: Finding an Active Shooter with GNURadio

Raw audio streams from microphones

Cross-correlations with peaks highlighted

Accurately plotting location of sound source

09/16/2017ASTRA 18/28

Speaker Testing: Single Node Implementation Results

Page 21: Finding an Active Shooter with GNURadio

.308 (Sniper Rifle)

AR15 AR15

.22 Rifle

AK 47

Glock 26

Glock17Glock19

ASTRA

Live Fire Single Node Testing and Matched Filter Data Collection

09/16/2017 21

Page 22: Finding an Active Shooter with GNURadio

US ARMY INFANTRY SOLDIER FIRING VARIOUS FIREARMS DURING TEST

09/16/2017ASTRA

Live Fire Testing: Single Node Implementation

22

Page 23: Finding an Active Shooter with GNURadio

Sighting in Angles with Lensatic Compass

Direction Finding ArrayWith shooter in background

Collecting waveforms and Observing system operation

09/16/2017ASTRA

shooter

Live Fire Testing: Single Node Implementation

23

Page 24: Finding an Active Shooter with GNURadio

09/16/2017ASTRA 24/32

Raw audio streams from microphones

Cross-correlations with peaks highlighted

Accurately plotting location of sound

source

Live Fire Testing: Single Node Implementation

Page 25: Finding an Active Shooter with GNURadio

Outdoor Shooting Range Test Layout

ASTRA

FIRING LINE

DirectionOf Fire

09/16/2017 25

Page 26: Finding an Active Shooter with GNURadio

09/16/2017ASTRA 26

VIDEO

Page 27: Finding an Active Shooter with GNURadio

Mean Angle Error(degrees)

STDEV GPS Error(meters)

CircularError ofProbabilityradius (meters)

CombinedStandardDeviation(meters)

ASTRA

System Error Results

Node 1 Latitude

Node 1 Longitude

Node 2 Latitude

Node 2 Longitude

Node 3 Latitude

Node 3 Longitude

1.22 1.54 2.07 0.67 1.29 3.28

Node 1 Node 2 Node 3

1.035 4.275 5.342

CSD

1.22

CEP

2.15

09/16/2017 27

Page 28: Finding an Active Shooter with GNURadio

CEP Shown in ASTRA User Terminal View

ASTRA

PRE-SHOT DISPLAY POST-SHOT DISPLAY

09/16/2017 28

Page 29: Finding an Active Shooter with GNURadio

Circular Error Probability (CEP) on ASTRA User Terminal

09/16/2017ASTRA

4.28m

CEP=0.62 σy+0.56 σx

σy= 1.06 meters

σx= 2.66 meters

Novatel Study: APN-029 Rev 1, 3DEC2003

29

Page 30: Finding an Active Shooter with GNURadio

ASTRA

Threshold

Samples

Ma

gnitu

de (

DB

) = Threshold= Data

Thresh Xing

09/16/2017 30

CA-CFAR Plot Using Recorded Gunshot Data

Page 31: Finding an Active Shooter with GNURadio

ASTRA

Team ASTRA

09/16/2017 31