Implementation of а software-defined radio receiver based on programmable logic integral circuits
- Authors: Peshkov I.V., Fortunova N.A., Zhigulin V.A.
- Issue: Vol 10, No 13 (2022)
- Section: Статьи
- Submitted: 11.12.2024
- Accepted: 11.12.2024
- URL: https://ogarev-online.ru/2311-2468/article/view/272751
- ID: 272751
Cite item
Full Text
Abstract
The study deals with the selection of programmable integrated logic circuits for creating a software-defined radio system and its modeling. The simulation of the quadrature demodulator model on the FPGA was carried out and its operation was verified in the FPGA-in-the- loop mode.
Keywords
Full Text
Одним из перспективных направлений в области радиосвязи является разработка оборудования на базе технологии 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 | Нет |
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 была сгенерирована принципиальная схема демодулятора с возможностью просмотра схемотехники каждого модуля.
Исходя из вышесказанного, можно сделать следующие выводы. Для реализации программно-определяемого радио на ПЛИС необходимо следовать следующему алгоритму.
- Разработать модель предполагаемого устройства.
- Подобрать типы переменных.
- Произвести генерацию и оптимизацию HDL-кода.
- Произвести настройку и сборку бинарного файла для программирования ПЛИС.
Рис. 5. Результаты запуска симуляции с использованием FPGA-in-the-Loop: а – модулированный сигнал, б – сигнал несущей частоты, в – передаваемый сигнал, г – демодулированный сигнал.
Полученные результаты позволяют сделать вывод, что для построения программно- определяемого радиоприемника на ПЛИС необходимо решить комплекс задач. Сложность реализации зависит не только от выбора программного обеспечения, но и от выбора используемой ПЛИС.
About the authors
I. V. Peshkov
Author for correspondence.
Email: ogarevonline@yandex.ru
Russian Federation
N. A. Fortunova
Email: ogarevonline@yandex.ru
Russian Federation
V. A. Zhigulin
Email: ogarevonline@yandex.ru
Russian Federation
References
- Воробьев С. Н. Цифровая обработка сигналов: учебник. – М.: Академия, 2013. – 464 c.
- Дьяконов В. П. MATLAB и SIMULINK для радиоинженеров. – М.: ДМК Пресс, 2011. – 976 с.
- Силин А. В. Технология Software Defined Radio. Теория, принципы и примеры аппаратных платформ // Технологии и стандарты. – 2007. – Вып. 2. – С. 22–27.
- Тарасов И. Разработка цифровых систем на базе FPGA Xilinx начального уровня // Компоненты и технологии. – 2015. – № 3 (164). – С. 56–62.
Supplementary files
