Сгенерируйте индексы PUSCH DM-RS
возвращает матрицу, содержащую опорный сигнал демодуляции (DM-RS) индексы элемента ресурса (RE) физического восходящего канала совместно использованный канал (PUSCH), как задано в Разделе TS 38.211 6.4.1.1.3 [1]. ind
= nrPUSCHDMRSIndices(carrier
,pusch
)carrier
задает параметры конфигурации поставщика услуг для определенной нумерологии OFDM. pusch
задает параметры конфигурации PUSCH. Возвращенные индексы являются использующей линейной формой индексации на основе 1.
задает выходные параметры форматирования при помощи одного или нескольких аргументов пары "имя-значение". Незаданные опции берут значения по умолчанию.ind
= nrPUSCHDMRSIndices(carrier
,pusch
,Name,Value
)
Создайте объект настройки поставщика услуг со свойствами по умолчанию. Этот объект соответствует поставщику услуг на 10 МГц с интервалом поднесущей на 15 кГц.
carrier = nrCarrierConfig;
Создайте физический восходящий канал совместно использованный канал (PUSCH) объект настройки с заданными свойствами. То, когда преобразовывают предварительное кодирование, установлено в 0, тип формы волны является циклически-префиксным ортогональным делением частоты, мультиплексирующим (CP-OFDM).
pusch = nrPUSCHConfig;
pusch.TransformPrecoding = 0;
pusch.TransmissionScheme = 'codebook';
pusch.NumAntennaPorts = 4;
pusch.TPMI = 0;
Сконфигурируйте объект (DM-RS) опорного сигнала демодуляции PUSCH заданными параметрами.
pusch.DMRS.DMRSAdditionalPosition = 2; pusch.DMRS.DMRSTypeAPosition = 2; pusch.DMRS.DMRSPortSet = 3; pusch.DMRS.NIDNSCID = 15; pusch.DMRS.NSCID = 1;
Сгенерируйте индексы DM-RS, сопоставленные к PUSCH формы индексации индекса.
ind = nrPUSCHDMRSIndices(carrier,pusch,'IndexStyle','subscript')
ind = 3744x3 uint32 matrix
2 3 1
4 3 1
6 3 1
8 3 1
10 3 1
12 3 1
14 3 1
16 3 1
18 3 1
20 3 1
⋮
Создайте настройку поставщика услуг с интервалом поднесущей на 30 кГц и пропускной способностью передачи на 5 МГц.
carrier = nrCarrierConfig; carrier.SubcarrierSpacing = 30; carrier.NSizeGrid = 11;
Создайте физический восходящий канал совместно использованный канал (PUSCH) объект настройки с заданными свойствами. То, когда преобразовывают предварительное кодирование, установлено в 1, тип формы волны является ортогональным делением частоты распространения дискретного преобразования Фурье, мультиплексирующим (DFT-s-OFDM).
pusch = nrPUSCHConfig;
pusch.NSizeBWP = 9;
pusch.NStartBWP = 1;
pusch.PRBSet = 0:3;
pusch.TransformPrecoding = 1;
pusch.FrequencyHopping = 'intraSlot';
pusch.SecondHopStartPRB = 5;
Создайте объект (DM-RS) опорного сигнала демодуляции PUSCH с заданными свойствами.
dmrs = nrPUSCHDMRSConfig; dmrs.DMRSAdditionalPosition = 1; dmrs.DMRSTypeAPosition = 2; dmrs.DMRSPortSet = 3; dmrs.GroupHopping = 1; dmrs.SequenceHopping = 0; dmrs.NRSID = 10;
Присвойте объект настройки PUSCH DM-RS свойству DMRS объекта настройки PUSCH.
pusch.DMRS = dmrs;
Сгенерируйте символы PUSCH DM-RS и индексы для заданного поставщика услуг, настройки PUSCH, и выведите форматирование name-value
парный аргумент.
sym = nrPUSCHDMRS(carrier,pusch,'OutputDataType','single')
sym = 96x1 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
⋮
ind = nrPUSCHDMRSIndices(carrier,pusch,'IndexBase','0based','IndexOrientation','bwp')
ind = 96x1 uint32 column vector
217
219
221
223
225
227
229
231
233
235
⋮
Создайте часть пропускной способности (BWP) сетка, и затем сопоставьте символы DM-RS на сетке.
bwp = complex(zeros([pusch.NSizeBWP*12 carrier.SymbolsPerSlot pusch.NumLayers]));
bwp(ind+1) = sym; % Map the DM-RS symbols
Сопоставьте BWP с сеткой ресурса поставщика услуг, и затем отобразите сетку поставщика услуг.
grid = complex(zeros([carrier.NSizeGrid*12 carrier.SymbolsPerSlot pusch.NumLayers])); % Create carrier resource grid offset = pusch.NStartBWP-carrier.NStartGrid; % BWP start location in the carrier grid grid(offset*12+1:(offset+pusch.NSizeBWP)*12,:,:) = bwp; imagesc(abs(grid(:,:,1))); axis xy; xlabel('OFDM Symbols'); ylabel('Subcarriers'); title('PUSCH DM-RS Resource Elements in the Carrier Resource Grid');
carrier
— Параметры конфигурации поставщика услугnrCarrierConfig
объектПараметры конфигурации поставщика услуг для определенной нумерологии OFDM в виде nrCarrierConfig
объект. Эта функция использует только эти свойства nrCarrierConfig
объект.
Поле свойства | Значения | Описание |
---|---|---|
SubcarrierSpacing | 15 (значение по умолчанию), 30, 60, 120, 240 | Интервал поднесущей в kHz |
CyclicPrefix | 'normal' (значение по умолчанию), 'расширенное' | Длина циклического префикса в виде одной из этих опций.
Для нумерологии, заданной в Разделе TS 38.211 4.2, расширенная длина циклического префикса применяется только для интервала поднесущей на 60 кГц. |
NSizeGrid | 52 (значения по умолчанию), целое число от 1 до 275 | Количество ресурса блокируется в сетке ресурса поставщика услуг |
NStartGrid | 0 (значений по умолчанию), целое число от 0 до 2 199 | Запустите сетки ресурса поставщика услуг относительно общего блока 0 ресурса (CRB 0) |
NSlot | 0 (значение по умолчанию), неотрицательный целочисленный скаляр | Номер слота. Можно установить |
pusch
— Параметры конфигурации PUSCHnrPUSCHConfig
объектПараметры конфигурации PUSCH в виде nrPUSCHConfig
объект. Эта функция использует только эти свойства nrPUSCHConfig
объект.
Поле свойства | Значения | Описание |
---|---|---|
NSizeBWP |
| Размер части пропускной способности (BWP) в терминах количества физических блоков ресурса (PRBs). Значение по умолчанию |
NStartBWP |
| Запуск индекса PRB BWP относительно CRB 0. Значение по умолчанию |
NumLayers | 1 (значение по умолчанию), целое число от 1 до 4 | Количество слоев передачи |
MappingType | (Значение по умолчанию), 'B' | Отображение типа PUSCH |
SymbolAllocation | [0 14] (значение по умолчанию), двухэлементный вектор из неотрицательных целых чисел | Символы OFDM выделяются для PUSCH |
PRBSet | [0:51] (значение по умолчанию), вектор из неотрицательных целых чисел от 0 до 274 | PRBs выделяется для PUSCH в BWP |
TransformPrecoding | 0 (значение по умолчанию), 1 | Преобразуйте флаг перед кодированием в виде одного из этих значений.
|
TransmissionScheme |
| Схема передачи PUSCH |
NumAntennaPorts | 1 (значение по умолчанию), 2, или 4 | Количество портов антенны. Значение должно быть больше или быть равно |
FrequencyHopping |
| Настройка скачкообразного движения частоты для PUSCH |
SecondHopStartPRB | 1 (значение по умолчанию), целое число от 0 до 274 | Запуск индекса PRB второго транзитного участка относительно BWP |
DMRS |
|
Для получения дополнительной информации смотрите |
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
'IndexStyle','subscript','IndexBase','0based'
указывает, что элемент ресурса не по умолчанию индексирует свойства форматирования.'IndexStyle'
— Форма индексации элемента ресурса'index'
(значение по умолчанию) | 'subscript'
Индексация элемента ресурса формируется в виде разделенной запятой пары, состоящей из 'IndexStyle'
и одно из этих значений:
'index'
— Индексы находятся в линейной форме индекса.
'subscript'
— Индексы находятся в [поднесущая, символ, антенна] форма строки индекса.
Типы данных: char |
string
'IndexBase'
— Основа индексации элемента ресурса'1based'
(значение по умолчанию) | '0based'
Индексация элемента ресурса базируется в виде разделенной запятой пары, состоящей из 'IndexBase'
и одно из этих значений:
'1based'
— Подсчет индекса запускается от одного.
'0based'
— Подсчет индекса начинает с нуля.
Типы данных: char |
string
'IndexOrientation'
— Индексация ориентации элементов ресурса'carrier'
(значение по умолчанию) | 'bwp'
Индексация ориентации элементов ресурса в виде разделенной запятой пары, состоящей из 'IndexOrientation'
и одно из этих значений:
'carrier'
— На индексы ссылаются относительно сетки поставщика услуг.
'bwp'
— На индексы ссылаются относительно части пропускной способности.
Типы данных: char |
string
ind
— Индексы элемента ресурса DM-RSИндексы элемента ресурса DM-RS, возвращенные как одно из этих значений:
N-by-P матрица — функция возвращает этот тип значения когда 'IndexStyle'
установлен в 'index'
. Столбцы матрицы соответствуют сконфигурированным портам антенны.
M-by-3 матрица — функция возвращает этот тип значения когда 'IndexStyle'
установлен в 'subscript'
. Строки матрицы соответствуют [поднесущая, символ, антенна] индексы на основе количества поднесущих, символов OFDM и количества антенн, соответственно.
В зависимости от значения 'IndexBase'
, функция возвращает или индексы на основе 0 или на основе 1. В зависимости от значения 'IndexOrientation'
, функция возвращает или ориентированные индексы поставщика услуг или ориентированные индексы BWP.
Типы данных: 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.