RTL-SDR

Значительно улучшаем производительность RTL_TCP с помощью кольцевых буферов

Спасибо анонимному участнику за то, что привлек внимание к двухчастному блог-посту Стивена Блинника. Посыл Стивена объясняет, как производительность rtl_tcp может быть значительно улучшена путём изменения кода на использование кольцевого буфера вместо блокировки на основе семафоров. Если вы не знали, rtl_tcp — программа, которая позволяет запускать ваш RTL-SDR удалённо и подключаться к нему через сетевое соединение.

По словам Стивена, результат — значительное улучшение производительности rtl_tcp. До изменений он отмечал, что его Raspberry Pi 3B+ может поддерживать частоту дискретизации всего 1.92 MSPS по Wi-Fi, и даже тогда задержка составляла 1–2 секунды. После изменений кольцевого буфера его Raspberry Pi 3B+ может обрабатывать максимальную частоту дискретизации 3.2 MSPS без задержки. На его Pi Zero W он может достигать частоты дискретизации 1.92 MSPS по Wi-Fi с минимальной задержкой, тогда как ранее он мог достигать только 0.92 MSPS с огромной задержкой в 5–10 секунд.

Патч доступен в виде pull request на GitHub Osmocom.

К сожалению, этот патч может не попасть в официальные обновляемые драйверы Osmocom, поскольку Стивен отправил патч в виде pull request на GitHub, и Osmocom принимает патчи только через свой рассылочный список. Если кто-то читает это и знаком с требованиями Osmocom к подаче патчей, мы хотели бы призвать вас помочь отправить этот патч на рассмотрение.

Патч кольцевого буфера для rtl_tcp

Источник:

Подбираете SDR под задачу?

Опишите, что и где хотите принимать, — подскажем подходящие модели и где их купить.

Похожие материалы

Весь блог