📜 ⬆️ ⬇️

TCP / IP audio channel

Developer Chris Christopher (Chris Christopher) has published quite detailed instructions on how to raise the communication channel between computers using columns. You can send TCP / IP and UDP packets "over the air", even if the computers do not have equipment for communication.

The author used standard laptops and open source software, including the gnuradio program. He says that the easiest way to download is a ready - made LiveDVD image of the Gnuradio distribution (Ubuntu version with the gnuradio program already installed).

You also need to download a patch for gnuradio from Github and install it from under the root. The patch modifies the gnuradio packet encoder and decoder to support variable-sized packets.


')
The algorithm for encoding / decoding a signal as a whole is depicted in this diagram , and the author explains each step: the creation of a virtual network interface; packet translation from a virtual NIC to a byte stream for processing by a packet coder, which adds a packet preamble, a header, and a checksum.

The GFSK modulator performs frequency modulation (FSK) by imposing bits on an analog carrier, as shown in the first illustration.

In the modulator, you can specify how many samples to transmit for each symbol (9 by default): the higher this value, the better the signal-to-noise ratio, that is, the transfer will become more resistant to interference.

In the next step, an FIR filter (a filter with a finite impulse response) broadcasts the audio signal to a given frequency. For example, 19 kHz. At the last stage, a special block converts the signal into an acceptable stream for the audio card.

The receiving unit performs all the described operations in the reverse order, although here there are several additional units: one amplifies the signal from the microphone a specified number of times, and the second filters the sound at a specified frequency range so as not to let outsider noise from the microphone into the demodulator.

The author says that using such a scheme, you can set up a duplex transmission channel, when laptops transmit information to each other at different frequencies.



The work of the test audio channel TCP / IP at a frequency of 23 kHz is shown in the video below. Chris Christopher also offers a PCAP file with a record of all packets, an indication of delays and transmission rates, a screenshot .

Source: https://habr.com/ru/post/213157/


All Articles