Распределенные программно-определяемые радиосистемы

Исследования и разработки распределённых программных систем Вестник Нижегородского университета им. Н.И. Лобачевского, 2010, № 5 (2), с. 383-388

УДК 004.75

РАСПРЕДЕЛЕННЫЕ ПРОГРАММНО-ОПРЕДЕЛЯЕМЫЕ РАДИОСИСТЕМЫ

© 2010 г. Е.М. Сорохтин, С.А. Минеев

Нижегородский госуниверситет им. Н.И. Лобачевского eugene@nifti.unn.ru

Поступила в редакцию 28.05.2010

Существенное расширение за последнее десятилетие частотной полосы сетей передачи данных привело к появлению нового класса радиосистем - распределенных программно-определяемых радиосистем, которые базируются на принципах Software Defined Radio, содержат несколько вычислительных узлов, объединенных высокоскоростным интерфейсом передачи данных. Обсуждаются вопросы создания распределенных программно-определяемых радиосистем, приведены примеры подобных систем.

Ключевые слова: Software Defined Radio, распределенные вычислительные системы, программи-

руемые логические интегральные схемы, Real Time Введение

Повышение за последнее десятилетие пропускной способности сетей передачи данных с 100 Мб/с до 1000 Мб/с и выше, прогресс в цифровой обработке радиосигналов, широкое проникновение во все области деятельности беспроводных технологий обусловили появление новых видов радиосистем. Основная тенденция - локализация аналоговых элементов радиосистем (фильтров, усилителей, генераторов несущей частоты, цифро-аналоговых и аналого-цифровых преобразователей) на входах/выходах радиосистем, широкое применение цифровых методов обработки радиосигналов, децентрализация цифровой обработки. Под децентрализацией понимается применение различных типов вычислительных средств на разных этапах обработки сигналов и разнесение этих вычислительных средств в пространстве и времени.

Сочетание оцифрованного радиосигнала с метками, показывающими, когда и где была произведена оцифровка, позволяет хранить, передавать, обрабатывать радиосигнал огромным количеством способов, извлекать из радиосигнала не только передаваемые данные, но и временную, пространственную и другую информацию. Данная статья посвящена современной концепции построения распределенных программно-определяемых радиосистем и ее практической апробации.

Программно-определяемые радиосистемы

В классическом представлении программноопределяемая радиосистема (Software Defined Radio, SDR) [1] представляет собой центральный

Protocol, сигнально-информационный поток.

процессор (или протокольный процессор, ПП), оснащенный приемным и передающим блоками. Передающий блок имеет коммуникационный процессор (КП), основной задачей которого является упаковка бит передаваемых данных в символы модуляции и генерация на их основе модулирующего сигнала определенной системы связи, который поступает на цифро-аналоговый преобразователь и далее на радиоинтерфейс. Приемный блок содержит аналого-цифровой преобразователь, коммуникационный процессор, осуществляющий демодуляцию сигнала и преобразование демодулированных символов системы связи в биты данных. Роль центрального процессора заключается в обработке пользовательских протоколов обмена данными.

Программно-определяемые радиосистемы могут быть реализованы как на вычислительных средствах общего назначения, так и на современных программируемых логических интегральных схемах (ПЛИС), что позволяет создавать радиосистемы на кристалле. При этом за пределы ПЛИС выносятся радиоинтерфейсы, а также АЦП и ЦАП. Применение ПЛИС не приводит к снижению гибкости системы, поскольку ПЛИС могут быть в любой момент полностью или частично перепрограммированы.

При использовании современных ПЛИС [2] становится возможным создавать системы на основе принципа SDR на одном кристалле (рис. 1). ПЛИС, в отличие от дискретных цифровых сигнальных процессоров, позволяют создавать множество различных программируемых блоков обработки на одном кристалле, что в итоге приводит к увеличению количества одновременно обслуживаемых радиоканалов.

Рис. 1. Функциональная схема распределенной системы программно-определяемой радиосистемы, основанной на применении ПЛИС

Программно-определяемая радиосистема может состоять из нескольких ПЛИС и обслуживать несколько независимых радиоканалов. Большое количество коммуникационных процессоров обеспечивает одновременную обработку нескольких потоков данных. Сами по себе коммуникационные процессоры могут быть нескольких типов, каждый из которых оптимизирован для работы с определенным типом сигналов. Также отдельные типы процессоров могут быть выделены для анализа сигналов, сбора статистики или фильтрации пакетов. Возможности перепрограммирования (полного или частичного) позволяют менять количество и состав коммуникационных процессоров в зависимости от текущих условий работы. Использование высокоскоростных современных последовательных приемопередатчиков, а также большого количества параллельных каналов позволяет распространить структуру межсоединений за пределы одного кристалла и с малыми затратами объединять несколько ПЛИС в систему.

