Создание индексов элементов ресурсов PUCCH
[ производит ind,info] = nrPUCCHIndices(carrier,pucch)ind, который содержит индексы элемента ресурса (RE) физического канала управления восходящей линии связи (PUCCH) на основе 1, как определено в TS 38.211 Раздел 6.3.2 [1] для всех форматов PUCCH. carrier определяет конфигурацию оператора связи. pucch определяет конфигурацию PUCCH. Функция также генерирует info, которая содержит информацию о битовой емкости и символьной емкости управляющей информации восходящей линии связи (UCI) на PUCCH.
Создайте объект конфигурации оператора связи по умолчанию. Этот объект соответствует несущей 10 МГц с интервалом между поднесущими 15 кГц.
carrier = nrCarrierConfig;
Создайте объект конфигурации формата 0 PUCCH по умолчанию.
pucch0 = nrPUCCH0Config;
Укажите размер части полосы пропускания (BWP) как 35 и начальный индекс PRB BWP относительно CRB 0 как 12. Укажите первый индекс символа в слоте передачи PUCCH как 3 и количество выделенных символов PUCCH как 2. Установите PRB, назначенный для PUCCH, равным 20, активизируйте скачкообразную перестройку частоты внутри слота и установите начальный индекс PRB второго транзитного участка равным 10.
pucch0.NSizeBWP = 35;
pucch0.NStartBWP = 12;
pucch0.SymbolAllocation = [3 2];
pucch0.PRBSet = 20;
pucch0.FrequencyHopping = 'intraSlot';
pucch0.SecondHopStartPRB = 10;Создайте индексы RE формата PUCCH 0, задав ориентацию индекса относительно сетки несущих.
[ind,info] = nrPUCCHIndices(carrier,pucch0,'IndexOrientation','carrier')
ind = 24x1 uint32 column vector
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
⋮
info = struct with fields:
G: 24
Gd: 24
NREPerPRB: 24
DMRSSymbolSet: [1x0 double]
Постройте график созданных RE для формата PUCCH 0 в сетке ресурсов несущей.
resGrid = nrResourceGrid(carrier); resGrid(ind) = 1; imagesc(resGrid) axis xy xlabel('OFDM Symbols') ylabel('Subcarriers') title('Carrier Grid Containing PUCCH Format 0')

Создайте объект конфигурации оператора связи по умолчанию.
carrier = nrCarrierConfig;
Укажите несущую 60 кГц с расширенным циклическим префиксом. Установите для количества RB в сетке ресурсов несущей значение 55, а для номера слота - значение 12.
carrier.SubcarrierSpacing = 60;
carrier.CyclicPrefix = 'extended';
carrier.NSizeGrid = 55;
carrier.NSlot = 12;Создайте объект конфигурации формата 1 PUCCH по умолчанию.
pucch1 = nrPUCCH1Config;
Укажите первый индекс символа в слоте передачи PUCCH как 3 и количество выделенных символов PUCCH как 8. Активизируйте скачкообразную перестройку частоты внутри слота и установите начальный индекс PRB второго перехода в 35.
pucch1.NSizeBWP = []; % Set NSizeBWP equal to the NSizeGrid property of carrier pucch1.NStartBWP = []; % Set NStartBWP equal to the NStartGrid property of carrier pucch1.SymbolAllocation = [3 8]; pucch1.FrequencyHopping = 'intraSlot'; pucch1.SecondHopStartPRB = 35;
Создайте индексы RE формата 1 PUCCH.
[ind,info] = nrPUCCHIndices(carrier,pucch1)
ind = 48x1 uint32 column vector
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
⋮
info = struct with fields:
G: 48
Gd: 48
NREPerPRB: 48
DMRSSymbolSet: [3 5 7 9]
Постройте график созданных RE для формата PUCCH 1 в сетке ресурсов несущей.
resGrid = nrResourceGrid(carrier); resGrid(ind) = 1; imagesc(resGrid) axis xy xlabel('OFDM Symbols') ylabel('Subcarriers') title('Carrier Grid Containing PUCCH Format 1')

