nrOFDMModulate

Сгенерируйте модулируемую форму волны OFDM

Описание

пример

[waveform,info] = nrOFDMModulate(carrier,grid) генерирует waveform, форма волны временного интервала, путем выполнения модуляции ортогонального мультиплексирования деления частоты (OFDM) массива ресурса несущей grid для параметров конфигурации несущей carrier. Функция также возвращает info, структура, содержащая информацию о OFDM.

[waveform,info] = nrOFDMModulate(grid,scs,initialNSlot) модулирует массив ресурса несущей с расстоянием между поднесущими scs и начальный номер слота initialNSlot.

пример

[waveform,info] = nrOFDMModulate(___,Name,Value) задает опции при помощи одного или нескольких аргументов пары "имя-значение" в дополнение к входным параметрам в любом из предыдущих синтаксисов.

Примеры

свернуть все

Сгенерируйте форму волны путем выполнения модуляции OFDM массива ресурса, который содержит звучащие опорные сигналы (SRSs). Массив ресурса охватывает целую систему координат.

Установите параметры конфигурации несущей, задав расстояние между поднесущими 30 кГц и 24 блока ресурса (RBS) в массиве ресурса несущей.

carrier = nrCarrierConfig('SubcarrierSpacing',30,'NSizeGrid',24);

Сконфигурируйте параметры SRS, установив периодичность паза на 2 и смещение к нулю.

srs = nrSRSConfig('SRSPeriod',[2 0]);

Получите информацию OFDM для заданной настройки несущей.

info = nrOFDMInfo(carrier);

Произведите массив ресурса системы координат путем создания и конкатенации отдельных массивов ресурса паза.

grid = [];
for nslot = 0:(info.SlotsPerFrame - 1)
    carrier.NSlot = nslot;
    slotGrid = nrResourceGrid(carrier);
    ind = nrSRSIndices(carrier,srs);
    sym = nrSRS(carrier,srs);
    slotGrid(ind) = sym;
    grid = [grid slotGrid];
end

Выполните модуляцию OFDM на массиве ресурса для заданной настройки несущей.

[waveform,info] = nrOFDMModulate(carrier,grid);

Сгенерируйте форму волны путем выполнения модуляции OFDM массива ресурса, который содержит физический нисходящий канал совместно использованный канал (PDSCH) опорный сигнал демодуляции (DM-RS) символы.

Установите параметры конфигурации несущей, задав расстояние между поднесущими 60 кГц.

scs = 60;
carrier = nrCarrierConfig('SubcarrierSpacing',scs);

Сгенерируйте символы PDSCH DM-RS и индексы.

p = 2;
pdsch = nrPDSCHConfig('NumLayers',p);
sym = nrPDSCHDMRS(carrier,pdsch);
ind = nrPDSCHDMRSIndices(carrier,pdsch);

Создайте массив ресурса несущей, содержащий символы PDSCH DM-RS.

grid = nrResourceGrid(carrier,p);
grid(ind) = sym;

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

initialNSlot = carrier.NSlot;
cpl = 'extended';
[waveform,info] = nrOFDMModulate(grid,scs,initialNSlot,'CyclicPrefix',cpl);
disp(info)
                   Nfft: 1024
             SampleRate: 61440000
    CyclicPrefixLengths: [256 256 256 256 256 256 256 256 256 256 256 ... ]
          SymbolLengths: [1280 1280 1280 1280 1280 1280 1280 1280 1280 ... ]
              Windowing: 36
           SymbolPhases: [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ... ]
         SymbolsPerSlot: 12
       SlotsPerSubframe: 4
          SlotsPerFrame: 40

Сгенерируйте форму волны путем выполнения модуляции OFDM массива ресурса, который содержит символы PDSCH DM-RS.

Установите параметры конфигурации несущей, задав 106 RBS в массиве ресурса несущей.

carrier = nrCarrierConfig('NSizeGrid',106);

Сконфигурируйте PDSCH и сгенерируйте соответствующие символы и индексы.

p = 4;
pdsch = nrPDSCHConfig('NumLayers',p);
sym = nrPDSCHDMRS(carrier,pdsch);
ind = nrPDSCHDMRSIndices(carrier,pdsch);

