nrCSIRS

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

Описание

пример

[sym,info] = nrCSIRS(carrier,csirs) возвращает сигнал ссылки информации о состоянии канала (CSI-RS) символы sym, как задано в Разделе TS 38.211 7.4.1.5 [1]. Вход carrier задает параметры конфигурации поставщика услуг для определенной нумерологии OFDM. Вход csirs задает параметры конфигурации ресурса CSI-RS для одного или нескольких нулевая степень (ZP) или "не обнуляют степень" (NZP) ресурсы CSI-RS. При конфигурировании и 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
    {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
    {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');

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

свернуть все

Параметры конфигурации поставщика услуг для определенной нумерологии 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 объект настройки. Эти поля представляют частотный диапазон и местоположения временного интервала CSI-RS в пазе для каждого ресурса, как задано в таблице 7.4.1.5.3-1 TS 38.211.

Ссылки

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

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

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

Смотрите также

Функции

Объекты

Введенный в R2019b

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