mmwave-capture-std

mmwave-capture-std is a fast, reliable, and replicable Texas Instruments millimeter-wave capture toolkit.

https://github.com/mmwave-capture-std/mmwave-capture-std

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.8%) to scientific vocabulary

Keywords

mmwave radar
Last synced: 6 months ago · JSON representation ·

Repository

mmwave-capture-std is a fast, reliable, and replicable Texas Instruments millimeter-wave capture toolkit.

Basic Info
Statistics
  • Stars: 12
  • Watchers: 0
  • Forks: 3
  • Open Issues: 4
  • Releases: 0
Topics
mmwave radar
Created over 2 years ago · Last pushed 11 months ago
Metadata Files
Readme License Citation

README.md

Millimeter-wave Capture Standard (mmwave-capture-std)

Documentation Status pre-commit License: BSD 3-Clause-Clear

mmwave-capture-std is a fast, reliable, and replicable Texas Instruments millimeter-wave capture toolkit, focus on data capturing and raw data parsing.

It stands out with three key attributes:

  1. Fast: It parses raw data into np.ndarray[np.complex64] 2.09 times faster than state-of-the-art packages (0.59s v.s. 1.239s).

  2. Reliable: It makes users easily identify and debug hardware issues, and provides fine-grained control over different hardware. It achieves this by comprehensive logging (stderr & file) and by separating the hardware setup from the data capture code.

  3. Replicable: It simplifies the process of replicating the recording setup by using a toml config file to manage capture hardware, layout the dataset as HDF5-like structure, and provide sensor config files to each capture result.

Capture Millimeter-wave Raw Data is Easy

Here is an example of using mmwave-capture-std to capture mmwave data from IWR1483BOOST and DCA1000EVM:

bash $ uv run mmwavecapture-std examples/capture_iwr1843.toml 2023-06-02 :43.91 | INFO | ...:...:225 - Capture ID: 0 2023-06-02 :43.91 | INFO | ...:init_hw:230 - Initializing capture hardware `iwr1843`.. 2023-06-02 :49.32 | SUCCESS | ...:init_hw:245 - Capture hardware `iwr1843` initialized 2023-06-02 :49.32 | SUCCESS | ...:init_hw:247 - Total of 1 capture hardware initialized 2023-06-02 :49.32 | INFO | ...:capture:258 - Adding capture hardware `iwr1843` 2023-06-02 :49.32 | INFO | ...:capture:121 - Preparing capture hardware 2023-06-02 :49.32 | INFO | ...:capture:125 - Starting capture hardware 2023-06-02 :49.42 | SUCCESS | ...:capture:128 - Capture started 2023-06-02 :52.49 | INFO | ...:capture:132 - Capture finished 2023-06-02 :52.49 | INFO | ...:capture:134 - Dumping capture hardware configurations 2023-06-02 :52.49 | SUCCESS | ...:capture:270 - Capture finished, all files ...

Nice and easy! Your capture result will be stored like this with HDF5-like structure:

bash ☁ mmwave-capture-std [main] tree example_dataset example_dataset └── capture_00000 ├── capture.log ├── config.toml └── iwr1843 ├── dca.json ├── dca.pcap └── radar.cfg

You probably will need to modify the configuration to reflect your capture hardware setup. Change the following setting in example/capture_iwr1843.toml to your setup: (assume you did not change any setting on DCA1000EVM EEPROM)

toml [hardware.iwr1843] dca_eth_interface = "enp5s0" radar_config_port = "/dev/ttyACM0" radar_data_port = "/dev/ttyACM1" capture_frames = 10

Where to start?

First, setup your environment (hardware, software, and network): Setup.

Then, read our quickstart to get familiar with how mmwave-capture-std works: Quickstart.

See the full documentation: mmwave-capture-std Documentation for more information.

Links

Contribute

Use the following snippet to setup your development environment:

bash git clone <repo-url> cd mmwave-capture-std uv sync # Prepare env and install deps uv run pre-commit install # Install pre-commit hooks

