Документация Engee

EngeeComms.OFDMModulatorBaseband

Модуляция с помощью метода OFDM.

Библиотека

EngeeComms

Блок

OFDM Modulator

Описание

Системный объект EngeeComms.OFDMDemodulatorBaseband модулирует сигнал в частотной области, используя метод ортогонального мультиплексирования с частотным разделением (OFDM). На выходе получается базовое представление OFDM-модулированного сигнала.

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

Чтобы промодулировать сигнал с помощью OFDM, выполните следующие действия:

  1. Создайте объект EngeeComms.OFDMModulatorBaseband и установите его свойства.

  2. Вызовите объект с аргументами, как если бы это была функция. Чтобы узнать больше о том, как работают системные объекты, см. Системные объекты Engee.

Синтаксис

Создание

  • object = EngeeComms.OFDMModulatorBaseband создает OFDM-модулятор со значениями свойств по умолчанию. Пример:

    ofdmMod = EngeeComms.OFDMModulator
  • object = EngeeComms.OFDMModulator(Name=Value) создает OFDM-модулятор с каждым указанным свойством Name (имя), установленным на указанное Value (значение). Вы можете указать дополнительные аргументы в виде пары имя-значение в любом порядке (Name1=Value1,…​,NameN=ValueN). Пример:

    ofdmMod = EngeeComms.OFDMModulator(Windowing=true, NumGuardBandCarriers=[4; 2])

Использование

  • Y = ofdmMod(X) модулирует поднесущие входных данных в частотной области методом OFDM и возвращает OFDM-модулированный базовый сигнал.

  • Y = ofdmMod(data,pilot) назначает пилот-сигнал, pilot, на частотные поднесущие, заданные индексами свойства PilotCarrierIndices. Чтобы включить этот синтаксис, установите свойство для свойства PilotInputPort значение true.

Аргументы

Вход

X — входной широкополосный сигнал
массив

Details

Входной широкополосный сигнал, заданный в виде массива на на .

  • – это количество поднесущих данных.

  • — количество символов, определяемое свойством NumSymbols.

  • — количество приемных антенн, определяемое свойством NumTransmitAntennnas.

Типы данных

Float16 | Float32 | Float64 | Int8 | Int16 | Int32 | Int64 | UInt8 | UInt16 | UInt32 | UInt64 | Bool

Поддержка комплексных чисел

Да

pilot – пилотный сигнал
массив

Details

Пилотный сигнал, заданный в виде массива на на .

  • — количество пилотных поднесущих в каждом символе, определяемое size(PilotCarrierIndices,1).

  • — количество символов, определяемое свойством NumSymbols.

  • — количество передающих антенн, определяемое свойством NumTransmitAntennnas.

Типы данных

Float16 | Float32 | Float64 | Int8 | Int16 | Int32 | Int64 | UInt8 | UInt16 | UInt32 | UInt64 | Bool

Поддержка комплексных чисел

Да

Выход

Y — OFDM-модулированный широкополосный выходной сигнал
матрица

Details

OFDM-модулированный широкополосный сигнал, возвращенный в виде матрицы на того же типа данных, что и входной сигнал.

  • — коэффициент передискретизации, определяемый свойством OversamplingFactor.

  • = + ( * ).

  • — длина циклического префикса по всем символам.

    • — длина циклического префикса, определяемая параметром CyclicPrefixLength.

    • Если CyclicPrefixLength является скаляром, .

    • Если CyclicPrefixLength является вектором строк, .

  • — количество поднесущих, определяемое параметром FFTLength.

  • — количество символов, определяемое параметром NumSymbols.

  • — количество передающих антенн, определяемое параметром NumTransmitAntennnas.

Типы данных

Float16 | Float32 | Float64 | Int8 | Int16 | Int32 | Int64 | UInt8 | UInt16 | UInt32 | UInt64 | Bool

Поддержка комплексных чисел

Да

Свойства

FFTLength — количество точек БПФ
64 (по умолчанию) | целое положительное число

Details

Количество точек быстрого преобразования Фурье (БПФ), заданное в виде целочисленного положительного скаляра. Длина БПФ должна быть и эквивалентна количеству поднесущих.

NumGuardBandCarriers — количество поднесущих, выделенных для левой и правой защитных полос
[6; 5] (по умолчанию) | целочисленный вектор 2 на 1

Details

Количество поднесущих, выделенных для левой и правой защитных полос, заданное в виде целочисленного вектора 2 на 1.

Число поднесущих левой и правой защитных полос, , должно находиться в пределах , где — общее количество поднесущих в OFDM-сигнале, определяемое свойством FFTLength.

InsertDCNull — исключить или включить поднесущую нулевой частоты
false или 0 (по умолчанию) | true или 1

Details

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

  • , если значение четное.

  • , если значение нечетное.

— это общее количество поднесущих в OFDM-сигнале, определяемое свойством FFTLength.

PilotInputPort — ввод пилотных поднесущих
false или 0 (по умолчанию) | true или 1

Details

