Intel NUC для управления и анализа данных с SDR приемника
Пост-призер новогоднего NUCо-конкурса Intel.
Возникла необходимость создания портативного приемопередатчика, предназначенного для цифровой обработки и формирования ВЧ сигналов в реальном времени, для обучения практикантов основам анализа спектра и цифровой обработке сигналов.
Вот как мы решили эту задачу.
Одни из основных требований, предъявляемые к приемопередатчику:
— Программное обеспечение для работы с приемопередатчиком (пользовательский интерфейс) должен работать под управлением ОС Windows;
— Удаленное управление по сети (следует из первого пункта).
— Портативность (возможность взять устройство домой);
За основу был взят SDR-трансивер USRP B200 от Ettus Research. По своим радиочастотным параметрам он нам полностью подошел, и, что самое главное, он у нас был и не один.
Однако, с его применением возникли несколько неприятных проблем:
- Софт, который работает с этим трансивером под Windows, либо платный, либо неудобный, либо его невозможно доработать под собственные нужды.
- Софт, который нас полностью устраивает (конкретно, GNU Radio) АДЕКВАТНО работает только под LINUX.
- Сам трансивер имеет интерфейс управления USB 3.0, что лишает возможности удаленного управления. Конечно, можно приобрести и сетевую версию трансивера, но приемники-то уже есть.
Итак, поразмыслив немного, было принято решение использовать мини-ПК с установленной Ubuntu и GNU Radio, на котором будет осуществляться непосредственно обработка данных с трансивера. Пользовательский интерфейс будет работать под Windows с удаленным управлением и получением обработанных данных по сети.
Требования к мини-ПК:
— Наличие USB 3.0 для связи с трансивером;
— Сеть 1 Гб/с, на случай если возникнет необходимость передавать сырые данные с трансивера;
— Габаритные размеры
Одноплатники на базе ARM отбросили сразу, не в каждом магазине их можно найти (необходимо заказывать), да и не хотелось связываться с ARM, т.к. уже имелись наработки с х86.
Подумав, выбрали Intel NUC NUC6CAYH (цена на момент покупки ~ 10 т.р). Докупив 4 Gb RAM, SSD на 60 Gb, мы получили полноценный ПК.
Чтобы не бояться убить приёмник решено сразу разместить всё в корпусе. Под рукой оказался кейс Explorer 2712. Да еще и ударопрочный!
Сборка макетного образца:
Intel NUC NUC6CAYH пришлось освободить от корпуса для удобства монтажа на несущую пластину, и чтобы занимал меньше места.
Кабельные сборки с SMA на N-типа, а также разъем питания, светодиод, кнопку и разъем RJ-45, выходящие наружу, пришлось докупать. Монтажная пластина выполнена методом лазерной резки. Блок питания, идущий в комплекте с Intel NUC пришлось немного доработать, чтобы разместить внутри кейса.
И вот что получилось:
Спектр решаемых задач полученного приемопередатчика достаточно большой.
При работе по VNC доступно:
— GNU Radio (для разработки потоковых графов);
— gr-fosphor (RTSA-spectrum);
— gqrx (SDR-receiver);
При работе по SSH доступно удаленное управление:
— YateBTS;
— GNU Radio (для запуска скомпилированных скриптов);
— наборами утилит для захвата сырых данных с приемника.
Заключение
На фото представлен макетный образец, разработанный еще в 2018 году. На данный момент успешно функционирует уже несколько таких приемопередатчиков (Фото остальных, к сожалению, нет). В будущем планируется разработка приемопередатчика с автономным питанием от АКБ, что не грозит большими проблемами, т.к. заявленная расчетная мощность Intel NUC NUC6CAYH составляет всего 10 Вт при напряжении питания 12–19 В.
Разработчики: Дмитрий Сергеев aka dimserg92 и Александр Шкарлатов aka CrazyAlex25.