Skip to main content

mmwcore

Typed mmWave radar acquisition and signal-processing primitives implemented in Rust, with a Python API for research workflows.

mmwcore owns the physical data path from raw ADC samples to detections, calibrated point clouds, tracking inputs, and vital-sign phase. Application models and experiment orchestration belong in downstream projects.

Install

Python 3.12:

pip install mmwcore

Rust 1.85 or newer:

cargo add mmwcore

Python

import numpy as np

from mmwcore.core import ADCFrameSpec, RawADCFrame
from mmwcore.dsp import organize_adc_samples

raw = RawADCFrame(np.zeros(4 * 128 * 2, dtype=np.int16))
cube = organize_adc_samples(
    raw,
    ADCFrameSpec(num_chirps=2, num_rx=4, num_samples=128),
)
print(cube.data.shape)

The mmwcore command exposes inspection and preprocessing operations:

mmwcore --help

Scope

  • DCA1000 packet/file ingestion
  • explicit ADC, FFT, calibration, antenna, detection, point-cloud, and tracking contracts
  • range, Doppler, angle, CFAR, clutter suppression, calibration, TDM compensation, and deterministic Cartesian sparsification
  • DBSCAN and stateful 2D tracking
  • radar/camera capture-session synchronization contracts
  • Rust kernels exposed through PyO3; plotting remains in Python

The project is alpha. Physical conventions are explicit and tested, but hardware coverage and public validation vectors are still being expanded.

OpenRadar relationship

mmwcore is designed as a typed, performance-oriented, dual-language successor to OpenRadar rather than a source fork. It already covers the main raw-ADC-to-point-cloud path and adds calibrated TDM processing, tracking, session contracts, and Rust distribution. Capon/Bartlett parity, broader public device fixtures, and identical-input benchmarks remain release gates before claiming a strict superset or a measured performance advantage. See the comparison.

Development

uv sync --extra dev
uv run pytest --cov=mmwcore
cargo test --workspace --locked

See CONTRIBUTING.md and the architecture.

License

Apache-2.0.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mmwcore-0.2.2.tar.gz (165.3 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

mmwcore-0.2.2-cp312-cp312-win_amd64.whl (891.3 kB view details)

Uploaded CPython 3.12Windows x86-64

mmwcore-0.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

mmwcore-0.2.2-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (1.6 MB view details)

Uploaded CPython 3.12macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

File details

Details for the file mmwcore-0.2.2.tar.gz.

File metadata

  • Download URL: mmwcore-0.2.2.tar.gz
  • Upload date:
  • Size: 165.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for mmwcore-0.2.2.tar.gz
Algorithm Hash digest
SHA256 f907928b2fd72c0e3a57117d8d6d9c436d2a70da580dfb9c58adb50fddd814ee
MD5 59f5d2d163b5a926a7a387fad3804222
BLAKE2b-256 401a2c114aacc460322ec8830011a6302c7e4fe1b763645e1860c73f46e4c4d6

See more details on using hashes here.

Provenance

The following attestation bundles were made for mmwcore-0.2.2.tar.gz:

Publisher: release.yml on AIoT-Laboratory/mmwcore

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mmwcore-0.2.2-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: mmwcore-0.2.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 891.3 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for mmwcore-0.2.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 35f529eaf0fec52a7ddbbe331f3c6d617790ba10af6b4a44834ab793dcfe7ecb
MD5 d652403a10ae4a789a6a797198d15ff7
BLAKE2b-256 82dca3cd266b8800e26b9e6479308e6a8916c808d8177cad5d9c7d58b447e62f

See more details on using hashes here.

Provenance

The following attestation bundles were made for mmwcore-0.2.2-cp312-cp312-win_amd64.whl:

Publisher: release.yml on AIoT-Laboratory/mmwcore

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mmwcore-0.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mmwcore-0.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6250dc9dba27d6d9fa37dfa9c20edc1e13a4267eab25cfb0b01b88bd251f651a
MD5 71f4c4579119f1eeff7f8f6dca5e504c
BLAKE2b-256 d18c64e89319945c2a56855524e8ea9a2f7c5949b1e8795d6c78180dcbd32133

See more details on using hashes here.

Provenance

The following attestation bundles were made for mmwcore-0.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on AIoT-Laboratory/mmwcore

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mmwcore-0.2.2-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for mmwcore-0.2.2-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 7a62410fa0ef8ee1b705f4cd7f02b5606c45e660d7fdd61f0b236f55507a0948
MD5 34c64f919f405b191aac15e771979e4a
BLAKE2b-256 340f96e6178f9e9966abc5b64849a4649e3a58b4a368410c99a0e6bfcebb8e73

See more details on using hashes here.

Provenance

The following attestation bundles were made for mmwcore-0.2.2-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:

Publisher: release.yml on AIoT-Laboratory/mmwcore

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page