exponenta event banner

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-модуляции массива ресурсов, который содержит зондирующие опорные сигналы (SRS). Массив ресурсов охватывает весь кадр.

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

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-модуляции массива ресурсов, который содержит физические символы опорного сигнала демодуляции (DM-RS) совместно используемого канала нисходящей линии связи (PDSCH).

Задайте параметры конфигурации несущей, задав интервал между поднесущими 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: [1x48 double]
          SymbolLengths: [1x48 double]
              Windowing: 36
           SymbolPhases: [1x48 double]
         SymbolsPerSlot: 12
       SlotsPerSubframe: 4
          SlotsPerFrame: 40

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

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

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 объект. Для этой функции релевантны только эти свойства объекта.

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

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

Интервал между поднесущими в кГц для всех каналов и опорных сигналов несущей, указанный как 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
Поддержка комплексного номера: Да

Интервал между поднесущими в кГц, указанный как 15, 30, 60, 120, или 240.

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

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

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

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми 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

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

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

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

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

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

  • При указании SampleRate ввод, наборы функций Nfft удовлетворение этих условий.

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

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

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

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

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

  • Nfft - значение 'Nfft' вход.

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

Типы данных: 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 и TS 38.104 Приложения B.5.2 и C.5.2. E равно значению floor((NCP W) × info.NfftNFFT, номинальный), где NCP, W и NFFT, номинальные - это значения в столбцах таблицы, помеченных как «Длина циклического префикса», «Длина окна EVM» и «Размер БПФ» соответственно.

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

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

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

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

свернуть все

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

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

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

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

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

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

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

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

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

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

Ссылки

[1] 3GPP TS 38.101-1. "НР; радиопередача и прием пользовательского оборудования (UE); Часть 1: Автономный диапазон 1. "Проект партнерства 3-го поколения; Техническая спецификация на сеть радиодоступа группы.

[2] 3GPP TS 38.101-2. "НР; радиопередача и прием пользовательского оборудования (UE); Часть 2: Диапазон 2 Автономный. "Проект партнерства 3-го поколения; Техническая спецификация на сеть радиодоступа группы.

[3] 3GPP TS 38.104. "НР; радиопередача и прием базовой станции (BS). "Проект партнерства 3-го поколения; Техническая спецификация на сеть радиодоступа группы.

[4] 3GPP TS 38.211. "НР; Физические каналы и модуляция. "Проект партнерства 3-го поколения; Техническая спецификация на сеть радиодоступа группы.

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

.

См. также

Функции

Объекты

Представлен в R2020b