Skip to main content

A module for general radar signal processing library

Project description

rad-lab

CI Docs

A Python radar module for simulating pulse-Doppler returns, generating range-Doppler maps (RDMs), and forming synthetic aperture radar (SAR) images. Designed for radar engineers and students who want to build intuition for how RDMs and SAR images are formed, how waveforms affect resolution, and how DRFM electronic attack techniques appear in the RDMs.

Installation

Install from PyPI (library only)

pip install rad-lab

Clone for the full example apps

git clone https://github.com/JohnNehls/rad-lab
pip install -e ./rad-lab

A few exercises use LaTeX for plot labels — LaTeX must be installed for those to run.

Usage

from rad_lab import rdm, Radar, Target, Return, barker_coded_waveform

radar = Radar(
    fcar=10e9,
    tx_power=1e3,
    tx_gain=10 ** (30 / 10),
    rx_gain=10 ** (30 / 10),
    op_temp=290,
    sample_rate=20e6,
    noise_factor=10 ** (8 / 10),
    total_losses=10 ** (8 / 10),
    prf=200e3,
    dwell_time=2e-3,
)

waveform = barker_coded_waveform(10e6, nchips=13)

return_list = [Return(target=Target(range=0.5e3, range_rate=1.0e3, rcs=1))]

rdm.gen(radar, waveform, return_list)

Other available waveforms: uncoded_waveform, random_coded_waveform, lfm_waveform. For additional RDM examples see apps/rdms and apps/exercises, or the API docs.

SAR Image Generation

rad-lab also supports stripmap and spotlight SAR image formation from point-target scenes:

For SAR examples see apps/sar.

Contributing

Contributions are welcome. Please fork the repository and submit a pull request.

To run the test suite:

python -m pytest tests/ -v
./apps/run_apps.sh   # runs all apps with a headless backend

License

This project is licensed under the GPL-3.0 License - see LICENSE for details.

Project details


Download files

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

Source Distribution

rad_lab-0.0.4.tar.gz (346.0 kB view details)

Uploaded Source

Built Distribution

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

rad_lab-0.0.4-py3-none-any.whl (62.6 kB view details)

Uploaded Python 3

File details

Details for the file rad_lab-0.0.4.tar.gz.

File metadata

  • Download URL: rad_lab-0.0.4.tar.gz
  • Upload date:
  • Size: 346.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for rad_lab-0.0.4.tar.gz
Algorithm Hash digest
SHA256 62b9108dffe2e3e2659bdfa283fa229699ab4699d3acdf471ab32b64cb7da0ba
MD5 878f7fbc3a571af0f10fa90cbe18fcf4
BLAKE2b-256 50f2c4105ea4afa8d4155016ad9ddc3dbf35840d542b0242f961b77a86bd4978

See more details on using hashes here.

Provenance

The following attestation bundles were made for rad_lab-0.0.4.tar.gz:

Publisher: publish.yml on JohnNehls/rad-lab

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

File details

Details for the file rad_lab-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: rad_lab-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 62.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for rad_lab-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 6f1db220389b05009681d09cccced530739e01e1ae48199a54ffe75a935893c2
MD5 8bc0f1e78ba1ed6e0d3798eb49c97633
BLAKE2b-256 62496ee96827ae230709461ff7cde2b4e503a14b5284ffa9c40c36a7dba924cc

See more details on using hashes here.

Provenance

The following attestation bundles were made for rad_lab-0.0.4-py3-none-any.whl:

Publisher: publish.yml on JohnNehls/rad-lab

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