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.1.tar.gz (14.8 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.1-py3-none-any.whl (12.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sigint_examples-0.1.1.tar.gz
  • Upload date:
  • Size: 14.8 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.1.tar.gz
Algorithm Hash digest
SHA256 6a087c0b45d76e8030ee9dd07e3cbbf8a15ecb825c70201b2f7ed8d661bdec04
MD5 66839347d45521767673f2a180a58ac8
BLAKE2b-256 f3d26b5866d64ed10023d09fd746c754047173324153fb520e251a286618cc71

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sigint_examples-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5eac2b860839791e7fbaf0670b7ba5a99f9b453adc92f1590a4e5b291c8e85d7
MD5 4fd7f34d85c0f05c5469a82f86efa485
BLAKE2b-256 851a8f0f2da242da51f128906b688a24da08530c9acf01805cd6c155d155ebd9

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