EngeeComms.OFDMDemodulatorBaseband
Демодуляция с помощью метода OFDM.
Библиотека |
EngeeComms |
Блок |
Описание
Системный объект EngeeComms.OFDMDemodulatorBaseband демодулирует входной сигнал при помощи метода ортогонального частотного разделения каналов с мультиплексированием (OFDM) во временной области и выдает поднесущие на основе параметров OFDM.
Для получения дополнительной информации см. EngeeComms.OFDMModulator. На выходе получается широкополосное представление входного сигнала для системного объекта EngeeComms.OFDMModulator.
Чтобы демодулировать OFDM-сигнал, выполните следующие действия:
-
Создайте объект
EngeeComms.OFDMDemodulatorBaseband
и установите его свойства. -
Вызовите объект с аргументами, как если бы это была функция. Чтобы узнать больше о том, как работают системные объекты, см. Системные объекты Engee.
Синтаксис
Создание
-
object = EngeeComms.OFDMDemodulatorBasband
создает OFDM-демодулятор, который демодулирует входной сигнал с помощью метода ортогональной демодуляции с частотным разделением, со значениями свойств по умолчанию. Пример:ofdmDemod = EngeeComms.OFDMDemodulatorBaseband
-
object = EngeeComms.OFDMDemodulatorBaseband(Name=Value)
создает OFDM-демодулятор с каждым указанным свойством Name (имя), установленным на указанное Value (значение). Вы можете указать дополнительные аргументы в виде пары имя-значение в любом порядке (Name1
=Value1
,…,NameN
=ValueN
). Пример:ofdmDemod = EngeeComms.OFDMDemodulatorBaseband(FFTLength=64)
Использование
-
Y = ofdmDemod(X)
демодулирует входной сигнал временной области методом OFDM и возвращает демодулированный OFDM-сигнал базовой полосы. -
[Y,pilot] = ofdmDemod(X)
разделяет пилот-сигнал на поднесущие, указанные в значении свойства PilotCarrierIndices. Чтобы использовать этот синтаксис, установите для свойства PilotOutputPort значениеtrue
.
Аргументы
Вход
X —
OFDM-модулированный широкополосный входной сигнал
матрица
Details
OFDM-модулированный широкополосный сигнал, заданный в виде матрицы
-
— коэффициент передискретизации, определяемый свойством OversamplingFactor.
-
-
— длина циклического префикса по всем символам.
-
— длина циклического префикса, определяемая свойством CyclicPrefixLength.
-
Если CyclicPrefixLength является скаляром, .
-
Если CyclicPrefixLength является вектором строк, .
-
-
— количество поднесущих, определяемое параметром FFTLength.
-
— количество символов, определяемое параметром NumberOfOFDMSymbols.
-
— количество приемных антенн, определяемое параметром NumberOfReceiveAntennas.
Типы данных |
|
Поддержка комплексных чисел |
Да |
Выход
Y —
демодулированный выходной сигнал
матрица
| 3D массив
Details
Демодулированный выходной сигнал, возвращаемый в виде матрицы или массива
на на того же типа данных, что и входной сигнал. Выходной сигнал сводится к матрице, если равно 1
.
-
— количество поднесущих данных.
-
— количество символов, определяемое свойством NumSymbols..
-
— количество приемных антенн, определяемое свойством NumReceiveAntennnas.
Типы данных |
|
Поддержка комплексных чисел |
Да |
pilot —
пилотный сигнал
3D-массив
| 4D-массив
Details
Пилотный сигнал, возвращаемый с тем же типом данных, что и входной сигнал. Задается как:
-
3D-массив размером на на , когда свойство PilotCarrierIndices является вектором или матрицей.
-
4D-массив размером на на на , когда свойство PilotCarrierIndices является трехмерным массивом.
где
-
— количество пилотных поднесущих в каждом символе, определяемое
size(
PilotCarrierIndices,1)
. -
— количество символов, определяемое свойством NumSymbols.
-
— количество приемных антенн, определяемое свойством NumReceiveAntennnas.
-
– количество передающих антенн.
Зависимости
Чтобы использовать этот аргумент, установите для свойства PilotOutputPort значение true
.
Свойства
FFTLength —
количество точек БПФ
64 (по умолчанию)
| целое положительное число
Details
Количество точек быстрого преобразования Фурье (БПФ), заданное в виде целочисленного положительного скаляра. Длина БПФ должна быть и эквивалентна количеству поднесущих.
NumGuardBandCarriers —
количество поднесущих, выделенных для левой и правой защитных полос
[6; 5] (по умолчанию)
| целочисленный вектор 2 на 1
Details
Количество поднесущих, выделенных для левой и правой защитных полос, заданное в виде целочисленного вектора 2 на 1.
Число поднесущих левой и правой защитных полос, , должно находиться в пределах , где — общее количество поднесущих в OFDM-сигнале, определяемое свойством FFTLength.
RemoveDCCarrier —
исключить или включить поднесущую нулевой частоты
false
или 0 (по умолчанию)
| true
или 1
Details
Опция удаления нулевой поднесущей постоянного тока, заданная в виде числового или логического 0
(false
) или 1
(true
). Поднесущая нулевой частоты расположена в центре полосы частот и имеет значение индекса:
-
, если значение четное.
-
, если значение нечетное.
— это общее количество поднесущих в OFDM-сигнале, определяемое свойством FFTLength.
PilotOutputPort —
вывод пилотных поднесущих
false
или 0 (по умолчанию)
| true
или 1
Details
Опция вывода пилотных поднесущих, заданная как числовое или логическое 0
(false
) или 1
(true
).
-
0
(false
) — пилотная информация может присутствовать, но остается встроенной в выходные данные. -
1
(true
) — блок отделяет поднесущие, указанные свойством PilotSubcarrierIndices, от выходных данных и выводит демодулированный пилотный сигнал в аргументе pilot.
PilotCarrierIndices —
индексы расположения пилотных поднесущих
[12; 26; 40; 54] (по умолчанию)
| вектор столбцов
| матрица
| 3D массив
Details
Индексы расположения пилотных поднесущих, заданные в виде вектора столбцов, матрицы или 3D-массива с целочисленными значениями элементов в диапазоне
,
где
-
— общее количество поднесущих в OFDM-сигнале, определяемое свойством FFTLength.
-
и — левая и правая защитные полосы, заданные значением свойства NumberOfGuardBands.
Индексы пилотных несущих можно назначить одинаковыми или разными поднесущими для каждого символа и для всех передающих антенн .
-
Если пилотные индексы одинаковы для каждого символа и передающей антенны, параметр имеет размерность на 1.
-
Если пилотные индексы различаются по символам, параметр имеет размерность на .
-
Если принятому сигналу присвоен один символ на нескольких передающих антеннах, то параметр имеет размерность на 1 на .
-
Если индексы различаются по количеству символов и передающих антенн, параметр имеет размерность на на .
Чтобы минимизировать помехи между передачами на более чем одну передающую антенну, пилотные индексы на символ должны быть взаимно различными для всех антенн. |
Зависимости
Чтобы использовать это свойство, установите для свойства PilotOutputPort значение 1
.
CyclicPrefixLength —
длина циклического префикса
16 (по умолчанию)
| целое положительное число
| вектор-строка
Details
Длина циклического префикса для каждого OFDM-символа, задается в виде положительного целочисленного скаляра или вектора строк, содержащего количество элементов OFDM-символов. При указании длины циклического префикса в виде:
-
Скаляр
— длина циклического префикса одинакова для всех символов через все антенны. -
Вектор-строка
— длина циклического префикса может варьироваться между символами, но не варьируется между антеннами.
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-символов во временно-частотной сетке, заданное в виде целочисленного положительного скаляра.
NumReceiveAntennnas —
количество приемных антенн
1 (по умолчанию)
| целое положительное число
Details
Количество приемных антенн для приема OFDM-модулированного сигнала, задается в виде положительного целого скаляра, меньшего или равного 64.
Дополнительно
Алгоритмы
Демодуляция OFDM
Метод ортогонального мультиплексирования с частотным разделением (OFDM) демодулирует входной сигнал OFDM с помощью операции БПФ, в результате чего получается N параллельных потоков данных.
На рисунке показан демодулятор OFDM, состоящий из банка N корреляторов с одним коррелятором, назначенным на каждую поднесущую OFDM. После банка корреляторов следует параллельно-последовательное преобразование.
Распределение поднесущих, защитные полосы и защитные интервалы
Отдельные поднесущие OFDM распределяются как поднесущие данных, пилотные или нулевые.
Как показано здесь, поднесущие обозначаются как поднесущие данных, DC, пилота или защитной полосы.
-
Поднесущие данных передают пользовательские данные.
-
Пилотные поднесущие предназначены для оценки канала.
-
Поднесущие нулевой частоты не передают никаких данных. Поднесущие без данных обеспечивают нулевую частоту центральной поднесущей и служат в качестве буферов между блоками ресурсов OFDM.
-
Поднесущая нулевой частоты является центром полосы частот с индексом
, если значение четное.
, если значение нечетное.
— это общее количество поднесущих в OFDM-сигнале.
-
Защитные полосы служат буфером между соседними сигналами в соседних полосах частот для уменьшения помех, вызванных спектральной утечкой.
-
Поднесущие нулевой частоты позволяют моделировать защитные полосы и расположение нулевых поднесущих для конкретных стандартов, таких как различные форматы 802.11, LTE, WiMAX, или для пользовательских распределений. Расположение нулевых поднесущих можно определить, назначив вектор индексов нулевых поднесущих.
Подобно защитным полосам, защитные интервалы защищают целостность передаваемых сигналов в OFDM путем снижения межсимвольной интерференции.
Назначение защитных интервалов аналогично назначению защитных полос. Вы можете смоделировать защитные интервалы для обеспечения временного разделения между символами OFDM. Защитные интервалы помогают сохранить межсимвольную ортогональность после прохождения сигнала через каналы с временной дисперсией. Защитные интервалы создаются с помощью циклических префиксов. Вставка циклического префикса копирует последней OFDM в качестве первой части символа OFDM.
OFDM выигрывает от использования вставки циклического префикса до тех пор, пока размах временной дисперсии не превышает длительность циклического префикса.
Вставка циклического префикса приводит к дробному снижению пропускной способности пользовательских данных, поскольку циклический префикс занимает полосу пропускания, которая могла бы быть использована для передачи данных.
Литература
-
Dahlman, E., S. Parkvall, and J. Skold. "4G LTE/LTE-Advanced for Mobile Broadband." London: Elsevier Ltd., 2011.
-
Andrews, J. G., A. Ghosh, and R. Muhamed. "Fundamentals of WiMAX. Upper Saddle River," NJ: Prentice Hall, 2007.
-
IEEE Standard 802.16-2017. "Part 16: Air Interface for Broadband Wireless Access Systems." March 2018.