Реализация программно-определяемого радиоприемника на базе программируемых логических интегральных схем

Автор: Жигулин В.А., Пешков И.В., Фортунова Н.А.

Журнал: Огарёв-online @ogarev-online

Статья в выпуске: 13 т.10, 2022 года.

Бесплатный доступ

В работе осуществлен выбор программируемых интегральных логических схем для создания программно-определяемой радиосистемы, ее моделирование. Осуществлена симуляция работы модели квадратурного демодулятора на ПЛИС и проверка его работы в режиме FPGA-in-the-loop.

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

Короткий адрес: https://sciup.org/147250166

IDR: 147250166

Текст научной статьи Реализация программно-определяемого радиоприемника на базе программируемых логических интегральных схем

Одним из перспективных направлений в области радиосвязи является разработка оборудования на базе технологии SDR (Soft-Defined Radio). Сегодня как программное, так и аппаратное обеспечение SDR доступны по очень низким ценам (фактически, большинство программных реализаций бесплатны), что заставляет задуматься о внедрении данной технологии в радиорешениях. В наше время можно без труда приобрести SDR-радиосистемы: и с возможностью приема, и с возможностью передачи. Перечень наиболее популярных устройств SDR приведен в таблице 1.

Таблица 1

Перечень наиболее популярных SDR-устройств

Наименование устройства

Мин. частота, MHz

Макс. частота, MHz

Пропускная способность, MHz

Разрядность

АЦР, bit

Поддерживает ли передачу

RTL-SDR 2831

24

1766

3,2

8

Нет

Funcube Pro

64

1700

0,096

16

Нет

Продолжение таблицы 1

Наименование устройства

Мин. частота, MHz

Макс. частота, MHz

Пропускная способность, MHz

Разрядность

АЦР, bit

Поддерживает ли передачу

Funcube Pro+

410

2050

0,192

16

Нет

Hack RF one

30

6000

20

8

Да

BladeRF

300

3800

40

12

Да

USRP 1

10

6000

64

12

Да

MatchStiq

300

3800

28

12

Да

Список программного обеспечения для работы SDR-устройств так же достаточно велик: GNU Radio, Flex-Radio SDR-1000, Tsao, SDR Framework, High Performance SDR, HYDRA, Microsoft Research Software Radio (Sora). Большинство из вышеперечисленного программного обеспечения является свободно распространяемым.

Идеальное программно-определяемое радио представляется так: физическими компонентами является только антенна и аналого-цифровой преобразователь на стороне приемника. Точно так же передатчик будет иметь цифро-аналоговый преобразователь и передающую антенну. Остальные функции будут выполняться перепрограммируемыми процессорами.

Поскольку идея, зародившаяся в 1990-х годах, все еще недостижима, а резкого скачка, скорее всего, не произойдет в ближайшее время, термин SDR используется для описания жизнеспособного устройства, которое в первую очередь определяется программным обеспечением, но включает в себя немалое количество аппаратных компонентов. Даже с этими компонентами приемник SDR сильно отличается от традиционного приемника.

Структурная схема квадратурного демодулятора, реализованного в цифровом виде, приведена на рисунке 1.

Рис. 1. Структурная схема квадратурного демодулятора.

Для создания модели квадратурного демодулятора была выбрана полнофункциональная отладочная платформа на базе ПЛИС Atlys Spartan 6 XC6SLX45 от Xilinx, предназначенная для создания высокоскоростных и высоконадежных цифровых устройств. Визуальное моделирование осуществлялось с помощью системы Simulink из программного комплекса Matlab. Выбор был сделан в сторону этого программного обеспечения по нескольким причинам: большое количество модулей для проектирования; данное программное обеспечение хорошо документировано; возможность генерации HDL-кода для программирования ПЛИС и др. В качестве примера реализации, программноопределяемого радио на ПЛИС разработана модель квадратурного демодулятора с последующей генерацией HDL-кода и программированием платы ПЛИС при помощи полученного кода. В качестве источника сигнала для демодулятора выступает сгенерированный в среде Simulink дискретный АМ-сигнал. Для этого была создана модель генератором АМ-сигнала. Модель создавалась из базовых элементов библиотеки Simulink.

