Тема работы:
"Применение симулятора OpenLTE для моделирования передачи данных в сети LTE"
Часть 2: Проект OpenLTE. Альтернативные проекты. Программная модель симулятора.
Выполнил:
Студент группы 218
Исаев М.О.
Цель работы: Общая цель, которая ставится при выполнении курсовой работы заключается в адаптации исходного кода симулятора OpenLTE к среде Matlab и демонстрация основных функциональных возможностей данного симулятора. Вторая часть будет посвещена обзору проекта OpenLTE, информации об альтернативных проектах подобного плана и рассмотрению программной модели исследуемого симулятора.
1 Проект OpenLTE: назначение, история развития, текущие возможности, аппаратная поддержка
1.1 Назначение проекта OpenLTE
Проект OpenLTE представляет собой в общем виде реализацию стандарта LTE, разработанного группой 3GPP. Автором проекта и разработчиком является Ben Wojtowicz.
Разработанный проект включает в себя реализацию базовой станции стандарта LTE - eNodeB, включающую в свой состав упрощенное EPC (Evolve Packet Core) - основной компонент архитектуры ядра сети SAE (System Architecture Evolution), так же разработанной группой 3GPP для стандарта LTE. Архитектура SAE является продолжение архитектуры ядра сети GPRS.
На текущий момент состав этого проекта входят программный код написанный под Octave и инструменты для сканирования и записи LTE сигналов на базе инструментария GNU Radio - свободного программного обеспечения, предоставляющего пользователю набор инструментов для обработки сигналов. Программы, создаваемые средствами GNU Radio, представлены как графы потока управления и могут использоваться с внешними устройствами или для создания программных симуляторов. Для программирования можно использовать визуальную среду GNU Radio Companion или библиотеки на C++ и Python.
1.2 История развития проекта OpenLTE
Работу по реализации физического уровня Ben Wojtowicz начал в начале 2011 года и до сих пор продолжает выпускать обновления для своего проекта. Первая версия OpenLTE симулятора для сред Matlab и его свободного аналога Octave появилась 31 декабря 2011 года и включало в себя код, написанный под Matlab и Octave, для FDD приема LTE сигнала. Первая версия включала в себя PSS, SSS, CRS, и PBCH каналы. Разработанный приёмник был протестирован на записанном LTE сигнале, на этом приёмнике был проверен, так же разработанный передатчик.
На данный момент последняя вышедшее обновление 00.19.04 датируется 26 марта 2016 года. Код, написанный под Octave, который я взял для адаптации под Matlab находился в версии 00.19.03. Так как в последнем обновлении код Octave обновлён не был, то и я не стану брать новую версию. На официальном сайте есть полная история изменений проекта, поэтому в статье приводить её не буду.
1.3 Текущие возможности проекта OpenLTE
В настоящее время код Octave доступен для тестирования и моделирования передачи по нисходящей и восходящей линии связи функционально и для передачи и приема PRACH. Кроме того, приложения GNU Radio позволяют передавать по нисходящей линии связи из файла или с использованием RTL-SDR, HackRF или USRP B2X0, так же возможна запись I/Q составляющих LTE сигнала с использованием тех же инструментов. В настоящее время разработка кода Octave не продолжается и акцент делается на расширение возможностей приложений GNU Radio.
1.4 Аппаратная поддержка проекта OpenLTE
Как говорилось выше данный проект имеет поддержку следующий устройств:
- RTL-SDR
- HackRF
- USRP B2X0
RTL-SDR — это целое семейство недорогих ТВ-тюнеров, способных выполнять функцию SDR-приемника (Software-defined radio - программно-определяемая радиосистема). У этих устройств разные названия и бренды, но объединяет их одно — все они построены на чипсете RTL2832. Это микросхема, содержащая два 8-битных АЦП с частотой дискретизации до 3,2 МГц (однако выше 2,8 МГц могут быть потери данных), и интерфейс USB для связи с компьютером. Эта микросхема на входе принимает I- и Q-потоки, которые должны быть получены другой микросхемой.

Рисунок 9 - Блок-схема чипсета RTL2832
Чаще всего используются R820T и E4000 микросхемы, так как они наиболее удобные для SDR, реализующие радиочастотную часть SDR: усилитель антенны, перестраиваемый фильтр и квадратурный демодулятор с синтезатором частоты.

Рисунок 10 - Блок-схема E4000

