Signal/noise ratio of digital amateur modesPieter-Tjerk de Boer, PA3FWM firstname.lastname@example.org
(This is an adapted version of part of an article that I wrote for the Dutch amateur radio magazine Electron, February 2015.)
It is said that WSPR signals can be received up to 29 dB below the noise. 29 dB is a factor of 800 (in power), so that sounds very impressive: something that is 800 times weaker than the noise is still decoded flawlessly. Other modes need a stronger signal, e.g. 7 dB below noise for PSK-31, or need even less signal, e.g. 35 dB below the noise for OPERA-32. But what do these impressive numbers mean?
The Signal to Noise Ratio (SNR) quoted for amateur radio modes is traditionally based on a receiver bandwidth of 2500 Hz, because these modes are usually received with a normal SSB receiver, whose IF filter is about 2500 Hz wide. The actual signal usually is much narrower, e.g. about 6 Hz in case of WSPR. So this is rather weird: we compare the power of a 6 Hz wide signal to the noise power received in the total 2500 Hz wide filter. It would make more sense to measure the SNR in the bandwidth that's really used by the receiver; but it may be hard to determine or define that "true" receive bandwidth.
Professionals use a different way to express SNRs, which does not require a random choice of the noise bandwidth. They specify a quantity called Eb/N0. Eb is the energy per bit, and N0 is the noise power in 1 Hz. Thus, the denominator of this ratio is comparable to what amateurs use, albeit w.r.t. 1 rather than 2500 Hz. The trick however is in the numerator: while amateurs put the received power there, professionals use the received energy per bit. Example: suppose we receive a 6 pW signal, that is 6 pJ (pico-Joule) per second, and this suffices to transport 2 bits per second, then Eb = 3 pJ/bit.
Let us, as an example, consider what would change if we would make WSPR twice as fast; i.e., all bits of the beacon must be sent in just 1 minute rather than 2. Each symbol will then last half as long, 0.342 s, and as a consequence the frequencies (since WSPR is an FSK signal) need to be twice as far apart; so the signal becomes twice as wide. The receiver needs a twice as wide filter, and will thus receive twice as much noise, and thus requires a twice as strong signal for good reception. Using the "amateur way" of specifying SNR, in a 2500 Hz bandwidth, the required SNR thus doubles, i.e., becomes 3 dB higher. If we would compute it to the noise in the real receive bandwidth, the required SNR would stay the same. And what about Eb/N0 ? N0 does not change. Eb does not change either, because although the required power has doubled, we also get twice as many bits across; so the energy per bit stays the same.
Thus, Eb/N0 is a very honest and meaningful measure for how well a modulation technique (including an error correcting code (FEC)) performs. In fact, Eb/N0 is such a good measure, that it turns out to be possible to derive a fundamental limit for it. Already in 1948, Claude Shannon proved mathematically that it is impossible to transport bits without error if Eb/N0 is less than -1.59 dB, no matter what smart modulation, coding and signal processing is used! (C.E. Shannon: A Mathematical Theory of Communication, 1948.)
Mode Needed SNR in 2500 Hz Net data speed in bits/s Needed Eb/N0 SSB voice +10 dB 20* +31 dB CW (ZRO-test, by ear) -18 dB 0.54 +16 dB** CW (QRSS-3, waterfall) -26 dB 0.13 +14 dB** CW (RSCW, 12 wpm) -12 dB 4 +13 dB** OPERA-2 -23 dB 0.23 +14 dB*** RTTY -5 dB 32 +14 dB PSK31 -10 dB 31 +9 dB WSPR -29 dB 0.45 +5 dB**** WSPR-15 -38 dB 0.056 +5 dB**** JT65 (for EME) -24 dB 1.54 +5 dB**** Coherent BPSK on VLF -57 dB 0.0058 -1 dB Theoretical limit -1.59 dB * very crude estimate ** based on peak average power; peak power 3 dB higher *** peak power is 3 dB higher; 2 dB lower if counting CRC-bits as information **** not counting energy in synchronization bits; otherwise 3 dB more
The table gives a comparison of a number of well-known amateur modes in terms of their required SNR in 2500 Hz, and in terms of Eb/N0. We clearly see that the modes which work at the lowest SNR, are not necessarily also most efficient in terms of Eb/N0, because of large differences in the data rate.
The numbers in this table need to be taken with a big grain of salt though. For most modes, there's no clear threshold between working and not working; this transition is gradual. Professionals therefore specify the required Eb/N0 always for a specific Bit Error Rate. Furthermore, it's often not precisely clear what one wants to calculate, as discussed in some of the footnotes.
CW (morse code) is listed three times in the table, with numbers from different sources,
which however agree quite well in terms of Eb/N0.
The first CW entry is based on W2RS's analysis
of the ZRO tests that were done in the 80s and 90s via Oscar-13, in which the participants had to copy
groups of digits at 10 wpm, which were repeated 3 times, hence the low number of bits
(W2RS: The Weak-Signal Capability of the Human Ear, http://web.archive.org/web/20050207235207/http://www.n1bug.net/tech/w2rs/humanear.html).
The second entry is based ON7YD's experiments with QRSS-3 signals: very slow morse code, in which a dot
lasts 3 seconds and which is not copied by ear but from a waterfall display
(ON7YD: QRSS3 challenge http://on7yd.strobbe.eu/QRSS/).
The third entry is based on my own attempts at making an optimal software CW decoder
For most other modes, I used the SNR numbers from http://www.qsl.net/kp4md/wsprmodes.htm.
However, Eb/N0 is not the ultimate measure either: it is purely a measure for how efficiently the channel is used, assuming the channel only adds pure white noise to the signal. In practice, most radio channels have other deficiencies, such as impulse noise (e.g. caused by lightning) or signal strength variations due to fading. Eb/N0 says nothing about how well the mode copes with that. Compare e.g. PSK31 and WSPR: their required Eb/N0 are similar, but while a brief fade in PSK31 immediately causes loss of a few letters, WSPR is rather insensitive to this, because all letters of the message are "spread out" over the entire 2 minute transmission.
BPSK on VLF
During the last few years, several radio amateurs have experimented on very low frequencies, in the VLF range below 9 kHz. There are no official amateur bands down there, but because frequencies below 8.3 kHz have not been allocated by the ITU, some amateurs have applied for permission (or taken it) to transmit there. Because of the wavelength of over 30 km, any practical amateur antenna is too small; the efficiency and thus the effectively radiated power are therefore very small.
In May 2014, DF6NM and Paul Nicholson in England did an experiment (and reported about that on the RSGB LF mailing list) in which they transported a net 46 bit message on 8270 kHz in 132 minutes, over 1028 km with an effective transmit power of less than 10 µW. They used BPSK: binary phase shift keying, i.e., flip the transmit signal phase by 180 degrees to change between 0 and 1. This could simply be done using a mechanical relay, because the tranmitted symbols each lasted 30 seconds. Paul Nicholson developed a very strong error correcting code (FEC) for these experiments, as well as software to decode that code, i.e., to fish the signal far out of the noise using lots of computations http://abelian.org/fec/. As the table shows, the result was very close to the Shannon limit.
This technique however is almost only suitable for VLF, because it requires very stable propagation: during those 132 minutes the phase of the signal was not allowed to drift much. Also, the computation load would be problematic for doing this (on higher bands) at higher speeds.
[Note: after the article was written, but before it appeared in print, the technique was also used succesfully for transatlantic VLF transmissions; see http://w4dex.com/vlf/8822hz_dec14/]
Some more justification for the numbers in the table:
SSB voice data rate: 20 bits/s from http://storage.sk.uni-bonn.de/Milca/ssv/content/ssv_s143_en.xhtml
CW 10 wpm ZRO test data rate: ZRO test has only digits, on average 2.04 s long, 3.3 bits per digits, repeated 3 times, make 0.54 bits/s. SNR and Eb/N0 are based on level "Z8" in the ZRO test.
CW 12 wpm RSCW and QRSS3: letters A-Z and digits 0-9 together have 69 dots and 63 dashes, so average character takes 2+(69/36.)*2+(63/36.)*4=12.833 dot-times. Assuming all characters are equally probable (random text) then gives 2log(36)/12.8333 = 0.403 bits per dot-time. At 12 wpm, dot takes 0.1 s, so 4 bits/s. At 3s dot time for QRSS3, 0.403/3 = 0.134 bits/s.
OPERA: 51 bits per message, of which 28 data, 4 unused and 19 checksum. Since the checksum bits presumably are only used as a last check, and not for searching which message is most likely (for that there's additional FEC overhead), they can arguably be counted as data.
RTTY: 45.45 baud, with for each 5-letter character a start and stop bit added, so out of every 7 bits only 5 contain user information.
WSPR and JT65: 50 user data bits in 111 seconds, and 72 user data bits in 46.8 seconds, respectively. Half the energy goes into synchronization bits. One could arguably do without that, at the expense of very much searching on the receiving side.