WSPR protocol python encoder
 
 
Go to file
Robert Östling 99046f9aca Updated link 2024-01-06 18:29:51 +01:00
.gitignore
LICENSE
README.md
arduino_ad9851.ino
encode.py
manual.py

README.md

wspr-tools

Code for the WSPR protocol

encode.py

python3 encode.py callsign locator power

Currently only simple callsigns and 4-symbol locators are accepted. Power is in dBm. This can be used directly for producing transmission sequences for the Arduino/AD9851 based transmitter below, or as a library to encode the WSPR protocol.

manual.py

python3 manual.py callsign locator power

Used to display the straight-key transmission sequence for a narrow-band frequency shift transmitter. Please refer to my web page on non-standard WSPR equipment for more information.

arduino_ad9851.ino

Arduino program to actually transmit the data generated by encode.py using an AD9851 module.

Note: if you use the square wave output (QOUT1 or its inverse QOUT2), make sure to tune the comparator voltage to achieve a reasonable duty cycle. If followed by a class E amplifier this is about 45% for maximum power output (anywhere near 50% should be OK). I use a DC voltmeter and approximate the duty cycle with V/5, so that a measured 2V reading translates into a 40% duty cycle.

You could of course also take either of the sine wave outputs (ZOUT1, ZOUT2) and amplify or feed directly into a low-pass filter to the antenna.