Рисунок 11 - Блок-схема RT820T
Разница между ними следующая: E4000 работает в диапазоне ~52–2200 МГц и имеет немного большую чувствительность на частотах менее 160 МГц. Из-за того что производитель E4000 обанкротился и микросхема снята с производства, остающиеся тюнеры покупать все труднее, и цены на них растут.
R820T работает в диапазоне 24–1766 МГц, однако диапазон перестройки внутренних фильтров сильно затрудняет работу R820T выше 1200 МГц (что делает невозможным, например, прием GPS). На данный момент тюнеры на этой микросхеме легко купить, и стоят они около 10–11 долларов.
Также существуют тюнеры на микросхемах FC0012/FC0013/FC2580 — у них очень серьезные ограничения по частотам работы, и лучше их не использовать.
R820T работает в диапазоне 24–1766 МГц, однако диапазон перестройки внутренних фильтров сильно затрудняет работу R820T выше 1200 МГц (что делает невозможным, например, прием GPS). На данный момент тюнеры на этой микросхеме легко купить, и стоят они около 10–11 долларов.
Также существуют тюнеры на микросхемах FC0012/FC0013/FC2580 — у них очень серьезные ограничения по частотам работы, и лучше их не использовать.
1.4.2 HackRF
HackRF - это фактически полноценное SDR. Работает в диапазоне частот от 30 МГц до 6 ГГц, имеет полосу пропускания в 20 МГц. Построен на микроконтроллере LPC43XX.
Весьма удобно иметь такую широкую полосу частот, но при этом возникают затруднения в виде большой нагрузки на ЦП персонального компьютера и сложность обнаружения узкополосного сигнала, если не известна его частота. Кроме того, поскольку пропускная способность довольно большая, то разрешающая способность по частоте невысока, что затрудняет рассмотрение точной структуры сигнала.

