tomfisher / radar-notebooks

Jupyter notebooks for radar simulation based on RadarSimPy

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Notebooks for Radar Simulation

Jupyter notebooks for radar systems simulation based on RadarSimPy & RadarSimC.

  • RadarSimPy is a radar simulation package built with python (Source code)
  • RadarSimC is the C++/CUDA backend of RadarSimPy (Not open source yet)

Please fill out this form to request the module

Key Features

  • Radar Modeling

    • Radar transceiver modeling
    • Arbitrary waveform
    • Phase noise
    • Phase/Amplitude modulation
    • Fast-time/Slow-time modulation
  • Simulation

    • Simulation of radar baseband data from point targets
    • Simulation of radar baseband data from 3D modeled objects/environment (#raytracing)
    • Simulation of target's RCS (#raytracing)
    • Simulation of LiDAR point cloud from 3D modeled objects/environment (#raytracing)
  • Signal Processing

    • Range/Doppler processing
    • 1D/2D cell-averaging CFAR (CA-CFAR)
    • 1D/2D ordered-statistic CFAR (OS-CFAR)
  • Characterization

    • Radar detection characteristics based on Swerling's models

Dependence

Installation

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
      • ...

Acceleration

This module supports CPU/GPU parallelization. CPU parallelization is implemented through OpenMP. GPU parallelization (CUDA) has been added since v6.0.0.

CPU GPU (CUDA)
Windows
Linux
macOS

performance

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 Examples

The source files of these Jupyter notebooks are available here.

API Reference

About

Jupyter notebooks for radar simulation based on RadarSimPy


Languages

Language:HTML 66.6%Language:Jupyter Notebook 33.4%Language:Shell 0.0%Language:Batchfile 0.0%