To install click the Add extension button. That's it.

The source code for the WIKI 2 extension is being checked by specialists of the Mozilla Foundation, Google, and Apple. You could also do it yourself at any point in time.

Kelly Slayton
Congratulations on this excellent venture… what a great idea!
Alexander Grigorievskiy
I use WIKI 2 every day and almost forgot how the original Wikipedia looks like.
Live Statistics
English Articles
Improved in 24 Hours
Added in 24 Hours
Show all languages
What we do. Every page goes through several hundred of perfecting techniques; in live mode. Quite the same Wikipedia. Just better.

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") stands 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. Software 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 S/N as low as −34 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.[2] 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.[2][3] 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.[2]

Protocol specification

The standard message is <callsign> + <4 digit locator> + <dBm transmit power>; for example “K1ABC FN20 37” is a signal from station K1ABC in Maidenhead grid cell “FN20”, sending 103.7milliwatts, or about 5.0 Watts (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.[2]
  • Keying rate is ​120008192 = 1.4648 baud.
  • Modulation is continuous phase 4 FSK, with 1.4648 Hz tone separation.
This is a picture of an Agilent Modulation Domain Analyzer 53310A showing the narrow band 4-FSK signal.  The signal is produced by a Raspberry Pi computer.
This is a picture of an Agilent Modulation Domain Analyzer 53310A showing the narrow band 4-FSK signal. The signal is produced by a Raspberry Pi computer.
  • 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
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,[4] or Si 5351.[5] 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.
Density distribution of WSPR spots, January 2014 vs July 2014, using only most distant reception per spot.

Note - an accurate clock is essential both for transmission, and decoding of received signals (native Windows timing is usually inadequate).


WSPR was originally released in 2008.


  1. ^
  2. ^ a b c d Joe Taylor, K1JT: WSPRing Around the World. QST November (2010), p. 30-32.
  3. ^ G4JNT: The WSPR Coding Process: Non-normative specification of WSPR protocol
  4. ^ WSPR Beacon with Si 570 and Atmel AVR
  5. ^ QRSS/WSPR Transmitter Kit

External links

This page was last edited on 14 January 2021, at 21:26
Basis of this page is in Wikipedia. Text is available under the CC BY-SA 3.0 Unported License. Non-text media are available under their specified licenses. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc. WIKI 2 is an independent company and has no affiliation with Wikimedia Foundation.