Создайте массив ресурса несущей и сопоставьте символы PDSCH.

grid = nrResourceGrid(carrier,p,'OutputDataType','single');
grid(ind) = sym;

Сгенерируйте модулируемую форму волны OFDM, задав частоту дискретизации.

sr = 1e8;
[waveform,info] = nrOFDMModulate(carrier,grid,'SampleRate',sr);

Входные параметры

свернуть все

Параметры конфигурации несущей для определенной нумерологии OFDM в виде nrCarrierConfig объект. Только эти свойства объектов важны для этой функции.

Количество RBS в сетке ресурса несущей в виде целого числа от 1 до 275. Значение по умолчанию 52 соответствует максимальному количеству RBS несущей на 10 МГц с SCS на 15 кГц.

Типы данных: double

Расстояние между поднесущими в kHz, для всех каналов и опорных сигналов несущей в виде 15, 30, 60, 120, или 240.

Типы данных: double

Номер слота в виде неотрицательного целого числа. Можно установить NSlot к значению, больше, чем количество пазов на систему координат. Например, можно установить это значение с помощью счетчиков цикла передачи в MATLAB® симуляция. В этом случае вам, вероятно, придется гарантировать, что значение свойства по модулю количество пазов на систему координат в коде вызова.

Типы данных: double

Длина циклического префикса в виде одной из этих опций.

  • 'normal' — Используйте это значение, чтобы задать нормальный циклический префикс. Эта опция соответствует 14 символам OFDM в пазе.

  • 'extended' — Используйте это значение, чтобы задать расширенный циклический префикс. Эта опция соответствует 12 символам OFDM в пазе. Для нумерологии, заданной в Разделе TS 38.211 4.2, расширенная длина циклического префикса запрашивает расстояние между поднесущими на только 60 кГц.

Типы данных: char | string

Массив ресурса несущей в виде массива с комплексным знаком размера K-by-N-by-P.

  • K является количеством поднесущих.

  • N является количеством символов OFDM.

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

Типы данных: single | double
Поддержка комплексного числа: Да

Расстояние между поднесущими в kHz в виде 15, 30, 60, 120, или 240.

Типы данных: double

Начальный номер слота, в форме на основе 0 в виде неотрицательного целого числа. Функция выбирает соответствующие длины циклического префикса для модуляции OFDM при помощи значения initialNSlot ультрасовременный S, где S является количеством пазов на подкадр.

Типы данных: double

Аргументы name-value

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'CyclicPrefix','extended' задает расширенную длину циклического префикса.

Длина циклического префикса в виде разделенной запятой пары, состоящей из 'CyclicPrefix' и одно из этих значений:

  • 'normal' — Используйте это значение, чтобы задать нормальный циклический префикс. Эта опция соответствует 14 символам OFDM в пазе.

  • 'extended' — Используйте это значение, чтобы задать расширенный циклический префикс. Эта опция соответствует 12 символам OFDM в пазе. Для нумерологии, заданной в Разделе TS 38.211 4.2, расширенная длина циклического префикса только применяется к расстоянию между поднесущими на 60 кГц.

Примечание

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

Типы данных: char | string

Количество быстрого преобразования Фурье (FFT) указывает в виде разделенной запятой пары, состоящей из 'Nfft' и неотрицательное целое число, больше, чем 127 или []. Значение, которое вы задаете, должно привести к длинам циклического префикса с целочисленным знаком и максимальному заполнению 100%. Заполнение задано как значение (12 × N RB)/Nfft, где N RB является количеством блоков ресурса.

Если вы не задаете этот вход, или если вы задаете 'Nfft',[], функция устанавливает целочисленное значение, больше, чем 127 как значение по умолчанию для этого входа. Фактическое значение по умолчанию зависит от других входных значений.

  • Если вы не задаете SampleRate введите, или если вы задаете 'SampleRate',[], функция устанавливает Nfft удовлетворение этим условиям.

    • Nfft целочисленная степень 2.

    • Nfft результаты в максимальном заполнении 85%.

  • Если вы задаете SampleRate введите, функция устанавливает Nfft удовлетворение этим условиям.

    • Nfft результаты в длинах циклического префикса с целочисленным знаком.

    • Nfft максимизирует значение gcd (Nfft × SCS, SampleRate), где SCS задан carrier.SubcarrierSpacing свойство или scs входной параметр.

