Missile Detection System (C++)
Simulation of a Missile Approach Warning System (MAWS)
Processes UV/IR sensor data to detect incoming missile threats
Inspired by real-time avionics and defense system design
Built for educational and demonstration purposes
Real-time sensor data processing
Missile plume signature detection
Multi-target tracking (up to 8 concurrent tracks)
Time-to-impact (TTI) estimation
Threat confidence classification
Simulated cockpit warning and countermeasure triggering
Represents raw hardware sensor output
Data fields:
timestamp_us (microsecond precision)
ir_intensity
uv_intensity
azimuth_deg
elevation_deg
delta_intensity
sensor_valid
Plume Signature Detection
Filters and validates missile-like signatures
Detection criteria:
Minimum IR threshold
Minimum UV threshold
UV/IR ratio within defined bounds
Minimum intensity growth rate
Sun-glint rejection logic
Eliminates false positives (e.g. sunlight reflections, flares)
Tracks multiple objects simultaneously
Key characteristics:
Maximum of 8 active tracks
Spatial association using angular distance (azimuth/elevation)
Track confirmation requires multiple frames
Circular buffer for intensity history
Prevents false alarms from single-frame noise
Estimates time-to-impact (TTI)
Based on:
Intensity growth between consecutive readings
Approximation of inverse-square law behavior
Output range:
Minimum: 1 second
Maximum: 99 seconds (fallback/default)
Produces structured output:
Threat detected (boolean)
Confidence level:
NONE
LOW
MEDIUM
HIGH
CERTAIN
Direction (azimuth/elevation)
Time-to-impact
Track ID
Warning & Countermeasure Logic
Trigger conditions:
HIGH confidence → cockpit warning
CERTAIN confidence (TTI < 4s) → automatic flare deployment
Simulated actions:
Audio alert ("MISSILE WARNING")
Visual marker (Helmet Mounted Display)
Countermeasure deployment signal
Deterministic execution
No dynamic memory allocation
Fixed-size arrays
Real-time safety
Predictable timing
No exceptions
Fault tolerance
Sensor health checked before processing
Modular architecture
Independent components:
Detector
Tracker
Estimator
Multi-frame validation
Constraints & Assumptions
Simplified physics model for impact estimation
Fixed thresholds (illustrative, not real-world values)
No external dependencies (STL avoided for predictability)
Maximum 8 simultaneous tracked threats
Sensor input assumed at fixed time intervals (~20 ms)
Sensor produces a reading
System validates sensor health
Plume signature detection runs
If valid:
Track is updated or created
Track is confirmed across multiple frames
Time-to-impact is estimated
Threat assessment is generated
Warning or countermeasure is triggered (if required)
C++17 or later
Any standard compiler (g++, clang, MSVC)
g++ -std=c++17 main.cpp -o maws