Создайте объект конфигурации оператора связи по умолчанию.
carrier = nrCarrierConfig;
Укажите количество RB в сетке ресурсов несущей как 24, начало сетки ресурсов несущей относительно CRB 0 как 20 и номер слота как 43.
carrier.NSizeGrid = 24; carrier.NStartGrid = 20; carrier.NSlot = 43;
Создайте объект конфигурации формата 2 PUCCH по умолчанию.
pucch2 = nrPUCCH2Config;
Укажите первый индекс символа в слоте передачи PUCCH как 5 и количество выделенных символов PUCCH как 2. Установите PRB, назначенные для PUCCH, в диапазоне от 0 до 15 и активизируйте скачкообразную перестройку частоты внутри слота. Установите начальный индекс PRB второго транзитного участка в 7.
pucch2.SymbolAllocation = [5 2];
pucch2.PRBSet = 0:15;
pucch2.FrequencyHopping = 'intraSlot';
pucch2.SecondHopStartPRB = 7;Создание индексов RE формата PUCCH 2.
[ind,info] = nrPUCCHIndices(carrier,pucch2)
ind = 256x1 uint32 column vector
1441
1443
1444
1446
1447
1449
1450
1452
1453
1455
⋮
info = struct with fields:
G: 512
Gd: 256
NREPerPRB: 16
DMRSSymbolSet: [5 6]
Постройте график созданных RE для формата PUCCH 2 в сетке ресурсов несущей.
resGrid = nrResourceGrid(carrier); resGrid(ind) = 1; imagesc(resGrid) axis xy xlabel('OFDM Symbols') ylabel('Subcarriers') title('Carrier Grid Containing PUCCH Format 2')

Создайте объект конфигурации оператора связи по умолчанию.
carrier = nrCarrierConfig;
Создайте объект конфигурации формата 3 PUCCH по умолчанию.
pucch3 = nrPUCCH3Config;
Укажите назначение PRB PUCCH в диапазоне от 0 до 11. Установите первый индекс символа в слоте передачи PUCCH равным 2, а количество выделенных символов PUCCH равным 12. Активизируйте дополнительный флаг конфигурации DM-RS.
pucch3.NSizeBWP = []; pucch3.NStartBWP = []; pucch3.PRBSet = 0:11; pucch3.SymbolAllocation = [2 12]; pucch3.AdditionalDMRS = 1;
Создайте индексы RE формата PUCCH 3, задав ориентацию индекса относительно сетки несущих.
[ind,info] = nrPUCCHIndices(carrier,pucch3,'IndexOrientation','carrier')
ind = 1152x1 uint32 column vector
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
⋮
info = struct with fields:
G: 2304
Gd: 1152
NREPerPRB: 96
DMRSSymbolSet: [3 6 9 12]
Постройте график созданных RE для формата PUCCH 3 в сетке ресурсов несущей.
resGrid = nrResourceGrid(carrier); resGrid(ind) = 1; imagesc(resGrid) axis xy xlabel('OFDM Symbols') ylabel('Subcarriers') title('Carrier Grid Containing PUCCH Format 3')

Создайте объект конфигурации оператора связи по умолчанию.
carrier = nrCarrierConfig;
Создайте объект конфигурации формата 4 PUCCH по умолчанию.
pucch4 = nrPUCCH4Config;
Укажите схему модуляции как pi/2-BPSK и выделенный PRB для PUCCH как 50. Установите первый индекс символа в слоте передачи PUCCH равным 2, а количество выделенных символов PUCCH равным 10. Активизируйте скачкообразную перестройку частоты внутри слота и дополнительный флаг конфигурации DM-RS. Установите начальный индекс PRB второго транзитного участка в 10.
pucch4.Modulation = 'pi/2-BPSK'; pucch4.PRBSet = 50; pucch4.SymbolAllocation = [2 10]; pucch4.FrequencyHopping = 'intraSlot'; pucch4.SecondHopStartPRB = 10; pucch4.AdditionalDMRS = 1;
Создайте индексы RE формата PUCCH 4.
[ind,info] = nrPUCCHIndices(carrier,pucch4)
ind = 72x1 uint32 column vector
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
⋮
info = struct with fields:
G: 36
Gd: 36
NREPerPRB: 72
DMRSSymbolSet: [3 5 8 10]
Постройте график созданных RE для формата PUCCH 4 в сетке ресурсов несущей.
resGrid = nrResourceGrid(carrier); resGrid(ind) = 1; imagesc(resGrid) axis xy xlabel('OFDM Symbols') ylabel('Subcarriers') title('Carrier Grid Containing PUCCH Format 4')

