Формирование индексов PUSCH DM-RS
возвращает матрицу, содержащую индексы элемента ресурса (RE) опорного сигнала демодуляции (DM-RS) физического общего канала восходящей линии связи (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;Сконфигурируйте объект опорного сигнала демодуляции PUSCH (DM-RS) с заданными параметрами.
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;Создайте объект опорного сигнала демодуляции PUSCH (DM-RS) с заданными свойствами.
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) в терминах количества блоков физических ресурсов (PRB). Значение по умолчанию |
NStartBWP |
| Запуск индекса PRB BWP относительно CRB 0. Значение по умолчанию |
NumLayers | 1 (по умолчанию), целое число от 1 до 4 | Количество уровней передачи |
MappingType | «A» (по умолчанию), «B» | Тип отображения PUSCH |
SymbolAllocation | [0 14] (по умолчанию), двухэлементный вектор неотрицательных целых чисел | Символы OFDM, выделенные для PUSCH |
PRBSet | [0:51] (по умолчанию), вектор неотрицательных целых чисел от 0 до 274 | PRB, выделенные для 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 matrix - функция возвращает этот тип значения, когда 'IndexStyle' имеет значение 'subscript'. Строки матрицы соответствуют подстрокам [поднесущей, символа, антенны] на основе количества поднесущих, символов OFDM и количества антенн соответственно.
В зависимости от значения 'IndexBase'функция возвращает либо индексы на основе 1, либо индексы на основе 0. В зависимости от значения 'IndexOrientation'функция возвращает либо индексы, ориентированные на несущую, либо индексы, ориентированные на BWP.
Типы данных: uint32
[1] 3GPP TS 38.211. "НР; Физические каналы и модуляция. "Проект партнерства 3-го поколения; Техническая спецификация на сеть радиодоступа группы.
Примечания и ограничения по использованию:
Имена и значения в аргументах пары имя-значение должны быть константами времени компиляции. Например, при указании формы линейного индексирования включить {coder.Constant('IndexStyle'),coder.Constant('index')} в -args значение codegen функция. Дополнительные сведения см. в разделе coder.Constant (Кодер MATLAB) класс.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.