nrPUSCHDMRSConfig

Параметры конфигурации PUSCH DM-RS

Описание

The nrPUSCHDMRSConfig объект устанавливает параметры конфигурации опорного сигнала демодуляции (DM-RS) для физического общего канала восходящей линии связи (PUSCH), как определено в TS 38.211 Раздел 6.4.1.1 [1].

Объект определяет свойства символов PUSCH DM-RS и генерацию индексов, а также шаблон ресурсных элементов, не используемый для данных в местоположениях символов DM-RS. Свойства только для чтения этого объекта обеспечивают местоположения поднесущей DM-RS в ресурсном блоке (RB), группах мультиплексирования с кодовым делением (CDM) и весах по времени и частоте для символов DM-RS. По умолчанию объект задает один символ DM-RS при индексе символа 2 (на основе 0) с типом строения 1 и портом антенны 0. Используйте этот объект при установке DMRS свойство nrPUSCHConfig или nrWavegenPUSCHConfig объекты.

Создание

Описание

пример

dmrs = nrPUSCHDMRSConfig создает объект строения DM-RS для PUSCH со свойствами по умолчанию.

пример

dmrs = nrPUSCHDMRSConfig(Name,Value) задает свойства, используя один или несколько аргументы пары "имя-значение". Заключайте каждое свойство в кавычки. Для примера, 'DMRSConfigurationType',1,'DMRSLength',2 задает double-symbol DM-RS с типом строения 1. Неопределенные свойства берут значения по умолчанию.

Свойства

расширить все

Тип строения DM-RS, заданный как 1 или 2. Это свойство является параметром более высокого уровня dmrs-Type.

Это значение свойства должно быть 1 когда nrPUSCHDMRSConfig является свойством nrPUSCHConfig с TransformPrecoding значение свойства установлено в 1.

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

Положение первого символа OFDM DM-RS, обеспечиваемого параметром более высокого слоя dmrs-TypeA-Position, заданное как 2 или 3.

Это свойство применимо, когда nrPUSCHDMRSConfig является свойством nrPUSCHConfig объект с MappingType значение свойства установлено в 'A'.

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

Максимальное количество дополнительных положений DM-RS, заданное как 0, 1, 2, или 3. Это свойство является параметром более высокого слоя dmrs-AdditionalPosition.

Это значение свойства должно быть 0 или 1 когда nrPUSCHDMRSConfig является свойством nrPUSCHConfig объект с FrequencyHopping значение свойства установлено в 'intraSlot'.

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

Количество последовательных символов OFDM с передней загрузкой DM-RS, заданное как 1 (односимвольный DM-RS) или 2 (double-symbol DM-RS).

Это значение свойства должно быть 1 когда nrPUSCHDMRSConfig является свойством nrPUSCHConfig объект с FrequencyHopping значение свойства установлено в 'intraSlot'.

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

Местоположения символов OFDM DM-RS, которые основаны на 0, заданы как один из следующих опций.

  • Целое число от 0 до 13 - Для одного символа DM-RS

  • Вектор неотрицательных целых чисел от 0 до 13 - Для нескольких символов DM-RS

Каждое местоположение входного символа принято как односимвольное DM-RS в пределах выделения символа физического общего канала.

Значение по умолчанию, [], соответствует расположению символов ДМ-РС согласно ТС 38.211 Таблица 6.4.1.1.3-3, 6.4.1.1.3-4 или 6.4.1.1.3-6 [1]. Установка этого свойства переопределяет соответствующие местоположения символов DM-RS в этих стандартных интерполяционных таблицах.

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

Порты антенны DM-RS, заданные в качестве одного из следующих опций.

  • Целое число от 0 до 11 - Для одного порта антенны

  • Вектор неотрицательных целых чисел от 0 до 11 - Для нескольких портов антенны

Номинальные поддерживаемые порты антенны зависят от DMRSLength и DMRSConfigurationType значения свойств, как показано в этой таблице.

