Implementation of а software-defined radio receiver based on programmable logic integral circuits

Cover Page

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.

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 была сгенерирована принципиальная схема демодулятора с возможностью просмотра схемотехники каждого модуля.

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

  1. Разработать модель предполагаемого устройства.
  2. Подобрать типы переменных.
  3. Произвести генерацию и оптимизацию HDL-кода.
  4. Произвести настройку и сборку бинарного файла для программирования ПЛИС.

 

Рис. 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

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

Supplementary files

Supplementary Files
Action
1. JATS XML
2. Fig. 1. Structural diagram of a quadrature demodulator.

Download (24KB)
3. Rice. 2. View of the Float-point Tool window.

Download (325KB)
4. Fig. 3. HDL code generation report.

Download (218KB)
5. Fig. 4. Analysis of the HDL code generation report.

Download (182KB)
6. Fig. 5. Results of running the simulation using FPGA-in-the-Loop: a – modulated signal, b – carrier frequency signal, c – transmitted signal, d – demodulated signal.

Download (487KB)

Мы используем файлы cookies, сервис веб-аналитики Яндекс.Метрика для улучшения работы сайта и удобства его использования. Продолжая пользоваться сайтом, вы подтверждаете, что были об этом проинформированы и согласны с нашими правилами обработки персональных данных.

Согласие на обработку персональных данных с помощью сервиса «Яндекс.Метрика»

1. Я (далее – «Пользователь» или «Субъект персональных данных»), осуществляя использование сайта https://journals.rcsi.science/ (далее – «Сайт»), подтверждая свою полную дееспособность даю согласие на обработку персональных данных с использованием средств автоматизации Оператору - федеральному государственному бюджетному учреждению «Российский центр научной информации» (РЦНИ), далее – «Оператор», расположенному по адресу: 119991, г. Москва, Ленинский просп., д.32А, со следующими условиями.

2. Категории обрабатываемых данных: файлы «cookies» (куки-файлы). Файлы «cookie» – это небольшой текстовый файл, который веб-сервер может хранить в браузере Пользователя. Данные файлы веб-сервер загружает на устройство Пользователя при посещении им Сайта. При каждом следующем посещении Пользователем Сайта «cookie» файлы отправляются на Сайт Оператора. Данные файлы позволяют Сайту распознавать устройство Пользователя. Содержимое такого файла может как относиться, так и не относиться к персональным данным, в зависимости от того, содержит ли такой файл персональные данные или содержит обезличенные технические данные.

3. Цель обработки персональных данных: анализ пользовательской активности с помощью сервиса «Яндекс.Метрика».

4. Категории субъектов персональных данных: все Пользователи Сайта, которые дали согласие на обработку файлов «cookie».

5. Способы обработки: сбор, запись, систематизация, накопление, хранение, уточнение (обновление, изменение), извлечение, использование, передача (доступ, предоставление), блокирование, удаление, уничтожение персональных данных.

6. Срок обработки и хранения: до получения от Субъекта персональных данных требования о прекращении обработки/отзыва согласия.

7. Способ отзыва: заявление об отзыве в письменном виде путём его направления на адрес электронной почты Оператора: info@rcsi.science или путем письменного обращения по юридическому адресу: 119991, г. Москва, Ленинский просп., д.32А

8. Субъект персональных данных вправе запретить своему оборудованию прием этих данных или ограничить прием этих данных. При отказе от получения таких данных или при ограничении приема данных некоторые функции Сайта могут работать некорректно. Субъект персональных данных обязуется сам настроить свое оборудование таким способом, чтобы оно обеспечивало адекватный его желаниям режим работы и уровень защиты данных файлов «cookie», Оператор не предоставляет технологических и правовых консультаций на темы подобного характера.

9. Порядок уничтожения персональных данных при достижении цели их обработки или при наступлении иных законных оснований определяется Оператором в соответствии с законодательством Российской Федерации.

10. Я согласен/согласна квалифицировать в качестве своей простой электронной подписи под настоящим Согласием и под Политикой обработки персональных данных выполнение мною следующего действия на сайте: https://journals.rcsi.science/ нажатие мною на интерфейсе с текстом: «Сайт использует сервис «Яндекс.Метрика» (который использует файлы «cookie») на элемент с текстом «Принять и продолжить».