{"id":33058512,"url":"https://github.com/radarsimx/radarsimpy","last_synced_at":"2026-04-04T17:17:17.675Z","repository":{"id":38271316,"uuid":"282958664","full_name":"radarsimx/radarsimpy","owner":"radarsimx","description":"Radar Simulator built with Python and C++","archived":false,"fork":false,"pushed_at":"2026-03-08T22:23:05.000Z","size":70477,"stargazers_count":503,"open_issues_count":0,"forks_count":100,"subscribers_count":23,"default_branch":"master","last_synced_at":"2026-03-09T02:22:21.571Z","etag":null,"topics":["cuda","radar","raytracing","simulation"],"latest_commit_sha":null,"homepage":"https://radarsimx.github.io/radarsimpy/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/radarsimx.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-07-27T16:48:19.000Z","updated_at":"2026-03-08T22:23:08.000Z","dependencies_parsed_at":"2024-01-06T03:24:46.017Z","dependency_job_id":"f1cde77d-e5f5-40e1-844b-49a95dc88b18","html_url":"https://github.com/radarsimx/radarsimpy","commit_stats":null,"previous_names":["rookiepeng/radarsimpy"],"tags_count":71,"template":false,"template_full_name":null,"purl":"pkg:github/radarsimx/radarsimpy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radarsimx%2Fradarsimpy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radarsimx%2Fradarsimpy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radarsimx%2Fradarsimpy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radarsimx%2Fradarsimpy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/radarsimx","download_url":"https://codeload.github.com/radarsimx/radarsimpy/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radarsimx%2Fradarsimpy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31407644,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T10:20:44.708Z","status":"ssl_error","status_checked_at":"2026-04-04T10:20:06.846Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cuda","radar","raytracing","simulation"],"created_at":"2025-11-14T05:00:29.215Z","updated_at":"2026-04-04T17:17:17.660Z","avatar_url":"https://github.com/radarsimx.png","language":"Python","funding_links":[],"categories":["Radar Toolbox"],"sub_categories":["Simulation"],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/radarsimx/.github/refs/heads/main/profile/radarsimpy.svg\" alt=\"RadarSimPy logo\" width=\"200\"/\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/radarsimx/radarsimpy/actions/workflows/unit_test_windows.yml\"\u003e\u003cimg src=\"https://github.com/radarsimx/radarsimpy/actions/workflows/unit_test_windows.yml/badge.svg\" alt=\"Windows Unit Tests\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/radarsimx/radarsimpy/actions/workflows/unit_test_ubuntu.yml\"\u003e\u003cimg src=\"https://github.com/radarsimx/radarsimpy/actions/workflows/unit_test_ubuntu.yml/badge.svg\" alt=\"Ubuntu Unit Tests\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/radarsimx/radarsimpy/actions/workflows/unit_test_macos.yml\"\u003e\u003cimg src=\"https://github.com/radarsimx/radarsimpy/actions/workflows/unit_test_macos.yml/badge.svg\" alt=\"MacOS Unit Tests\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://radarsimx.github.io/radarsimpy/\"\u003e\u003cimg src=\"https://img.shields.io/github/v/tag/radarsimx/radarsimpy?label=Documentation\u0026logo=read-the-docs\" alt=\"Documentation\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://radarsimx.com/product/radarsimpy/\"\u003e\u003cimg src=\"https://img.shields.io/github/v/tag/radarsimx/radarsimpy?label=Download\u0026logo=python\" alt=\"Download\"/\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n# RadarSimPy\n\nA **Radar** **Sim**ulator for **Py**thon\n\nRadarSimPy is a powerful and versatile Python-based Radar Simulator that models radar transceivers and simulates baseband data from point targets and 3D models. Its signal processing tools offer range/Doppler processing, direction of arrival estimation, and beamforming using various cutting-edge techniques, and you can even characterize radar detection using Swerling’s models. Whether you’re a beginner or an advanced user, RadarSimPy is the perfect tool for anyone looking to develop new radar technologies or expand their knowledge of radar systems.\n\n---\n\n## Key Features\n\n- :satellite: **Radar Modeling**\n  - Transceiver modeling\n  - Arbitrary waveform (CW, FMCW, PMCW, Pulse, ...)\n  - Phase noise\n  - Phase/amplitude modulation (CDM, FDM, DDM, TDM, ...)\n  - Fast-time/slow-time modulation\n- :video_game: **Simulation**\n  - Baseband data from point targets \u0026 3D models\n  - Interference simulation\n  - Target RCS simulation\n  - LiDAR point cloud simulation\n- :signal_strength: **Signal Processing**\n  - Range/Doppler processing\n  - DoA estimation (MUSIC, Root-MUSIC, ESPRIT, IAA)\n  - Beamforming (Capon, Bartlett)\n  - CFAR (CA-CFAR, OS-CFAR)\n- :chart_with_upwards_trend: **Characterization**\n  - Radar detection characteristics (Swerling’s models)\n\n---\n\n## Dependencies\n\n- Python \u003e= 3.10\n- NumPy \u003e= 2.0\n- SciPy\n- PyMeshLab, PyVista, trimesh, or meshio\n\n```bash\npip install -r requirements.txt\n```\n\n**Platform-specific requirements:**\n\n- **Windows**\n  - [Visual C++ Runtime](https://aka.ms/vs/16/release/vc_redist.x64.exe/)\n  - GPU version (CUDA13) – see [Minimum Required Driver Versions](https://docs.nvidia.com/deploy/cuda-compatibility/#id1)\n- **Ubuntu 22.04**\n  - GCC 11 (default)\n  - GPU version (CUDA13) – see [Minimum Required Driver Versions](https://docs.nvidia.com/deploy/cuda-compatibility/#id1)\n- **Ubuntu 24.04**\n  - GCC 13 (default)\n  - GPU version (CUDA13) – see [Minimum Required Driver Versions](https://docs.nvidia.com/deploy/cuda-compatibility/#id1)\n- **Generic Linux x86-64**\n  - Try Ubuntu 22.04/24.04 module, or [request a custom build](https://radarsimx.com/request-a-custom-build/)\n- **MacOS**\n  - Intel: GCC 14 (`brew install gcc@14`)\n  - Apple Silicon: use default Clang (no extra dependency)\n\n---\n\n## Installation\n\nDownload the [pre-built module](https://radarsimx.com/product/radarsimpy/) and place the `radarsimpy` folder in your project directory:\n\n```text\nyour_project.py\nyour_project.ipynb\nradarsimpy/\n  ├── __init__.py\n  ├── [platform-specific binaries]\n  ├── radar.py\n  ├── processing.py\n  └── ...\n```\n\n**Platform-specific binaries:**\n\n- **Windows:** `radarsimcpp.dll`, `simulator.xxx.pyd`\n- **Linux:** `libradarsimcpp.so`, `simulator.xxx.so`\n- **MacOS:** `libradarsimcpp.dylib`, `simulator.xxx.so`\n\n---\n\n## Acceleration\n\nThis module supports CPU/GPU parallelization:\n\n- **CPU:** via OpenMP\n- **GPU:** via CUDA (since v6.0.0)\n\n|         | CPU (x86-64) | CPU (ARM64) | GPU (CUDA) |\n| ------- | ------------ | ----------- | ---------- |\n| Windows | ✔️           | ❌️         | ✔️         |\n| Linux   | ✔️           | ❌️         | ✔️         |\n| MacOS   | ✔️           | ✔️          | ❌️        |\n\n\u003cimg src=\"https://github.com/radarsimx/radarsimpy/raw/master/assets/performance.svg\" alt=\"performance\" width=\"500\"/\u003e\n\n---\n\n## Coordinate Systems\n\n### Global Coordinate\n\n- **axis** (m): `[x, y, z]`\n- **phi** (deg): angle on the x-y plane. 0 deg is the positive x-axis, 90 deg is the positive y-axis\n- **theta** (deg): angle on the z-x plane. 0 deg is the positive z-axis, 90 deg is the x-y plane\n\n\u003cimg src=\"./assets/phi_theta.svg\" alt=\"phi_theta\" width=\"400\"/\u003e\n\n### Local Coordinate\n\n- **yaw** (deg): rotation along the z-axis. Positive yaw rotates the object from the positive x-axis to the positive y-axis\n- **pitch** (deg): rotation along the y-axis. Positive pitch rotates the object from the positive x-axis to the positive z-axis\n- **roll** (deg): rotation along the x-axis. Positive roll rotates the object from the positive y-axis to the positive z-axis\n- **origin** (m): `[x, y, z]`, the motion (rotation and translation) centor of the object. Radar's origin is always at `[0, 0, 0]`\n\n\u003cimg src=\"./assets/yaw_pitch_roll.svg\" alt=\"yaw_pitch_roll\" width=\"400\"/\u003e\n\n- **azimuth** (deg): azimuth -90 ~ 90 deg equal to phi -90 ~ 90 deg\n- **elevation** (deg): elevation -90 ~ 90 deg equal to theta 180 ~ 0 deg\n\n\u003cimg src=\"./assets/azimuth_elevation.svg\" alt=\"azimuth_elevation\" width=\"400\"/\u003e\n\n---\n\n## Usage Examples\n\nFind more usage examples at [radarsimx.com](https://radarsimx.com/category/examples/). Source files are available in the [radarsimnb repository](https://github.com/radarsimx/radarsimnb).\n\n- ### **Radar Systems \u0026 Waveforms**\n\n  - [FMCW radar](https://radarsimx.com/2018/10/11/fmcw-radar/)\n  - [Pulsed Radar](https://radarsimx.com/2024/09/13/pulsed-radar/)\n  - [Doppler radar](https://radarsimx.com/2019/05/16/doppler-radar/)\n  - [PMCW radar](https://radarsimx.com/2019/05/24/pmcw-radar/)\n  - [Interferometric Radar](https://radarsimx.com/2023/08/31/interferometric-radar/)\n  - [Arbitrary waveform](https://radarsimx.com/2021/05/10/arbitrary-waveform/)\n\n- ### **MIMO \u0026 Multi-Channel Systems**\n\n  - [TDM MIMO FMCW radar](https://radarsimx.com/2019/04/07/tdm-mimo-fmcw-radar/)\n  - [Imaging radar](https://radarsimx.com/2022/12/02/imaging-radar/)\n  - [DoA estimation](https://radarsimx.com/2022/12/12/doa-estimation/)\n\n- ### **3D Scene Simulation \u0026 Ray Tracing**\n\n  - [FMCW radar with a car](https://radarsimx.com/2021/05/10/fmcw-radar-with-a-car/)\n  - [FMCW radar with a plate](https://radarsimx.com/2021/05/10/fmcw-radar-with-a-plate/)\n  - [FMCW radar with a corner reflector](https://radarsimx.com/2021/05/10/fmcw-radar-with-a-corner-reflector/)\n  - [Multi-path effect](https://radarsimx.com/2021/05/10/multi-path-effect/)\n  - [Micro-Doppler](https://radarsimx.com/2021/05/10/micro-doppler/)\n  - [Doppler of a turbine](https://radarsimx.com/2021/05/10/doppler-of-a-turbine/)\n\n- ### **Radar Cross Section (RCS) Analysis**\n\n  - [Cross-Polarization and Co-Polarization RCS](https://radarsimx.com/2024/04/19/cross-polarization-and-co-polarization-rcs/)\n  - [Car RCS](https://radarsimx.com/2021/05/10/car-rcs/)\n  - [Plate RCS](https://radarsimx.com/2021/05/10/plate-rcs/)\n  - [Corner reflector RCS](https://radarsimx.com/2021/05/10/corner-reflector-rcs/)\n\n- ### **Signal Processing \u0026 Detection**\n\n  - [CFAR](https://radarsimx.com/2021/01/10/cfar/)\n  - [CFAR with corner reflector](https://radarsimx.com/2021/05/10/fmcw-radar-with-a-corner-reflector/)\n\n- ### **System Performance \u0026 Characterization**\n\n  - [FMCW Radar Link Budget - Ideal Point Target](https://radarsimx.com/2024/10/11/fmcw-radar-link-budget-ideal-point-target/)\n  - [Phase noise](https://radarsimx.com/2021/01/13/phase-noise/)\n  - [Receiver operating characteristic (ROC)](https://radarsimx.com/2019/10/06/receiver-operating-characteristic/)\n  - [Interference](https://radarsimx.com/2023/01/13/interference/)\n\n- ### **LiDAR Simulation**\n\n  - [LIDAR point cloud](https://radarsimx.com/2020/02/05/lidar-point-cloud/)\n\n---\n\n## Build\n\nCheck [Build Instructions](./build_instructions.md)\n\n---\n\n## API Reference\n\nSee the [Documentation](https://radarsimx.github.io/radarsimpy/)\n\n---\n\n## Contributing\n\nContributions, issues, and feature requests are welcome! Please open an issue or submit a pull request on GitHub.\n\n---\n\n## License\n\nThis project is licensed under the terms of the [LICENSE](LICENSE) file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fradarsimx%2Fradarsimpy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fradarsimx%2Fradarsimpy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fradarsimx%2Fradarsimpy/lists"}