!!! This module needs to be built/used together with RadarSimC (the C++ engine for radar simulator)
A Radar Simulator for Python
-
- Radar transceiver modeling
- Arbitrary waveform
- Phase noise
- Phase/Amplitude modulation
- Fast-time/Slow-time modulation
-
- Simulation of radar baseband data from point targets
- Simulation of radar baseband data from 3D modeled objects/environment (
#raytracing
) - Simulation of target's RCS (
#raytracing
) - Simulation of LiDAR point cloud from 3D modeled objects/environment (
#raytracing
)
-
- Range/Doppler processing
- 1D/2D cell-averaging CFAR (CA-CFAR)
- 1D/2D ordered-statistic CFAR (OS-CFAR)
-
- Radar detection characteristics based on Swerling's models
- numpy
- scipy
- meshio
- Visual C++ Runtime (Windows only)
Please fill out this form to request the module if you are interested in using RadarSimPy
To use the module, please put the radarsimpy folder within your project folder as shown below.
-
- your_project.py
- your_project.ipynb
- radarsimpy
- __init__.py
- radarsimc.dll
- scene.xxx.pyd
- ...
-
- your_project.py
- your_project.ipynb
- radarsimpy
- __init__.py
- libradarsimc.so
- scene.xxx.so
- ...
This module supports CPU/GPU parallelization. CPU parallelization is implemented through OpenMP. GPU parallelization (CUDA) has been added since v6.0.0.
CPU | GPU (CUDA) | |
---|---|---|
Windows | ✅ | ✅ |
Linux | ✅ | ✅ |
macOS | ❌ | ❌ |
-
- axis (m):
[x, y, z]
- phi (deg): angle on x-y plane. Positive x-axis is 0 deg, positive y-axis is 90 deg
- theta (deg): angle on z-x plane. Positive z-axis is 0 deg, x-y plane is 90 deg
- azimuth (deg): azimuth -90 ~ 90 deg equal to phi -90 ~ 90 deg
- elevation (deg): elevation -90 ~ 90 deg equal to theta 180 ~ 0 deg
- axis (m):
-
- axis (m):
[x, y, z]
- yaw (deg): rotation along z-axis. Positive yaw rotates object from positive x-axis to positive y-axis
- pitch (deg): rotation along y-axis. Positive pitch rotates object from positive x-axis to positive z-axis
- roll (deg): rotation along x-axis. Positive roll rotates object from positive z-axis to negative y-axis
- origin (m):
[x, y, z]
- rotation (deg):
[yaw, pitch, roll]
- rotation (deg/s): rate
[yaw rate, pitch rate, roll rate]
- axis (m):
- Radar Model: Classes to define a radar system
radarsimpy.Transmitter
: Radar transmitterradarsimpy.Receiver
: Radar receiverradarsimpy.Radar
: Radar system
- Simulator: Radar baseband signal simulator
radarsimpy.simulator.simpy
: Simulates and generates raw time domain baseband data (Python engine)radarsimpy.simulator.simc
: Simulates and generates raw time domain baseband data (C++ engine)
- Raytracing: Raytracing module for radar scene simulation
radarsimpy.rt.lidar_scene
: Simulates LiDAR's point cloud based on a 3D environment model with ray tracingradarsimpy.rt.rcs_sbr
: Simulates target's radar cross section (RCS) based on the 3D model with ray tracingradarsimpy.rt.scene
: Simulates radar's response signal in a 3D environment model with ray tracing
- Processing: Basic radar signal processing module
radarsimpy.processing.range_fft
: Calculate range profile matrixradarsimpy.processing.doppler_fft
: Calculate range-Doppler matrixradarsimpy.processing.range_doppler_fft
: Range-Doppler processingradarsimpy.processing.cfar_ca_1d
: 1D Cell Averaging CFAR (CA-CFAR)radarsimpy.processing.cfar_ca_2d
: 2D Cell Averaging CFAR (CA-CFAR)radarsimpy.processing.cfar_os_1d
: 1D Ordered Statistic CFAR (OS-CFAR)radarsimpy.processing.cfar_os_2d
: 2D Ordered Statistic CFAR (OS-CFAR)
- Tools: Receiver operating characteristic analysis
radarsimpy.tools.roc_pd
: Calculate probability of detection (Pd) in receiver operating characteristic (ROC)radarsimpy.tools.roc_snr
: Calculate the minimal SNR for certain probability of detection (Pd) and probability of false alarm (Pfa) in receiver operating characteristic (ROC)