Основной задачей, которую приходится решать при разработке таких систем, является эффективная и гибкая структура межсоединений. Основными требованиями к системам межсоединений являются:

а) возможность управления скоростью передачи для каждой связи;

б) наличие высокоскоростного матричного коммутатора;

в) наличие простых мостов для быстрого объединения нескольких микросхем в систему обработки данных;

г) автоматическое обнаружение подключения/отключения устройств, что необходимо для обеспечения перепланировки используемых ресурсов.

Наиболее подходящими для реализации структуры межсоединений, удовлетворяющих этим требованиям, являются сети на кристалле (Network-on-Chip). В целях упрощения маршрутизации потоков данных наиболее удобной является пакетная передача данных.

Распределенные программно-определяемые радиосистемы

Систему, состоящую из вычислительных SDR-узлов, объединенных в прозрачную сеть (внутри и вне кристаллов), можно назвать распределенными программно-определяемыми радиосистемами. Для реализации сетей могут использоваться Gigabit Ethernet, InfiniBand, PCI-Express, RapidIO и др. Характерной чертой распределенных SDR-систем является возможность изменения количества и состава коммуникационных процессоров при изменении числа обслуживаемых радиоканалов и/или объема обрабатываемых данных.

Для создания эффективных распределенных систем обработки данных необходимы адекват-

ные стеки протоколов обмена данными между элементами системы, способными обеспечить передачу цифровых сигналов в режиме реального времени и с прозрачностью сетевого местонахождения. Также важным требованием к протоколам является их относительная простота, которая должна позволить обрабатывать радиоданные не нагружая коммуникационные процессоры и другие элементы системы лишними вычислениями.

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

Выбор протокола транспортного уровня зависит от архитектуры системы и решаемых задач. Для передач в реальном времени с контролем потерь используются специальные протоколы, такие как RTP и RTCP [3]. При передаче пакетов сигнальных потоков между микросхемами они могут быть инкапсулированы в протокол канального уровня, соответствующий выбранной шине. При передаче данных внутри микросхемы в целях упрощения внутренних каналов и коммутации может использоваться упрощенный транспортный протокол. Преобразования протоколов из внутреннего во внешний и наоборот должны выполняться в мостах на основе таблиц преобразования, таких как ARP-таблицы в сетях Ethernet и программируемые таблицы соответствия внутренних и внешних адресов.

Важной составляющей программно-определяемых радиосистем является разработка переносимого и расширяемого программного обеспечения. Для унификации интерфейсов программных компонентов радиосистем была разработана спецификация SCA (Software Communication Architecture), которая определяет архитектурный каркас распределенных коммуникационных SDR-систем. Использование архитектуры SCA позволяет унифицировать интерфейсы для работы с программными компонентами и аппаратным обеспечением, благодаря чему программное обеспечение становится пе-

реносимым, а радиосистемы масштабируемыми [4]. Архитектура SCA определяет не только способы трансляции радиосигнала через коммуникационную сеть, но и принципы программной «перепрошивки» аппаратных узлов (ПЛИС, DSP-процессоров), удаленной настройки программно-определяемых радиосистем, управления аппаратурой и программным обеспечением.

Примеры распределенных радиосистем

Первыми распределенными программноопределяемыми радиосистемами можно назвать сети VoIP (Voice per IP) [3]. Такие сети применяются все шире, уже выпускается серийное оборудование для организации сетей VoIP. В основе технологии VoIP лежат протоколы RTP и RTCP. В качестве нагрузки в пакетах RTP передаются прошедшие вокодер отсчеты оцифрованного сигнала микрофона. В качестве узлов сети VoIP выступают абонентские терминалы (в том числе и беспроводные), шлюзы, АТС. В терминалах (VoIP-телефонах) широко применяются коммуникационные процессоры на базе ПЛИС, в шлюзах и АТС используются процессоры общего назначения.

Другой пример распределенных программно-определяемых радиосистем из области радиоастрономии. Современные радиоинтерферометры со сверхдлинной базой представляют собой сети радиоантенн, объединенных высокоскоростными каналами связи. Зарегистрированный в один момент времени разными антеннами радиосигнал должен быть передан в расчетный центр, где вычисляются взаимные корреляционные функции выборок радиосигналов и строится радиоизображение участка небесной сферы [5]. Для передачи оцифрованного радиосигнала применяются общие или выделенные каналы связи, в том числе и глобальная информационная сеть Internet. В качестве протоколов передачи выборок оцифрованных сигналов используются UDP и модификации RTP [6]. Коммуникационные каналы от сетей радиоантенн передают сигнальные потоки в центральный узел обработки информации. Централизованная обработка в таких системах обычно выполняется в несколько этапов. Одним из первых этапов является сборка и обработка пакетов, доставленных по различным каналам с различными задержками, сортировка и выделение сигнальных потоков. На данном этапе может выполняться также компенсация задержек в сигнальных потоках и перемежение/деперемежение. Затем, как правило, следуют этапы цифровой

