Сгенерируйте индексы 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
объект.
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
— Форма индексации RE'index'
(значение по умолчанию) | 'subscript'
Индексация RE формируется в виде одного из этих значений:
'index'
— Индексы находятся в линейной форме индекса.
'subscript'
— Индексы находятся в [поднесущая, символ, антенна] форма строки индекса.
Типы данных: char |
string
IndexBase
— Основа индексации RE'1based'
(значение по умолчанию) | '0based'
Индексация RE базируется в виде одного из этих значений:
'1based'
— Подсчет индекса запускается от 1.
'0based'
— Подсчет индекса запускается от 0.
Типы данных: char |
string
IndexOrientation
— Индексация ориентации элементов ресурса'carrier'
(значение по умолчанию) | 'bwp'
Индексация ориентации элементов ресурса в виде разделенной запятой пары, состоящей из 'IndexOrientation'
и одно из этих значений:
'carrier'
— На индексы ссылаются относительно сетки несущей.
'bwp'
— На индексы ссылаются относительно части полосы пропускания.
Типы данных: char |
string
ind
— Индексы элемента ресурса DM-RSИндексы элемента ресурса DM-RS, возвращенные как одно из этих значений:
N-by-P матрица — функция возвращает этот тип значения когда 'IndexStyle'
установлен в 'index'
. Количество столбцов зависит от TransmissionScheme
свойство nrPUSCHConfig
возразите и возвратился как это значение.
Количество слоев передачи — Когда схема передачи является некнигой шифров
Количество портов антенны сконфигурировало — Когда схема передачи является книгой шифров
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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.