Skip to main content

minimal raytracing code example for MIMO FMCW radar

Project description

mmWrt

minimal raytracing for MIMO FMCW radar systems.

Intended usage:

  1. educational

Release Notes and Roadmap

Released

v0.0.3: first release

* point targets only
* 1D compute of baseband if signal for scene
* 1D FFT, CFAR, peak grouping and target position error compute
* single reflections

v0.0.4:

* adding frequency estimator
* added speed processing
* added support for radar equation (RCS, distance, ...)
* antenna gains in azimumth, elevation and freq

v0.0.5:

* moved dependancies from requirements to setup.py
* added extras [dev] for developpers (and documentation and read the docs)
* moved version checking from setup.py to test_basic.py
* added readthedocs.yaml

v0.0.6:

* added micro-doppler
* added non-regression on .ipynb in docs/ folder

NEXT ()

* 2D (AoA)
* 2D FFT: range+velocity, range+AoA
* 2D peak grouping (by velocity sign)
* 3D position error compute
* 3D targets (at least spheres)
* medium attenuation
* 3D point clouds (i.e. over multiple CTI)
* multiple single reflections

Not planned yet but considered:

  • reads and loads .bin
    • record BB signals in .bin
    • 3D targets and scene rendering with imaging side by side radar
    • Swerling's scattering

Example Code

Check on Google Colab the code:

Open In Colab

Or Read the Docs on Read the docs

Release process

  1. run pyroma (should be 10/10)

pyroma .

  1. run flake8 runs with darglint settings for docstrings to numpy standard set in the .flake8 file should yield 0 warnings or errors

flake8

  1. run pytest should yield 100% pass

pytest

  1. run coverage

coverage run -m pytest

  1. run coverage report (should be 100%)

coverage report

  1. run tox

7.run sphinx-api updates the *.rst in docs/ folder

sphinx-apidoc -f -o docs mmWrt

  1. run sphinx-build (updates the read_the_docs folder)

sphinx-build -b html docs build/html

  1. release to pypi-test

python setup.py bdist_wheel

twine upload -r testpypi dist*

  1. check updates on read_the_docs

push to git to trigger readthedocs build: git push navigate to https://readthedocs.org/projects/mmwrt/builds/ ensure build is successful

  1. check on Google Colab (Google Colab requires py3.8 as off 2023-Jan-15)

11.a. if testing release-candidate need to spell out or will install latest stable version

!python -m pip install -i https://test.pypi.org/simple/ mmWrt==0.0.5rc3
from mmWrt import __version__
print(__version__)

11.b seems extras cannot be imported from versions, so pip install mmWrt=0.0.5rc3[dev] or pip install mmWrt==0.0.5[dev] does not work. Need to upgrade to full version to test dev.

!python -m pip install -i https://test.pypi.org/simple/ mmWrt[dev]
from mmWrt import __version__
print(__version__)
  1. release on pypi

twine upload -r pypi dist*

  1. check on colab that pypi package works:

!python -m pip install mmWrt from mmWrt import version print(version)

13.b. then check dev extras install works

!python -m pip install mmWrt[dev]

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

mmWrt-0.0.6rc1-py3-none-any.whl (17.9 kB view details)

Uploaded Python 3

File details

Details for the file mmWrt-0.0.6rc1-py3-none-any.whl.

File metadata

  • Download URL: mmWrt-0.0.6rc1-py3-none-any.whl
  • Upload date:
  • Size: 17.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.1

File hashes

Hashes for mmWrt-0.0.6rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 26d6adfcf850f2c44854c62adeb9ba00381a63380c923ecd3a2ec87a06cafdac
MD5 40773b931e2315be7bbd5c6919d4a75b
BLAKE2b-256 9d92dc316bcdc9c0d066456bcef590e95e1bec3fc7c0a1ca88b205a813b9992b

See more details on using hashes here.

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