nrPUSCHIndices

Сгенерируйте индексы элемента ресурса PUSCH

Описание

пример

[ind,info,ptrsInd] = nrPUSCHIndices(carrier,pusch) возвращает ind в матричной форме, которая содержит физический восходящий канал на основе 1 совместно использованный канал (PUSCH) индексы элемента ресурса (RE), как задано в Разделах TS 38.211 6.3.1.6 и 6.3.1.7 [1]. Количество столбцов в ind равно количеству сконфигурированных портов антенны. carrier задает параметры конфигурации несущей для определенной нумерологии OFDM и pusch задает настройку PUSCH. Когда вы включаете, преобразовывают предварительное кодирование, выход ind содержит объединенные местоположения данных и опорного сигнала отслеживания фазы (PT-RS). Функция также возвращает структурную информацию, info, и индексы PT-RS RE, ptrsInd. Выход info содержит информацию о связанных физических опорных сигналах, емкости в битах и способности символа. ptrsInd матрица PT-RS REs в сетке ресурса несущей. Когда вы включаете, преобразовывают предварительное кодирование, выход ptrsInd представляет проекции местоположений PT-RS до предварительного кодирования преобразования на сетку ресурса несущей.

пример

[ind,info,ptrsInd] = nrPUSCHIndices(carrier,pusch,Name,Value) задает выходные параметры форматирования с помощью одного или нескольких аргументов пары "имя-значение". Незаданные опции берут значения по умолчанию.

Примеры

свернуть все

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

carrier = nrCarrierConfig;

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

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

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

[ind,info,ptrsInd] = nrPUSCHIndices(carrier,pusch,'IndexStyle','subscript')
ind = 31096x3 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: 7774
               Gd: 7774
        NREPerPRB: 156
    DMRSSymbolSet: 2
    PTRSSymbolSet: [0 1 3 4 5 6 7 8 9 10 11 12 13]

ptrsInd = 1352x3 uint32 matrix

    13     1     1
    37     1     1
    61     1     1
    85     1     1
   109     1     1
   133     1     1
   157     1     1
   181     1     1
   205     1     1
   229     1     1
      ⋮

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

Figure contains an axes object. The axes object with title PUSCH Resource Elements in Carrier Resource Grid contains an object of type image.

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

свернуть все

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

Расстояние между поднесущими в kHz, для всех каналов и опорных сигналов несущей в виде 15, 30, 60, 120, или 240.

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

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

  • 'normal' — Используйте это значение, чтобы задать нормальный циклический префикс. Эта опция соответствует 14 символам OFDM в пазе.

  • 'extended' — Используйте это значение, чтобы задать расширенный циклический префикс. Эта опция соответствует 12 символам OFDM в пазе. Для нумерологии, заданной в Разделе TS 38.211 4.2, расширенная длина циклического префикса запрашивает расстояние между поднесущими на только 60 кГц.

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

Количество RBS в сетке ресурса несущей в виде целого числа от 1 до 275. Значение по умолчанию 52 соответствует максимальному количеству RBS несущей на 10 МГц с SCS на 15 кГц.

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

Запустите сетки ресурса несущей относительно CRB 0 в виде целого числа от 0 до 2 199. Это свойство является параметром более высокого слоя offsetToCarrier.

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

Номер слота в виде неотрицательного целого числа. Можно установить NSlot к значению, больше, чем количество пазов на систему координат. Например, можно установить это значение с помощью счетчиков цикла передачи в MATLAB® симуляция. В этом случае вам, вероятно, придется гарантировать, что значение свойства по модулю количество пазов на систему координат в коде вызова.

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

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

Количество 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 TRUE) — Включают, преобразовывают предварительное кодирование. Тип формы волны является ортогональным делением частоты распространения дискретного преобразования Фурье, мультиплексирующим (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

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

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

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

Настройка DM-RS вводит в виде 1 или 2. Это свойство является dmrs-типом параметра более высокого слоя.

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

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

Положение первого символа DM-RS OFDM, обеспеченного более высоким параметром слоя 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

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

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

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

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

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

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

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

Значение по умолчанию, [], соответствует местоположениям символов DM-RS согласно таблице 6.4.1.1.3-3, 6.4.1.1.3-4 TS 38.211, или 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 CDM без данных в виде 1, 2, или 3.

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

  • 1 — Группа номер 0 CDM

  • 2 — Группа числа 0 и 1 CDM

  • 3 — Группа числа 0, 1 CDM, и 2

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

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

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

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

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

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

Настройка PUSCH PT-RS в виде nrPUSCHPTRSConfig объект. Эта функция использует только их nrPUSCHPTRSConfig свойства.

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

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

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

Зависимости

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

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

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

Зависимости

Это свойство применяется только когда 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

Аргументы name-value

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'IndexStyle','subscript','IndexBase','0based' задает форму индексации RE и основу, соответственно, выхода.

Индексация RE формируется в виде одного из этих значений:

  • 'index' — Индексы находятся в линейной форме индекса.

  • 'subscript' — Индексы находятся в [поднесущая, символ, антенна] форма строки индекса.

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

Индексация RE базируется в виде одного из этих значений:

  • '1based' — Подсчет индекса запускается от 1.

  • '0based' — Подсчет индекса запускается от 0.

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

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

  • 'carrier' — На индексы ссылаются относительно сетки несущей.

  • 'bwp' — На индексы ссылаются относительно BWP.

Зависимости

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

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

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

свернуть все

Индексы РЕ PUSCH, возвращенные как одно из этих значений.

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

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

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

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

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

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

Информация о ресурсе PUSCH, возвращенная как структура, содержащая эти поля.

Поле Описание
G

Емкость в битах PUSCH. Это значение должно быть равно длине кодовой комбинации от восходящего канала совместно использованный канал (UL-SCH) транспортный канал.

Gd

Количество REs на слой или порт

DMRSSymbolSet

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

NREPerPRB

Количество REs на PRB, выделенный PUSCH

PTRSSymbolSet

Местоположения символа OFDM в пазе, содержащем опорный сигнал отслеживания фазы (PT-RS). Символы на основе 0.

Индексы РЕ PT-RS, возвращенные как одно из этих значений.

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

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

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

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

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

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

Ссылки

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

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

Введенный в R2020a