Нейросеть для радиосвязи: как ИИ научился расшифровывать шумный эфир Морзе

Habr AI · оригинал

Материал подготовлен автоматизированной редакционной системой. Факты можно сверить по указанному первоисточнику.

Разработчик переписал легаси-приложение азбуки Морзе на Swift с помощью ИИ, добавив поддержку 37 локальных алфавитов и современный алгоритм обучения по методу Коха. Ключевой инновацией стала нейросеть, способная потоково распознавать до 16 станций в шумном эфире, обученная исключительно на синтетических данных.

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

Разработчик представил масштабное обновление своего приложения для работы с азбукой Морзе, которое прошло полный цикл трансформации благодаря использованию искусственного интеллекта. Исходный проект, написанный на Objective-C и содержащий критичные части на чистом C для минимизации задержек при генерации сигналов, не обновлялся более пяти лет. С помощью Claude и других LLM-моделей код был полностью переписан на Swift, интерфейс переведен на SwiftUI, а архитектура оптимизирована под современные стандарты macOS и iOS. От старой кодовой базы не осталось ни одной строки, что позволило устранить накопившиеся легаси-проблемы и улучшить производительность.

Одной из ключевых задач стала локализация. Если ранее переводы делались вручную для ограниченного числа языков, теперь приложение поддерживает 60 языков интерфейса и 37 различных таблиц Морзе. Это включает специфические алфавиты Японии, Китая, Индии и Таиланда, где используются слоговые системы или уникальные комбинации символов. Для обеспечения качества переводы прогонялись через две конкурирующие нейросети, а интеграция новых алфавитов была реализована на уровне ядра приложения, что позволяет корректно обрабатывать ввод с телеграфного ключа даже при подключении через адаптеры.

Наиболее сложным техническим вызовом стала реализация функции дешифровки радиоэфира. Автор отметил, что существующие решения работали плохо, были заточены под чистый звук или одну станцию и не справлялись с реальными условиями связи. Новая нейросеть обучена распознавать до 16 станций одновременно в полосе SSB-приемника (2,5–3 кГц) со скоростью от 5 до 100 WPM. Модель работает потоково на телефоне без предфильтров, которые могли бы исказить слабые сигналы, и выдает на выходе не готовые буквы, а элементы: точки, тире и границы слов.

Для обучения модели потребовался уникальный подход к созданию датасета. Вместо использования реальных записей эфира, которые сложно разметить вручную, разработчик создал генератор синтетических данных. Этот инструмент моделирует реалистичные условия: шумы трансформаторов, атмосферные помехи, замирания сигнала по моделям Уоттерсона, дрейф частоты и даже акустику комнаты. Обучение проводилось исключительно на этих синтетических сценах, что позволило сети научиться отделять полезный сигнал от сложного фона. Процесс занял почти месяц непрерывной работы ноутбука, включая итерации по подбору архитектуры сети и параметров генератора.

Архитектура решения включает цепочку обработки: децимация сигнала, построение спектрограммы с несколькими окнами для точности времени и частоты, а также обучаемая нормализация энергии. Декодер использует причинную временную свёрточную сеть (TCN) с широким полем зрения, что позволяет контекстуально анализировать последовательность сигналов. Оценка качества проводилась по метрикам Левенштейна для элементов и CER для букв, при этом результаты на синтетических данных показали высокую точность даже в условиях сильного шума.

Проект также получил обновление образовательного раздела. Алгоритмы обучения теперь следуют методологии Коха, автоматически подбирая оптимальные пары символов для изучения, а система тестирования имитирует условия мировых соревнований по радиоспорту. Разработчик подчеркивает, что все изменения были сделаны в свободное время, используя несколько аккаунтов ИИ-ассистентов, что свидетельствует о растущей роли ИИ в разработке нишевых, но технически сложных продуктов.