nrPUSCHDMRS

Сгенерируйте символы PUSCH DM-RS

Описание

пример

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

пример

sym = nrPUSCHDMRS(carrier,pusch,'OutputDataType',datatype) задает тип данных для символов DM-RS.

Примеры

свернуть все

Создайте объект настройки поставщика услуг со свойствами по умолчанию. Этот объект соответствует поставщику услуг на 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 = 1;
pusch.DMRS.DMRSTypeAPosition = 2;
pusch.DMRS.DMRSPortSet = 2;
pusch.DMRS.NIDNSCID = 10;
pusch.DMRS.NSCID = 1;

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

sym = nrPUSCHDMRS(carrier,pusch,'OutputDataType','single')
sym = 624x4 single matrix

  -0.3536 - 0.3536i   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.3536 - 0.3536i   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
  -0.3536 + 0.3536i   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
  -0.3536 - 0.3536i   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
  -0.3536 + 0.3536i   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.3536 - 0.3536i   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
  -0.3536 - 0.3536i   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.3536 + 0.3536i   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.3536 - 0.3536i   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.3536 - 0.3536i   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
      ⋮

Создайте настройку поставщика услуг с интервалом поднесущей на 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');

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

свернуть все

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

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

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

Идентичность ячейки физического уровня

SubcarrierSpacing

15 (значение по умолчанию), 30, 60, 120, 240

Интервал поднесущей в kHz

CyclicPrefix

'normal' (значение по умолчанию), 'расширенное'

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

  • 'normal' соответствует 14 символам OFDM в пазе.

  • 'extended' соответствует 12 символам OFDM в пазе.

Для нумерологии, заданной в Разделе TS 38.211 4.2, расширенная циклическая длина префикса применяется только для интервала поднесущей на 60 кГц.

NSizeGrid

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

Количество ресурса блокируется в сетке ресурса поставщика услуг

NStartGrid

0 (значений по умолчанию), целое число от 0 до 2 199

Запустите сетки ресурса поставщика услуг относительно общего блока 0 ресурса (CRB 0)

NSlot

0 (значение по умолчанию), неотрицательный целочисленный скаляр

Номер слота. Можно установить NSlot к значению, больше, чем количество пазов на систему координат.

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

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

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

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

NStartBWP

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

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

NumLayers

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

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

MappingType

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

Отображение типа PUSCH

SymbolAllocation

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

Символы OFDM выделяются для PUSCH

PRBSet

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

PRBs выделяется для PUSCH в BWP

TransformPrecoding

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

Преобразуйте флаг перед кодированием в виде одного из этих значений.

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

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

TransmissionScheme

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

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

TPMI

0 (значений по умолчанию), целое число от 0 до 27

Переданный предварительно кодирующий матричный индикатор. Это свойство применимо когда TransmissionScheme установлен в 'codebook'.

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

  • Эти свойства применимы только когда TransformPrecoding обнуляется.

    • NIDNSCID

    • NSCID

  • Эти свойства применимы только когда TransformPrecoding установлен в одного.

    • GroupHopping

    • SequenceHopping

    • NRSID

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

Тип данных для сгенерированных символов DM-RS в виде 'double' или 'single'.

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

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

свернуть все

Символы DM-RS, возвращенные как комплексная матрица. Количество столбцов соответствует количеству сконфигурированных портов антенны.

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

Ссылки

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

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

Введенный в R2020a

Для просмотра документации необходимо авторизоваться на сайте