Repository navigation
Releases: SpaceEngineerSS/RadarSim
Release list
RadarSim v4.0.0
A rebuild of the simulator around a correct detection loop, a new desktop interface
and a cleaned-up package. Scenario files, the Python import path and two sign
conventions changed, so this is a major release; see Migrating from 3.x below.
Breaking changes
- The package is now
radarsiminstead ofsrc:from radarsim.simulation.engine import SimulationEngine. - One coordinate frame everywhere: ENU (x East, y North, z Up), azimuth clockwise from North.
- Doppler is fd = −2·vr/λ with vr positive when opening; closing targets have negative radial velocity in every output.
- Scenario files are validated against a schema. Unknown keys are errors with a suggestion;
required_radar_presetand other unused keys were removed. - Removed modules that did not work or were never connected:
advanced/(except SAR/ISAR, nowradarsim.signal.sar_isar), sensor fusion UI, LPI waveforms, RF spectrum view, WebGL renderer, the matplotlib 3-D view and the old Sphinx documentation.
Detection and physics
- Detection happens only when the beam centre crosses a target (circular, sector and stare scans), giving one look per revisit.
- Pulse-compression gain and the compressed range cell were missing (up to 26 dB of error); noise, jamming and clutter now combine after the matched filter.
- Mean RCS in the SNR with the Swerling statistic only in Pd, removing a double-counted fluctuation.
- Exact Swerling 1 and 2 detection probabilities, Gauss–Legendre integration for cases 3 and 4, cached; checked against a pulse-level Monte Carlo.
- CFAR loss from the Gandhi–Kassam closed forms for CA, GO, SO and OS.
- Clutter enters through the elevation pattern; MTI improvement factor per Skolnik with a 50 dB stability limit.
- Rain attenuation limited to the ITU-R P.839 rain height; P.676 receives the dry-air pressure.
- Terrain masking with Earth bulge, terrain presets and
height_above_terrain_m. - Coordinated-turn motion, deploy times for chaff and decoys, chaff bloom and decay.
- Every random draw goes through one seeded generator;
reset()reproduces a run exactly.
Tracking
- Track-while-scan inside the engine with continuous white-noise acceleration, two-point initiation with a velocity gate, misses only when the beam looked, revisit guard and maximum coast time.
- Rewritten monopulse estimator (squinted Gaussian beams).
Interface
- New desktop interface: dark console theme, IBM Plex type, own icon set, PPI, B-scope, A-scope, RHI, range–Doppler and 3-D views.
- Simulation runs at a fixed step on its own thread; rendering adapts to the machine (16, 33 or 50 ms frames) with motion interpolation and a reduce-motion setting.
- New: Pd–range coverage diagram, Monte Carlo panel with Wilson intervals, event log with CSV/JSON report export, scenario editor that draws on the scope and saves canonical YAML.
- English and Turkish.
Tooling
radarsim --headless SCENARIO --duration --seed --outandradarsim --list; built-in scenarios ship inside the package.- MkDocs documentation with figures generated by
tools/make_figures.pyand screenshots bytools/capture_screenshots.py. - CI runs ruff, mypy, bandit, the translation check, tests on three systems, a wheel check outside the repository and a strict docs build; tagged releases build Windows, Linux and macOS applications.
Migrating from 3.x
- Replace
src.withradarsim.in imports. - Re-save old scenarios: load the file, fix the keys the validator reports, and check that positions and headings follow ENU with azimuth from North.
- If you post-process Doppler or radial velocity, flip the sign of values from 3.x.
python run_gui.pystill works from a checkout;radarsimis the installed command.
RadarSim v3.0.1
RadarSim 3.0.1
RadarSim 3.0.1 is a maintenance and stability release resolving scenario execution edge cases, dynamic parameter synchronization, and command-line scenario loading.
Highlights in 3.0.1
- Scenario-Bundled Distribution: Bundled the
scenarios/directory in release ZIP/TAR.GZ archives so standalone executables have immediate access to all 10 scenario definitions. - Built-in Scenarios Menu: Added
File > ⚡ Built-in Scenariosmenu for instant one-click scenario launching without manual file browsing. - Rendering Performance Optimization: Pre-cached discrete brush palettes for phosphor persistence trails and affiliation markers, eliminating on-the-fly QPainter rasterization bottlenecks and dropping phosphor update latency from 117 ms to 0.5 ms (192x speedup).
- Sub-1GHz Attenuation Safety: Guarded ITU-R P.676 atmospheric absorption and ITU-R P.838 rain attenuation for frequencies below 1.0 GHz (such as UHF/VHF early warning radars), applying negligible 0.0 dB attenuation rather than raising an out-of-domain exception. Resolves crashes in
stealth_deep_penetration.yaml. - Terrain Type Normalization: Added
"mountain"alias and normalization inClutterModel.ground_clutter_sigma0to match scenario specifications. Resolves crash inmountain_ambush.yaml. - Dynamic Radar Parameter Synchronization: Converted
SimulationEngine._radar_paramsto a real-time property synchronized withself.radar, ensuring GUI frequency/power slider changes immediately affect SNR and detection calculations. - Command-Line Scenario Loading:
python run_gui.py [scenario_path]andradarsim [scenario_path]now accept a scenario YAML/JSON file path directly on startup. - GUI File Filter: Added
*.jsontoQFileDialogscenario open filter alongside*.yaml/*.yml. - Public Scenario API: Added
MainWindow.load_scenario(filepath)for modular and programmatic scenario loading. - Windows Console Encoding: Replaced Unicode arrow and lambda characters in console logging to prevent
UnicodeEncodeErroron CP1252/CP1254 environments. - Automated Verification: Added regression tests executing multi-step simulation on all distributed scenarios. Full test suite: 343 passing tests.
Full Changelog: v3.0.0...v3.0.1
RadarSim v3.0.0
RadarSim 3.0.0
RadarSim 3.0 is a scientific-model and signal-chain revision. The release focuses on traceable equations, calibrated statistical processing, explicit timing/covariance semantics, and honest model boundaries.
The pulse-Doppler path now starts with delayed complex LFM echoes and performs linear matched filtering, optional MTI, windowed Doppler processing, physical range/velocity axes, and ambiguity reporting. CFAR thresholds are calibrated separately for CA, GO, SO, and OS detectors; two-dimensional CA-CFAR uses a true rectangular reference ring.
Tracking now uses chi-square innovation gating and Hungarian global assignment with exact confirmation/coasting rules. Network estimates are timestamp-aligned before fusion. Independent measurements and unknown-correlated tracks use separate information-fusion and covariance-intersection paths.
The physics engine includes corrected link/noise accounting, ITU-R gas and rain loss, Oh bare-soil and NRL sea-clutter reflectivity, statistical clutter, DRFM pull-off, and receiver hard-limiting diagnostics. SAR raw data and range-Doppler focusing now use actual phase history, range gating, and non-circular RCMC; ISAR uses compressed, aligned profiles and a rotation-rate-derived cross-range axis.
Obsolete optional modules and binary assets have been removed. RadarSim has no telemetry or remote-service dependency.
This release intentionally reports omega-k and chirp-scaling SAR processing as unimplemented. It also does not claim hardware-certified performance, real-platform signatures, refractive ray tracing, multipath, CAD electromagnetic scattering, or classified equipment behaviour. See docs/MODEL_FIDELITY.md before interpreting simulation results.
Verification for the source release: 341 automated tests, strict Ruff checks, offscreen PySide6 smoke tests, Bandit medium/high-severity scan, Sphinx warnings-as-errors build, and wheel/source-distribution build.
Breaking changes include removal of obsolete modules/assets, corrected signal calibration and axes, stricter input validation, and revised fusion/tracking lifecycle semantics. Existing scripts should pin 2.4.0 until their assumptions are checked against the 3.0 documentation.
Full Changelog: v2.4.0...v3.0.0
RadarSim v2.4.0
🚀 RadarSim v2.4.0 Official Release
Automated cross-platform build for Windows, Linux, and macOS.
📦 Installation:
- Download the archive for your operating system.
- Extract the contents.
- Run the
RadarSimexecutable.
Scientifically accurate radar simulation engine.
RadarSim v1.0.1
🚀 RadarSim v1.0.1 Official Release
Automated cross-platform build for Windows, Linux, and macOS.
📦 Installation:
- Download the archive for your operating system.
- Extract the contents.
- Run the
RadarSimexecutable.
Scientifically accurate radar simulation engine.