gispda / radarsimpy

Radar Simulator built with Python and C++

Home Page:https://rookiepeng.github.io/radarsimpy/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build Status

RadarSimPy

logo

A Radar Simulator for Python

This module needs to be built/used together with RadarSimC (the C++ engine for radar simulator)

Key Features

  1. Radar: Classes to define a radar system
    • radarsimpy.Transmitter: Radar transmitter
    • radarsimpy.Receiver: Radar receiver
    • radarsimpy.Radar: Radar system
  2. Simulator: Radar baseband signal simulator
    • radarsimpy.simulator.simpy: Simulates and generates raw time domain baseband data (Python engine)
    • radarsimpy.simulator.simc: Simulates and generates raw time domain baseband data (C++ engine)
  3. Raytracing: Raytracing module for radar scene simulation
    • radarsimpy.rt.lidar_scene: Simulates LiDAR's point cloud based on a 3D environment model with ray tracing
    • radarsimpy.rt.rcs_sbr: Simulates target's radar cross section (RCS) based on the 3D model with ray tracing
    • radarsimpy.rt.scene: Simulates radar's response signal in a 3D environment model with ray tracing
  4. Processing: Basic radar signal processing module
  5. Tools: Receiver operating characteristic analysis

This module supports CPU/GPU parallelization. CPU parallelization is implemented through OpenMP. GPU parallelization (CUDA) has been added since v6.0.0, and it is still working in progress.

Dependence

Installation

Contact me if you are interested in this module.

To use the module, please put the radarsimpy folder within your project folder as shown below.

Windows

  • your_project.py
  • your_project.ipynb
  • radarsimpy
    • __init__.py
    • radarsimc.dll
    • scene.xxx.pyd
    • ...

Linux

  • your_project.py
  • your_project.ipynb
  • radarsimpy
    • __init__.py
    • libradarsimc.so
    • scene.xxx.so
    • ...

Coordinate Systems

Scene Coordinate

  • axis (m): [x, y, z]
  • phi (deg): angle on x-y plane. Positive x-axis is 0 deg, positive y-axis is 90 deg
  • theta (deg): angle on z-x plane. Positive z-axis is 0 deg, x-y plane is 90 deg
  • azimuth (deg): azimuth -90 ~ 90 deg equal to phi -90 ~ 90 deg
  • elevation (deg): elevation -90 ~ 90 deg equal to theta 180 ~ 0 deg

Object's Local Coordinate

  • axis (m): [x, y, z]
  • yaw (deg): rotation along z-axis. Positive yaw rotates object from positive x-axis to positive y-axis
  • pitch (deg): rotation along y-axis. Positive pitch rotates object from positive x-axis to positive z-axis
  • roll (deg): rotation along x-axis. Positive roll rotates object from positive z-axis to negative y-axis
  • origin (m): [x, y, z]
  • rotation (deg): [yaw, pitch, roll]
  • rotation (deg/s): rate [yaw rate, pitch rate, roll rate]

Usage

About

Radar Simulator built with Python and C++

https://rookiepeng.github.io/radarsimpy/

License:MIT License


Languages

Language:Python 58.8%Language:Cython 41.2%