nrCSIRS

Сгенерируйте символы CSI-RS

Описание

пример

[sym,info] = nrCSIRS(carrier,csirs) возвращает символы опорного сигнала информации о состоянии канала (CSI-RS) sym, как определено в ТУ 38.211 Раздел 7.4.1.5 [1]. Область входа carrier задает параметры конфигурации несущей для определенной нумерологии OFDM. Область входа csirs задает параметры конфигурации ресурса CSI-RS для одного или нескольких ресурсов CSI-RS с нулевой мощностью (ZP) или степенью (NZP). При конфигурировании ресурсов ZP и NZP возвращенные символы находятся в порядке ZP, за которым следует NZP, независимо от порядка ресурсов, заданного csirs. Функция также возвращает структуру info, который содержит дополнительную информацию о местоположениях CSI-RS.

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

Примеры

свернуть все

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

carrier = nrCarrierConfig;

Создайте объект строения CSI-RS со свойствами по умолчанию.

csirs = nrCSIRSConfig;

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

[sym,info_sym] = nrCSIRS(carrier,csirs,'OutputDataType','single');

Сгенерируйте индексы ресурсного элемента для CSI-RS.

[ind,info_ind] = nrCSIRSIndices(carrier,csirs);

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

carrier = nrCarrierConfig('NSlot',10);

Создайте объект строения ресурса CSI-RS для двух периодических ресурсов. Укажите один ресурс NZP и один ресурс ZP с номерами строк 3 и 5, местоположения символов 13 и 9, и местоположения поднесущих 6 и 4, соответственно. Для обоих ресурсов установите периодичность равной 5, смещение на 1, и плотность по 'one'.

csirs = nrCSIRSConfig;
csirs.CSIRSType = {'nzp','zp'};
csirs.CSIRSPeriod = {[5 1],[5 1]};
csirs.RowNumber = [3 5];
csirs.Density = {'one','one'};
csirs.SymbolLocations = {13,9};
csirs.SubcarrierLocations = {6,4};

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

[sym,info_sym] = nrCSIRS(carrier,csirs,...
                'OutputResourceFormat','cell')
sym=1×2 cell array
    {0x1 double}    {0x1 double}

info_sym = struct with fields:
      ResourceOrder: [2 1]
           KBarLBar: {{1x1 cell}  {1x2 cell}}
    CDMGroupIndices: {[0]  [0 1]}
             KPrime: {[0 1]  [0 1]}
             LPrime: {[0]  [0]}

[ind,info_ind] = nrCSIRSIndices(carrier,csirs,...
                'IndexStyle','subscript','OutputResourceFormat','cell')
ind=1×2 cell array
    {0x3 uint32}    {0x3 uint32}

info_ind = struct with fields:
      ResourceOrder: [2 1]
           KBarLBar: {{1x1 cell}  {1x2 cell}}
    CDMGroupIndices: {[0]  [0 1]}
             KPrime: {[0 1]  [0 1]}
             LPrime: {[0]  [0]}

Проверьте, что сгенерированные выходы указаны в порядке ресурсов ZP-CSI-RS, за которыми следуют ресурсы NZP-CSI-RS с точки зрения заданных csirs.CSIRSType индексы.

info_sym.ResourceOrder
ans = 1×2

     2     1

info_ind.ResourceOrder
ans = 1×2

     2     1

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

carrier = nrCarrierConfig;

Создайте объект строения ресурса CSI-RS с параметрами CSI-RS, установленными для отслеживания. Задайте четыре периодических ресурса NZP-CSI-RS в двух последовательных пазах. Укажите для каждого паза, который будет содержать два периодических ресурса NZP-CSI-RS с установленной периодичностью 20. Установите смещение для первых двух ресурсов равным 0. Установите смещение для следующих двух ресурсов равным 1. Установите номер строки равным 1 и плотность по 'three' для всех ресурсов.

csirs = nrCSIRSConfig;
csirs.CSIRSType = {'nzp','nzp','nzp','nzp'};
csirs.CSIRSPeriod = {[20 0],[20 0],[20 1],[20 1]};
csirs.RowNumber = [1 1 1 1];
csirs.Density = {'three','three','three','three'};
csirs.SymbolLocations = {6,10,6,10};
csirs.SubcarrierLocations = {0,0,0,0};

Сгенерируйте символы и индексы CSI-RS для номера паза по умолчанию объекта строения поставщика услуг ( пазов номер 0).

ind0 = nrCSIRSIndices(carrier,csirs);
sym0 = nrCSIRS(carrier,csirs);

Отобразите символы на несущей сетке с одним пазом длительности.

gridSize = [12*carrier.NSizeGrid carrier.SymbolsPerSlot max(csirs.NumCSIRSPorts)];
slotgrid0 = complex(zeros(gridSize));
slotgrid0(ind0) = sym0;

Измените абсолютный номер паза в строении поставщика услуг с 0 на 1.

carrier.NSlot = 1; 

Сгенерируйте символы CSI-RS и индексы для паза номер 1.

ind1 = nrCSIRSIndices(carrier,csirs);
sym1 = nrCSIRS(carrier,csirs);

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

slotgrid1 = complex(zeros(gridSize));
slotgrid1(ind1) = sym1;

Сцепите два пазов, чтобы сформировать окончательную сетку.

grid = [slotgrid0 slotgrid1];

Постройте график сетки.

imagesc(abs(grid(:,:,1)));
axis xy;
title('CSI-RS as Tracking Reference Signal');
xlabel('OFDM Symbols');
ylabel('Subcarriers');

Figure contains an axes. The axes with title CSI-RS as Tracking Reference Signal contains an object of type image.

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

свернуть все

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

Параметры конфигурации ресурса CSI-RS, заданные как nrCSIRSConfig объект.

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

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

Пример: 'OutputDataType','single' задает single тип данных для символов выходов.

Тип данных сгенерированных символов CSI-RS, заданный как разделенная разделенными запятой парами, состоящая из 'OutputDataType' и 'double' или 'single'.

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

Выход символов CSI-RS, заданный как разделенная разделенными запятой парами, состоящая из 'OutputResourceFormat' и одно из следующих значений:

  • 'concatenated' - Выходные sym является одним вектором-столбцом, содержащей все объединенные символы CSI-RS.

  • 'cell' - Выходные sym - массив ячеек, где каждая камера соответствует одному ресурсу CSI-RS.

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

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

свернуть все

CSI-RS символы, возвращенные как комплексный вектор-столбец или массив ячеек сложных векторов-столбцов.

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

Информация о местоположениях CSI-RS, возвращенная как структура, содержащая следующие поля:

ОбластиОписание
ResourceOrder

Порядок ресурсов CSI-RS в части CSIRSType индексы. CSIRSType является свойством входа csirs объект строения, задающий все ресурсы CSI-RS, для которых функция генерирует выходы.

KBarLBar

Частотные диапазоны и временной областях самых низких ресурсных элементов, соответствующих всем группам мультиплексирования с кодовым делением (CDM)

CDMGroupIndices

Индексы группы CDM

KPrime

Индексация частотного диапазона в группе CDM

LPrime

Индексация во временной области в группе CDM

Каждое поле, кроме ResourceOrder, возвращает информацию в порядке ресурса, заданном CSIRSType свойство входного csirs объект строения. Эти поля представляют местоположения частотный диапазон и временной областях в пазе для каждого ресурса, как определено в TS 38.211 Таблица 7.4.1.5.3-1.

Ссылки

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

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

.

См. также

Функции

Объекты

Введенный в R2019b