Приемный

блок

*

*

Приемный

блок

КП

КП

Предобработка на ПЛИС

=> КП КП

Подсистема

* маршру-

• тизации

* (GB

Ethernet)

КП КП КП КП

КП КП КП КП

Обработка б блэйд-системе

КП КП КП КП

КП КП КП КП

Рис. 2. Блок-схема смешанной распределенной системы обработки, основанной на ПЛИС и блэйд-системах

обработки сигнальных потоков, которые должны выполняться в реальном масштабе времени, например передискретизация, точная компенсация задержек, корреляция и др. Результаты обработки передаются на следующую ступень, на которой выполняются этапы обработки, не требующие реального времени, такие как коррекция данных по известным источникам, калибровка, обнаружение источников и другие в зависимости от конкретной задачи. Примером такой системы является радиоинтерферометр LOFAR [7], в котором для реализации обработки сигналов в реальном времени используются суперкомпьютеры Blue Gene/L, соединенные с остальной системой гигабитными каналами Ethernet. Задачи обработки в реальном времени выполняются в виде множества параллельных конвейеров, каждому из которых назначается один узел суперкомпьютера Blue Gene/L с 8 двухъядерными процессорами. Входная секция, узел хранения, секция дополнительной обработки и секция постобработки данных выполняются на отдельных кластерах, состоящих из SMP-процессоров, объединенных каналами InfiniBand.

Наиболее масштабным проектом распределенной SDR-системы можно считать объединенную тактическую радиосистему JTRS [8], создаваемую Министерством обороны США. JTRS базируется на архитектуре SCA. Предполагается, что все военные радиосистемы американских ВС после 2010 года будут разрабатываться на базе спецификаций SCA, что предполагает наличие сетевого интерфейса и программного интерфейса у каждого элемента этой радиосистемы, будь то тактическая УКВ-радиостанция, бортовой модем беспилотного летательного аппарата или сеть гидрофонов вдоль морского побережья. С помощью программных интерфейсов предполагается управлять компонентами радиосистем, организовывать взаимодействие между ними, согласованно менять параметры, например перейти на ре-

зервную частоту всем тактическим радиостанциям в заданном регионе или сменить алгоритм шифрования [9].

На сегодня поставщики радиооборудования для американских ВС уже предлагают аппаратно-программные комплексы, выполненные в соответствии с требованиями JTRS. Компания Spectrum разработала систему радиоэлектронной борьбы SDR-3002 EWRDP [10]. Эта система содержит 6 АЦП и 6 ЦАП с частотой дискретизации 205 МГц, 12 программируемых ПЛИС для цифровой сигнальной обработки, 12 процессоров общего назначения PowerPC. SDR-3002 EWRDP может интегрироваться с другими элементами JTRS посредством Ethernet на базе программных интерфейсов SCA, используется для анализа радиообстановки и генерации активных помех.

Существуют коммерческие платформы быстрого прототипирования радиосистем, позволяющие создавать программное обеспечение, совместимое с SCA. Одной из таких систем является flexComm SDR-3000 MRDP [11]. Легкость в масштабируемости такой системы обеспечивается использованием магистрали CompactPCI и возможностью добавления модулей встроенной обработки и радиоинтерфейсов. Гибкость и широкий набор возможностей достигается использованием SCA-совместимого программного обеспечения, а также специальных библиотек алгоритмов и ядер, реализуемых в динамически реконфигурируемой аппаратуре.

Хотя архитектура SCA разрабатывается и продвигается Министерством обороны США с целью создания и внедрения JTRS [8], с 2005 г. существует сообщество разработчиков компонентов SCA-систем с открытым исходным кодом OSSIE [12]. В состав разработанного и распространяемого OSSIE программного обеспечения входят интерфейсы и реализации ключевых абстракций SCA, средства создания алгоритмов обработки радиоданных узлами SCA,

средства проектирования коммуникационных протоколов и соответствующих им схем модуляции/демодуляции, отладочные средства для имитации и просмотра реализаций цифровых радиосигналов.

В Научно-исследовательском физико-техническом институте Нижегородского государственного университета им. Н.И. Лобачевского в 2008-2010 годах была разработана распределенная система обработки радиосигналов, позволяющая обнаруживать радиосигналы различных типов и определять их параметры. Блочная схема системы приведена на рис. 2. Обработка сигналов в этой системе распределена между ПЛИС и блэйд-серверами Hewlett-Packard Proliant BL460c. Коммуникационные процессоры, ответственные за ранние стадии обработки, такие как фильтрация, выделение частотных каналов, цифровое преобразование частоты, вынесены в ПЛИС. После обработки в ПЛИС сигнально-информационные потоки упаковываются в RTP-пакеты и передаются подсистеме маршрутизации, основной задачей которой является передача сигнальных потоков блокам обработки с учетом планирования использования ресурсов. Коммуникационные процессоры, ответственные за дальнейшую обработку сигналов и определение их параметров, выполняются в режиме программной эмуляции на многоядерных процессорах в блэйд-серверах.

