Professional Pulse-Doppler Radar Simulation Platform
Physics-Based • AI-Enhanced • Imaging Radar • Open Source
Features •
Quick Start •
Shortcuts •
Docs •
Citation
RadarSim is a scientifically-validated radar simulation engine for education, research, and professional training. Built with NumPy/Numba for performance and PyQt6 for a modern UI.
Pulse-Doppler Engine: Signal-level processing (CPI, MTI, FFT) referenced from Richards (2005).
Advanced Tracking: Extended Kalman Filter (EKF) with polar coordinates.
Electronic Warfare: DRFM Jamming (RGPO/VGPO) and Frequency Agility.
Sensor Fusion: Networked Radar & Strobe Triangulation.
Imaging: High-resolution SAR/ISAR algorithms.
AI/Cognitive Control: Dynamic logic referenced from Haykin (2006).
Key Validation: Radar Equation calculations achieve ±0.005 dB accuracy vs. Skolnik reference values.
Figure 1: Main Plan Position Indicator (PPI) display showing detected targets.
Feature
Implementation
Reference
Radar Equation
Monostatic/Bistatic with Numba JIT
Skolnik, Ch. 2
Atmospheric Attenuation
ITU-R P.676-12 (O₂ + H₂O)
IEEE Std
Swerling RCS Models
Types 0-4 fluctuation
Swerling (1960)
Monopulse Tracking
Sum/Difference patterns, sub-beamwidth accuracy
Phase 20
3D Terrain Masking
4/3 Earth refraction, LOS shadowing
ITU-R P.526
Feature
Details
Ground Clutter
Weibull distribution, σ⁰ coefficients
Sea Clutter
GIT Model , Douglas sea states (1-6)
Rain Physics
ITU-R P.838 Attenuation + Marshall-Palmer Clutter
MTI Filtering
Velocity threshold, slow-mover rejection
Technique
Type
Status
Noise Jamming
ECM
✅
DRFM Repeater
ECM
✅
RGPO/VGPO Deception
ECM
✅
Frequency Agility
ECCM
✅
Burn-Through Display
ECM Strobe
✅
🛰️ Imaging Radar (Phase 30)
Feature
Implementation
Reference
SAR (RDA)
Vectorized 5-stage Range-Doppler Algorithm
Cumming & Wong (2005)
ISAR
Cross-range imaging via target rotation
Chen & Ling (2002)
Resolution
Δr = c/(2B) = 1.5m, Δa = D/2 = 0.5m
Verified
🤖 AI Tactical Director (Phase 30)
Feature
Description
Coverage Analysis
2D Pd map from multi-radar network
Blind Zone Detection
Flood-fill connected component analysis
Attack Planning
3 difficulty levels (Easy/Medium/Hard)
Low-Pd Routing
Greedy corridor navigation
Jammer Deployment
Optimal DRFM positioning
Scope
Description
PPI
Plan Position Indicator with phosphor decay
B-Scope
Range vs Azimuth (AESA style) with ECM strobes
A-Scope
Amplitude vs Range with CFAR hover visualization
RHI
Range-Height Indicator (elevation)
3D Tactical
OpenGL terrain with target spheres
SAR Viewer
Real physics-based Synthetic Aperture Radar imaging
SAR Imaging
3D Tactical Map
Real-time SAR formation (Range-Doppler)
3D situation awareness
RHI Scope
A-Scope Analysis
Elevation scanning (Range-Height)
CFAR threshold visualization
Tool
Function
Ambiguity Diagram
PRF vs Range/Velocity trade-off
ROC Curves
Pd vs Pfa for Swerling models
SNR Histogram
Detection strength distribution
Ambiguity Diagram • ROC Curves • Real-time SNR Statistics
RandomForest Classifier trained on synthetic radar data
Classes: Drone 🛸, Fighter Jet ✈️ , Missile 🚀
Real-time inference with confidence scoring
# Clone repository
git clone https://github.com/SpaceEngineerSS/RadarSim.git
cd RadarSim
# Create virtual environment
python -m venv .venv
.venv\S cripts\a ctivate # Windows
# source .venv/bin/activate # Linux/Mac
# Install dependencies
pip install -r requirements.txt
# Run application
python run_gui.py
Key
Action
Space
Play/Pause simulation
R
Reset (stop) simulation
1
Switch to PPI Scope
2
Switch to RHI Scope
3
Switch to 3D Tactical
4
Switch to 4th tab
F11
Toggle fullscreen
Ctrl+O
Load scenario
Ctrl+Shift+S
Save scenario
Ctrl+R
Start recording
RadarSim/
├── run_gui.py # Main entry point (PyQt6 GUI)
├── headless.py # Headless simulation runner
├── batch_run.py # Batch scenario executor
├── requirements.txt # Dependencies
├── scenarios/ # YAML scenario files (10 scenarios)
│ ├── f16_vs_sa6.yaml
│ ├── drone_swarm_saturation.yaml
│ ├── naval_battlegroup.yaml
│ └── ...
├── src/
│ ├── physics/ # Core physics (radar_equation, clutter, ecm)
│ ├── signal/ # Signal processing (cfar, pulse_doppler, antenna)
│ ├── tracking/ # Target tracking (EKF, monopulse, track manager)
│ ├── simulation/ # Simulation engine & network manager
│ ├── ui/ # PyQt6 GUI (PPI, B-Scope, RHI, A-Scope, 3D)
│ ├── advanced/ # SAR/ISAR, AI Director, Sensor Fusion, ECCM, LPI
│ └── ml/ # AI classification pipeline
├── models/ # Trained ML models
├── docs/ # Documentation
└── tests/ # 217 unit tests
Skolnik, M.I. — Radar Handbook , 3rd Ed., McGraw-Hill, 2008
Richards, M.A. — Fundamentals of Radar Signal Processing , 2nd Ed., McGraw-Hill, 2014
IEEE Std 686-2017 — Radar Definitions
ITU-R P.676-12 — Attenuation by Atmospheric Gases
Cumming & Wong — Digital Processing of SAR Data , Artech House, 2005
Chen & Ling — Time-Frequency Transforms for Radar Imaging , Artech House, 2002
Bar-Shalom, Y. — Estimation with Applications to Tracking , Wiley, 2001
Julier & Uhlmann — Non-divergent Estimation Algorithm , ACC, 1997
Schleher, D.C. — Electronic Warfare in the Information Age , Artech House, 1999
Poisel, R. — Electronic Warfare Target Location Methods , Artech House, 2012
MIT License - See LICENSE for details.
If you use RadarSim in academic work, please cite:
@software {radarsim2025 ,
title = { RadarSim: Physics-Based Pulse-Doppler Radar Simulation} ,
author = { RadarSim Contributors} ,
year = { 2025} ,
url = { https://github.com/SpaceEngineerSS/RadarSim}
}
Mehmet Gümüş
Built with ❤️ for the Radar Community