nrPUSCHDMRSIndices

Сгенерируйте индексы PUSCH DM-RS

Описание

пример

ind = nrPUSCHDMRSIndices(carrier,pusch) возвращает матрицу, содержащую индексы ресурсного элемента (RE) опорного сигнала демодуляции (DM-RS) физического общего канала восходящей линии связи (PUSCH), как определено в разделе 6.4.1.1.3 TS 38.211 [1]. carrier задает параметры конфигурации несущей для определенной нумерологии OFDM. pusch задает параметры конфигурации PUSCH. Возвращенные индексы основаны на 1 с использованием формы линейного индексирования.

пример

ind = nrPUSCHDMRSIndices(carrier,pusch,Name,Value) задает опции выхода с помощью одного или нескольких аргументов пары "имя-значение". Неопределенные опции берут значения по умолчанию.

Примеры

свернуть все

Создайте объект строения поставщика услуг с свойствами по умолчанию. Этот объект соответствует несущей на 10 МГц с интервалом поднесущих 15 кГц.

carrier = nrCarrierConfig;

Создайте объект строения физического восходящего общего канала (PUSCH) с заданными свойствами. Когда предварительное кодирование преобразования установлено на 0, тип формы волны является ортогональным делением мультиплексирования (CP-OFDM) с циклическим префиксом.

pusch = nrPUSCHConfig;
pusch.TransformPrecoding = 0;
pusch.TransmissionScheme = 'codebook';
pusch.NumAntennaPorts = 4;
pusch.TPMI = 0;

Сконфигурируйте объект опорного сигнала демодуляции PUSCH (DM-RS) с заданными параметрами.

pusch.DMRS.DMRSAdditionalPosition = 2;
pusch.DMRS.DMRSTypeAPosition = 2;
pusch.DMRS.DMRSPortSet = 3;
pusch.DMRS.NIDNSCID = 15;
pusch.DMRS.NSCID = 1;

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

ind = nrPUSCHDMRSIndices(carrier,pusch,'IndexStyle','subscript')
ind = 3744x3 uint32 matrix

    2    3    1
    4    3    1
    6    3    1
    8    3    1
   10    3    1
   12    3    1
   14    3    1
   16    3    1
   18    3    1
   20    3    1
      ⋮

Создайте строение несущей с интервалом между поднесущими 30 кГц и пропускной способностью передачи 5 МГц.

carrier = nrCarrierConfig;
carrier.SubcarrierSpacing = 30;
carrier.NSizeGrid = 11;

Создайте объект строения физического восходящего общего канала (PUSCH) с заданными свойствами. Когда предварительное кодирование преобразования установлено равным 1, тип формы волны является дискретным ортогональным делением мультиплексирования преобразования фурье (DFT-s-OFDM).

pusch = nrPUSCHConfig;
pusch.NSizeBWP = 9;
pusch.NStartBWP = 1;
pusch.PRBSet = 0:3;
pusch.TransformPrecoding = 1;
pusch.FrequencyHopping = 'intraSlot';
pusch.SecondHopStartPRB = 5;

Создайте объект опорного сигнала демодуляции PUSCH (DM-RS) с заданными свойствами.

dmrs = nrPUSCHDMRSConfig;
dmrs.DMRSAdditionalPosition = 1;
dmrs.DMRSTypeAPosition = 2;
dmrs.DMRSPortSet = 3;
dmrs.GroupHopping = 1;
dmrs.SequenceHopping = 0;
dmrs.NRSID = 10;

Присвойте объект строения PUSCH DM-RS свойству DMRS объекта строения PUSCH.

pusch.DMRS = dmrs;

Сгенерируйте символы и индексы PUSCH DM-RS для указанной несущей, строения PUSCH и форматирования вывода name-value аргумент в виде пары.

sym = nrPUSCHDMRS(carrier,pusch,'OutputDataType','single')
sym = 96x1 single column vector

  -0.7071 - 0.7071i
  -0.7071 - 0.7071i
  -0.7071 - 0.7071i
   0.7071 - 0.7071i
  -0.7071 - 0.7071i
  -0.7071 - 0.7071i
  -0.7071 - 0.7071i
   0.7071 - 0.7071i
   0.7071 + 0.7071i
  -0.7071 + 0.7071i
      ⋮

ind = nrPUSCHDMRSIndices(carrier,pusch,'IndexBase','0based','IndexOrientation','bwp')
ind = 96x1 uint32 column vector

   217
   219
   221
   223
   225
   227
   229
   231
   233
   235
      ⋮

Создайте сетку части полосы пропускания (BWP), а затем отобразите символы DM-RS в сетке.

bwp = complex(zeros([pusch.NSizeBWP*12 carrier.SymbolsPerSlot pusch.NumLayers]));
bwp(ind+1) = sym; % Map the DM-RS symbols

Сопоставьте BWP с ресурсной сеткой поставщика услуг, а затем отобразите сетку поставщика услуг.

