Устройство для испытаний программно определяемой радиосистемы с элементами искусственного интеллекта

Полезная модель относится к области электротехники, в частности к устройству сети переключения сигналов - передачи данных, сети коммуникаций, а также к системам радиосвязи с управлением передачей и машинным обучением.
Программно-определяемая радиосистема (далее - SDR, от англ. Software Defined Radio) реализует большинство своих функций, используя программное обеспечение, работающее на стандартном оборудовании [1]. Поскольку SDR проще проектировать, внедрять и поддерживать, она дешевле по сравнению с радиооборудованием с большим количеством аппаратных средств. Кроме того, SDR позволяет использовать радиоустройства аналогично тому, как это делают персональные компьютеры, где пользователь покупает универсальное оборудование и устанавливает соответствующее программное обеспечение для выполнения желаемой операции.
Когда SDR может самостоятельно выбирать свои параметры, это называется когнитивным радио (далее - CR, от англ. Cognitive Radio) [2]. CR использует искусственный интеллект (далее - AI от англ. Artificial Intelligence) для динамического управления своими параметрами. В настоящее время CR в основном применяется в системах беспроводной связи на основе динамического доступа к спектру (далее - DSA от англ. Dynamic Spectrum Access).
Обычно система радиочастотного приемопередатчика состоит из одного или нескольких аналого-цифровых преобразователей (АЦП, англ. ADC), одного или несколько цифроаналоговых преобразователей (ЦАП, англ. DAC) и аппаратных компонентов цифровой обработки сигнала (ЦОС). Цифровую обработку сигнала реализуют на программируемых логических интегральных схемах (ПЛИС, или англ. FPGA - Field Programmable Gate Array), однако, в некоторых системах используются многоядерные процессоры, позволяющие системе управлять оцифрованными данными с помощью программных библиотек, тем самым сокращая время разработки по сравнению с реализациями на FPGA. Пропускная способность алгоритмов ЦОС и машинного обучения (далее - ML, от англ. Machine Learning) ограничена количеством параллельно исполняемых потоков операций в системе [4].
Программно определяемая радиосистема может включать в себя радиочастотный интерфейс, подключенный к высокопроизводительному вычислительному процессору, состоящему из центрального процессора (CPU), графического процессора (GPU) и разделяемой памяти между CPU и GPU [4, 5].
Программно-конфигурируемая радиосистема может включать в себя блок обработки сигналов между радиочастотным интерфейсом и высокопроизводительным вычислительным процессором [5].
Кроме того, программно определяемая радиосистема может быть сконфигурирована для создания кольцевого буфера в разделяемой памяти между CPU и GPU и напрямую хранить данные цифрового сигнала в кольцевом буфере [4].
В системах AI универсальные алгоритмы машинного обучения обучаются для получения желаемого эффекта путем изменения различных весов, смещений и других переменных [3].
Этот процесс обучения выполняется путем подачи обучающих данных через алгоритм машинного обучения, оценки того, как результат работы алгоритма отличается от желаемого результата и на основании этой оценки осуществляются изменения весов, смещений и других переменных для минимизации этой ошибки, тем самым делая алгоритм более точным. Алгоритм ML дополнительно обучается путем повторения этого процесса до тех пор, пока результат работы алгоритма не станет почти идентичным желаемому результату. После того, как алгоритм обучен, его можно развернуть в программно определяемой радиосистеме. Этот процесс называется "инференсом". Алгоритмы машинного обучения обладают высокой степенью распараллеливания, и поэтому универсальный графический процессор значительно сокращает время выполнения процессов обучения и вывода, позволяя при этом использовать преимущества высоко адаптируемой природы SDR.
Набор данных, используемых для обработки алгоритмами машинного обучения, называется датасетом. Такие выборки нужны для обучения нейронных сетей, чтобы в дальнейшем использовать нейронные сети для решения реальных задач.
Датасет, используемый для машинного обучения, обычно представляет собой структурированную информацию, представленную в табличном виде. Одним из типичных типов задач для нейронной сети являются задачи классификации. Для них наиболее удобно признаковое описание. Выборка (обучающий датасет) представляет собой конечное множество объектов, для которых заранее известно к каким классам они принадлежат. Классовая принадлежность всех остальных объектов должна быть распознана нейросетью. Машинное обучение состоит в построении модели, которая будет способна классифицировать произвольный объект из исходного множества наиболее быстрым и точным образом [3, 23].
В контексте данной заявки SDR с элементами AI понимается как самоуправляемая система связи с переменным расположением приемопередатчиков, каждый из которых характеризуется вектором параметров: несущая частота, полоса пропускания и тип модуляции. С одной стороны, SDR собирает и анализирует компоненты сигнала, а с другой стороны, AI обрабатывает ситуацию в последовательности в реальном времени после обнаружения нежелательных данных на этапе мониторинга. Согласно данным [23] при таком подходе коэффициент связности и зона покрытия оптимизируются почти в два раза.
В устройстве-прототипе, описанном в патентной публикации США [4], функционально выделяют следующие подсистемы: подсистема радиочастоты и подсистема гетерогенного процессора. Подсистема радиочастоты состоит из блока радиочастоты, блока цифровой обработки сигнала, блока синхронизации, блока хранения данных. Подсистема гетерогенного процессора включает в себя блок графического процессора, разделяемую память, процессоры общего назначения, блок радиопередачи. Подсистема гетерогенного процессора соединена с внешним интерфейсом, кроме того к блоку графического процессора может быть подключен монитор.
Работает устройство прототип следующим образом: в блоке радиочастоты осуществляют прием радиосигнала от радиоантенны, его усиление посредством малошумящего усилителя, аналоговую обработку сигнала, перевод сигнала в цифровую форму посредством аналого-цифрового преобразователя. В блоке цифровой обработки сигнала осуществляют цифровую фильтрацию сигнала, демодуляцию сигнала и его декодирование, также выполняют контроль оставшихся ошибок посредством циклической контрольной суммы. Кроме того, здесь отдельные выборки из потока данных могут быть объединены в пакеты (пакетирование). Блок цифровой обработки сигналов получает сигналы синхронизации от блока синхронизации. Блок цифровой обработки сигналов отправляет дискретизированные сигналы в блок хранения данных для записи на диск, и параллельно отправляет те же данные в разделяемую память. Блок радиочастоты получает опорную частоту от блока синхронизации и управляется блоком радиопередачи. Блок радиопередачи выполнен на подсистеме гетерогенного процессора. На подсистеме гетерогенного процессора реализуют алгоритм машинного обучения, при этом цифровые данные могут быть сохранены и использованы для последующего дообучения нейронной сети, а также для формирования сигнала обратной связи, который формируют в блоке радиопередачи совместно с исходящими пакетами данных, для которых выполняют кодирование и модуляцию передают в блок радиочастоты, где осуществляют цифроаналоговое преобразование и модуляцию высокочастотных несущих информационным сигналом с последующей передачей по беспроводному каналу.
Устройство прототип функционально является радиопередатчиком с элементами искусственного интеллекта и используется для применения алгоритмов машинного обучения в цифровой обработке данных, например, для определения модуляции радиосигнала. Точность определения модуляции, полученная в виде отношения правильных ответов к полному числу попыток, является финальной оценкой качества обучения алгоритма. Обычно для получения точной оценки требуется длительный процесс обучения алгоритма.
Запуск нейронной сети на платформе FPGA может быть осуществлен посредством специализированного программного обеспечения (IP блока, от англ. Intellectual Property), поставляемого производителем: ускорителя вывода нейронных сетей.
У устройства-прототипа присутствуют следующие недостатки: отсутствие возможности кооперативной работы нескольких подобных устройств путем их объединения в сеть, отсутствие функций радиоразведки и радиопротиводействия, весьма ограниченные возможности для проведения машинного обучения на устройстве и запуска нейронных сетей на платформе FPGA, которая используется только для обработки сигнала.
Задача, на решение которой направлена заявляемая полезная модель - добавление в радиосистему функции работы нескольких устройств в составе коммуникационной радиосети, функции обнаружения и выделения признаков источников радиоизлучения, а также ускорение процесса машинного обучения для повышения эффективности испытаний новых функций в программно определяемой радиосистеме с элементами искусственного интеллекта. Для каждой из этих функций ключевым является точность и скорость выдачи ответа (оценки) по классификации части спектра сигнала нейронной сетью [22, 23].
Все три введенные новые функции позволяют замкнуть классический цикл системы с искусственным интеллектом: наблюдение - анализ - реагирование [24], чего не сделано в прототипе, который является спектроанализатором на нейронных сетях.
Технический результат достигается за счет добавления в конструкцию предлагаемого устройства подсистемы сопроцессора и возможностью запуска дополнительных нейронных сетей на платформе FPGA посредством ускорителя вывода нейронных сетей, а также одновременного запуска нейронных сетей с различной архитектурой на разнородных платформах (GPU и FPGA), повышая тем самым точность финальной оценки работы устройства и ускоряя получение такой оценки.
Предлагаемое устройство для испытаний программно определяемой радиосистемы с элементами искусственного интеллекта состоит из следующих подсистем: подсистема радиочастоты, подсистема гетерогенного процессора, внешнего интерфейса, отличающееся тем, что включает в себя подсистему сопроцессора. Подсистема радиочастоты, как и в прототипе, состоит из блоков радиочастоты, блока цифровой обработки сигнала, блока синхронизации, блока хранения данных. Подсистема гетерогенного процессора, как и в прототипе, включает в себя блок графического процессора, разделяемую память, процессоры общего назначения, блок радиопередачи.
Блок-схема устройства для испытаний программно определяемой радиосистемы с элементами искусственного интеллекта изображена на фиг. 1. Штриховыми линиями показаны границы подсистем.
На фиг. 1 приняты следующие обозначения:
1 - подсистема радиочастоты;
2 - подсистема гетерогенного процессора;
3 - подсистема сопроцессора;
4 - блок радиочастоты;
5 - блок хранения данных
6 - блок цифровой обработки сигнала;
7 - блок синхронизации;
8.1 - 8.N - N процессоров общего назначения;
9 - разделяемая память;
10 - блок графического процессора;
11 - блок радиопередачи;
12 - блок динамической беспроводной маршрутизации;
13 - блок обнаружения источников радиоизлучения;
14 - блок выделения признаков;
15 - внешний интерфейс.
В части подсистем радиочастоты и гетерогенного процессора связи между блоками аналогичны связям в прототипе, то есть:
- вход-выход блока радиочастоты соединен с входом-выходом блока цифровой обработки сигнала;
- вход-выход блока цифровой обработки сигнала соединен с входом-выходом блока хранения данных;
- вход-выход блока цифровой обработки сигнала соединен с входом-выходом блока радиопередачи;
- выход блока синхронизации соединен с входом блока радиочастоты;
- выход блока синхронизации соединен с входом блока цифровой обработки сигнала;
- выход блока радиопередачи подсистемы гетерогенного процессора соединен с входом блока радиочастоты;
- выход блока цифровой обработки сигнала соединен с входом разделяемой памяти подсистемы гетерогенного процессора;
- N входов-выходов разделяемой памяти соединены с входами-выходами N процессоров общего назначения;
- N+1 вход-выход разделяемой памяти соединен с входом-выходом блока графического процессора;
- вход-выход блока радиопередачи соединен с входом-выходом блока синхронизации;
- вход-выход внешнего интерфейса соединен с входом-выходом подсистемы гетерогенного процессора.
Подсистема сопроцессора включает в себя блок динамической беспроводной маршрутизации, а также блок обнаружения источников радиоизлучения и блок выделения признаков, вся подсистема является новой по сравнению с прототипом. При этом с появлением в устройстве подсистемы сопроцессора в устройстве появились дополнительные связи: вход-выход блока радиопередачи связан с входом-выходом блока динамической беспроводной маршрутизации, с входом-выходом блока обнаружения источников радиоизлучения и с входом-выходом блока выделения признаков, в свою очередь, вход-выход блока динамической беспроводной маршрутизации соединен с входом-выходом блока обнаружения источников радиоизлучения, вход-выход блока обнаружения источников радиоизлучения соединен с входом-выходом блока выделения признаков, кроме того, выход разделяемой памяти подсистемы гетерогенного процессора соединен с входом блока динамической беспроводной маршрутизации, с входом блока обнаружения источников радиоизлучения и с входом блока выделения признаков.
Сопоставительный анализ заявляемого устройства с прототипом показывает, что предлагаемое решение существенно отличается от прототипа, так как позволяет ускорить процесс машинного обучения для повышения эффективности испытаний новых функций в программно определяемой радиосистеме с элементами искусственного интеллекта за счет одновременного запуска нейронных сетей с различной архитектурой на разнородных платформах (GPU и FPGA), повышая тем самым точность финальной оценки и ускоряя ее получение, например, способом, показанным в [18].
Работает предлагаемое устройство следующим образом: в блоке радиочастоты 4 осуществляют прием радиосигнала посредством радио антенны (на фиг. 1 не показана), его усиление посредством малошумящего усилителя, аналоговую фильтрацию и перенос сигнала на нулевую частоту, получая при этом видеосигнал, который переводят в цифровую форму посредством аналого-цифрового преобразователя. В блоке цифровой обработки сигнала 6 осуществляют цифровую фильтрацию сигнала, демодуляцию сигнала и его декодирование, также выполняют контроль оставшихся ошибок посредством циклической контрольной суммы. Кроме того, здесь отдельные выборки из потока данных могут быть объединены в пакеты (пакетирование). Блок цифровой обработки сигналов 6 получает сигналы синхронизации от блока синхронизации 7. Блок цифровой обработки сигналов 6 отправляет дискретизированные сигналы в блок хранения данных 5 для записи на диск, и параллельно отправляет те же данные в разделяемую память 9. Блок радиочастоты 4 получает опорную частоту от блока синхронизации 7 и управляется блоком радиопередачи 11. Блок радиопередачи 11 выполнен на подсистеме гетерогенного процессора 2. На подсистеме гетерогенного процессора 2 реализуют алгоритм машинного обучения, используя, в том числе, процессоры общего назначения 8.1…8.N, при этом цифровые данные могут быть сохранены в блоке разделяемой памяти 9 и использованы для последующего дообучения нейронной сети, а также для формирования сигнала обратной связи, который формируют в блоке радиопередачи 11 совместно с исходящими пакетами данных, для которых выполняют кодирование и модуляцию передают в блок радиочастоты 4, где осуществляют цифроаналоговое преобразование и модуляцию высокочастотных несущих информационным сигналом с последующей передачей по беспроводному каналу.
Блок обнаружения источников радиоизлучения 13 выполняет следующие функции:
- определение пространственного положения источников радиоизлучения путем анализа корреляционной матрицы принятых сигналов [19];
- формирование сигнала запроса к источникам радиоизлучения с целью получить ответный опознавательный сигнал (система «свой-чужой») [20].
Блок выделения признаков 14 формирует список следующих признаков:
- установление факта наличия энергии на анализируемом участке спектра;
- определение циклостационарных признаков радиосигналов (периодичность автокорреляцинной функции радиосигнала);
- определение количества источников радиоизлучения на анализируемом участке спектра в течение определенного времени.
Источники радиоизлучения, опознанные как «свои» становятся, абонентами коммуникационной радиосети, каждый из которых может являться источником радиосообщений, ретранслятором радиосообщений и приемником радиосообщений. Каждый временной интервал источник может динамически выбирать между несколькими возможными схемами кодирования-модуляции на основе состояния канала, типа передаваемого трафика и наличия очереди радиосообщений к передаче. Например, источник может выбирать между прямым маршрутом к месту назначения и схемой с ретрансляцией. Очевидно, что из-за различий в достигнутой производительности, а также ресурсов, используемых каждой схемой, отправитель может выбрать наиболее подходящую схему на основе своего статуса [21]. На основе полученного списка в блоке динамической беспроводной маршрутизации 12 формируется таблица маршрутизации для своей коммуникационной радиосети и могут формироваться сигналы радиоподавления для "чужих" источников радиоизлучения, если это целесообразно.
Наличие блока выделения признаков 14, блока определения источников радиоизлучения 13 и блока динамической беспроводной маршрутизации 12 позволяет наблюдать за радиообстановкой и реализовать функции радиоразведки, повысить отказоустойчивость и скрытность связи.
Предлагаемое устройство может быть реализовано на следующих компонентах:
- приемопередатчик LimeSDR [6]: подсистема радиочастоты;
- платформа Jetson AGX Xavier [7]: подсистема гетерогенного процессора;
- сопроцессор на базе Xilinx Alveo U50 [8]: подсистема сопроцессора.
Платформа Jetson AGX Xavier эффективна для инференса нейронных сетей и алгоритмов машинного обучения [9].
Сопроцессор на базе Xilinx Alveo U50, помимо того, что является ПЛИС, так же может быть использован для инференса нейронных сетей или для программирования на языке программирования высокого уровня С, С++, OpenCL, RTL в среде SDAccel [10].
Приемопередатчик LimeSDR подключают к платформе Jetson AGX Xavier по интерфейсу USB-3, а сопроцессор на базе Xilinx Alveo U50 по интерфейсу PCIe Gen3.0 х8, что позволяют реализовать высокоскоростной обмен данными между компонентами, на которых реализованы функциональные блоки, что позволяет говорить о физической реализуемости предлагаемого устройства.
Предлагаемое устройство позволяет осуществлять параллельный вывод (запуск) двух нейросетей на двух независимых ускорителях, в отличии от прототипа, так как в прототипе отсутствует специальный ускоритель вывода нейронных сетей Xilinx DPU на Alveo U50 [12], который являясь IP ядром (от анг. IP-Core), реализует инференс нейронной сети в FPGA.
Первый - графический ускоритель (или специальный укоритель вывода нейронных сетей NVDLA [11]) на Jetson AGX Xavier. Второй - специальный ускоритель вывода нейронных сетей Xilinx DPU на Alveo U50 [12]. Параллельный запуск для решения одной и той же задачи, например, распознавания сигналов, двух нейросетей, но с различной архитектурой, например, yolo [13] и ssd [14] на двух ускорителях позволяет принимать финальное решение на основе двух независимых источников данных, повышая тем самым итоговую точность.
Наличие в составе предлагаемого устройства Alveo и его ускорителя нейронных сетей DPU (от анг. Data Processing Unit) позволяет построить более гибкую систему, так как DPU является soft ядром, реализуемым на программируемой логике FPGA [12] (стр. 4, табл.IP Facts (Provided with Core - Encrypted RTL)). Однако фиксированные ускорители искусственного интеллекта, такие как графические процессоры и ASIC, с трудом соответствуют реальной производительности из-за возрастающей сложности сетевых уровней, межуровневого потока данных и более низкой смешанной точности. Программируемые устройства FPGA могут реализовывать различные доменные архитектуры для оптимизации различных нейронных сетей [15].
Как известно, программное обеспечение развивается быстрее, чем аппаратное обеспечение. Постоянно появляются новые архитектуры нейросетей или вводятся дополнительные слои нейросети, которые позволяют повысить итоговую производительность и точность. Но зачастую нативные компиляторы - ПО, которое переводит реализацию нейросети с языков высокого уровня (например, С или Python) в машинный код аппаратуры - производителей аппаратуры, не всегда оперативно добавляет поддержку выполнения новых слоев на нативной аппаратуре [17]. Например, при появлении нового слоя, который не поддерживается нативным компилятором нейросети для Jetson AGX Xavier, этот слой будет выполняться на CPU вместо GPU/NVDLA, что приведет к существенной потере производительности. Наличие в составе предлагаемого устройства Alveo U50 и его ускорителя нейронных сетей DPU позволяет самостоятельно реализовать новый слой нейросети в виде soft ядра [16], который будет работать совместно с основным ускорителем DPU. Таким образом, обеспечивается большая гибкость системы и совместимость с передовыми разработками нейросетей, не дожидаясь их официальной поддержки со стороны производителя аппаратуры.
В качестве примера тестирования предлагаемого устройства для испытаний программно определяемой радиосистемы с элементами искусственного интеллекта приведем результаты сравнения времени классификации спектрограмм с использованием платформы подсистемы гетерогенного процессора на базе Jetson AGX Xavier и сопроцессора на базе платформы Alveo U50. Устройство в режиме реального времени непрерывно сканирует радиоэфир в заданной полосе частот. Для графического отображения результатов анализа устройство подключают к монитору. В непрерывном режиме на монитор выводится спектрограмма. Также из выводимой спектрограммы формируют поток изображений, который обрабатывается нейросетью, которая развернута на базе Jetson AGX Xavier или на базе платформы Alveo U50. В непрерывном режиме на монитор выводится спектрограмма, на который накладывается информация, полученная нейросетью по результатам анализа радиоэфира.
Задача классификации изображений (спектрограмм) в обоих случаях осуществлялась с помощью нейросети ResNet-50 при достижении точности 99% была достигнута производительность 1670 кадров (изображений) в секунду на платформе Alveo U50, а на платформе Jetson AGX Xavier эта же сеть давала прозводительность 1611 изображений при упаковке изображений в пакеты по 128 штук, что приводило к дополнительной задержке в 78,5 мс. Таким образом, применение в составе устройства платформы Alveo U50 позволит разгрузить платформу Jetson AGX Xavier для выполнения других задач, например, для дообучения нейронной сети только что полученными данными. Таким образом, полученное ускорение обработки может ускорить принятия адекватного решения, например, реконфигурацию коммуникационной сети.
Источники информации.
1. Mitola, Software radios-Survey, Критическая оценка и будущие направления, 1993.
2. Mitola, Cognitive Radio: An Integrated Agent Architecture for Software Defined Radio, 2000.
3. Ян Лекун, Йошуа Бенжио, Джеффри Хинтон, Deep Learning, Nature, 521, 436-444 (2015).
4. Патентная публикация США US 20190171965 A1. Artificial intelligence radio transceiver. John D. Ferguson, JR. William M. Kirschner. Peter E. Witkowski.
5. Патентная публикация США US 10841810 B2. Placement and scheduling of radio signal processing dataflow operations. Timothy James O'Shea.
6. LimeSDR. Источник: https://limemicro.com/products/boards/limesdr/
7. https://www.nvidia.com/ru-ru/autonomous-machines/embedded-systems/jetson-agx-xavier/
8. Xilinx Alveo U50 - новый ускоритель для ЦОД. Источник: https://fpga.su/2020/07/xilinx-alveo-u50/
9. Mittal S. A Survey on optimized implementation of deep learning models on the NVIDIA Jetson platform // Journal of Systems Architecture. -2019.-T. 97.-C. 428-442.
10. Alveo U50 Data Center Accelerator Card Источник: https://www.xilinx.com/products/boards-and-kits/alveo/u50.html
11. The NVIDIA Deep Learning Accelerator (NVDLA). Источник: http://nvdla.org/
12. DPUCAHX8H for Convolutional Neural Networks Источник: http://xilinx.eetrend.com/files/2021-08/wen_zhang_/100553088-217819-pg367-dpucahx8h.pdf.
13. YOLO9000: Better, Faster, Stronger. Источник: https://arxiv.org/pdf71612.08242.pdf.
14. Liu W. et al. Ssd: Single shot multibox detector //European conference on computer vision. - Springer, Cham, 2016. C. 21-37.
15. Optimization for Depth-Wise Convolution on Xilinx Devices. Источник: https://www.xilinx.com/support/documentation/white_papers/wp522-depth-wise-conversion.pdf.
16. Accelerating DNNs with Xilinx Alveo Accelerator Cards Источник: https://www.xilinx.com/content/dam/xilinx/support/documentation/white _papers/wp504-accel-dnns.pdf.
17. Nvidia Tensorrt Documentation. Layers and Features Источник: https://docs.nvidia.com/deeplearning/tensorrt/support-matrix/index.html#layers-matrix
18. Carballo-Hernandez W., Pelcat M., Berry F. Why is FPGA-GPU Heterogeneity the Best Option for Embedded Deep Neural Networks?//arXiv preprint arXiv:2102.01343. - 2021.
19. Куликов Е.И., Трифонов А.П. Оценка параметров сигналов на фоне помех. М.: Сов.радио, 1978. 296 с.
20. Пахомова А. ФИЗИЧЕСКИЕ ОСНОВЫ ЗАЩИТЫ ИНФОРМАЦИИ. - 2015. Режим доступа https://cchgeu.ru/upload/iblock/f53/pakhomova fizicheskie-osnovy-zashchity-informatsii.pdf.
21. Cohen A. et al. Optimal Dynamic Routing for the Wireless Relay Channel //arXiv preprint arXiv: 1601.06859. - 2016.
22. Bargarai F. et al. Management of wireless communication systems using artificial intelligence-based software defined radio. - 2020.
23. Brownlee J. Better deep learning: train faster, reduce overfitting, and make better predictions. - Machine Learning Mastery, 2018.
24. Siegel M. The sense-think-act paradigm revisited //1st International Workshop on Robotic Sensing, 2003. ROSE'03. - IEEE, 2003. - C. 5 pp.