Skip to main content

Python SIGINT simulations and analysis tools

Project description

SIGINT

License: MIT basic-tests PyPI version Python Version

A collection of Python modules and tests serving as an introduction to SIGINT (signal intelligence) techniques.

Dependencies

pip install -r requirements.txt

Testing

python -m pytest

Basic Workflow

  • sigint_examples/basic_workflow.py: generate pulse train, add Gaussian noise, use autocorrelation to estimate PRI
python -m sigint_examples.basic_workflow --show-plots

Tests

python -m pytest tests/test_<specific-case>.py --show-plots
  • tests/test_amplitude_modulation.py: generate a sequence of amplitude-moduled pulses, use filtering and autocorrelation to estimate PRI (pulse repitition interval)
  • tests/test_chirped_pulses.py: simulates a noisy train of linear chirped pulses, applies a matched filter and autocorrelation to analyze it, and then estimates the PRI and pulse width from the matched filter output
  • tests/test_irregular_pulse_detection.py: simulates a noisy pulse train with random PRI jitter, applies matched filtering and autocorrelation, and then estimates the mean and variability of the PRI from the detected pulses
  • tests/test_gaussian_jittered.py: simulates a noisy pulse train with Gaussian PRI jitter, detects the pulses using matched filtering, and estimates the mean and standard deviation of the PRI (with outlier rejection) while visualizing the signal, matched filter output, and PRI statistics over time
  • tests/test_multi_emitter_noisy_jitter.py: simulates two noisy pulse trains with different PRIs and jitter, combines them, and uses autocorrelation with peak detection and harmonic rejection to estimate the fundamental PRIs of both emitters
  • tests/test_noisy_multi_emitter_jitter.py: simulates two overlapping pulse trains with different PRIs in noise and uses smoothed autocorrelation with peak detection and harmonic rejection to estimate their fundamental PRIs
  • tests/test_time_difference_of_arrival.py: simulates two noisy pulse trains received at different times and estimates the delay between them using cross-correlation
  • tests/test_two_pulse_trains.py: simulates two overlapping pulse trains with different PRIs and uses autocorrelation with harmonic rejection to estimate their fundamental repetition intervals

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

sigint_examples-0.1.2.tar.gz (14.9 kB view details)

Uploaded Source

Built Distribution

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

sigint_examples-0.1.2-py3-none-any.whl (12.6 kB view details)

Uploaded Python 3

File details

Details for the file sigint_examples-0.1.2.tar.gz.

File metadata

  • Download URL: sigint_examples-0.1.2.tar.gz
  • Upload date:
  • Size: 14.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for sigint_examples-0.1.2.tar.gz
Algorithm Hash digest
SHA256 680fa6de6393ef943a3953d0810e5908249f6712612155b651912f6e435d9f86
MD5 807bab0dd208a3e28979201f82d7d78f
BLAKE2b-256 0a6bfd8847df4d9d89caaff6af20ff3dc8fef3c2688f46c872f3a6e09bc5273c

See more details on using hashes here.

File details

Details for the file sigint_examples-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for sigint_examples-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f664ff8740785ddf2377186a6432781c009d6bf4d334145312702f23d233c519
MD5 a096b786813d9b1511be0004dc0e5670
BLAKE2b-256 c4ea35fc8b2d50b4bc71321933c3ffe9ddf11d076f3ed91d315f1308073b2df9

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