# 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`, and `awrl1432`. - **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.