carrier - Параметры конфигурации несущейnrCarrierConfig объектПараметры конфигурации несущей для конкретной нумерации OFDM, определенные как nrCarrierConfig объект. Эта функция использует только эти nrCarrierConfig свойства объекта.
pucch - Параметры конфигурации PUCCHnrPUCCH0Config объект | nrPUCCH1Config объект | nrPUCCH2Config объект | nrPUCCH3Config объект | nrPUCCH4Config объектПараметры конфигурации PUCCH, указанные в качестве одной из этих опций.
Для формата 0 укажите nrPUCCH0Config объект. Функция использует только эти свойства объекта.
Для формата 1 укажите nrPUCCH1Config объект. Функция использует только эти свойства объекта.
Для формата 2 укажите nrPUCCH2Config объект. Функция использует только эти свойства объекта.
Для формата 3 укажите nrPUCCH3Config объект. Функция использует только эти свойства объекта.
Для формата 4 укажите nrPUCCH4Config объект. Функция использует только эти свойства объекта.
Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.
'IndexStyle','subscript' определяет форму индексирования RE выходных данных.'IndexStyle' - форма индексации RE'index' (по умолчанию) | 'subscript'Форма индексирования RE, заданная как одно из следующих значений:
'index' - Индексы в линейном индексном виде.
'subscript' - Индексы представлены в виде строки поднесущей, символа, антенны.
Типы данных: char | string
'IndexBase' - база индексации RE'1based' (по умолчанию) | '0based'База индексирования RE, заданная как одно из следующих значений:
'1based' - отсчет индекса начинается с 1.
'0based' - отсчет индекса начинается с 0.
Типы данных: char | string
'IndexOrientation' - Ориентация индексирования RE'carrier' (по умолчанию) | 'bwp'Ориентация индексирования RE, заданная как одно из следующих значений:
'carrier' - Индексы привязаны к несущей сетке.
'bwp' - Индексы ссылаются на BWP.
Типы данных: char | string
ind - Индексы PUCCH REИндексы PUCCH RE, возвращаемые как одно из следующих значений:
Вектор столбца - функция возвращает этот тип значения при установке IndexStyle аргумент «имя-значение» для 'index'.
M-by-3 matrix - функция возвращает этот тип значения при установке IndexStyle аргумент «имя-значение» для 'subscript'. Строки матрицы соответствуют подстрокам [поднесущей, символа, антенны] на основе количества поднесущих, символов OFDM и количества антенн соответственно.
В зависимости от значения IndexBaseфункция возвращает либо индексы на основе 1, либо индексы на основе 0. В зависимости от значения IndexOrientationфункция возвращает либо индексы, ориентированные на несущую, либо индексы, ориентированные на BWP.
Типы данных: uint32
info - Информация о ресурсах PUCCHИнформация о ресурсах PUCCH, возвращенная в виде структуры, содержащей эти поля. Тип выходных данных каждого поля: double.
| Область | Описание |
|---|---|
G | Битовая емкость PUCCH, возвращаемая как значение, которое равно длине кодированного кодового слова UCI для форматов 2, 3 и 4. |
Gd | Емкость символов PUCCH |
NREPerPRB | Количество RE на PRB, выделенное PUCCH (включая коэффициент расширения) |
DMRSSymbolSet | Набор 0-основанных местоположений символов OFDM в слоте, содержащем опорный сигнал демодуляции (DM-RS) |
[1] 3GPP TS 38.211. "НР; Физические каналы и модуляция. "Проект партнерства 3-го поколения; Техническая спецификация на сеть радиодоступа группы.
Примечания и ограничения по использованию:
Имена и значения в аргументах пары имя-значение должны быть константами времени компиляции. Например, при указании формы линейного индексирования включить {coder.Constant('IndexStyle'),coder.Constant('index')} в -args значение codegen функция. Дополнительные сведения см. в разделе coder.Constant (Кодер MATLAB) класс.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.