Kalpana Kalpana (Editor)

WSPR (amateur radio software)

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Developer(s)
  
Joe Taylor, K1JT

Development status
  
active

Initial release
  
2008

Operating system
  
Cross-platform

WSPR (amateur radio software)

Written in
  
Python (GUI), Fortran, C

Available in
  
English, Italian, Spanish, French, German, Japanese, Polish, Portuguese, Russian

WSPR (pronounced "whisper") stands for "Weak Signal Propagation Reporter". It is a computer program used for weak-signal radio communication between amateur radio operators. The program was initially written by Joe Taylor, K1JT, but is now open source and is developed by a small team. The program is designed for sending and receiving low-power transmissions to test propagation paths on the MF and HF bands.

Contents

WSPR implements a protocol designed for probing potential propagation paths with low-power transmissions. Transmissions carry a station's callsign, Maidenhead grid locator, and transmitter power in dBm. The program can decode signals with S/N as low as -28 dB in a 2500 Hz bandwidth. Stations with internet access can automatically upload their reception reports to a central database called WSPRnet, which includes a mapping facility.

The WSPR Protocol

The type of radio emission is "F1D", frequency-shift keying. A message contains a station's callsign, Maidenhead grid locator, and transmitter power in dBm. The WSPR protocol compresses the information in the message into 50 binary digits. These are encoded using a convolutional code with constraint length K=32 and a rate of r=1/2. The long constraint length makes undetected decoding errors less probable at the cost, that the highly efficient Viterbi algorithm must be replaced by a simple sequential algorithm for the decoding process.

Protocol specification

  • Standard message: callsign + 4-digit locator + dBm (e.g., K1ABC FN20 37)
  • Messages with a compound callsign and/or 6-digit locator use a two-transmission sequence. The first transmission carries compound callsign and power level, or standard callsign, 4-digit locator, and power level; the second transmission carries a hashed callsign, 6-digit locator, and power level. Add-on prefixes can be up to three alphanumeric characters; add-on suffixes can be a single letter or one or two digits.
  • Standard message components after lossless compression: 28 bits for callsign, 15 for locator, 7 for power level, 50 bits total.
  • Forward error correction (FEC): non-recursive convolutional code with constraint length K=32, rate r=1/2.
  • Number of binary channel symbols: nsym = (50+K-1) * 2 = 162.
  • Keying rate: 12000/8192 = 1.4648 baud.
  • Modulation: continuous phase 4-FSK, tone separation 1.4648 Hz.
  • Occupied bandwidth: about 6Hz
  • Synchronization: 162-bit pseudo-random sync vector.
  • Data structure: each channel symbol conveys one sync bit (LSB) and one data bit (MSB).
  • Duration of transmission: 162 * 8192/12000 = 110.6 s.
  • Transmissions nominally start one second into an even UTC minute: e.g., at hh:00:01, hh:02:01, etc.
  • Minimum S/N for reception: around –28 dB on the WSJT scale (2500Hz reference bandwidth).
  • Applications

    Usually a WSPR station contains a computer and a transceiver, but it is also possible to build very simple beacon transmitters with little effort. For example a simple WSPR beacon can be built using the Si570. The Raspberry Pi can also be used as WSPR beacon.

    History

    WSPR was originally released in 2008.

    References

    WSPR (amateur radio software) Wikipedia