Для получения дополнительной информации смотрите, Конфигурируют Частоту дискретизации OFDM и Размер БПФ.

Типы данных: double

Частота дискретизации формы волны в виде разделенной запятой пары, состоящей из 'SampleRate' и или положительная скалярная величина или [].

Если вы не задаете этот вход, или если вы задаете 'SampleRate',[], затем функция устанавливает этот вход на значение N fft × SCS.

  • N fft является значением 'Nfft' входной параметр.

  • SCS является расстоянием между поднесущими. В зависимости от синтаксиса функций вы используете, SCS задан carrier.SubcarrierSpacing свойство или scs входной параметр.

Для получения дополнительной информации смотрите, Конфигурируют Частоту дискретизации OFDM и Размер БПФ.

Типы данных: double

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

Если вы не задаете этот вход, или если вы задаете 'Windowing',[], функция устанавливает этот вход на максимальное значение E, который не влияет на тесты величины вектора ошибок (EVM), как задано в TS 38.101-1 Приложений F.5.3 и F.5.4, TS 38.101-2 Приложений F.5.3 и F.5.4 и приложения B.5.2 и C.5.2 TS 38.104. E равен значению floor((CP NW) × info.NfftБПФ N, номинал), где CP N, W и БПФ N, номинал является значениями в столбцах таблицы, пометил "Cyclic prefix length", "EVM window length" и "FFT size", соответственно.

Типы данных: double

Несущая частота в Гц в виде разделенной запятой пары, состоящей из 'CarrierFrequency' и вещественное число. Этот вход соответствует f 0, заданный в Разделе TS 38.211 5.4.

Типы данных: double

Выходные аргументы

свернуть все

OFDM модулировал форму волны, возвращенную как матрица с комплексным знаком размера T-by-P.

  • T является количеством выборок временного интервала в форме волны.

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

Типы данных: single | double
Поддержка комплексного числа: Да

Информация о OFDM, возвращенная как структура, содержащая эти поля.

Поля ЗначенияОписание
NfftПоложительное целое числоКоличество точек БПФ
SampleRateПоложительная скалярная величинаЧастота дискретизации формы волны
CyclicPrefixLengths1 N вектором из положительных целых чисел, где N является количеством символов OFDM в подкадре.Длины циклического префикса каждого символа OFDM, в выборках
SymbolLengths1 N вектором из положительных целых чиселДлины символа OFDM, в выборках
WindowingПоложительное целое числоКоличество выборок временного интервала, по которым функция применяет повышенную работу с окнами косинуса и наложение символов OFDM
SymbolPhases1 N вектором из скаляров в интервале [-π, π]

Компенсация фазы каждого символа OFDM, в радианах

Функция применяет эту компенсацию во время модуляции с учетом терминов фазы на символ OFDM, как задано в Разделе TS 38.211 5.4 [4]. nrOFDMDemodulate функционируйте инвертирует эту компенсацию фазы во время демодуляции.

SymbolsPerSlotПоложительное целое числоКоличество символов OFDM в пазе
SlotsPerSubframeПоложительное целое числоКоличество пазов в подкадре на 1 мс
SlotsPerFrameПоложительное целое числоКоличество пазов в системе координат на 10 мс

Типы данных: struct

Ссылки

[1] 3GPP TS 38.101-1. “NR; передача радио Оборудования пользователя (UE) и прием; Часть 1: Область значений 1 Автономное”. Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group.

[2] 3GPP TS 38.101-2. “NR; передача радио Оборудования пользователя (UE) и прием; Часть 2: Область значений 2 Автономных”. Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group.

[3] 3GPP TS 38.104. “NR; передача радио Базовой станции (BS) и прием”. Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group.

[4] 3GPP TS 38.211. “NR; Физические каналы и модуляция”. Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group.

Расширенные возможности

Введенный в R2020b