37

Контур и РадиоФест-2019

Понравилось мне тут писать посты - намного удобнее, чем Вконтакте; поэтому очередной пост о деятельности Клуба любителей электроники "Контур" будет на этот раз о нашем участии во Всероссийских технологических соревнованиях по перспективным направлениям развития радиосвязи "Радиофест". Надеюсь, его создатели простят меня за некоторые спойлеры для будущих участников =)

В один из прекрасных дней в наш университет пришло приглашение на Радиофест-2019, где было сказано о времени и месте проведения (а проводятся они в ОЭЗ "Технополис Москва", площадка Алабушево), кратко описана программа мероприятия и перечислены номинации конкурса. Всего их три, и они не сильно изменились за эти три года - «Радионавигация», «Радиосвязь/РЭБ», «Радиоперехват». Кратко о них:

"Радионавигация", или "Охота на лис" представляет собой задание на определение координат передатчика сигнала при помощи двух приемников, и на каждом из них по две антенны. Требуется с сантиметровой точностью определить координаты, а в наличии только известное расположение приемников? Типичная задачка по радиолокации: у нас есть антенная решетка, а значит, мы можем определить фазовый набег сигнала, который даст нам некое значение, которое по идее является азимутом на сигнал. Так как приемников два, имея два азимута и зная координаты приемников - останется применить несложную геометрию и получить в точке пересечения двух линий искомые координаты передатчика. И это только один из методов решения задачи.
Кстати, на третьих соревнованиях (2021 год) источник сигнала начал двигаться - требовалось определять уже не его координаты, а скорость и направление движения.


"Радиосвязь/РЭБ", или "Захват флага" - из названия можно предположить, что тут замешаны некоторые соревновательные нотки, ведь нужно с кем-то бороться? Правильно! Участвует одновременно две команды. Задача состоит в том, чтобы передать условную полезную информацию между своим оборудованием (приемник и передатчик) и помешать сделать это противнику. Можно применить помехоустойчивую модуляцию; можно прыгать по частотам; можно применить интеллектуальный алгоритм поиска сигнала противника, задавить его, попутно передавая свои данные на соседней частоте - способов множество.


«Радиоперехват», или "Поймай волну" (в 2021 - "Когнитивное радио") - на самом деле сложнейшее задание. Требуется определить модуляцию некоего потока данных в эфире; обычно это 300 пакетов с различными видами манипуляции разных параметров (QAM, FSK, GMSK и т.д.), но с одинаковой структурой. Какие-то действительно рабочие наработки у команды появились только к третьим соревнованиям - идеи были самые разные, вплоть до анализа нейросетью сигнального созвездия.


После описания направлений стоит сделать пояснение, на чем же мы собственно соревнуемся. Представляем вашему вниманию SDR-трансивер LimeSDR - очень мощную и дорогую штуку, возможности которой соответствуют ее цене: 2 канала и на прием, и на передачу; диапазон частот 100 кГц — 3.8 ГГц; полоса пропускания ограничена интерфейсом USB 3.0 и составляет 61 МГц. Для незнакомых с темой, SDR (Software Defined Radio, переводится как программно-определяемое радио) представляет собой железку, способную перерабатывать цифровые данные с компьютера в радиосигнал и наоборот. Возможности того, что можно делать с SDR, ограничены вычислительными способностями камня на борту и вашего ПК, а так же умением... программировать!
Все дело в существовании проекта GnuRadio - по сути среде программирования для SDR, где вы можете издеваться над радиосигналами так, как вашей душе угодно; плюс никто не мешает писать свои модули на питоне или С++. В итоге мы получаем мощный инструмент для моделирования, декодирования и анализа сигналов эфира. В сети есть много примеров, от управления дверным радиозвонком до приема сигналов из космоса со спутников.

Управление же мы осуществляем с помощью микрокомпьютера RaspberryPi 4. Одно из условий соревнования - наша подготовленная радиосистема должна быть автономной; мы лишь подаем питание (2019) или нажимаем на кнопку "старт" для нашего скрипта (2020-21), после чего магическим образом запускается обработка сигналов и данных, а так же необходимые сетевые взаимодействия с серверами организаторов (например, получение исходных данных для передачи в РЭБ или загрузка координат передатчика в Радиоперехвате).

Закончив наконец с описанием матчасти соревнований, перейдем непосредственно к нашему участию. Получив приглашение, наш клуб решил не оставаться в стороне - твердо решили поучаствовать и посмотреть, что такое высокие технологии. Вкратце о формате участия - команда состоит максимум из трех человек; заявиться может кто угодно (не только студенты, но и взрослые радиолюбители); проживание и дорога за счет участников, организаторы предоставляют питание на месте. С собой нужно брать ноутбуки для отладки, а у кого есть SDR - можно и их прихватить; однако во время проведения соревнований любые посторонние источники сигнала должны быть выключены.
Команду набирали недолго - собственно, там был я; один человек, который уже пользовался SDR; и третий человек, который не побоялся сложных слов в положении конкурса и в последствии помогал искать информацию (как показала практика - очень важная роль в команде, позволяющая разгрузить программистов).
Не зная еще про реальную сложность заданий, сгоряча заявились сразу на все три направления. "Самара в огне!" - слышали мы потом от организаторов=)

