RadarSimPy
July 19, 2026 · View on GitHub
RadarSimPy
A Radar Simulator for Python
RadarSimPy is a powerful and versatile Python-based Radar Simulator that models radar transceivers and simulates baseband data from point targets and 3D models. Its signal processing tools offer range/Doppler processing, direction of arrival estimation, and beamforming using various cutting-edge techniques, and you can even characterize radar detection using Swerling’s models. Whether you’re a beginner or an advanced user, RadarSimPy is the perfect tool for anyone looking to develop new radar technologies or expand their knowledge of radar systems.
Key Features
- :satellite: Radar Modeling
- Transceiver modeling
- Arbitrary waveform (CW, FMCW, PMCW, Pulse, ...)
- Phase noise
- Phase/amplitude modulation (CDM, FDM, DDM, TDM, ...)
- Fast-time/slow-time modulation
- :video_game: Simulation
- Baseband data from point targets & 3D models
- Interference simulation
- Target RCS simulation
- LiDAR point cloud simulation
- :signal_strength: Signal Processing
- Range/Doppler processing
- DoA estimation (MUSIC, Root-MUSIC, ESPRIT, IAA)
- Beamforming (Capon, Bartlett)
- CFAR (CA-CFAR, OS-CFAR)
- :chart_with_upwards_trend: Characterization
- Radar detection characteristics (Swerling’s models)
Dependencies
- Python >= 3.10
- NumPy >= 2.0
- SciPy
- PyMeshLab, PyVista, trimesh, or meshio
pip install -r requirements.txt
Platform-specific requirements:
- Windows
- Visual C++ Runtime
- GPU version (CUDA13) – requires a GPU with Compute Capability 7.5 (Turing) or higher; see Minimum Required Driver Versions
- Ubuntu 22.04
- GCC 11 (default)
- GPU version (CUDA13) – requires a GPU with Compute Capability 7.5 (Turing) or higher; see Minimum Required Driver Versions
- Ubuntu 24.04
- GCC 13 (default)
- GPU version (CUDA13) – requires a GPU with Compute Capability 7.5 (Turing) or higher; see Minimum Required Driver Versions
- Ubuntu 26.04
- GCC 15 (default)
- GPU version (CUDA13) – requires a GPU with Compute Capability 7.5 (Turing) or higher; see Minimum Required Driver Versions
- Generic Linux x86-64
- Try Ubuntu 22.04/24.04 module, or request a custom build
- MacOS
- Intel: use default Clang (no extra dependency)
- Apple Silicon: use default Clang (no extra dependency)
Installation
Download the pre-built module and place the radarsimpy folder in your project directory:
your_project.py
your_project.ipynb
radarsimpy/
├── __init__.py
├── [platform-specific binaries]
├── radar.py
├── processing.py
└── ...
Platform-specific binaries:
- Windows:
radarsimcpp.dll,simulator.xxx.pyd - Linux:
libradarsimcpp.so,simulator.xxx.so - MacOS:
libradarsimcpp.dylib,simulator.xxx.so
Acceleration
This module supports CPU/GPU parallelization:
- CPU: via OpenMP
- GPU: via CUDA (since v6.0.0)
| CPU (x86-64) | CPU (ARM64) | GPU (CUDA) | |
|---|---|---|---|
| Windows | ✔️ | ❌️ | ✔️ |
| Linux | ✔️ | ❌️ | ✔️ |
| MacOS | ✔️ | ✔️ | ❌️ |
Coordinate Systems
Global Coordinate
- axis (m):
[x, y, z] - phi (deg): angle on the x-y plane. 0 deg is the positive x-axis, 90 deg is the positive y-axis
- theta (deg): angle on the z-x plane. 0 deg is the positive z-axis, 90 deg is the x-y plane
Local Coordinate
- yaw (deg): rotation along the z-axis. Positive yaw rotates the object from the positive x-axis to the positive y-axis
- pitch (deg): rotation along the y-axis. Positive pitch rotates the object from the positive x-axis to the positive z-axis
- roll (deg): rotation along the x-axis. Positive roll rotates the object from the positive y-axis to the positive z-axis
- origin (m):
[x, y, z], the motion (rotation and translation) centor of the object. Radar's origin is always at[0, 0, 0]
- azimuth (deg): azimuth -90 ~ 90 deg equal to phi -90 ~ 90 deg
- elevation (deg): elevation -90 ~ 90 deg equal to theta 180 ~ 0 deg
Usage Examples
Find more usage examples at radarsimx.com. Source files are available in the radarsimnb repository.
-
Radar Systems & Waveforms
-
MIMO & Multi-Channel Systems
-
3D Scene Simulation & Ray Tracing
-
Radar Cross Section (RCS) Analysis
-
Signal Processing & Detection
-
System Performance & Characterization
-
LiDAR Simulation
Build
Check Build Instructions
API Reference
See the Documentation
Contributing
Contributions, issues, and feature requests are welcome! Please open an issue or submit a pull request on GitHub.
License
This project is licensed under the terms of the LICENSE file.