DMRSLength ЗначениеDMRSConfigurationType ЗначениеНоминальная область значений поддерживаемых портов антенны
11[0, 3]
2[0, 5]
21[0, 7]
2[0, 11]

Значение по умолчанию [] подразумевает, что порт антенны DM-RS равен 0.

Когда nrPUSCHDMRSConfig является свойством nrPUSCHConfig объект, [] подразумевает, что DMRSPortSet находится в области значений от 0 до NumLayers–1.

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

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

  • Целое число от 0 до 65 535 - Если NIDNSCID является параметром более высокого уровня scramblingID0/scramblingID1

  • [] - Если NIDNSCID не является параметром более высокого уровня, тогда значение равно NCellID свойство nrCarrierConfig объект. Использование [] чтобы задать это свойство в NCellID значение свойства.

Зависимости

Это свойство применяется, когда TransformPrecoding свойство nrPUSCHConfig для объекта задано значение 0.

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

Скремблирующие тождества DM-RS для DFT-s-OFDM, указанные в качестве одного из следующих опций.

  • Целое число от 0 до 1007 - Если NRSID является параметром более высокого уровня nPUSCH-Identity.

  • [] - Используйте эту опцию, чтобы задать значение этого свойства на NCellID значение свойства nrCarrierConfig объект, когда параметр более высокого уровня nPUSCH-Identity не определен.

Зависимости

Это свойство применяется, когда TransformPrecoding свойство nrPUSCHConfig для объекта задано значение 1.

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

Инициализация скремблирования DM-RS для CP-OFDM, заданная как 0 или 1.

Зависимости

Это свойство применяется, когда TransformPrecoding свойство nrPUSCHConfig для объекта задано значение 0.

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

Строение скачкообразного изменения группы в качестве одного из следующих опций.

  • 0 - Скачкообразное изменение группы отключено.

  • 1 - Переключение групп включено.

Зависимости

Это свойство применяется, когда TransformPrecoding свойство nrPUSCHConfig для объекта задано значение 1 и SequenceHopping установлено в 0.

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

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

  • 0SequenceHopping отключен.

  • 1SequenceHopping включен.

Зависимости

Это свойство применяется, когда TransformPrecoding свойство nrPUSCHConfig для объекта задано значение 1 и GroupHopping установлено в 0.

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

Количество групп CDM DM-RS без данных, заданное как 1, 2, или 3.

Каждое значение указывает разный набор номеров групп CDM в соответствии с TS 38.214 Раздел 6.2.2 [2].

  • 1 - номер группы CDM 0

  • 2 - номера групп CDM 0 и 1

  • 3 - номера групп CDM 0, 1 и 2

Когда TransformPrecoding свойство nrPUSCHConfig для объекта задано значение 1, это значение свойства должно быть 2.

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

Это свойство доступно только для чтения.

Номера групп CDM, соответствующие каждому порту DM-RS, заданные в качестве одного из следующих опций.

  • Целое число от 0 до 2 - Когда DMRSPortSet свойство является скаляром, задающим один порт антенны DM-RS.

  • Вектор-строка из целых чисел от 0 до 2 - Когда DMRSPortSet свойство является вектором, задающим несколько портов антенны DM-RS. Каждый элемент соответствует номеру группы CDM для этого порта.

Значение этого свойства зависит от DMRSConfigurationType согласно ТУ 38.211 таблица 6.4.1.1.3-1 или 6.4.1.1.3-2 [1].

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

Это свойство доступно только для чтения.

Сдвиги дельты, соответствующие каждой группе CDM, заданные как один из следующих опций.

  • Целое число из набора {0, 1, 2, 4} - Когда DMRSPortSet свойство является скаляром, задающим один порт антенны DM-RS.

  • Вектор-строка из целых чисел из набора {0, 1, 2, 4} - Когда DMRSPortSet свойство является вектором, задающим несколько портов антенны DM-RS. Каждый элемент соответствует дельта- сдвигу, используемой для этого порта.

