WSPR (amateur radio software)

From Wikipedia, the free encyclopedia
Developer(s)Joe Taylor, K1JT
Initial release2008
Written inPython (GUI), Fortran, C [1]
Operating systemCross-platform
Available inEnglish, Italian, Spanish, French, German, Japanese, Polish, Portuguese, Russian
TypeAmateur radio and DSP

WSPR (pronounced "whisper") is an acronym for Weak Signal Propagation Reporter. It is a protocol, implemented in a computer program, used for weak-signal radio communication between amateur radio operators. The protocol was designed, and a program written initially, by Joe Taylor, K1JT. The software code 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.

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 a signal-to-noise ratio as low as −28 dB in a 2500 Hz bandwidth.[2] Stations with internet access can automatically upload their reception reports to a central database called WSPRnet, which includes a mapping facility.

The WSPR Protocol[edit]

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.[3] The WSPR protocol compresses the information in the message into 50 bits (binary digits). These are encoded using a convolutional code with constraint length K = 32 and a rate of r = 12.[3][4] 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.[3]

Protocol specification[edit]

The standard message is <callsign> + <4 character locator> + <dBm transmit power>; for example “K1ABC FN20 37” is a signal from station K1ABC in Maidenhead grid cell “FN20”, sending 37 dBm, or about 5.0 W (legal limit for 630 m). 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 bits for locator,
7 bits for power level,
total: 50 bits.
  • Forward error correction (FEC):
non-recursive convolutional code with constraint length K = 32, rate r = 12.
  • Number of binary channel symbols:
nsym = (50 + K − 1) × 2 = 162.[3]
  • Keying rate is 120008192 = 1.4648 baud.
  • Modulation is continuous phase 4 FSK, with 1.4648 Hz tone separation.
An Agilent Modulation Domain Analyzer 53310A showing the narrow band 4-FSK signal produced by a Raspberry Pi.
  • Occupied bandwidth is about 6 Hz
  • Synchronization is via a 162 bit pseudo-random sync vector.
  • Each channel symbol conveys one sync bit (LSB) and one data bit (MSB).
  • Duration of transmission is 162 × 819212000 = 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 is around –34 dB on the WSJT scale (2500 Hz reference bandwidth).


Raspberry Pi as WSPR transmitter

The protocol was designed to test propagation paths on the LF, MF and HF bands. Also used experimentally at VHF and higher frequencies.

Other applications include antenna testing, frequency stability and frequency accuracy checking.

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 Si 570,[5] or Si 5351.[6] The Raspberry Pi can also be used as WSPR beacon.

Density distribution of WSPR spots, January 2014 vs July 2014, using only most distant reception per spot.

An accurate clock is essential both for transmission and decoding of received signals.


In May 2021, aerospace engineer Richard Godfrey suggested an examination of historical WSPR data to further define the flight path of Malaysian Airlines flight MH370 on 8 March 2014, suggesting that there were "518 unique transmission paths that cross the area of interest around Malaysia, the Malacca Strait and the Indian Ocean. With the WSPR data provided every two minutes and the ability to check against the satellite data every hour it is possible to detect and track MH370 from two independent sources."[7] In November 2021, Godfrey reported that analysis using WSPR technology indicated the aircraft flew in circles for around 22 minutes in an area 150 nautical miles from the coast of Sumatra before vanishing.[citation needed] Later that month, Godfrey announced a proposed search area with a radius of 40.0 nautical miles (74.1 km) centered around 33°10′37″S 95°18′00″E / 33.177°S 95.3°E / -33.177; 95.3 in the southern Indian Ocean. This new location was identified through extensive analysis of separate data sets, including Inmarsat satellite data, Boeing performance data, oceanographic floating debris drift data, and WSPR net data.[8]

According to Geoffrey Thomas of, whose coverage was given an aerospace media award,[9][10] as of September, 2021, Godfrey's methods were "proving accurate in testing, according to recent blind-test evaluations",[11] and a non-blind verification was documented in June, 2022.[12] Additional verification calculations were documented in October, 2022;[13] however, as of November, 2022, validity of the methods and results remained controversial.[14]

In February 2022, the Australian Transport Safety Bureau and Geoscience Australia confirmed they were reviewing old data related to MH370, following the release of Godfrey's report.[15] In April, 2022 the data review "concluded that it is highly unlikely there is an aircraft debris field within the reviewed search area."[16]


WSPR was originally released in 2008.


  1. ^ "WSJT Program Development Page".
  2. ^ "WSJT Home Page".
  3. ^ a b c d Joe Taylor, K1JT: WSPRing Around the World. QST November (2010), p. 30-32.
  4. ^ G4JNT: The WSPR Coding Process: Non-normative specification of WSPR protocol
  5. ^ WSPR Beacon with Si 570 and Atmel AVR
  6. ^ QRSS/WSPR Transmitter Kit
  7. ^ Malaysia Airlines flight MH370 left 'false trails' before disappearing, new research suggests, Anne Barker, ABC News Online, 2021-05-05
  8. ^ Browning, Simon (3 December 2021). "MH370: Could missing Malaysian Airlines plane finally be found?". BBC. Retrieved 27 January 2022.
  9. ^ Thomas, Geoffrey (2022-02-15). "Geoffrey Thomas wins international award for MH370 WSPR tracking story". Airline Ratings. Retrieved 2023-05-16.
  10. ^ "The West's aviation editor up for record three gongs". The West Australian. 2022-01-18. Retrieved 2023-05-16.
  11. ^ Thomas, Geoffrey (2021-09-07). "Breakthrough technology giving real hope for a new search for MH370". Airline Ratings. Retrieved 2023-05-16.
  12. ^ Thomas, Geoffrey (2022-06-25). "MH370 TRACKING EXPERT DEMONSTRATES HIS TECHNOLOGY ONCE AGAIN". Airline Ratings. Retrieved 2023-05-16.
  13. ^ Thomas, Geoffrey (2022-10-28). "MH370: New Research Paper Confirms WSPRnet Tracking Technology". Airline Ratings. Retrieved 2023-05-16.
  14. ^ Thomas, Geoffrey (2022-11-02). "MH370 New Location Critics Sunk". Airline Ratings. Retrieved 2023-05-16.
  15. ^ Ransley, Ellen (16 February 2022). "New technology could hold key to MH370 disappearance". Retrieved 17 February 2022.
  16. ^ "MH370 data review joint statement from the Australian Transport Safety Bureau & Geoscience Australia | ATSB". 2022-11-20. Retrieved 2023-05-16.

External links[edit]

Further reading[edit]

GDTAAA WSPRnet MH370 Analysis Flight Path Report (Self-published, Dropbox)