Использование аргумента для ввода пилотных поднесущих, заданный в виде числового или логического значения 0 (false) или 1 (true).

  • false (0) — аргумент входных данных, X, может содержать встроенную информацию о пилотных поднесущих, но блок не назначает индексы пилотных поднесущих.

  • true (1) — блок назначает поднесущие, указанные свойством PilotCarrierIndices, для пилотной модуляции сигнала во входном аргументе pilot.

PilotCarrierIndices — индексы расположения пилотных поднесущих
[12; 26; 40; 54] (по умолчанию) | вектор столбцов | матрица | 3D-массив

Details

Индексы расположения пилотных поднесущих, заданные в виде вектора столбцов, матрицы или массива с целочисленными значениями элементов в диапазоне

,

где

  • — общее количество поднесущих в OFDM-сигнале, определяемое параметром FFT length.

  • и — левая и правая защитные полосы, заданные значением параметра Number of guard bands.

Индексы пилотных несущих можно назначить одинаковыми или разными поднесущими для каждого символа и для всех передающих антенн .

  • Если пилотные индексы одинаковы для каждого символа и передающей антенны, параметр имеет размерность на 1.

  • Если пилотные индексы различаются по символам, параметр имеет размерность на .

  • Если принятому сигналу присвоен один символ на нескольких передающих антеннах, то параметр имеет размерность на 1 на .

  • Если индексы различаются по количеству символов и передающих антенн, параметр имеет размерность на на .

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

Зависимости

Чтобы использовать это свойство, задайте для свойства PilotInputPort значение 1.

CyclicPrefixLength — длина циклического префикса
16 (по умолчанию) | целое положительное число | вектор-строка

Details

Длина циклического префикса для каждого OFDM-символа, задается в виде положительного целочисленного скаляра или вектора строк, содержащего количество элементов OFDM-символов. При указании длины циклического префикса в виде:

  • Скаляр — длина циклического префикса одинакова для всех символов через все антенны.

  • Вектор-строка — длина циклического префикса может варьироваться между символами, но не варьируется между антеннами.

Windowing — применение оконной функции повышенного косинуса между символами OFDM
false или 0 (по умолчанию) | true или 1

Details

Включение оконной функции повышенного косинуса между символами OFDM, задается как числовой или логический 0 (false) или 1 (true).

Чтобы уменьшить мощность внеполосных поднесущих, вызванную спектральным разрастанием, применяйте оконное разделение.

WindowLength — длина оконной функции с повышенным косинусом
1 (по умолчанию) | целое положительное число

Details

Укажите длину оконной функции повышенного косинуса в виде положительного целочисленного скаляра.

Это значение должно быть меньше или равно минимальной длине циклического префикса, указанной в свойстве CyclicPrefixLength. Например, в конфигурации из четырех символов с длиной циклического префикса 12, 14, 16 и 18, WindowLength должна быть меньше или равна 12.

Зависимости

Чтобы использовать это свойство, задайте для свойства Windowing значение true.

OversamplingFactor — коэффициент передискретизации
1 (по умолчанию) | целое положительное число

Details

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

  • Произведение OversamplingFactor на FFTLength должно быть целым числом.

  • Произведение OversamplingFactor на CyclicPrefixLength должно быть целым числом.

Если OversamplingFactor задан как иррациональное число, укажите дробное значение. Например, при FFTLength 12 и OversamplingFactor 4/3 их произведение равно целому числу 16. Однако округление 4/3 до 1,333 при установке OversamplingFactor приводит к нецелочисленному произведению 15,9960, что приводит к ошибке.

NumSymbols — количество OFDM-символов
1 (по умолчанию) | целое положительное число

Details

Количество OFDM-символов во временно-частотной сетке, заданное в виде целочисленного положительного скаляра.

NumTransmitAntennnas — количество передающих антенн
1 (по умолчанию) | целое положительное число

Details

Количество передающих антенн для передачи OFDM-модулированного сигнала, задается в виде положительного целого скаляра, 64.

Методы

Общие для всех системных объектов

step!

Запустить алгоритм работы системного объекта

release!

Разрешить изменение значения свойства системного объекта

reset!

Сброс внутренних состояний системного объекта

Дополнительно

Алгоритмы

Ортогональное мультиплексирование с частотным разделением

OFDM относится к классу схем многоканальной модуляции. Благодаря тому, что в процессе работы может передаваться несколько несущих одновременно, шумы не влияют на OFDM в той же степени, что и при однополосной модуляции.

OFDM разделяет высокоскоростной поток данных на низкоскоростные подпотоки данных путем декомпозиции полосы частот передачи на ряд смежных индивидуально модулированных поднесущих. Этот набор параллельных и ортогональных поднесущих несет поток данных, занимая почти ту же полосу пропускания, что и широкополосный канал. Благодаря использованию узких ортогональных поднесущих сигнал OFDM приобретает устойчивость к замираниям в частотно-селективном канале и устраняет интерференцию соседних поднесущих. Межсимвольная интерференция (ISI) уменьшается, поскольку подпотоки с меньшей скоростью передачи данных имеют длительность символов больше, чем разброс задержек в канале.

