GithubHelp home page GithubHelp logo

stparuchuri / radarsimpy Goto Github PK

View Code? Open in Web Editor NEW

This project forked from radarsimx/radarsimpy

0.0 0.0 0.0 93.56 MB

Radar Simulator built with Python and C++

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

License: GNU General Public License v3.0

Shell 1.82% Python 76.32% MATLAB 2.20% Makefile 0.14% Batchfile 1.22% Cython 18.29%

radarsimpy's Introduction

Windows Test Linux Test MacOS Test

Documentations Download

RadarSimPy

logo

A Radar Simulator for Python

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

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 interference
    • 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
    • Direction of arrival (DoA) estimation
      • MUltiple SIgnal Classification (MUSIC) DoA estimations for a uniform linear array (ULA)
      • Root-MUSIC DoA estimation for a ULA
      • Estimation of Signal Parameters via Rational Invariance Techniques (ESPRIT) DoA estimation for a ULA
      • Iterative Adaptive Approach (IAA) for amplitude and phase estimation
    • Beamformer
      • Capon beamformer
      • Bartlett beamformer
    • Constant false alarm rate (CFAR)
      • 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

Download the pre-built module, and put the radarsimpy folder within your project folder as shown below:


  • Windows

    • your_project.py
    • your_project.ipynb
    • radarsimpy
      • __init__.py
      • radarsimcpp.dll
      • simulator.xxx.pyd
      • rt.xxx.pyd
      • radar.py
      • processing.py
      • ...

  • Linux

    • your_project.py
    • your_project.ipynb
    • radarsimpy
      • __init__.py
      • libradarsimcpp.so
      • simulator.xxx.so
      • rt.xxx.so
      • radar.py
      • processing.py
      • ...

  • MacOS

    • your_project.py
    • your_project.ipynb
    • radarsimpy
      • __init__.py
      • libradarsimcpp.dylib
      • simulator.xxx.so
      • rt.xxx.so
      • radar.py
      • processing.py
      • ...

Acceleration

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

    CPU (x86_64) CPU (ARM64) GPU (CUDA)
Windows ✔️   ❌️   ✔️        
Linux ✔️   ❌️   ✔️        
MacOS ✔️ ❌️   ❌️        

performance

Coordinate Systems

  • Scene Coordinate

    • axis (m): [x, y, z]
    • phi (deg): angle on the x-y plane. 0 deg is the positive x-axis, 90 deg is the positive y-axis
    • theta (deg): angle on the z-x plane. 0 deg is the positive z-axis, 90 deg is the x-y plane
    • 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 the z-axis. Positive yaw rotates the object from the positive x-axis to the positive y-axis
    • pitch (deg): rotation along the y-axis. Positive pitch rotates the object from the positive x-axis to the positive z-axis
    • roll (deg): rotation along the x-axis. Positive roll rotates the object from the positive z-axis to the negative y-axis
    • origin (m): [x, y, z]
    • rotation (deg): [yaw, pitch, roll]
    • rotation rate (deg/s): [yaw rate, pitch rate, roll rate]

Usage Examples

The source files of these Jupyter notebooks are available here.

Build

Building radarsimpy requires to access the source code of radarsimcpp. If you don't have access to radarsimcpp, please use the pre-built module.

  • Windows CPU
build_win.bat
  • Windows CUDA
build_win_cuda.bat
  • Linux CPU
./build_linux.sh
  • Linux CUDA
./build_linux_cuda.sh

API Reference

Please check the Documentation

radarsimpy's People

Contributors

rookiepeng avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.