Skip to main content

PyModulation library

Project description

PyModulation

Overview

PyModulation is a Python library that implements a collection of digital modulation and demodulation techniques with a strong focus on Software-Defined Radio (SDR) applications. The library is designed to provide a simple, consistent, and extensible interface for working with different modulation schemes, enabling rapid development, testing, and prototyping of wireless communication systems.

The main objective of PyModulation is to allow the direct use of supported modulation techniques with SDR hardware, while remaining flexible enough to be used in simulations, offline signal processing, and educational contexts. By abstracting common modulation tasks, the library helps users focus on system design and experimentation rather than low-level signal handling.

PyModulation is suitable for a wide range of applications, including SDR-based transmitters and receivers, communication protocol prototyping, academic research, and teaching digital communications concepts. Its modular architecture makes it easy to extend with new modulation schemes and integrate with existing Python-based SDR and signal-processing toolchains.

The following modulations are currently supported:

  • GFSK/GMSK
  • BPSK

Dependencies

Installing

This library can be installed directly from the source files:

  • python setup.py install

Documentation

The documentation page is available here. Instructions to build the documentation page are described below.

Contributing instructions are also available here.

Dependencies

Building the Documentation

The documentation pages can be built with Sphinx by running the following command inside the docs folder:

  • make html

Citing

If you use PyModulation in your academic work or project, you can cite it:

@misc{marcelino2026,
    author       = {Marcelino, Gabriel Mariano},
    title        = {PyModulation},
    month        = jan,
    year         = 2026,
    publisher    = {Zenodo},
    version      = {v0.1},
    doi          = {10.5281/zenodo.18202698},
    url          = {https://doi.org/10.5281/zenodo.18202698},
}

License

This project is licensed under LGPLv3 license.

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

pymodulation-0.2.0.tar.gz (16.0 kB view details)

Uploaded Source

File details

Details for the file pymodulation-0.2.0.tar.gz.

File metadata

  • Download URL: pymodulation-0.2.0.tar.gz
  • Upload date:
  • Size: 16.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for pymodulation-0.2.0.tar.gz
Algorithm Hash digest
SHA256 6d332ae82ee0db8c50068556c136b472e4070265119b37c9a55d3f0dd527b5c5
MD5 1ef9eb4315404029993f89c2ba1ed49d
BLAKE2b-256 6ed711bd0a1271b56bf516f5c52441d2b55be72bb14c245c3f21d3abacf3fd6d

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