Today, no one is surprised by the data transfer via WiFi or Bluetooth. But is it possible to send data directly by air? I will show how the data can be transmitted and received, for which we will create a simple modem implementation using OFDM and GNU Radio.

We will send the data literally by air — a speaker and a microphone will be enough for receiving and transmitting. If somebody is not familiar with GNU Radio, it makes sense to read or watch some tutorials before, like this or that. GNU Radio is cross-platform and can work on Windows, Linux and OSX.

So, our task is to make the simplest modem capable of transmitting data from point A to point B. There are many ways to modulate a digital signal, we will use OFDM — a method widely used in modern communication systems. In OFDM, a digital signal is converted to several parallel subcarriers using Fast Fourier Transform (FFT), which provides high speed and efficient use of the channel. OFDM is used a lot, from digital television and radio to LTE. Our audio channel is much narrower and more strict in terms of parameters so that the speeds will be lower, but basically the essence, in general, does not change. Strictly speaking, OFDM is not designed to transmit data over the air, although for small distances a conventional microphone and speaker will be quite enough.

OFDM in GNU Radio

The minimal connection graph is displayed on the image:

Image for post

A plain text file is used as the data source (it can contain something like a “Hello World” string), then the data is divided into blocks that are fed to the OFDM Transmitter. OFDM is a rather complicated type of modulation, in the settings of the OFDM encoder we need to specify a lot of not obvious parameters.

#signal-processing #software-engineering #diy #programming #electronics #data analytic

 Transmit and Receive data using GNU Radio and a Microphone
5.10 GEEK