Радиолюбительский OFDM-протокол: реализация MAC и LLC уровней для полудуплексной связи
Разработчик представил вторую часть технической статьи, посвящённую созданию канального уровня для самодельного радиолюбительского протокола на базе OFDM. В материале детально описаны алгоритмы MAC и LLC, которые превращают односторонний модем в полноценную полудуплексную систему связи между двумя трансиверами. Также раскрыты изменения на физическом уровне, включая новые модуляции и исправления в работе эквалайзера.
В новой публикации, продолжающей цикл о разработке цифрового радиолюбительского протокола на основе OFDM, автор переходит от физического уровня к канальному. Если в первой части рассматривались принципы модуляции и кодирования, то теперь основное внимание уделено подуровням MAC (управление доступом к среде) и LLC (управление логическим каналом). Эти компоненты необходимы для организации устойчивого обмена данными между двумя узлами, включая установление сессии, контроль целостности пакетов и повторную передачу при ошибках. По словам разработчика, реализация MAC и LLC превращает протокол из средства однонаправленной передачи, сравнимого с телеграфом, в полудуплексную систему связи.
Ключевым элементом реализации стали конечные автоматы (FSM), управляющие работой OFDM-модема. Для установления соединения применяется трёхстороннее рукопожатие, адаптированное под полудуплексный режим. Проблема одновременной передачи «навстречу» решена с помощью механизма тайм-слотов: при соединении узлы договариваются, кто и в какое время выходит на передачу. В лабораторных тестах задержка (пинг) составила порядка 5 секунд, что обусловлено работой звуковой карты, однако минимальный достижимый порог оценивается в 200–300 миллисекунд. Скорость передачи данных в пике достигает 1500 бит/с при использовании 16-QAM и повышенной скорости кодера за счёт прореживания; с модуляцией 32-QAM этот показатель будет выше. Предусмотрены два режима передачи: Stop-and-Wait с подтверждением каждого блока и bulk, при котором группа пакетов передаётся последовательно и подтверждается однократно. Также реализован механизм ARQ для запроса повторной отправки искажённых данных. Передавать можно текст (открыто или со сжатием) и двоичные данные.
Параллельно с проектированием MAC и LLC были модернизированы функции физического уровня. В частности, интегрирована модуляция 16-QAM, позволяющая кодировать 4 бита на один поднесущий символ, а также внедрена 32-QAM с переносом до 5 бит. Изменено количество поднесущих: теперь OFDM-символ использует сетку из 53 ортогональных поднесущих с интервалом 46,875 Гц. Для минимизации битовых ошибок в условиях замираний и шумов при маппинге применяется код Грея. Кроме того, разработчик устранил эффект деградации (размытия) созвездия, возникавший при использовании фильтра Винера в эквалайзере, и исправил детектор преамбулы, который из-за избыточного перебора гипотез ZC-преамбулы нивелировал грубую оценку преамбулы Ньюмана. Размер пакета теперь ограничен 10-битным полем длины, что позволяет передавать до 1023 бит на блок данных. Также был снижен показатель PAPR (пикового отношения мощности к средней).
Контекст разработки лежит в русле растущего интереса радиолюбителей к цифровым видам связи с использованием OFDM. Традиционные протоколы, такие как AX.25 (используемый в APRS), ориентированы на узкополосные каналы и не обеспечивают высокой спектральной эффективности. Применение OFDM с адаптивными модуляциями позволяет повысить скорость и устойчивость в условиях многолучёвости. Однако реализация MAC и LLC для полудуплекса — нетривиальная задача, поскольку требует учёта задержек распространения сигнала и времени переключения приёмопередатчика. В статье автор подробно описывает возникшие трудности и методы их решения, что делает материал полезным для других разработчиков, занимающихся созданием самодельных систем связи. Отмечается, что многие решения заимствованы из стека TCP/IP, но адаптированы под особенности радиоканала и ограниченные вычислительные ресурсы.
Для российского рынка и сообщества радиолюбителей данная разработка представляет интерес в первую очередь как открытый проект, который может быть повторён и доработан энтузиастами. В условиях, когда доступ к некоторым зарубежным аппаратным и программным решениям ограничен, собственные реализации на базе SDR (программно-определяемого радио) и звуковых карт становятся особенно актуальными. Использование звуковой карты в качестве АЦП/ЦАП снижает стоимость конечного устройства, хотя и накладывает ограничения по полосе и задержкам. По оценкам автора, достигнутая скорость в 1500 бит/с является рекордной для подобных самодельных систем на КВ-диапазонах, где типичные значения не превышают 300–600 бит/с. В перспективе переход на 32-QAM и оптимизация кодера позволят приблизиться к 2–3 кбит/с, что уже сопоставимо с некоторыми коммерческими модемами для УКВ.
Сравнение с альтернативами показывает, что предлагаемый протокол занимает нишу между простыми PSK-модемами (например, BPSK31) и более сложными системами, такими как FreeDV или цифровые виды связи на базе COFDM. По сравнению с BPSK31, где скорость составляет всего 31,25 бит/с, новый протокол обеспечивает почти 50-кратный прирост, но требует более мощного процессора для обработки OFDM-сигналов. В то же время он уступает по скорости коммерческим стандартам типа DMR (до 2 кбит/с в одном тайм-слоте), однако является полностью открытым и может быть реализован на недорогом оборудовании. Важным преимуществом является гибкость: возможность выбора модуляции и режима передачи в зависимости от условий распространения. Кроме того, использование подтверждений и ARQ повышает надёжность доставки, что критично для передачи файлов и текстовых сообщений.
В дальнейшем автор планирует продолжить тестирование в реальных эфирных условиях, а также оптимизировать алгоритмы MAC для снижения накладных расходов. Открытыми остаются вопросы помехоустойчивости при работе на дальние расстояния, совместимости с существующими SDR-платформами и возможности интеграции с популярными программами для радиолюбителей (например, Fldigi). Также неясно, насколько эффективно протокол будет работать при наличии нескольких одновременно передающих узлов — механизм тайм-слотов пока рассчитан на соединение «точка-точка». Тем не менее уже сейчас проект демонстрирует, что даже на базе звуковой карты и открытого ПО можно создать достаточно быстрый и надёжный цифровой протокол для радиолюбительских целей. Ожидается, что сообщество заинтересуется исходным кодом и внесёт свой вклад в развитие инициативы.