/Pydemod

Python library and tools for demodulating radio signals

Primary LanguagePython

Pydemod

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.