Опустим неинтересные организационные моменты с университетом и заявкой. Решив их и взяв наши моднявые выходные халаты с собой, мы направились в место проведения соревнований - в Зеленоград, а далее - на платформу Алабушево.

Сами соревнования состоят из двух дней подготовки - этакого "хакатона", где мы имеем возможность подготовить наш код для использования "в бою" на реальном оборудовании, и непосредственно дня соревнований (в 2021 году хакатон урезали до одного дня). Прослушав традиционное официальное вступление от организаторов, мы сели за предоставленное оборудование и начали читать и гуглить, гуглить и читать...

Как оказалось - опыта использования свистка RTL-SDR для решения данных заданий было явно недостаточно; среду GnuRadio настраивать для работы с LimeSDR на Raspberry - нетривиальная задача; да и вообще, все работает не так, как мы представляли. В итоге первого дня хакатона мы решили отказаться от участия во всех направлениях и вняли совету организаторов - сосредоточились на одном. Выбор пал на Радиосвязь/РЭБ; впоследствии мы поняли, что выбор был верен - это самое легкое направление соревнований.

В итоге половину ночи после первого дня и весь второй день мы пытались сделать рабочий код для... простой передачи пакета данных через эфир. И только утром перед соревнованиями у нас получилось понять, как это сделать; решение было под носом - и валялось оно в папке Examples среды программирования.
Это было применение энкодера пакетов с модуляцией GMSK (метод работает только на старой версии GnuRadio - уже в 2020 году мы застали обновление среды, в которой энкодер уже не работал). На создание помех противникам мы просто забили - ресурсов малинки не хватало на перескакивание с приема на передачу; ограничились только подбором минимальной ширины сигнала, дабы вывести его амплитуду на максимум. Так же, чуткий слух разведчика подсказал, что наши противники хотят использовать ту же частоту, что и у нас - однако, почему-то мы решили не менять ее. Впрочем, не зря=)
Кое-как успев отладить обе наши программы в отведенное время до "выступления" (к слову, у нас была единственная команда, которая смогла в автономность и сетевое взаимодействие в том году - сыграл двухмесячный опыт работы админом на линуксе, однако лучшее - враг хорошего), мы с замиранием сердца подали питание на наши Raspberry.

Та-дам! На фотографии ниже вы заметите, что в первом туре участвовала всего одна команда. А все потому, что наш код передатчика... не заработал.
Я не привык сдаваться даже в критических ситуациях и настоял на попытке разобраться, что же пошло не так. И что же вы думали?
Оказывается, иксы у малинки грузятся только в том случае, если подключен монитор! А мой код автозапуска был прописан в autostart, который не выполняется без монитора. Однако технически мы сошли с дистанции в первом туре, поэтому нам оставалась только одна попытка изменить расклад. И на этот раз мы отжали лишний монитор у "Радиоперехвата", ибо там участвовала всего одна команда из одного человека, и они уже отстрелялись.

В итоге, во второй раз все запустилось как надо; с огромным отрывом мы вышли вперед, заранее обогнав участников третьего тура. Этому послужил вышеупомянутый подбор ширины передаваемого сигнала; выходная амплитуда получилась такой, что мы смогли просто задавить передачу противника своим же сигналом (у них, в свою очередь, сигнал был более широкополосным, по простому размазанным).
Радость, ликование и осознание победы - непередаваемые ощущения =) поэтому вот вам фоточка с награждения. С тех самых пор мы поставили себе задачу - собрать все кубки с Радиофеста.

Я пропустил многие мелкие моменты, потому что пост и так стал длинным - поэтому оставлю ссылку на список участников 2019 года. Там же можно посмотреть итоги 20 и 21 года; если пост зайдет, постараюсь написать про 2020, и пнуть народ, который участвовал в 2021. Если вкратце о том, что было дальше - была более осознанная подготовка в связи с покупкой пары HackRF и получением опыта, больше команд от Контура, новые трудности и новые победы =)

Закончу пост благодарностью организаторам за проведение такого классного и прогрессивного мероприятия. Проведена и проводится огромная работа, в которой участвуют многие учреждения: Министерство науки и высшего образования РФ, Минпромторг России, Фонд перспективных исследований, Технополис Москва, МИЭТ (ребята из которого  переквалифицировались из участников в организаторов - им отдельный плюсик). Данные соревнования действительно подтолкнули некоторых наших ребят серьезно заняться тематикой программно-определяемого радио; и я очень надеюсь, что мы еще не закончили ;)

Спасибо за внимание! Больше фотографий можно найти у нас в группе.

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества