Сгенерируйте индексы элемента ресурса PUCCH DM-RS
генерирует ind
= nrPUCCHDMRSIndices(carrier
,pucch
)ind
, который содержит опорный сигнал демодуляции (DM-RS) индексы элемента ресурса (RE) физического восходящего канала управления (PUCCH), как задано в Разделе TS 38.211 6.4.1.3 [1], для всех форматов PUCCH. carrier
задает настройку несущей. pucch
задает настройку PUCCH. Для формата 0 PUCCH функция возвращает пустое значение для sym
.
задает выходные параметры форматирования с помощью одних или нескольких аргументов name-value.ind
= nrPUCCHDMRSIndices(carrier
,pucch
,Name,Value
)
Создайте объект настройки несущей по умолчанию.
carrier = nrCarrierConfig;
Задайте количество RBS в сетке ресурса несущей как 50, запуск сетки ресурса несущей относительно CRB 0 как 120, и номер слота как 25.
carrier.NSizeGrid = 50; carrier.NStartGrid = 120; carrier.NSlot = 25;
Создайте объект настройки формата 2 PUCCH по умолчанию.
pucch2 = nrPUCCH2Config;
Задайте первый индекс символа в пазе передачи PUCCH как 7 и количество выделенных символов PUCCH как 2. Установите PRBs, выделенный для PUCCH лежать в диапазоне от 40 до 45. Включите скачкообразное движение частоты внутрипаза и установите запуск индекс PRB второго транзитного участка к 20. Задайте идентичность скремблирования DM-RS как 1 005.
pucch2.SymbolAllocation = [7 2];
pucch2.PRBSet = 40:45;
pucch2.FrequencyHopping = 'intraSlot';
pucch2.SecondHopStartPRB = 20;
pucch2.NID0 = 1005;
Сгенерируйте символы DM-RS формата 2 PUCCH.
sym = nrPUCCHDMRS(carrier,pucch2)
sym = 48×1 complex
0.7071 - 0.7071i
-0.7071 + 0.7071i
-0.7071 - 0.7071i
0.7071 - 0.7071i
-0.7071 - 0.7071i
0.7071 - 0.7071i
0.7071 - 0.7071i
0.7071 - 0.7071i
0.7071 - 0.7071i
-0.7071 + 0.7071i
⋮
Сгенерируйте индексы DM-RS RE формата 2 PUCCH.
ind = nrPUCCHDMRSIndices(carrier,pucch2)
ind = 48x1 uint32 column vector
4682
4685
4688
4691
4694
4697
4700
4703
4706
4709
⋮
Постройте сгенерированные символы и REs в сетке ресурса несущей.
resGrid = nrResourceGrid(carrier); resGrid(ind) = sym; imagesc(abs(resGrid)) axis xy xlabel('OFDM Symbols') ylabel('Subcarriers') title('Carrier Grid Containing DM-RS of PUCCH Format 2')
Создайте объект настройки несущей по умолчанию.
carrier = nrCarrierConfig;
Задайте количество RBS в сетке ресурса несущей к 10.
carrier.NSizeGrid = 10;
Создайте объект настройки формата 4 PUCCH по умолчанию.
pucch4 = nrPUCCH4Config;
Установите первый индекс символа в пазе передачи PUCCH к 2 и количество выделенных символов PUCCH к 12. Включите скачкообразное движение группы и дополнительный флаг настройки DM-RS. Задайте скачкообразно двигающуюся идентичность как 120, распространяющийся фактор как 4, и ортогональный индекс кода покрытия (OCCI) как 3.
pucch4.SymbolAllocation = [2 12];
pucch4.GroupHopping = 'enable';
pucch4.HoppingID = 120;
pucch4.SpreadingFactor = 4;
pucch4.OCCI = 3;
pucch4.AdditionalDMRS = 1;
Сгенерируйте символы DM-RS формата 4 PUCCH с типом данных single
.
sym = nrPUCCHDMRS(carrier,pucch4, 'OutputDataType','single')
sym = 48x1 single column vector
0.7071 - 0.7071i
0.7071 - 0.7071i
0.7071 - 0.7071i
-0.7071 - 0.7071i
-0.7071 - 0.7071i
0.7071 - 0.7071i
0.7071 + 0.7071i
-0.7071 - 0.7071i
0.7071 + 0.7071i
0.7071 + 0.7071i
⋮
Сгенерируйте индексы DM-RS RE формата 4 PUCCH.
ind = nrPUCCHDMRSIndices(carrier,pucch4)
ind = 48x1 uint32 column vector
361
362
363
364
365
366
367
368
369
370
⋮
Постройте сгенерированные символы и REs в сетке ресурса несущей.
resGrid = nrResourceGrid(carrier); resGrid(ind) = sym; imagesc(abs(resGrid)) axis xy xlabel('OFDM Symbols') ylabel('Subcarriers') title('Carrier Grid Containing DM-RS of PUCCH Format 4')
carrier
— Параметры конфигурации несущейnrCarrierConfig
объектПараметры конфигурации несущей для определенной нумерологии OFDM в виде nrCarrierConfig
объект. Эта функция только использует их nrCarrierConfig
свойства объектов.
pucch
— Параметры конфигурации PUCCHnrPUCCH1Config
возразите | nrPUCCH2Config
возразите | nrPUCCH3Config
возразите | nrPUCCH4Config
объектПараметры конфигурации PUCCH в виде одной из этих опций.
Для формата 1 задайте nrPUCCH1Config
объект. Функция использует только эти свойства объектов.
Для формата 2 задайте nrPUCCH2Config
объект. Функция использует только эти свойства объектов.
Для формата 3 задайте nrPUCCH3Config
объект. Функция использует только эти свойства объектов.
Для формата 4 задайте nrPUCCH4Config
объект. Функция использует только эти свойства объектов.
Для формата 0 PUCCH функция возвращает пустое значение.
Задайте дополнительные разделенные запятой пары 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 DM-RSИндексы РЕ PUCCH DM-RS, возвращенные как одно из этих значений.
Вектор-столбец — функция возвращает этот тип значения, когда вы устанавливаете IndexStyle
аргумент значения имени к 'index'
.
M-by-3 матрица — функция возвращает этот тип значения, когда вы устанавливаете IndexStyle
аргумент значения имени к 'subscript'
. Строки матрицы соответствуют [поднесущая, символ, антенна] индексы на основе количества поднесущих, символов OFDM и количества антенн, соответственно.
В зависимости от значения IndexBase
, функция возвращает или индексы на основе 0 или на основе 1. В зависимости от значения IndexOrientation
, функция возвращает или ориентированные несущими индексы или BWP-ориентированные индексы.
Для формата 0 PUCCH этот выход пуст.
Типы данных: uint32
[1] 3GPP TS 38.211. “NR; Физические каналы и модуляция”. Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group.
Указания и ограничения по применению:
Имена и значения в аргументах пары "имя-значение" должны быть константами времени компиляции. Например, при определении линейной формы индексации, включайте {coder.Constant('IndexStyle'),coder.Constant('index')}
в -args
значение codegen
функция. Для получения дополнительной информации смотрите coder.Constant
(MATLAB Coder) класс.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.