Radar Simulation
for Python
A powerful Python library for radar transceiver modeling, baseband simulation from point targets, 3D meshes and animated glTF models, and advanced signal processing — including Range-Doppler, DoA estimation, CFAR, and beamforming. One module runs on an NVIDIA GPU when available and on all CPU cores otherwise.
from radarsimpy import Radar, Transmitter, Receiver from radarsimpy.simulator import sim_radar # Define FMCW transmitter tx = Transmitter( f=(77e9, 81e9), t=80e-6, tx_power=15, prp=100e-6, pulses=128, ) # Define receiver rx = Receiver( fs=6e6, noise_figure=8, rf_gain=20, ) # Build radar and run simulation # device="auto": GPU if usable, else CPU radar = Radar(transmitter=tx, receiver=rx) data = sim_radar(radar, targets=[{ "location": (50, 0, 0), "rcs": 10, }], device="auto")
Everything You Need for Radar Simulation
Four integrated capability areas covering the full radar simulation workflow.
Radar Modeling
- Transceiver modeling with multiple Tx/Rx channels
- Arbitrary waveform — CW, FMCW, PMCW, Pulse, and custom
- Receiver thermal noise & SSB phase noise
- Modulation — CDM, FDM, DDM, TDM (fast-time & slow-time)
- Antenna pattern definition per channel
- Range-gated stretch processing for long-range FMCW
Simulation
- Baseband data from point targets
- Baseband data from 3D modeled objects & environments (ray tracing, multi-bounce)
- Keyframe-animated glTF 2.0 / GLB targets (rotors, wheels, flight paths)
- Mutual interference simulation
- Target RCS simulation
- LiDAR point cloud with normals, range & intensity
Signal Processing
- Range / Doppler processing
- DoA estimation — MUSIC, Root-MUSIC, ESPRIT, IAA
- Beamforming — Capon, Bartlett
- 1D/2D CA-CFAR & OS-CFAR
Characterization
- Radar detection characteristics (ROC curves)
- Swerling target models (0–4)
- Radar link budget analysis
- Phase noise characterization
CPU & GPU Parallelization
Designed for performance — from a laptop to a CUDA workstation. Windows and Linux ship a single CUDA-enabled module that picks the GPU when one is usable and runs on all CPU cores otherwise.
Multi-threaded simulation on all cores (limit with OMP_NUM_THREADS). Windows, Linux, and macOS.
NVIDIA GPUs with Compute Capability 7.5 (Turing) or newer. Windows and Linux (x86-64 & ARM64). No CUDA Toolkit needed — just a recent driver.
device="auto" uses the GPU when available and the CPU otherwise. Force either with "gpu" or "cpu"; check with gpu_available().
| Platform | CPU (x86-64) | CPU (ARM64) | GPU (CUDA) |
|---|---|---|---|
| Windows | ✓ | — | ✓ |
| Linux (Ubuntu 22.04 / 24.04 / 26.04) | ✓ | ✓ | ✓ |
| macOS (Intel & Apple Silicon) | ✓ | ✓ | — |
Performance Across Releases
Execution time in seconds for radarsimnb examples, v12.5.0 vs v15.5.0.
| Example | v12.5 CPU | v15.5 CPU | v12.5 GPU | v15.5 GPU |
|---|---|---|---|---|
| FMCW imaging radar | > 7200 | 854.76 | 2259.91 | 63.59 |
| FMCW radar with a car | 909.33 | 8.14 | 9.72 | 0.75 |
| Doppler of a turbine | 2069.66 | 95.54 | 117.76 | 63.40 |
| Multi-path | 151.64 | 5.62 | 4.85 | 1.60 |
Intel Core i7-11800H (16 threads, 32 GB RAM) and NVIDIA GeForce RTX 3050 Laptop GPU (4 GB).
Dependencies & Setup
No compilation needed — download the pre-built module and place it in your project.
Python Packages
Python3.10 – 3.14NumPy>= 2.0SciPytrimesh(default) /PyMeshLab/PyVista/meshio(for 3D mesh targets)pygltflib(optional, for animated glTF / GLB targets)
Platform Requirements
- Windows — Visual C++ Runtime
- Ubuntu 22.04 — GCC 11 (default), x86-64 & ARM64
- Ubuntu 24.04 — GCC 13 (default), x86-64 & ARM64
- Ubuntu 26.04 — GCC 15 (default), x86-64 & ARM64
- macOS — Intel & Apple Silicon, default Clang, no extra dependencies
- GPU (optional) — NVIDIA Compute Capability 7.5+ and a recent driver; no CUDA Toolkit needed
- Other Linux — try the Ubuntu 22.04 / 24.04 module, or request a custom build
Installation
Download the pre-built module and place the radarsimpy folder in your project directory:
your_project.py your_project.ipynb radarsimpy/ ├── __init__.py ├── radar.py ├── processing.py ├── [platform-specific binaries] └── ...
Learn by Example
All source files available in the radarsimnb repository.
MIMO & Angle Estimation
Ray Tracing
Radar Cross Section
CFAR & Interference
System Characterization
LiDAR
Free to Try, Licensed to Unlock
One license, two tools. Your RadarSimPy license file also unlocks all RadarSimApp capabilities — no extra purchase required.
Fully functional for learning and exploring radar simulation concepts.
- Max 2 targets (3 for RCS)
- 1 Tx / 1 Rx channel
- Max 8 faces per mesh target
- Email support for installation
- No bug fixes & updates
Activate with a RadarSimPy license file — all limits removed.
- Unlimited targets
- Unlimited Tx / Rx channels
- Unlimited mesh size
- Email support within license term
- Bug fixes & updates within license term