Related Publications

  • mmCounter: Static People Counting in Dense Indoor Scenarios using mmWave Radar

    • Tarik Reza Toha, Shao-Jung (Louie) Lu, and Shahriar Nirjon
    • The 22nd International Conference on Embedded Wireless Systems and Networks (EWSN '25)
  • mmDefender: A mmWave System for On-Body Localization of Concealed Threats in Moving Persons

    • Shao-Jung (Louie) Lu, Mahathir Monjur, Sirajum Munir, and Shahriar Nirjon
    • The 22nd International Conference on Embedded Wireless Systems and Networks (EWSN '25)

LICENSE

```text The Clear BSD License

Copyright (c) 2023 Louie Lu louielu@cs.unc.edu All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted (subject to the limitations in the disclaimer below) provided that the following conditions are met:

 * Redistributions of source code must retain the above copyright notice,
 this list of conditions and the following disclaimer.

 * Redistributions in binary form must reproduce the above copyright
 notice, this list of conditions and the following disclaimer in the
 documentation and/or other materials provided with the distribution.

 * Neither the name of the copyright holder nor the names of its
 contributors may be used to endorse or promote products derived from this
 software without specific prior written permission.

NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ```

Owner

  • Name: mmwave-capture-std
  • Login: mmwave-capture-std
  • Kind: organization

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: Millimeter-wave Capture Standard (mmwave-capture-std)
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Shao-Jung (Louie)
    family-names: Lu
    email: louielu@cs.unc.edu
repository-code: 'https://github.com/mmwave-capture-std/mmwave-capture-std'
url: 'https://www.cs.unc.edu/~louielu/p/mmwave-capture-std/'
abstract: >-
  mmwave-capture-std is a fast, reliable, and replicable
  Texas Instruments millimeter-wave capture toolkit.
license: BSD-3-Clause-Clear

GitHub Events

Total
  • Watch event: 10
  • Push event: 8
  • Pull request review comment event: 2
  • Pull request event: 1
  • Pull request review event: 4
  • Fork event: 4
  • Create event: 2
Last Year
  • Watch event: 10
  • Push event: 8
  • Pull request review comment event: 2
  • Pull request event: 1
  • Pull request review event: 4
  • Fork event: 4
  • Create event: 2

Committers

Last synced: about 2 years ago

All Time
  • Total Commits: 69
  • Total Committers: 1
  • Avg Commits per committer: 69.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 69
  • Committers: 1
  • Avg Commits per committer: 69.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Louie Lu g****t@l****u 69
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: about 2 years ago

All Time
  • Total issues: 3
  • Total pull requests: 19
  • Average time to close issues: N/A
  • Average time to close pull requests: 4 minutes
  • Total issue authors: 1
  • Total pull request authors: 1
  • Average comments per issue: 0.33
  • Average comments per pull request: 0.05
  • Merged pull requests: 19
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 3
  • Pull requests: 19
  • Average time to close issues: N/A
  • Average time to close pull requests: 4 minutes
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 0.33
  • Average comments per pull request: 0.05
  • Merged pull requests: 19
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • mlouielu (2)
Pull Request Authors
  • mlouielu (18)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

docs/requirements.txt pypi
  • furo ==2023.5.20
poetry.lock pypi
  • alabaster 0.7.13
  • babel 2.12.1
  • beautifulsoup4 4.12.2
  • certifi 2023.5.7
  • cffi 1.15.1
  • cfgv 3.3.1
  • charset-normalizer 3.1.0
  • click 8.1.3
  • colorama 0.4.6
  • disspcap 1.1.1
  • distlib 0.3.6
  • docutils 0.20.1
  • exceptiongroup 1.1.1
  • filelock 3.12.2
  • furo 2023.5.20
  • identify 2.5.24
  • idna 3.4
  • imagesize 1.4.1
  • importlib-metadata 6.6.0
  • iniconfig 2.0.0
  • jinja2 3.1.2
  • livereload 2.6.3
  • loguru 0.7.0
  • markupsafe 2.1.3
  • netifaces 0.11.0
  • nodeenv 1.8.0
  • numpy 1.24.3
  • opencv-python 4.7.0.72
  • packaging 23.1
  • platformdirs 3.5.3
  • pluggy 1.0.0
  • pre-commit 3.3.2
  • pybind11 2.10.4
  • pycparser 2.21
  • pygments 2.15.1
  • pyrealsense2 2.54.1.5217
  • pyserial 3.5
  • pytest 7.3.2
  • pytz 2023.3
  • pyyaml 6.0
  • requests 2.31.0
  • setuptools 67.8.0
  • six 1.16.0
  • snowballstemmer 2.2.0
  • soupsieve 2.4.1
  • sphinx 7.0.1
  • sphinx-autobuild 2021.3.14
  • sphinx-basic-ng 1.0.0b1
  • sphinxcontrib-applehelp 1.0.4
  • sphinxcontrib-devhelp 1.0.2
  • sphinxcontrib-htmlhelp 2.0.1
  • sphinxcontrib-jsmath 1.0.1
  • sphinxcontrib-qthelp 1.0.3
  • sphinxcontrib-serializinghtml 1.1.5
  • toml 0.10.2
  • tomli 2.0.1
  • tornado 6.3.2
  • urllib3 2.0.3
  • virtualenv 20.23.0
  • win32-setctime 1.1.0
  • zipp 3.15.0
  • zstandard 0.21.0