2.1 KiB
Shenron Modular Radar Architecture
Overview
Shenron is a high-fidelity, physics-based radar simulation engine designed for multi-modal ADAS research. The latest iteration (Iteration 18) introduces a modular "Knobs and Dials" approach, allowing the engine to be tuned to match specific hardware characteristics via a centralized configuration system.
🏗️ Core Components
1. Radar Configuration (ConfigureRadar.py)
This is the "Control Panel" of the simulation. It provides:
- Modular Profiles: Pre-configured settings for
ti_cascade,radarbook, andawrl1432. - Tunable Parameters:
B(Bandwidth): Impacts range resolution.chirps: Impact Doppler resolution and processing gain.nRx: Number of receiving antennas (virtual antennas).gain: System-level calibration constant ($P_t G_t G_r$ and scaling).noise_amp: High-level noise floor control.
2. Physics Modeling (Sceneset.py)
The engine simulates electromagnetic interactions using deterministic physical laws:
- Material Interactions: Uses Fresnel equations for reflection and Beckmann-Spizzichino for scattering, indexed by material type (Metal, Concrete, Wood, etc.).
- 1/R⁴ Power Law: Implements a pure physical $1/R^2$ transmit and $1/R^2$ receive path loss, ensuring signal strength decays naturally with range.
- Occlusion & Hidden Points: Uses Open3D's hidden point removal and KD-Trees to simulate line-of-sight and density.
3. Signal Generation (heatmap_gen_fast.py)
- GPU Acceleration: High-performance signal synthesis using PyTorch.
- MIMO Processing: Simulates multi-chirp frames and doppler shifts.
- ADC Synthesis: Multiplies the physics-based voltage signal by the hardware calibration constant to produce raw I/Q-like data.
🎛️ The "Knobs and Dials" Philosophy
The engine is built to be "physics-first, tuning-second." By maintaining a rigid physical baseline (1/R⁴, Fresnel), we can trust that the simulator's spatial and temporal behavior is correct. The "dials" (Bandwidth, Gain, Noise) are used solely to align the simulation with real-world sensor specifications.