Finding an Active Shooter with GNURadio 1
Active Shooter Tactical Response Assistant Team : George Mason University Students: Ben McCall, Puja Patel, Joel Williams, Rohini Shah, Aryan Toughiry GMU Sponsors: Dr. Kenneth Hintz & Dr. Kathleen Wage 2
Possible Approaches and Barriers 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 3
Walkthrough Node 2 Node 1 Node 3 Data Receiver 4
Shot is detected by Acoustic Sensor Array of Nodes Node 2 Node 1 Node 3 Data Receiver 5
Each Node plots back a directional vector back to the source Node 2 Node 1 Node 3 Data Receiver 6
Vector Data is sent to the Data Receiver Node 2 Node 1 Node 3 Data Receiver 7
Intersection of Directional Vectors Shows Approx. Shooter Location User Terminal 8
Approach 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 9
2D Phased Array SOUND SOURCE Spatial Mic1 Detector Mic Spatial Mic2 Spatial Mic3 Thanks to M. Rhudy Univ Pitt 10
Single Node Architecture LINUX CPU running Gnuradio, python, java Omni Mic Omni Mic Omni Mic A/D Bank of Matched Filters Phased Array Direction Calculation GPS position GPS/TCP packetization Wireless Backhaul Omni Mic 11
node GNURadio Direction Finding System Architecture TCP Message Data Receiver node GNURadio Direction Finding TCP Message Wireless network connection TCP server JAVA to KML script KML file Google earth User Terminal node GNURadio Direction Finding TCP Message 12
PHYSICAL ARRAY DESIGN AND IMPLEMENTATION Materials list: NODE (replicated 3x): (1) Tascam US4x4 4 channel A/D converter AutoCAD designs Physical implementation (1) Ubiquity Networks Loco M900 900MHz wireless transceiver (4) MOVO LV4 Omnidirectional Lavalier Microphone 13
Why 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 14
Benchtop Testing: single node implementation GNURadio Flowgraph 14/28
Matched Filter Outputs of Multiple Firearms Detection 16
Benchtop Testing: single node Implementation plotting direction PLOTTING OF ANGLE AUTOCORRELATION MIC1/MIC1 CROSS-CORRELATION MIC1/MIC3 CROSS-CORRELATION MIC1/MIC4 CROSS-CORRELATION MIC1/MIC2 17
Speaker Testing: Single Node Implementation SOUND SOURCE NODE NODE SOUND SOURCE 18
Node Speaker Testing: Single Node Implementation Umbrella Laptop Umbrella Engineering 17/28
Speaker Testing: Single Node Implementation Results Raw audio streams from microphones Cross-correlations with peaks highlighted Accurately plotting location of sound source 18/28
Live Fire Single Node Testing and Matched Filter Data Collection Glock17 Glock19 Glock 26 AK 47 AR15.308 (Sniper Rifle) AR15.22 Rifle 21
Live Fire Testing: Single Node Implementation US ARMY INFANTRY SOLDIER FIRING VARIOUS FIREARMS DURING TEST 22
Live Fire Testing: Single Node Implementation Sighting in Angles with Lensatic Compass Direction Finding Array With shooter in background Collecting waveforms and Observing system operation shooter 23
Live Fire Testing: Single Node Implementation Raw audio streams from microphones Cross-correlations with peaks highlighted Accurately plotting location of sound source 24/32
Outdoor Shooting Range Test Layout FIRING LINE Direction Of Fire 25
VIDEO 26
System Error Results Mean Angle Error (degrees) STDEV GPS Error (meters) Circular Error of Probability radius (meters) Combined Standard Deviation (meters) Node 1 Node 2 Node 3 1.035 4.275 5.342 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 CEP 2.15 CSD 1.22 27
CEP Shown in User Terminal View PRE-SHOT DISPLAY POST-SHOT DISPLAY 28
Circular Error Probability (CEP) on User Terminal CEP=0.62 σy+0.56 σx σy= 1.06 meters σx= 2.66 meters 4.28m Novatel Study: APN-029 Rev 1, 3DEC2003 29
Magnitude (DB) CA-CFAR Plot Using Recorded Gunshot Data = Threshold = Data Thresh Xing Threshold Samples 30
Team 31