Значение этого свойства зависит от DMRSConfigurationType согласно ТУ 38.211 таблица 6.4.1.1.3-1 или 6.4.1.1.3-2 [1].

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

Это свойство доступно только для чтения.

Веса частот для символов DM-RS, заданные как один из следующих опций.

  • Вектор-столбец целых чисел - Когда DMRSPortSet свойство является скаляром, задающим один порт антенны DM-RS.

  • Матрица целых чисел - Когда DMRSPortSet свойство является вектором, задающим несколько портов антенны DM-RS. Каждый столбец соответствует весам для этого порта.

Значение этого свойства зависит от DMRSConfigurationType согласно ТУ 38.211 таблица 6.4.1.1.3-1 или 6.4.1.1.3-2 [1].

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

Это свойство доступно только для чтения.

Временные веса символов DM-RS, заданные как один из следующих опций.

  • Вектор-столбец целых чисел - Когда DMRSPortSet свойство является скаляром, задающим один порт антенны DM-RS.

  • Матрица целых чисел - Когда DMRSPortSet свойство является вектором, задающим несколько портов антенны DM-RS. Каждый столбец соответствует весам для этого порта.

Значение этого свойства зависит от DMRSConfigurationType согласно ТУ 38.211 таблица 6.4.1.1.3-1 или 6.4.1.1.3-2 [1].

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

Это свойство доступно только для чтения.

Местоположения поднесущих в RB для каждого порта, заданные как один из следующих опций.

  • Вектор-столбец целых чисел - Когда DMRSPortSet свойство является скаляром, задающим один порт антенны DM-RS.

  • Матрица целых чисел - Когда DMRSPortSet свойство является вектором, задающим несколько портов антенны DM-RS. Каждый столбец соответствует местоположениям поднесущих для этого порта.

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

Это свойство доступно только для чтения.

Схема CDM для опорных сигналов, заданная как разделенная запятой пара, состоящая из 'CDMLengths' и двухэлементный вектор-строка неотрицательных целых чисел [FD TD]. Элементы массива FD и TD определяют длину сжатия CDM в частотный диапазон (FD-CDM) и временного интервала (TD-CDM), соответственно. Значение 1 для элемента не задает CDM.

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

Примеры

свернуть все

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

Задайте односимвольный DMRS с количеством дополнительных положений DM-RS 3, скачкообразное изменение последовательности 1 и имеющий порты антенны 0 и 4.

dmrs = nrPUSCHDMRSConfig;
dmrs.DMRSLength = 1;
dmrs.DMRSAdditionalPosition = 3;
dmrs.SequenceHopping = 1;
dmrs.DMRSPortSet = [0 4];

Просмотрите соответствующую dmrs свойства.

disp(dmrs)
  nrPUSCHDMRSConfig with properties:

      DMRSConfigurationType: 1
          DMRSTypeAPosition: 2
     DMRSAdditionalPosition: 3
                 DMRSLength: 1
            CustomSymbolSet: []
                DMRSPortSet: [0 4]
                   NIDNSCID: []
                      NSCID: 0
               GroupHopping: 0
            SequenceHopping: 1
                      NRSID: []
    NumCDMGroupsWithoutData: 2

   Read-only properties:
                  CDMGroups: [0 0]
                DeltaShifts: [0 0]
           FrequencyWeights: [2x2 double]
                TimeWeights: [2x2 double]
    DMRSSubcarrierLocations: [6x2 double]
                 CDMLengths: [1 1]

Создайте объект строения поставщика услуг с свойствами по умолчанию. Этот объект соответствует несущей на 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
      ⋮

Создайте объект строения поставщика услуг с свойствами по умолчанию. Этот объект соответствует несущей на 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.

Ссылки

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

[2] 3GPP TS 38.214. "NR; Процедуры физического слоя данных ". 3-ья Генерация проект Партнерства; Группа технических спецификаций Радиосеть доступ.

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

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

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