/OpenRadar

An open source library for interacting with and processing radar data, specialized for MIMO mmWave radars

Primary LanguageJupyter NotebookApache License 2.0Apache-2.0

PreSense mmWave Package

Version Documentation

This is PreSense team's implementation of TI mmwave radar DSP stack and some demos. We are grateful for TI, TI's e2e forum and other people's help to make this happen. Please star us if you like this repository and please consider citing this repo if you used it in your research.

The toolbox is modularized into separate steps

  1. Reading raw ADC data.
  2. Preprocessing data in DSP stack.
  3. Utilizing preprocessed data for tracking, clustering and machine learning.
  4. Different demo implementations from TI and our own explorations.

Documentation

Contact

Directory Structure

.
├── data                    # Small size sample data.
├── demo                    # Python implementations of TI demos.
├── docs                    # Documentation for mmwave pacakge and hardware setup.
├── mmwave                  # mmwave package including all the DSP, tracking, etc algorithms.
├── PreSense Applied radar  # Jupyter notebook series explaining how apply radar concepts to real data
├── scripts                 # Various setup scripts for mmwavestudio, etc
├── .gitignore
├── LICENSE
├── README.md
├── requirements.txt        # Required dependencies to run this package.
└── setup.py                # Install mmwave package.

Current Roadmap for this package

  • Code refactoring for better API support.
  • More tutorials to help people get started on FMCW radar.
  • More AoA methods support.
  • More noise removal algorithms.

Future Plan

  1. Hardware Abstraction Layer, e.g. hardware-agnostic data reading or processing.
  2. ML on radar (classification, detection, tracking, etc).

Installation

Pip installation

pip install openradar

Debug Mode

git clone https://github.com/presenseradar/openradar
cd openradar
pip install -r requirements.txt
python setup.py develop

Uninstallation

pip uninstall openradar

Example Import and Usage

import mmwave as mm
from mmwave.dataloader import DCA1000

dca = DCA1000()
adc_data = dca.read()
radar_cube = mm.dsp.range_processing(adc_data)

Citation

Please cite OpenRadar in your publications if it helps your research. Here is an example BibTeX entry:

@misc{openradar2019,
  author = {Pan, Edwin and Tang, Jingning and Kosaka, Dash and Yao, Ruihao and Gupta, Arjun},
  title = {OpenRadar},
  year = {2019},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/presenseradar/openradar}}
}

Acknowledgement

The PreSense team wants to thank Prof. Sanjay Patel, without whom this project wouldn't be possible. We are also grateful for the generous sponsorship from The IBM-ILLINOIS Center for Cognitive Computing Systems Research (C3SR) and the guidance/leadership from Jinjun Xiong of IBM and Prof. Wen-Mei Hwu. Special thanks to Prof. Haitham Hassanieh and Prof. Minh M. Do for the techical advice and Texas Instruments™ for the hardware support.