exponenta event banner

nrPUSCHDMRSIndices

Формирование индексов PUSCH DM-RS

Описание

пример

ind = nrPUSCHDMRSIndices(carrier,pusch) возвращает матрицу, содержащую индексы элемента ресурса (RE) опорного сигнала демодуляции (DM-RS) физического общего канала восходящей линии связи (PUSCH), как определено в TS 38.211 Раздел 6.4.1.1.3 [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' задает свойства форматирования индекса элемента ресурса по умолчанию.

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

  • 'index' - Индексы в линейном индексном виде.

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

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

База индексирования RE, заданная как одно из следующих значений:

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

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

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

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

  • 'carrier' - Индексы привязаны к несущей сетке.

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

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

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

свернуть все

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

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

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

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

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

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

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

Ссылки

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

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

.
Представлен в R2020a