Tagged: ASK

Hackaday Tutorial: A Crash Course in RF Modulation – ASK, FSK and LoRa Explained Simply

Hackaday writer Danie Conradie has recently posted a new tutorial explaining the difference between some common RF modulation choices. To do this he uses various RF hardware modules, and an RTL-SDR Blog V3 unit to view the spectrum of each modulation type. In the post he compares Amplitude Shift Keying (ASK), Frequency Shift Keying (FSK), and LoRa. He also explains the differences between ASK and OOK modulation, and FSK and GFSK modulation.

The key takeaways are that ASK modulation is simple, but prone to interference. FSK is less prone to interference, but requires more bandwidth. LoRa is good for receiver sensitivity and interference immunity, but comes at the expense of bandwidth efficiency. In addition LoRa modulation is patented, resulting in higher hardware costs.

Comparing the spectrum of a pure FSK signal, versus a Gaussian FSK signal.
Comparing the spectrum of a pure FSK signal, versus a Gaussian FSK signal.

A Guide to Using RPiTX and an RTL-SDR to Reverse Engineer and Control ASK/OOK Devices

Erhard E. has been experimenting with capturing, analyzing, reverse engineering and then transmitting new ASK/OOK signals with his RTL-SDR and Raspberry Pi running RPiTX. Erhard has written a very informative guide/tutorial (pdf) that explains how he did it for wireless doorbell and for remote control toy cars. RPiTX is software for the Raspberry Pi which allows it to transmit almost any signal via modulation of a GPIO pin. RPiTX related posts have been featured on this blog several times in the past.

First Erhard records a copy of the doorbell signal using his RTL-SDR and then views the waveform in Audacity. He then writes that you’ll need to find the waveform characteristics either manually using Audacity, or by using the rtl_433 decoder. In the tutorial he uses rtl_433 which automatically gives his the pulse width, gap width and pulse period.

Next in order to actually generate the signal using RPiTX he uses the waveform characteristics that he found out and manually creates a .ft hex file that describes the signal to be generated. Then using using the rpitx command, the .ft file can be transmitted.

Later in the tutorial he also shows how he performed the same reverse engineering process with a cheap RC car toy (forward/reverse commands only), which uses OOK encoding on the wireless controller.

The tutorial can be downloaded in PDF form here.

Showing the Pulse Width, Gap Width and Symbol Period of a signal in Audacity.
Showing the Pulse Width, Gap Width and Symbol Period of a signal in Audacity.