3 SDR Digital Modes Guide
Jan Gromeš edytuje tę stronę 2021-07-27 18:52:07 +02:00

This page shows how to use common SDRs to receive data transmitted by RadioLib implementations of various amateur radio digital modes and protocols. It is meant for people that are not very familiar with amateur radio. If you're a ham radio operator, there's no point in reading this.

Basics

The original scope of RadioLib was to create a common driver base for various single-chip radio transceivers, such as CC1101, RF69 or SX1278. It's important to realize that all of these modules were designed to facilitate packet transmission only - they were never meant to transmit amateur radio modes like RTTY or SSTV. However, they can be hacked to do so. The user should always keep in mind that this is a hack, and that a cheap single-chip packet transceiver will most likely not reach the performance of a circuit specifically designed to transmit those digital modes.

AFSK vs 2-FSK

Most of the transceivers supported by RadioLib use 2-FSK modulation for their designed purpose of packet transmission. 2-FSK is quite simple, high RF frequency for binary 1, low RF frequency for binary 0 (or vice versa). However, this is not how most digital modes operate - they use different tones, not RF frequencies. For example, AX.25 uses Bell 202 tones: 1200 Hz tone for mark (usually binary 1), 2200 Hz tone for space (binary 0).

There are two way to get around this issue. The first one is to let RadioLib transmit digital modes in 2-FSK. Keeping the Bell 202 example, RadioLib will transmit RF frequency at Fc + 1200 Hz for mark and Fc + 2200 Hz for space (Fc being the RF carrier frequency). To decode this transmission using usual decoding software, the transmission must be demodulated as LSB (lower single-sideband). This will turn the offset in RF frequency into offset in audio frequency and get you the desired Bell 202 tones. An SDR setup might look like this:

SDR dongle (e.g. RTL-SDR)
       |
       V
SDR program (e.g. SDR#) set up for LSB demodulation
       |
       V
virtual audio cable
       |
       V
decoder (e.g. fldigi or soundmodem)

The other way is to force the module to transmit frequency-modulated audio in the first place. In RadioLib, this is achieved by the AFSKClient class. Unfortunately, not all modules which can transmit 2-FSK digital modes can also transmit AFSK. See the AFSK Tone example for a complete list. When using AFSK, the transmission can be demodulated as a simple FM broadcast. This mode should also be compatible with most ham radio equipment.

Finally, RadioLib can also transmit AM-modulated AFSK - see the AFSK AM Tone example. This is more spectrally efficient than standard AFSK, however, must be demodulated as AM. It might also be incompatible with some radio equipment such as digipeaters.