nrPUSCHConfig

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

Описание

nrPUSCHConfig возразите устанавливает физический восходящий канал совместно использованный канал (PUSCH), параметры конфигурации, как задано в Разделах TS 38.211 6.3.1, 6.4.1.1, и 6.4.1.2 [1].This object связывают все свойства, вовлеченные в PUSCH обработка цепи, включая скремблирование, модуляция символа, отображение слоя, преобразовывает предварительное кодирование, предварительное кодирование MIMO и отображение элемента ресурса. Объект также содержит свойства определить количество ресурсов для мультиплексирования восходящей управляющей информации (UCI) и сопоставил физические опорные сигналы, такие как опорный сигнал демодуляции (DM-RS) и опорный сигнал отслеживания фазы (PT-RS).

По умолчанию объект конфигурирует физический восходящий канал совместно использованный канал с циклически-префиксным ортогональным делением частоты, мультиплексирующим (CP-OFDM), занимающий пропускную способность на 10 МГц при интервале поднесущей на 15 кГц (52 блока ресурса) и охват более чем 14 символов OFDM в пазе.

Создание

Описание

pusch = nrPUSCHConfig создает объект настройки PUSCH со свойствами по умолчанию.

пример

pusch = nrPUSCHConfig(Name,Value) задает свойства с помощью одного или нескольких аргументов пары "имя-значение". Заключите каждое свойство в кавычки. Например, 'NSizeBWP',200,'NumLayers',4 задает 200 физических блоков ресурса (PRB) в части пропускной способности (BWP) и 4 слоя передачи. Незаданные свойства берут свои значения по умолчанию.

Свойства

развернуть все

Количество PRBs в части пропускной способности (BWP) в виде целого числа от 1 до 275. Использование установить это свойство на NSizeGrid свойство nrCarrierConfig объект.

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

Запуск индекса PRB BWP относительно общего блока 0 ресурса (CRB 0) в виде целого числа от 0 до 2 473. Использование установить это свойство на NStartGrid свойство nrCarrierConfig объект.

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

Схема Modulation в виде 'QPSK', 'pi/2-BPSK', '16QAM', '64QAM', или '256QAM', строковый скаляр или символьный массив.

Схема модуляцииКоличество битов на символ
'pi/2-BPSK'1
'QPSK'2
'16QAM'4
'64QAM'6
'256QAM'8

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

Количество слоев передачи в виде 1, 2, 3, или 4.

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

Отображение типа физического разделяемого канала в виде 'A' или 'B'.

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

Выделение символа OFDM физического разделяемого канала в виде двухэлементного вектора из неотрицательных целых чисел. Первый элемент этого свойства представляет запуск выделения символа (на основе 0). Второй элемент представляет количество выделенных символов OFDM.

Когда это свойство установлено в [] или вторым элементом в этом двухэлементном векторе из неотрицательных целых чисел является 0, выделение символа пусто.

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

Выделение физического блока ресурса (PRB) PUSCH в BWP в виде вектора из неотрицательных целых чисел от 0 до 274.

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

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

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

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

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

Схема передачи PUSCH в виде 'nonCodebook' или 'codebook'.

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

Количество портов антенны в виде 1, 2, или 4. Это значение должно быть больше или быть равно NumLayers свойство.

Зависимости

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

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

Переданный предварительно кодирующий матричный индикатор в виде целого числа от 0 до 27.

Зависимости

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

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

Частота, скачкообразно двигающаяся для физического восходящего канала совместно использованный канал в виде 'neither', 'intraSlot', или 'interSlot'.

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

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

Зависимости

Это свойство применимо только когда FrequencyHopping установлен в 'intraSlot', или 'interSlot'.

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

Бета фактор смещения гибридного автоматического повторного подтверждения запроса (HARQ-ACK) в виде положительного целого числа. Это свойство используется, чтобы определить количество ресурсов для мультиплексирования HARQ-ACK. Номинальная стоимость является одной из записи из Таблицы 9.3-1 TS 38.213.

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

Бета фактор смещения части 1 информации о состоянии канала (CSI) в виде положительного целого числа. Это свойство используется, чтобы определить количество ресурсов для мультиплексирования части 1 CSI. Номинальная стоимость является одной из записи из Таблицы 9.3-2 TS 38.213.

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

Бета фактор смещения части 2 CSI в виде положительного целого числа. Это свойство используется, чтобы определить количество ресурсов для мультиплексирования части 2 CSI. Номинальная стоимость является одной из записи из Таблицы 9.3-2 TS 38.213.

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

Масштабный коэффициент, чтобы ограничить количество элементов ресурса, выделенных для восходящей информации о канале (UCI) на PUSCH в виде скаляра в области значений (0, 1). Номинальная стоимость 0.5, 0.65, 0.8, или 1.

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

Скремблирование идентичности в виде целого числа от 0 до 1 023. Использование установить это свойство на NCellID свойство nrCarrierConfig объект.

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

Радиосеть временный идентификатор оборудования пользователя (UE) в виде целого числа от 0 до 65 535.

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

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

