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 dataClasses: 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.pyKey Action SpacePlay/Pause simulation RReset (stop) simulation 1Switch to PPI Scope 2Switch to RHI Scope 3Switch to 3D Tactical 4Switch to 4th tab F11Toggle fullscreen Ctrl+OLoad scenario Ctrl+Shift+SSave scenario Ctrl+RStart 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, 2008Richards, M.A. — Fundamentals of Radar Signal Processing , 2nd Ed., McGraw-Hill, 2014IEEE Std 686-2017 — Radar DefinitionsITU-R P.676-12 — Attenuation by Atmospheric GasesCumming & Wong — Digital Processing of SAR Data , Artech House, 2005Chen & Ling — Time-Frequency Transforms for Radar Imaging , Artech House, 2002Bar-Shalom, Y. — Estimation with Applications to Tracking , Wiley, 2001Julier & Uhlmann — Non-divergent Estimation Algorithm , ACC, 1997Schleher, D.C. — Electronic Warfare in the Information Age , Artech House, 1999Poisel, R. — Electronic Warfare Target Location Methods , Artech House, 2012MIT 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