company_banner

Intel NUC для управления и анализа данных с SDR приемника

    Пост-призер новогоднего NUCо-конкурса Intel.


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


    image


    Одни из основных требований, предъявляемые к приемопередатчику:


    • программное обеспечение для работы с приемопередатчиком (пользовательский интерфейс) должен работать под управлением ОС Windows;
    • удаленное управление по сети (следует из первого пункта);
    • портативность (возможность взять устройство домой).

    За основу был взят SDR-трансивер USRP B200 от Ettus Research. По своим радиочастотным параметрам он нам полностью подошел, и, что самое главное, он у нас был и не один.


    image


    Однако, с его применением возникли несколько неприятных проблем:


    1. Софт, который работает с этим трансивером под Windows, либо платный, либо неудобный, либо его невозможно доработать под собственные нужды.
    2. Софт, который нас полностью устраивает (конкретно, GNU Radio) АДЕКВАТНО работает только под LINUX.
    3. Сам трансивер имеет интерфейс управления USB 3.0, что лишает возможности удаленного управления. Конечно, можно приобрести и сетевую версию трансивера, но приемники-то уже есть.

    Итак, поразмыслив немного, было принято решение использовать мини-ПК с установленной Ubuntu и GNU Radio, на котором будет осуществляться непосредственно обработка данных с трансивера. Пользовательский интерфейс будет работать под Windows с удаленным управлением и получением обработанных данных по сети.


    image


    Требования к мини-ПК:


    • наличие USB 3.0 для связи с трансивером;
    • сеть 1 Гб/с, на случай если возникнет необходимость передавать сырые данные с трансивера;
    • габаритные размеры.

    Одноплатники на базе ARM отбросили сразу, не в каждом магазине их можно найти (необходимо заказывать), да и не хотелось связываться с ARM, т.к. уже имелись наработки с х86.

    Подумав, выбрали Intel NUC NUC6CAYH (цена на момент покупки ~ 10 т.р). Докупив 4 Gb RAM, SSD на 60 Gb, мы получили полноценный ПК.


    image


    Чтобы не бояться убить приёмник решено сразу разместить всё в корпусе. Под рукой оказался кейс Explorer 2712. Да еще и ударопрочный!


    image


    Сборка макетного образца:


    image


    Intel NUC NUC6CAYH пришлось освободить от корпуса для удобства монтажа на несущую пластину, и чтобы занимал меньше места.


    Больше фото

    image


    image


    image


    image


    image


    Кабельные сборки с SMA на N-типа, а также разъем питания, светодиод, кнопку и разъем RJ-45, выходящие наружу, пришлось докупать. Монтажная пластина выполнена методом лазерной резки. Блок питания, идущий в комплекте с Intel NUC пришлось немного доработать, чтобы разместить внутри кейса.


    И вот что получилось:


    image


    image


    Спектр решаемых задач полученного приемопередатчика достаточно большой.


    При работе по 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.

    Intel
    Компания

    Похожие публикации

    Комментарии 8

      +5

      Ребят, чет совсем не густо: несколько фотографий и идея "мы скрутили NUC с SDR transceiver" на статью это очень мало.
      Что можно с этим сделать? Какие то клёвые проекты вроде реалтайм передачи HD видео по воздуху можно запустить на этом? Какие продукты вообще бывают, которые на такое способны? В общем "недожег или пережег это нарушение режима отжига" ©

        –2

        В первую очередь проект был создан для обучения основ цифровой обработки сигналов. Сам SDR способен на многое (как пример gr-fosphor (RTSA-spectrum)- реалтайм анализатор, yateBTS == fakeBTS). На что фантазии хватит в GNU Radio.

          +7
          Вот об этом и надо писать :) yateBTS, как поднять свою GSM сеть, как сделать p2p распределенную сеть без базовой станции вообще, помехоустойчивость и шифрование, вот это все!
            +3

            Статья про другое: как не дорого и быстро организовать тренажер для людей далеких от linux и всевозможных настроек софта. SDR позволяет сформировать любой сигнал, который можно исследовать на анализаторе. В GNURadio можно играться с параметрами сигнала и наглядно смотреть на что всё это влияет. Да даже просто записать сигнал автомобильного брелка и потом его воспроизвести уже вызывает интерес у людей. А учиться на AM\FM модуляции это скучно.


            С помощью gr-fosphor можно увидеть WiFi и LTE, увидеть на сколько коротки посылки. Не каждый анализатор спектра успеет зафиксировать это.


            А статей на тему "как поднять свою базовую станцию" и на хабре хватает, я ничего нового не расскажу.

              0
              Статья про другое: как не дорого и быстро организовать тренажер для людей далеких от linux и всевозможных настроек софта

              А где в статье про этот софт? Про компоновку железа в корпусе увидел, а что с софтом так и не понял.
              Да, и логику нам нужна винда поэтому автоматически нужно управление по сети совсем не понял. Не могли бы пояснить? Мне казалось логичным в случае винды иметь встроенный монитор.
                0

                Изначально монитор планировался. Но от него решили отказаться (монитор с сенсорным управлением дюймов на 7-10 стоит дорого). Так же рассматривался вариант с планшетом. В корпус всё это не влезает и изначально автономность не нужна.


                Да, и логику нам нужна винда поэтому автоматически нужно управление по сети совсем не понял
                Изначально хотели обойтись без дополнительного компьютера- пробовали использовать VirtualBox (неудачно, USB 3.0 отваливался).

                Поэтому эту роль выполняет NUC. На нём установлена Ubuntu 18.04 + набор софта (uhd-host, gnuradio, python, vnc-server, и тд...). Пользователи подключаются с виндовой машины к NUC по VNC (GUI) или ssh (CLI) и беспроблемно работают с ПО.


                Почему на самой винде не получилось: основным костяком системы является GNURadio. Есть сборки под винду. Но у нас периодически отваливался приемник, и поэтому приходилось убивать процесс через диспетчер. yateBTS существует только под linux (как впрочем и другие проекты по реализации BTS).

                  +1
                  Да, с тем, что мы не добавили описание используемого софта, действительно косяк. Спектр применения достаточно обширный получился, но относится это не к NUC-у, а конкретно к SDR железу, потому и «недожгли».
                  Необходимость винды основана на достаточно банальных причинах: Многие пользователи просто впадают в ступор при виде linux-а.
                  По поводу управления по сети: Проект создавался в том числе для обучения практикантов построению GSM сетей. Отсюда и управление по сети, для удаленного изменения конфигураций одной или нескольких территориально разнесенных базовых станций (Смены параметров MCC, MNC, ARFCN и т.д.).

                    0
                    «Многие пользователи просто впадают в ступор при виде linux-а»
                    Сейчас полно линуксов с гуем, идентичным разным поколениям винды.

        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

        Самое читаемое