grid = complex(zeros([carrier.NSizeGrid*12 carrier.SymbolsPerSlot pusch.NumLayers])); % Create carrier resource grid
offset = pusch.NStartBWP-carrier.NStartGrid; % BWP start location in the carrier grid
grid(offset*12+1:(offset+pusch.NSizeBWP)*12,:,:) = bwp;
imagesc(abs(grid(:,:,1)));
axis xy;
xlabel('OFDM Symbols');
ylabel('Subcarriers');
title('PUSCH DM-RS Resource Elements in the Carrier Resource Grid');

Figure contains an axes. The axes with title PUSCH DM-RS Resource Elements in the Carrier Resource Grid contains an object of type image.

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

свернуть все

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

Параметры конфигурации PUSCH, заданные как nrPUSCHConfig объект. Эта функция использует только эти свойства nrPUSCHConfig объект.

Поле свойствЗначенияОписание
NSizeBWP

[] (по умолчанию), целое число от 1 до 275

Размер части полосы пропускания (BWP) с точки зрения количества физических ресурсных блоков (PRB). Значение по умолчанию [] подразумевает, что значение равно NSizeGrid от carrier входной параметр.

NStartBWP

[] (по умолчанию), целое число от 0 до 2473

Запуск индекса PRB BWP относительно CRB 0. Значение по умолчанию [] подразумевает, что значение равно NStartGrid от carrier входной параметр.

NumLayers

1 (по умолчанию), целое число от 1 до 4

Количество слоев передачи

MappingType

'A' (по умолчанию), 'B'

Тип отображения PUSCH

SymbolAllocation

[0 14] (по умолчанию), двухэлементный вектор неотрицательных целых чисел

Символы OFDM, выделенные для PUSCH

PRBSet

[0:51] (по умолчанию), вектор неотрицательных целых чисел от 0 до 274

PRB, выделенные для PUSCH в BWP

TransformPrecoding

0 (по умолчанию), 1

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

  • 0 указывает, что предварительное кодирование преобразования включено и тип формы сигнала CP-OFDM.

  • 1 указывает, что предварительное кодирование преобразования отключено и тип формы сигнала является DFT-s-OFDM.

TransmissionScheme

'nonCodebook' (по умолчанию), 'codebook'

Схема передачи PUSCH

NumAntennaPorts

1 (по умолчанию), 2 или 4

Количество портов антенны. Значение должно быть больше или равно NumLayers. Это свойство применимо при TransmissionScheme установлено в 'codebook'.

FrequencyHopping

'neither (по умолчанию), 'intraSlot', или 'interSlot'

Строение скачкообразного изменения частоты для PUSCH

SecondHopStartPRB

1 (по умолчанию), целое число от 0 до 274

Запуск индекса PRB второго скачка относительно BWP

DMRS

nrPUSCHDMRSConfig объект строения

DMRS объект строения использует только эти свойства.

  • DMRSConfigurationType

  • DMRSTypeAPosition

  • DMRSLength

  • DMRSAdditionalPosition

  • CustomSymbolSet

  • DMRSPortSet

Для получения дополнительной информации смотрите nrPUSCHDMRSConfig.

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

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

Пример: 'IndexStyle','subscript','IndexBase','0based' задает свойства форматирования индекса элемента ресурса nondefault.

Форма индексации RE, заданная в качестве одного из следующих значений:

  • 'index' - Индексы указаны в виде линейного индекса.

  • 'subscript' - Индексы указаны в форме строки [поднесущая, символ, антенна].

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

RE- основы индексации, заданные как одно из следующих значений:

  • '1based' - Счетчик индексов начинается с 1.

  • '0based' - Счетчик индексов начинается с 0.

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

Ориентация индексации ресурсных элементов, заданная как разделенная разделенными запятой парами, состоящая из 'IndexOrientation' и одно из следующих значений:

  • 'carrier' - Индексы привязаны относительно сетки перевозчика.

  • 'bwp' - Индексы ссылаются относительно части полосы пропускания.

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

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

свернуть все

Индексы ресурсного элемента DM-RS, возвращенные как одно из следующих значений:

  • N -by- P matrix - Функция возвращает этот тип значения при 'IndexStyle' установлено в 'index'. Количество столбцов зависит от TransmissionScheme свойство nrPUSCHConfig объект и вернулся как одно из этих значений.

    • Количество слоев передачи - когда схема передачи является некодовой

    • Количество сконфигурированных портов антенны - Когда схема передачи является кодовой книгой

  • M -by-3 матрица - Функция возвращает этот тип значения при 'IndexStyle' установлено в 'subscript'. Строки матрицы соответствуют нижним индексам [поднесущая, символ, антенна] на основе количества поднесущих, символов OFDM и количества антенн, соответственно.

В зависимости от значения 'IndexBase'функция возвращает индексы на основе 1 или на основе 0. В зависимости от значения 'IndexOrientation'функция возвращает либо индексы, ориентированные на несущую, либо индексы, ориентированные на BWP.

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

Ссылки

[1] 3GPP TS 38.211. "NR; Физические каналы и модуляция ". 3rd Генерация Partnership Project; Группа технических спецификаций Радиосеть доступ.

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

.
Введенный в R2020a