На этом изображении показано представление ортогональных поднесущих в частотной области в волновой форме OFDM.

ofdm modulator 1

Передатчик применяет инверсное быстрое преобразование Фурье (IFFT) к N символам за раз. Обычно на выходе IFFT получается сумма N ортогональных синусоид:

π ,

где

  • – символы данных,

  • – символьное время OFDM.

Символы данных Xk обычно являются комплексными и могут быть из любого цифрового модуляционного алфавита (например, QPSK, 16-QAM, 64-QAM и т. д.).

Реализация дискретного преобразования Фурье нормирует выход IFFT на .

Расстояние между поднесущими равно [Δf = 1/T], что обеспечивает ортогональность поднесущих в течение каждого символьного периода:

πππдля

Модулятор OFDM состоит из последовательно-параллельного преобразования, за которым следует банк из N комплексных модуляторов, индивидуально соответствующих каждой поднесущей OFDM.

ofdm modulator 2

Распределение поднесущих, защитные полосы и защитные интервалы

Отдельные поднесущие OFDM распределяются как поднесущие данных, пилотные или нулевые.

Как показано здесь, поднесущие обозначаются как поднесущие данных, DC, пилота или защитной полосы.

ofdm demodulator 2

  • Поднесущие данных передают пользовательские данные.

  • Пилотные поднесущие предназначены для оценки канала.

  • Поднесущие нулевой частоты не передают никаких данных. Поднесущие без данных обеспечивают нулевую частоту центральной поднесущей и служат в качестве буферов между блоками ресурсов OFDM.

    • Поднесущая нулевой частоты является центром полосы частот с индексом

      , если значение четное.

      , если значение нечетное.

      — это общее количество поднесущих в OFDM-сигнале.

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

Поднесущие нулевой частоты позволяют моделировать защитные полосы и расположение нулевых поднесущих для конкретных стандартов, таких как различные форматы 802.11, LTE, WiMAX, или для пользовательских распределений. Расположение нулевых поднесущих можно определить, назначив вектор индексов нулевых поднесущих.

Подобно защитным полосам, защитные интервалы защищают целостность передаваемых сигналов в OFDM путем снижения межсимвольной интерференции.

Назначение защитных интервалов аналогично назначению защитных полос. Вы можете смоделировать защитные интервалы для обеспечения временного разделения между символами OFDM. Защитные интервалы помогают сохранить межсимвольную ортогональность после прохождения сигнала через каналы с временной дисперсией. Защитные интервалы создаются с помощью циклических префиксов. Вставка циклического префикса копирует последней OFDM в качестве первой части символа OFDM.

ofdm demodulator 3

OFDM выигрывает от использования вставки циклического префикса до тех пор, пока размах временной дисперсии не превышает длительность циклического префикса.

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

Оконная функция для OFDM с повышенным косинусом

Оконная функция для OFDM с повышенным косинусом применяет методы, описанные в [3], для ограничения спектрального разрастания путем создания плавного перехода между последним образцом одного символа и первым образцом следующего символа.

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

Чтобы создать циклический суффикс, операция добавляет первые выборки ) данного символа к концу этого символа. Однако для соответствия стандарту IEEE® 802.11g, например, операция не может произвольно удлинять символ. Вместо этого циклический суффикс должен перекрываться по времени и эффективно суммироваться с циклическим префиксом следующего символа. Операция применяет две, математически обратные, оконные функции в этом перекрывающемся сегменте. Первая оконная функция с повышенным косинусом применяется к циклическому суффиксу символа k и уменьшается от 1 до 0 за время его действия. Вторая оконная функция с повышенным косинусом применяется к циклическому префиксу символа k+1 и увеличивается от 0 до 1 за время его действия. Этот процесс обеспечивает плавный переход от одного символа к другому.

Оконная функция с повышенным косинусом, , во временной области может быть выражена как:

πвостальныхслучаях ,

где:

  • – длительность OFDM-символа, включая защитный интервал.

  • – длительность оконной функции.

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

На этих рисунках показано применение оконной функции с повышенным косинусом.

ofdm modulator 3

Литература

  1. Dahlman, E., S. Parkvall, and J. Skold. "4G LTE/LTE-Advanced for Mobile Broadband." London: Elsevier Ltd., 2011.

  2. Andrews, J. G., A. Ghosh, and R. Muhamed. "Fundamentals of WiMAX." Upper Saddle River, NJ: Prentice Hall, 2007.

  3. Agilent Technologies, Inc., "OFDM Raised Cosine Windowing", https://helpfiles.keysight.com/csg/n7617/Content/Main/ofdm_raised_cosine_windowing.htm.

  4. Montreuil, L., R. Prodan, and T. Kolze. "OFDM TX Symbol Shaping 802.3bn", https://www.ieee802.org/3/bn/public/jan13/montreuil_01a_0113.pdf. Broadcom, 2013.

  5. IEEE Standard 802.16-2017. "Part 16: Air Interface for Broadband Wireless Access Systems." March 2018.