Включите PT-RS в виде одного из этих значений.

  • 0 — Отключите настройку PT-RS.

  • 1 — Включите настройку PT-RS.

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

Опорный сигнал отслеживания фазы PUSCH (PT-RS) настройка в виде nrPUSCHPTRSConfig объект настройки. Это свойство относится к фазе, отслеживающей настройку опорного сигнала, и содержит все свойства заданного nrPUSCHPTRSConfig объект.

Примеры

свернуть все

Создайте физический восходящий канал совместно использованный объект настройки канала со схемой передачи 'книги шифров'.

Задайте размер части пропускной способности как 52, скремблируя идентичность как 750, частота, скачкообразно двигающаяся как 'межпаз' и количество портов антенны как 2. Включите преобразовывают предварительное кодирование и настройку PT-RS.

pusch = nrPUSCHConfig;
pusch.NSizeBWP = 52;
pusch.NID = 750;
pusch.TransmissionScheme = 'codebook';
pusch.FrequencyHopping = 'interslot';
pusch.NumAntennaPorts = 2;
pusch.TransformPrecoding = 1;
pusch.EnablePTRS = 1;
disp(pusch)
  nrPUSCHConfig with properties:

              NSizeBWP: 52
             NStartBWP: []
            Modulation: 'QPSK'
             NumLayers: 1
           MappingType: 'A'
      SymbolAllocation: [0 14]
                PRBSet: [1x52 double]
    TransformPrecoding: 1
    TransmissionScheme: 'codebook'
       NumAntennaPorts: 2
                  TPMI: 0
      FrequencyHopping: 'interSlot'
     SecondHopStartPRB: 1
         BetaOffsetACK: 20
        BetaOffsetCSI1: 6.2500
        BetaOffsetCSI2: 6.2500
            UCIScaling: 1
                   NID: 750
                  RNTI: 1
                  DMRS: [1x1 nrPUSCHDMRSConfig]
            EnablePTRS: 1
                  PTRS: [1x1 nrPUSCHPTRSConfig]

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

carrier = nrCarrierConfig;

Создайте объект настройки PUSCH с основанной на книге шифров передачей. Определите номер портов антенны к 4, схемы модуляции к pi/2-BPSK, переданного предварительно кодирующего матричного индикатора к 10, и преобразуйте предварительное кодирование к 0. То, когда преобразовывают предварительное кодирование, 0, тип формы волны является циклически-префиксным ортогональным делением частоты, мультиплексирующим (CP-OFDM).

pusch = nrPUSCHConfig;
pusch.TransformPrecoding = 0;
pusch.Modulation = 'pi/2-BPSK';
pusch.TransmissionScheme = 'codebook';
pusch.NumAntennaPorts = 4;
pusch.TPMI = 10;

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

[ind,info] = nrPUSCHIndices(carrier,pusch,'IndexStyle','subscript')
ind = 32448x3 uint32 matrix

    1    1    1
    2    1    1
    3    1    1
    4    1    1
    5    1    1
    6    1    1
    7    1    1
    8    1    1
    9    1    1
   10    1    1
      ⋮

info = struct with fields:
                G: 8112
               Gd: 8112
        NREPerPRB: 156
    DMRSSymbolSet: 2
    PTRSSymbolSet: [1x0 double]

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

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

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

pusch = nrPUSCHConfig;
pusch.NStartBWP = 10;
pusch.NSizeBWP = 41;
pusch.Modulation = '16QAM';
pusch.NID = []; % Set NID equal to the NCellID property of carrier.
pusch.PRBSet = 0:5;
pusch.TransformPrecoding = 1;
pusch.FrequencyHopping = 'intraSlot';
pusch.SecondHopStartPRB = 3;

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

[ind,info] = nrPUSCHIndices(carrier,pusch,'IndexOrientation','carrier')
ind = 864x1 uint32 column vector

   121
   122
   123
   124
   125
   126
   127
   128
   129
   130
      ⋮

info = struct with fields:
                G: 3456
               Gd: 864
        NREPerPRB: 144
    DMRSSymbolSet: [2 7]
    PTRSSymbolSet: [1x0 double]

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

numDataBits = info.G;
cws = randi([0 1],numDataBits,1);
sym = nrPUSCH(carrier,pusch,cws,'OutputDataType','single')
sym = 864x1 single column vector

  -0.7454 + 0.2981i
   0.3406 - 0.2312i
  -0.1153 + 0.2756i
   1.1921 - 0.3658i
  -0.3968 - 0.0277i
  -0.8788 - 0.6493i
  -0.8737 + 0.8318i
  -0.5764 + 0.0269i
  -1.6638 + 0.0482i
  -1.0270 - 0.1347i
      ⋮

Постройте сгенерированные символы и индексы на сетке ресурса поставщика услуг.

grid = complex(zeros([carrier.NSizeGrid*12 carrier.SymbolsPerSlot pusch.NumLayers]));
grid(ind) = sym;
imagesc(abs(grid(:,:,1)));
axis xy;
xlabel('OFDM Symbols');
ylabel('Subcarriers');
title('PUSCH Resource Elements in Carrier Resource Grid');

Ссылки

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

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

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

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

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