exponenta event banner

nrPUSCHIndices

Создание индексов элементов ресурсов PUSCH

Описание

пример

[ind,info,ptrsInd] = nrPUSCHIndices(carrier,pusch) прибыль ind в матричной форме, которая содержит индексы ресурса (RE) физического совместно используемого канала (PUSCH) на 1 основе, как определено в TS 38.211 Разделы 6.3.1.6 и 6.3.1.7 [1]. Количество столбцов в ind равен количеству сконфигурированных антенных портов. carrier определяет параметры конфигурации несущей для конкретной нумерации OFDM и pusch определяет конфигурацию PUSCH. При включении предварительного кодирования преобразования выходные данные ind содержит объединенные местоположения данных и опорного сигнала отслеживания фазы (PT-RS). Функция также возвращает структурную информацию, infoи индексы RE PT-RS, ptrsInd. Продукция info содержит информацию о связанных физических опорных сигналах, битовой емкости и емкости символов. ptrsInd является матрицей PT-RS RE в сетке ресурсов несущей. При включении предварительного кодирования преобразования выходные данные 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. The axes with title PUSCH Resource Elements in Carrier Resource Grid contains an object of type image.

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

свернуть все

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Количество PRB в части полосы пропускания (BWP), указанное как целое число от 1 до 275. Использовать [] для установки для этого свойства значения NSizeGrid имущества nrCarrierConfig объект.

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

Запуск индекса PRB BWP относительно блока 0 общих ресурсов (CRB 0), заданного как целое число от 0 до 2473. Использовать [] для установки для этого свойства значения NStartGrid имущества nrCarrierConfig объект.

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

Схема модуляции, указанная как '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 (false) - Отключить предварительное кодирование преобразования. Тип сигнала представляет собой циклическое мультиплексирование с ортогональным частотным разделением (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 до 65535.

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

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

Тип конфигурации 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-AdditityPosition.

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

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

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

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

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

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

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

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

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

Значение по умолчанию, [], соответствует местоположениям символов DM-RS согласно TS 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

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

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

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

  • 2 - номера групп МЧР 0 и 1

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

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

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

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

  • 0 (false) - Деактивизация конфигурации СТ-RS.

  • 1 (true) - активизируйте конфигурирование СТ-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

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

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

Зависимости

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

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

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

Зависимости

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

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

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми 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 RE, возвращаемые как одно из этих значений.

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

    • Количество уровней передачи - если схема передачи не является записной книжкой

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

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

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

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

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

ОбластьОписание
G

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

Gd

Количество RE на уровень или порт

DMRSSymbolSet

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

NREPerPRB

Количество RE на PRB, назначенных PUSCH

PTRSSymbolSet

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

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

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

    • Количество уровней передачи - если схема передачи не является записной книжкой

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

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

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

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

Ссылки

[1] 3GPP TS 38.211. "НР; Физические каналы и модуляция. "Проект партнерства 3-го поколения; Техническая спецификация на сеть радиодоступа группы.

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

.
Представлен в R2020a