ORBCOMM satellites downlink signal demodulator
Project description
Orbcomm_Demodulator 
Orbcomm_Demodulator is a Python-based toolkit for demodulating ORBCOMM satellite downlink signals.
This project was originally developed to process raw voltage data captured by the 21CMA (21 Centimeter Array) radio telescope, and aims to provide a complete, standardized processing pipeline from raw samples to decoded ORBCOMM data packets.
Core Pipeline Features
The demodulation chain includes:
- Digital Down Conversion (DDC) for raw high-rate samples.
- Symbol Timing Recovery using Gardner TED and Farrow interpolator.
- Carrier Phase Recovery via a 2nd-order Costas Loop.
- Differential Decoding and Frame Synchronization.
- Fletcher-16 Checksum with 1-bit Error Correction (ECC).
Installation
You can install the package directly from GitHub using:
pip install git+https://github.com/JinYi1108/Orbcomm_Demodulator.git
For development and debugging, an editable installation is recommended:
git clone https://github.com/JinYi1108/Orbcomm_Demodulator.git
cd Orbcomm_Demodulator
pip install -e .
Examples and Test Data
Example scripts are provided in the examples/ directory. Due to storage limits, large raw datasets are hosted on Zenodo.
1. Raw Voltage Data (21CMA)
- File:
20250415-1940-0.dat(approx. 8 GB) - Source: Raw voltage data recorded by the 21CMA radio telescope.
- Download: Available on Zenodo (DOI: 10.5281/zenodo.18213739)
2. DDC Processed IQ Data (21CMA)
- File:
raw_data/iq_data_0.dat - Description: This is the IQ data generated from the raw 21CMA
.datfile after Digital Down Conversion (DDC). It is provided for quick testing of the backend stages (STR, Costas, etc.).
3. Test Data (from ORBCOMM-receiver)
- File:
raw_data/1552071892p6.dat - Description: Derived from the original
1552071892p6.matfrom Frank Bieberly's project. It has been downsampled and filtered to a baseband IQ format.
Acknowledgements
This project is developed based on ORBCOMM-receiver project by Frank Bieberly (https://github.com/fbieberly/ORBCOMM-receiver).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file orbdemod-0.1.0.tar.gz.
File metadata
- Download URL: orbdemod-0.1.0.tar.gz
- Upload date:
- Size: 16.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
560ffa31f60b7af1a456c8244ea00ced79ac8cbad8edd0f8e4a579f58bcf5619
|
|
| MD5 |
ae100a3fcd4bb803732c7e92e59835a0
|
|
| BLAKE2b-256 |
adccaf0b0564c4d73772165e105816c047681c4e88ebb1f155dd3a09bcd5cb3f
|
File details
Details for the file orbdemod-0.1.0-py3-none-any.whl.
File metadata
- Download URL: orbdemod-0.1.0-py3-none-any.whl
- Upload date:
- Size: 19.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
080110fa577bcf59d3f60d318fa661e21369d7ce433aaee8047e728715d0af5d
|
|
| MD5 |
9f92e3947f36b88e2c58a596e7c6ca5f
|
|
| BLAKE2b-256 |
7ef04760c7335113e83ce77a921a00c4df80f6bc1aded25bdd3bc95212ec1703
|