Всего в системе задействовано 4 блока обработки на базе ПЛИС и 16 на базе процессоров общего назначения Intel Xeon. Масштабируемость системы достигается посредством наращивания количества приемных блоков и блоков предобработки, увеличения количества блэйд-серверов. На конечный узел обработки, размещаемый на процессоре блэйд-сервера, может подаваться информационный поток до 200 Мбит/с. Основой транспортного протокола для передачи потока оцифрованных отсчетов радиосигнала послужил протокол RTP. Основное отличие применяемого в данной системе протокола - возможность передавать не только действительные временные отсчеты, но и комплексные сигналы в виде квадратур.

Заключение

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

ной и финальной обработки радиосигналов. Появились совершенно новые классы распределенных радиосистем.

Одним из системообразующих факторов для распределенных радиосистем становится разработка эффективных протоколов передачи оцифрованных радиосигналов и сопутствующей информации. Как показывает опыт создания распределенных радиосистем, наиболее востребованными в данной области оказались протоколы RTP и RTCP.

Хотя в большинстве рассмотренных радиосистем и применяется общий подход к передаче оцифрованных отсчетов, но спецификация RTP не является жестким стандартом и допускает существование различных не совместимых друг с другом профилей. Назрела необходимость стандартизации таких профилей, что позволит консолидировать заделы по приему/передаче и обработке радиосигналов. Наиболее вероятной представляется стандартизация профилей RTP, разработанных Международным радиоастрономическим консорциумом e-VLBI. У данного консорциума есть многолетний опыт организации трансконтинентальной распределенной радиосистемы с международным участием.

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

Список литературы

1. Jones E. Software Defined Radios, Cognitive Radio and the Software Communications Architecture (SCA) in relation to COMMS, radar and ESM // Cognitive Radio and Software Defined Radios: Technologies and Techniques. 2008 IET Seminar.

2. Virtex-5 FPGA User Guide. http://www.xilinx. com/support/documentation/user_guides/ug190.pdf (дата обращения: 09.04.2010).

3. Евсиков М., Матвеев С., Осадчук А. RTP и RTCP: протоколы для IP-телефонии // Компьютер Пресс. 1999. № 10.

4. Gonzalez C.R.A., Dietrich C.B., Reed J.H. Understanding the software communications architecture // IEEE Communications Magazine. 2009. Vol. 47, no. 9.

5. European VLBI Network Biennual Report 20072008. URL: www.elbi.org/publications/EVNbiennu-

alreport0708.pdf (дата обращения: 09.04.2010).

6. Lapsley D., Whitney A. VSI-E Software Suite //Proceedings of the 7th European VLBI Network Symposium, October 12th-15th, 2004.

7. Latour A., Schaaf K.V.D. LOFAR Central Processing Facility Architecture description. -ASTRON, 2GG7.

8. JPEO JTRS. URL: http://jpeojtrs.mil (дата обращения: 09.04.2010).

9. Щербак Н., Программируемые радиостанции -будущее тактической связи // Электроника: Наука, Технология, Бизнес. 2GGl. № 5.

Ю. SDR-3GG2 EWRDP Electronic Warfare Ra-pid-Prototyping and Deployment Platform. URL:

http://www. spectrumsignal.com/products/pdf/sdr_3002_ ewrdp.pdf (дата обращения: 09.04.2010).

11. SDR-3000 MRDP Military Communications (MILCOM) Rapid-Prototyping Development Platform. URL: http://www.spectrumsignal.com/products /pdf/sdr_ 3000_mrdp.pdf (дата обращения: 09.04.2010).

12. Dietrich C.B., Reed J.H., Edwards S.H., Kragh F.E. Experiences from the OSSIE Open Source Software Defined Radio Project // Open Source Business Resource. 2010. March.

DISTRIBUTED SOFTWARE DEFINED RADIO SYSTEMS

E.M. Sorokhtin, S.A. Mineev

In the last decade, a substantial extension of data network frequency band has led to the appearance of a new class of radio systems - distributed software-defined radio systems based on the principles of the software-defined radio. These systems contain some computational nodes incorporated by a high-speed data interface unit. Some problems of creation of distributed software-defined radio systems are discussed and some examples of such systems are given.

Keywords: Software Defined Radio, distributed computing systems, field-programmable gate arrays, Real Time Protocol, signal-information flow.