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
- ASK/OOK
- QPSK
- LoRa
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 and Augusto Porto Freitas, Carlos},
title = {PyModulation},
month = jun,
year = 2026,
howpublished = {Zenodo},
doi = {10.5281/zenodo.18202697},
url = {https://doi.org/10.5281/zenodo.18202697},
}
License
This project is licensed under LGPLv3 license.
Metadata
Release files for pymodulation 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pymodulation-0.3.0.tar.gz | 33.4 kB | Details |
Release files / pymodulation-0.3.0.tar.gz
| Download URL | pymodulation-0.3.0.tar.gz |
|---|---|
| Size | 33.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b5634254ef4ad92370f9b8b18e7f77c70369b79f2f5a4fefa332452f20c01820
|
|
BLAKE2b-256 checksum How to use checksums |
f429fb489661ece85defa7a59659565b702cd1a030b54abe85d7cd5aeefc86c6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.8
|