A Radar Simulation desktop App powered by RadarSimLib
RadarSimApp is a cross-platform desktop application that brings the full power of RadarSimLib into an intuitive graphical interface. Model FMCW radar transceivers, define point and mesh targets, run baseband simulations, and visualize Range-Doppler maps — all without writing a single line of code.
- 📡 Radar Modeling
- Transmitter: FMCW/CW/custom waveforms, multi-channel TX, antenna patterns, phase noise
- Receiver: sampling rate, noise figure, RF/baseband gain, multi-channel RX, antenna patterns
- Radar platform: position, velocity, rotation, and rotation rate
- 🎮 Simulation
- Baseband data from point targets and 3D mesh targets (STL)
- Configurable fidelity levels: frame, pulse, and sample
- Optional receiver noise injection
- RCS analysis across incidence angles
- 📶 Signal Processing
- Range profile computation with configurable FFT size
- Range-Doppler map with configurable Doppler FFT size
- 📊 Visualization
- Interactive Plotly plots: baseband signal, range profile, range-Doppler map
- TX/RX channel location plots and virtual array overview
- Waveform frequency-vs-time preview
- 💾 Configuration Management
- Save/load full radar configurations to/from JSON
- Node.js ≥ 18
radarsimc.dll(Windows) /libradarsimcpp.so(Linux) /libradarsimcpp.dylib(macOS) placed inradarsimlib/- A valid
license_RadarSimM_*.licfile placed inradarsimlib/
Node.js package dependencies (installed via npm install):
| Package | Purpose |
|---|---|
koffi |
FFI bindings to the native RadarSimLib |
plotly.js-dist |
Interactive result plots |
h5wasm |
HDF5/JSON export support |
electron-squirrel-startup |
Windows installer integration |
# Clone the repository
git clone https://github.com/radarsimx/radarsimapp.git
cd radarsimapp
# Install Node.js dependencies
npm install
# Place the native library and license file
cp /path/to/radarsimc.dll radarsimlib/
cp /path/to/license_RadarSimM_*.lic radarsimlib/
# Run the app
npm start
# Run in development mode (with DevTools open)
npm run devBuild a platform-specific installer or package:
# Windows (Squirrel installer)
npm run dist:win
# macOS (DMG)
npm run dist:mac
# Linux (AppImage)
npm run dist:linuxThe output is placed in dist/. The native library is automatically unpacked from the .asar archive at runtime via asarUnpack.
- About — Click the About button in the sidebar footer to verify the library version and license status
- Configure Transmitter — Set start/end frequency, sweep timing, pulse count, TX power, and TX channels with antenna patterns
- Configure Receiver — Set sampling rate, baseband type, noise figure, gain, and RX channels with antenna patterns
- Configure Radar — Set platform position, velocity, rotation, and rotation rate
- Add Targets — Add point targets (location, RCS, speed, phase) or mesh targets (STL files with motion parameters)
- Run Simulation — Select fidelity level, toggle noise and processing options, then click Run Simulation
- View Results — Inspect the baseband signal, range profile, and Range-Doppler map; step through channels and pulses
- Export — Save the full simulation result to JSON for further analysis
This project is licensed under the terms of the LICENSE file.
