Pydemod is a set of Python libraries and tools for demodulating radio signals. It does not intend to compete with full-featured packages such as GNU Radio. Instead, it strives to allow radio enthusiasts to gain hands-on experience with modulation schemes.
Pydemod relies on NumPy/SciPy.
Currently, the released modules include:
- physical layer:
- phase demodulation (naïve)
- Manchester decoding
- basic logical levels (TTL-like) decoding and clock synchronization
- data link layer:
- synchronization and error detection for polynomial codes
- full implementation of RDS and AMSS codes
- CRC calculation
- application layer:
- functional AMSS decoder
- functional TFA temperature & humidity sensor decoder (should work for other Instant Transmission IT+ 868 MHz systems, such as LaCrosse ones, or 434 MHz such as Conrad ones) → see blog post (in French)
- You can very easily receive signals using an RTL-SDR dongle, using a command like this:
rtl_fm -M am -f 868.4M -s 160k - |./decode_weather.py --protocol tx29 --squelch 4000 --rawle -
Pydemod is licensed under the terms of the GNU GPL v3.
Pydemod is developed by Christophe Jacquet, F8FTK.