Как стать автором
Обновить

TCP/IP по аудиоканалу

Время на прочтение2 мин
Количество просмотров50K
Разработчик Крис Кристофер (Chris Christopher) опубликовал довольно подробную инструкцию, как поднять канал связи между компьютерами, используя колонки. Можно отправлять пакеты TCP/IP и UDP «по воздуху», даже если на компьютерах отсутствует оборудование для связи.

Автор использовал стандартные ноутбуки и общедоступное программное обеспечение, в том числе программу gnuradio. Он говорит, что проще всего скачать готовый LiveDVD-образ дистрибутива Gnuradio (версия Ubuntu с уже установленной программой gnuradio).

Ещё нужно скачать с Github патч для gnuradio и установить его из-под рута. Патч модифицирует пакетные кодер и декодер gnuradio для поддержки пакетов переменного размера.



Алгоритм кодирования/декодирования сигнала в целом изображён на этой схеме, и автор объясняет каждый шаг: создание виртуального сетевого интерфейса; трансляция пакетов с виртуального NIC в поток байтов для обработки пакетным кодером, который добавляет преамбулу пакета, заголовок и контрольную сумму.

GFSK-модулятор осуществляет частотную модуляцию (FSK), накладывая биты на аналоговую несущую, как показано на первой иллюстрации.

В модуляторе можно указать, сколько сэмплов передавать для каждого символа (9 по умолчанию): чем больше это значение, тем лучшее будет соотношение сигнала к шуму, то есть передача станет более устойчивой к помехам.

На следующем этапе КИХ-фильтр (фильтр с конечной импульсной характеристикой) транслирует аудиосигнал сигнал на заданной частоте. Например, 19 кГц. На последнем этапе специальный блок конвертирует сигнал в приемлемый поток для аудиокарты.

Приёмный блок выполняет все описанные операции в обратном порядке, хотя здесь несколько дополнительных блоков: один усиливает сигнал с микрофона в заданное количество раз, а второй фильтрует звук на заданном диапазоне частоте, чтобы не пускать в демодулятор шум посторонний с микрофона.

Автор говорит, что с помощью такой схемы можно установить дуплексный канал передачи, когда ноутбуки передают друг другу информацию на разных частотах.



Работа тестового аудиоканала TCP/IP на частоте 23 кГц показана на видео внизу. Крис Кристофер предлагает также посмотреть PCAP-файл с записью всех пакетов, указанием задержек и скорости передачи, скриншот.

Теги:
Хабы:
Всего голосов 66: ↑63 и ↓3+60
Комментарии99

Публикации