Модель квадратурного демодулятора имеет два входа и один выход. На один вход подается модулированный сигнал, на другой вход подается сигнал на несущей частоте. На выходе получается демодулированный сигнал. Для построения модели квадратурного демодулятора в Simulink используются базовые элементы. Это необходимо для более гибкой оптимизации модели под плату ПЛИС.

В качестве сигнала несущей частоты используется синусоида с частотой 1 кГц, а в качестве передаваемого сигнала – синусоида с частотой 10 Гц. Частота дискретизации должна быть минимум в два раза больше частоты передаваемого сигнала. Частоты дискретизации возьмем с запасом 500 Гц, а частоту среза немного больше частоты передаваемого сигнала.

Представленная модель работает с переменными типа double. Но ПЛИС не работают с целочисленными переменными, поэтому необходимо подобрать и настроить переменные с плавающей точкой. С использованием инструмента Float-point Tool создан Subsystem-элемент, переименованный затем в Demodulation для более точной идентификации. Для вызова инструмента Float-point Tool необходимо на ранее созданном элементе вызвать контекстное меню и выбрать Float-point Tool. Откроется окно инструмента (рис. 2).

Инструмент Float-point Tool проверяет все переменные в модели и предлагает подходящие, но уже с плавающей точкой. По завершению работы инструмента остается согласиться с предложенными типами данных. Такие инструменты в составе Simulink значительно упрощают и ускоряют разработку моделей. Протестируем модель с данными типа float-point. Запустив модель на выполнение, убеждаемся в том, что результаты симуляции не изменились.

Рис. 2. Вид окна инструмента Float-point Tool.

Для генерации HDL-кода для ПЛИС воспользуемся инструментом HDL Workflow Advisor. После завершения генерации HDL-кода будет сформирован отчет, в котором можно посмотреть различную информацию, в том числе и сам HDL-код. Нас же больше интересует отчет о требующихся ресурсах и производительности (рис. 3).

Рис. 3. Отчет о генерации HDL-кода.

После проведенного анализа отчета (рис. 4) удалось определить, что большее количество ресурсов затрачивается на реализацию элементов FIR Decimiation. Для реализации одного такого элемента необходимо 414 мультиплексоров, а это самый ресурсоемкий элемент ПЛИС. Производим замену на базовые элементы.

Рис. 4. Анализ отчета о генерации HDL-кода.

После настройки и сборки бинарного файла для ПЛИС с использованием технологии FPGA-in-the-loop получена копия проекта, размещаем в него созданный для Simulink-модуль FPGA-in-the-loop. Результат выполнения симуляции представлен на рисунке 5.

Как видно, форма сигнала при помощи квадратурного демодулятора, реализованного на ПЛИС, была полностью восстановлена.

Таким образом, была реализована модель квадратурного демодулятора на ПЛИС и осуществлена проверка его работы в режиме FPGA-in-the-loop. Также мастером генерации проекта в Matlab была сгенерирована принципиальная схема демодулятора с возможностью просмотра схемотехники каждого модуля.

Исходя из вышесказанного, можно сделать следующие выводы. Для реализации программно-определяемого радио на ПЛИС необходимо следовать следующему алгоритму.

  • 1.    Разработать модель предполагаемого устройства.

  • 2.    Подобрать типы переменных.

  • 3.    Произвести генерацию и оптимизацию HDL-кода.

  • 4.    Произвести настройку и сборку бинарного файла для программирования ПЛИС.

Рис. 5. Результаты запуска симуляции с использованием FPGA-in-the-Loop: а – модулированный сигнал, б – сигнал несущей частоты, в – передаваемый сигнал, г – демодулированный сигнал.

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

Список литературы Реализация программно-определяемого радиоприемника на базе программируемых логических интегральных схем

  • Воробьев С. Н. Цифровая обработка сигналов: учебник. - М.: Академия, 2013. - 464 c.
  • Дьяконов В. П. MATLAB и SIMULINK для радиоинженеров. - М.: ДМК Пресс, 2011. - 976 с.
  • Силин А. В. Технология Software Defined Radio. Теория, принципы и примеры аппаратных платформ // Технологии и стандарты. - 2007. - Вып. 2. - С. 22-27.
  • Тарасов И. Разработка цифровых систем на базе FPGA Xilinx начального уровня // Компоненты и технологии. - 2015. - № 3 (164). - С. 56-62. EDN: TIXNBF
Статья научная