Реализация программно-определяемого радиоприемника на базе программируемых логических интегральных схем
Автор: Жигулин В.А., Пешков И.В., Фортунова Н.А.
Журнал: Огарёв-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