Рисунок 12 - HackRF
1.4.3 USRP B2X0
USRP серии B200 и B210 охватывает диапазон частот от 70 МГц до 6 ГГц, имеет в своем составе ПЛИС 6 поколения от компании Xilinx Spartan 6 XC6SLX75 FPGA и разъем USB 3.0 для подключения к ПК. Эта платформа позволяет экспериментировать с широким спектром сигналов. USRP B200 имеет один канал для приёма и передачи при питании от шины. USRP B210 расширяет возможности В200, предоставляя в общей сложности два канала приема и передачи, Spartan 6 XC6SLX150 FPGA , GPIO, и внешний источник питания. Так как B200 и B210 поддерживаю USRP Hardware Driver ™ (UHD), то пользователи могут без проблем создавать и портрировать свои проекты. UHD является открытым и кросс-платформенным программным обеспечением, которое может работать на Windows, Linux и MacOS. Это обеспечивает общий API, который используется такими приложениями, как GNU Radio.
Рисунок 13 - Блок-схема USPR
2 Альтернативные проекты
На данный момент по мимо проекта OpenLTE, рассматриваемого в данной работе, существуют еще 3 похожих проекта:
2.1 Bellard's / Amarisoft's LTE-eNodeB
Этот проект представляет собой полную реализацию eNodeB (базовой станции) на персональном компьютере, в том числе восходящей и нисходящей линий связи. Она написана полностью для ПК, и использует в качестве радиопередатчика USRP серии N.
Автором этого проекта является хакер Беллар, известный так же как FFmpeg. Так как исходно ПО коммерческое и принадлежит Amarisoft, то исходный код полностью закрытый и является платным о чем автор упоминает на странице своего проекта.
Рисунок 14 - Пример конфигурации LTE сети на основе проекта LTE-eNodeB
Центральный процессор ПК Intel Core i7 с тактовой частотой 2.93 ГГц. Радиооборудование USRP N210 вместе с дочерней платой SBX. Частотные параметры Band 7 (2600 МГц с FDD), 20 МГц полоса пропускания. Пользовательское оборудование USB модем Huawei E398 (на чипсете Qualcomm MDM9200). Сим-карта Тестовая USIM* карта оператора Anritsu
* - USIM-карта (Universal Subscriber Identity Module) — расширенный стандарт SIM-карты (Subscriber Identity Module), принятый в рамках UMTS (Universal Mobile Telecommunications System), европейского стандарта мобильной связи третьего поколения.
В данной таблице представлен пример оборудования, которое можно использовать для реализации этого проекта.
По информации автора проекта основные плюсы и возможности использования следующие:
- Низкая стоимость симулятора LTE-сети.
- Так как разворачивание БС происходит на ПК, то очень легко добавлять и тестировать новые возможности LTE.
- Образовательные цели. Настройка и запуск базовой станции LTE-сети позволяет узнать много информации в целом о работе данного стандарта.
- Низкая стоимость сетевой инфраструктуры LTE для частных или публичных сетей.
2.2 Johannes Demel's Work at KIT: gr-lte
gr-lte проект является открытым, исходный код которого направлен на разработку в среде GNU Radio LTE-симулятора для приема, синхронизации и декодирования сигналов LTE. Его развитие было сосредоточенно на модульности. Это делает проект легкорасширяемым и позволяет использовать свои блоки.
Идея этого проекта заключалась в обеспечении модульной среду для разработки LTE-приемника по нисходящей линии связи. Все используемые блоки должны быть сменным, например, если потребуется ввести новый блок оценки канала. С другой стороны, было необходимо реализовать проект так, чтобы была возможность легко добавлять новые блоки для декодирования дополнительных физических каналов.
На текущий момент в этом проекте реализована синхронизация с LTE-сигналом нисходящей линии связи. Для работы в частотной области и предоставления оценки канала реализована технология OFDM. На данный момент существует поддержка нескольких каналов каналов нисходящей линии связи:
- PDCCH полностью реализована и декодирует MIB.
- PCFICH реализован не полностью. Есть много написанного кода, чтобы реализовать полную поддержку поддержку PDCCH.
2.3 OSLD (Open Source Long-Term Evolution Deployment)
Целью проекта ODLD является совмещение SDR с открытым исходным кодом с разработкой программного обеспечения для систем беспроводной связи. В рамках проекта разрабатывалась модульная библиотека для мобильных терминалов и базовых станций, а также повышалась доступность проекта ALOE для построения сложных систем радиосвязи по низкой цене.
- Обеспечить модульность библиотеки LTE с открытым кодом для построения базовых станций и мобильных терминалов на процессорах общего назначения.
- Публикация нового выпуска и улучшение проекта ALOE.
- Публикация руководства пользователя, руководства по установке, часто задаваемых вопросов.
- Обеспечить виртуальную поддержку пользователем.
- Создать сообщество пользоватлей.
- Усилить коммерческий интерес к библиотекам ALOE и LTE
3 Программная модель симулятора. Структурные схемы функциональных модулей симулятора
Основными частями программного модуля рассматриваемого LTE симулятора являются 2 файла, реализующие работу передатчика и приёмника LTE-сигнала. Запуск передатчика осуществляется в виде вызова из командного окна Matlab функции со следующими по порядку параметрами:
- bandwidth - пропускная способность (1,4; 3; 5; 10; 15; 20 МГц)
- N_frames - количество кадров
- N_id_2 - номер соты в пределах группы (от 0 до 2)
- N_id_1 - номер группы сот (от 0 до 167)
- N_ant - количество антенн (1; 2; 4)
- mcc - мобильный код страны (250 - РФ)
- mnc - код сотового оператора (01 - МТС; 02 - Мегафон; 20 - ТЕЛЕ2; 99 - Билайн)
- tac - идентификатор зоны отслеживания
- cell_id - идентификатор соты (от 0 до 228-1)
- band - полоса частот
Аналогичным образом происходит запуск приёмника, только параметров служит массив значений полученных после работы передатчика.
На основе функций реализованных непосредственно файлах приёмника и передатчика составим структурные схемы приемника и передатчика симулятора OpenLTE:
Рисунок 15 - Структура передатчика OpenLTE
Рисунок 16 - структура приёмника
Список используемой литературы:
- Официальный сайт проекта OpenLTE
- Страница проекта OpenLTE на ресурсе sourceforge.net
- System Architecture Evolution
- GNU Radio
- Делаем первые шаги с RTL-SDR
- SDR Showdown: HackRF vs. bladeRF vs. USRP
- HackRF initial review
- USPR B200/B210 specification
- LTE, GNU Radio, and USRPs
- Страница проекта Bellard's / Amarisoft's LTE-eNodeB
- Страница проекта gr-lte на ресурсе GitHub
- Страница проекта OSLD
- 3GPP TS 36.211 version 10.1.0 Release 10