nrPUSCHPTRSConfig

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

Описание

The nrPUSCHPTRSConfig объект устанавливает параметры конфигурации опорного сигнала отслеживания фазы (PT-RS) для физического общего канала восходящей линии связи (PUSCH), как определено в TS 38.211 Раздел 6.4.1.2 [1]. Этот объект объединяет все свойства, используемые в символах PUSCH PT-RS и генерации индексов. По умолчанию объект задает PT-RS с плотностью частот 2 и временной плотностью 1. Используйте этот объект при установке PTRS свойство nrPUSCHConfig или nrWavegenPUSCHConfig объекты.

Создание

Описание

ptrs = nrPUSCHPTRSConfig создает специфичный для PUSCH объект строения PT-RS со свойствами по умолчанию.

пример

ptrs = nrPUSCHPTRSConfig(Name,Value) задает свойства, используя один или несколько аргументы пары "имя-значение". Заключайте каждое свойство в кавычки. Для примера, 'TimeDensity',2,'FrequencyDensity',4 устанавливает плотность времени равную 2, и частотную плотность равную 4. Неопределенные свойства берут значения по умолчанию.

Свойства

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

Временная плотность PT-RS, заданная как 1, 2, или 4. Это свойство является более высоким параметром слоя timeDensity.

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

Частотная плотность PT-RS, заданная как 2 или 4. Это свойство является более высоким параметром слоя frequencyDensity.

Зависимости

Это свойство применяется только тогда, когда nrPUSCHPTRSConfig является свойством nrPUSCHConfig с TransformPrecoding установлено на 0.

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

Количество выборок PT-RS на группу PT-RS, заданное как 2 или 4. Это свойство является параметром более высокого слоя sampleDensity.

Зависимости

Это свойство применяется только тогда, когда nrPUSCHPTRSConfig является свойством nrPUSCHConfig с TransformPrecoding установлено на 1.

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

Количество групп PT-RS, заданное как 2, 4, или 8. Это свойство является параметром более высокого слоя sampleDensity.

Когда для этого свойства задано значение 8, количество выборок PT-RS, установленных NumPTRSSamples для свойства должно быть задано значение 4.

Зависимости

Это свойство применяется только тогда, когда nrPUSCHPTRSConfig является свойством nrPUSCHConfig с TransformPrecoding установлено на 1.

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

Смещение ресурсного элемента, заданное как '00', '01', '10', или '11'. Это свойство является параметром более высокого слоя resourceElementOffset.

Зависимости

Это свойство применяется только тогда, когда nrPUSCHPTRSConfig является свойством nrPUSCHConfig с TransformPrecoding установлено на 0.

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

Набор портов антенны PT-RS, заданный как двухэлементный вектор неотрицательных целых чисел. Задайте [] чтобы задать это свойство как самое низкое значение в DMRSPortSet свойство nrPUSCHDMRSConfig объект. Это использование [] значение применимо только тогда, когда nrPUSCHDMRSConfig объект используется как свойство nrPUSCHConfig объект.

Зависимости

Это свойство применяется только тогда, когда nrPUSCHPTRSConfig является свойством nrPUSCHConfig с TransformPrecoding установлено на 0.

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

Скремблирующие тождества PT-RS, заданные в виде целого числа от 0 до 1007. Задайте [] задать это свойство равным NRSID свойство nrPUSCHDMRSConfig объект.

Зависимости

Это свойство применяется только тогда, когда nrPUSCHPTRSConfig является свойством nrPUSCHConfig с TransformPrecoding установлено на 1.

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

Примеры

свернуть все

Создайте объект строения PUSCH по умолчанию. Включите строение PT-RS и преобразуйте предварительное кодирование для волны DFT-s-OFDM.

pusch = nrPUSCHConfig;
pusch.EnablePTRS = 1;
pusch.TransformPrecoding = 1;

Создайте объект строения PUSCH по умолчанию для PT-RS. Установите количество выборок PT-RS равным 4, количество групп PT-RS равное 8 и тождества скремблирования PT-RS равную 750.

ptrs = nrPUSCHPTRSConfig;
ptrs.NumPTRSSamples = 4;
ptrs.NumPTRSGroups = 8;
ptrs.NID = 750;

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

pusch.PTRS = ptrs;

Отображение свойств объекта строения PUSCH PT-RS и объекта строения PUSCH, соответственно.

disp(pusch)
  nrPUSCHConfig with properties:

              NSizeBWP: []
             NStartBWP: []
            Modulation: 'QPSK'
             NumLayers: 1
           MappingType: 'A'
      SymbolAllocation: [0 14]
                PRBSet: [1x52 double]
    TransformPrecoding: 1
    TransmissionScheme: 'nonCodebook'
       NumAntennaPorts: 1
                  TPMI: 0
      FrequencyHopping: 'neither'
     SecondHopStartPRB: 1
         BetaOffsetACK: 20
        BetaOffsetCSI1: 6.2500
        BetaOffsetCSI2: 6.2500
            UCIScaling: 1
                   NID: []
                  RNTI: 1
                  DMRS: [1x1 nrPUSCHDMRSConfig]
            EnablePTRS: 1
                  PTRS: [1x1 nrPUSCHPTRSConfig]
disp(pusch.PTRS)
  nrPUSCHPTRSConfig with properties:

       TimeDensity: 1
    NumPTRSSamples: 4
     NumPTRSGroups: 8
               NID: 750

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

carrier = nrCarrierConfig;

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

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

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

ptrs = nrPUSCHPTRSConfig;
ptrs.TimeDensity = 2;
ptrs.FrequencyDensity = 4;
ptrs.REOffset = '11';

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

pusch.PTRS = ptrs;

Сгенерируйте индексы PUSCH PT-RS в форме индекса

ind = nrPUSCHPTRSIndices(carrier,pusch,'IndexStyle','subscript')
ind = 312x3 uint32 matrix

    21     1     1
    69     1     1
   117     1     1
   165     1     1
   213     1     1
   261     1     1
   309     1     1
   357     1     1
   405     1     1
   453     1     1
      ⋮

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

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

Создайте объект строения PUSCH с внутрислотным скачкообразным изменением частоты и включите строение PT-RS. Установите предварительное кодирование преобразования равным 1, начальный индекс физических ресурсных блоков (PRB) второго скачка равный 3, и PRB установленный равным 0:5. Когда предварительное кодирование преобразования равно 1, тип формы волны является дискретным ортогональным частотным делением преобразования фурье (DFT-s-OFDM).

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

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

ptrs = nrPUSCHPTRSConfig;
ptrs.TimeDensity = 2;
ptrs.NumPTRSSamples = 4;
ptrs.NumPTRSGroups = 8;
ptrs.NID = 750;

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

pusch.PTRS = ptrs;

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

sym = nrPUSCHPTRS(carrier,pusch,'OutputDataType','single')
sym = 192x1 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
      ⋮

Сгенерируйте индексы PUSCH PT-RS в форме индекса.

ind = nrPUSCHPTRSIndices(carrier,pusch,'IndexStyle','subscript')
ind = 192x3 uint32 matrix

    1    1    1
    2    1    1
    3    1    1
    4    1    1
   12    1    1
   13    1    1
   14    1    1
   15    1    1
   21    1    1
   22    1    1
      ⋮

Ссылки

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

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

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

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