Сгенерируйте символы PUSCH PT-RS
возвращает sym
= nrPUSCHPTRS(carrier
,pusch
)sym
в матричной форме, которая содержит фазу, отслеживающую ссылочный сигнал (PT-RS) символы физического восходящего канала совместно использованный канал (PUSCH), как задано в Разделе TS 38.211 6.4.1.2.1 [1]. Количество столбцов в sym
зависит от схемы передачи, и преобразуйте предварительное кодирование. carrier
задает параметры конфигурации поставщика услуг для определенной нумерологии OFDM и pusch
задает параметры конфигурации PUSCH.
Создайте объект настройки поставщика услуг со свойствами по умолчанию. Этот объект соответствует поставщику услуг на 10 МГц с интервалом поднесущей на 15 кГц.
carrier = nrCarrierConfig;
Создайте объект настройки PUSCH с основанной на 'книге шифров' передачей и включите настройку PT-RS. Определите номер портов антенны к 4, переданного предварительно кодирующего матричного индикатора к 5, плотности частоты к 4 и смещения элемента ресурса к '11'. То, когда преобразовывают предварительное кодирование, 0, тип формы волны является циклически-префиксным ортогональным делением частоты, мультиплексирующим (CP-OFDM).
pusch = nrPUSCHConfig; pusch.TransformPrecoding = 0; pusch.TransmissionScheme = 'codebook'; pusch.NumAntennaPorts = 4; pusch.TPMI = 5; pusch.EnablePTRS = 1; pusch.PTRS.FrequencyDensity = 4; pusch.PTRS.REOffset = '11';
Сгенерируйте символы PUSCH PT-RS одного типа данных.
sym = nrPUSCHPTRS(carrier,pusch,'OutputDataType','single')
sym = 169x4 single matrix
-0.3536 + 0.3536i 0.0000 + 0.0000i 0.3536 - 0.3536i 0.0000 + 0.0000i
-0.3536 + 0.3536i 0.0000 + 0.0000i 0.3536 - 0.3536i 0.0000 + 0.0000i
0.3536 + 0.3536i 0.0000 + 0.0000i -0.3536 - 0.3536i 0.0000 + 0.0000i
-0.3536 - 0.3536i 0.0000 + 0.0000i 0.3536 + 0.3536i 0.0000 + 0.0000i
-0.3536 - 0.3536i 0.0000 + 0.0000i 0.3536 + 0.3536i 0.0000 + 0.0000i
-0.3536 + 0.3536i 0.0000 + 0.0000i 0.3536 - 0.3536i 0.0000 + 0.0000i
-0.3536 + 0.3536i 0.0000 + 0.0000i 0.3536 - 0.3536i 0.0000 + 0.0000i
-0.3536 - 0.3536i 0.0000 + 0.0000i 0.3536 + 0.3536i 0.0000 + 0.0000i
0.3536 - 0.3536i 0.0000 + 0.0000i -0.3536 + 0.3536i 0.0000 + 0.0000i
0.3536 - 0.3536i 0.0000 + 0.0000i -0.3536 + 0.3536i 0.0000 + 0.0000i
⋮
Создайте объект настройки поставщика услуг с интервалом поднесущей на 30 кГц и пропускной способностью передачи на 5 МГц.
carrier = nrCarrierConfig; carrier.SubcarrierSpacing = 30; carrier.NSizeGrid = 11;
Создайте объект настройки PUSCH со скачкообразным движением частоты внутрипаза и включите настройку PT-RS. Установите предварительное кодирование преобразования на 1, запустив индекс физических блоков ресурса (PRB) второго транзитного участка к 3 и набора PRB к 0:5. То, когда преобразовывают предварительное кодирование, является 1, тип формы волны является ортогональным делением частоты распространения дискретного преобразования Фурье, мультиплексирующим (DFT-s-OFDM).
pusch = nrPUSCHConfig;
pusch.PRBSet = 0:5;
pusch.TransformPrecoding = 1;
pusch.FrequencyHopping = 'intraSlot';
pusch.SecondHopStartPRB = 3;
pusch.EnablePTRS = 1;
Создайте фазу PUSCH, отслеживающую ссылочный сигнал (PT-RS) объект настройки с заданными свойствами.
ptrs = nrPUSCHPTRSConfig; ptrs.TimeDensity = 2; ptrs.NumPTRSSamples = 4; ptrs.NumPTRSGroups = 8; ptrs.NID = 750;
Присвойте объект настройки PUSCH PT-RS свойству PTRS объекта настройки PUSCH.
pusch.PTRS = ptrs;
Сгенерируйте символы PUSCH PT-RS одного типа данных.
sym = nrPUSCHPTRS(carrier,pusch,'OutputDataType','single')
sym = 192x1 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
⋮
Сгенерируйте индексы PUSCH PT-RS в форме индекса.
ind = nrPUSCHPTRSIndices(carrier,pusch,'IndexStyle','subscript')
ind = 192x3 uint32 matrix
1 1 1
2 1 1
3 1 1
4 1 1
12 1 1
13 1 1
14 1 1
15 1 1
21 1 1
22 1 1
⋮
carrier
— Параметры конфигурации поставщика услугnrCarrierConfig
объектПараметры конфигурации поставщика услуг для определенной нумерологии OFDM в виде nrCarrierConfig
объект. Эта функция использует только эти свойства nrCarrierConfig
объект.
Поле свойства | Значения | Описание |
---|---|---|
NCellID | 1 (значение по умолчанию), целое число от 0 до 1 007 | Идентичность ячейки физического уровня |
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 | Количество портов антенны. Значение должно быть больше или быть равно |
TPMI | 0 (значений по умолчанию), целое число от 0 до 27 | Переданный предварительно кодирующий матричный индикатор. Это свойство применимо только когда |
FrequencyHopping |
| Режим скачкообразного движения частоты для PUSCH |
SecondHopStartPRB | 1 (значение по умолчанию), целое число от 0 до 274 | Запуск индекса PRB второго транзитного участка относительно |
RNTI | 1 (значение по умолчанию), целое число от 0 до 65 535 | Радиосеть временный идентификатор оборудования пользователя |
DMRS |
|
Для получения дополнительной информации смотрите |
EnablePTRS | 0 (значение по умолчанию), 1 | Настройка PT-RS в виде одного из этих значений.
|
PTRS |
|
Для получения дополнительной информации смотрите |
datatype
— Тип данных сгенерированных символов PT-RS'double'
(значение по умолчанию) | 'single'
Тип данных для сгенерированных символов PT-RS в виде 'двойного' или 'single'.
Типы данных: char |
string
sym
— Символы PT-RSСимволы PT-RS, возвращенные как комплексная матрица. Количество столбцов зависит от TransmissionScheme
и TransformPrecoding
свойства nrPUSCHConfig
объект.
Количество столбцов в sym
возвращен как это значение.
Количество сконфигурированных портов антенны PT-RS — Когда преобразовывают предварительное кодирование, отключено, и схема передачи является некнигой шифров.
Количество сконфигурированных портов антенны — Когда преобразовывают предварительное кодирование, отключено, и схема передачи является книгой шифров.
Количество слоев передачи — Когда преобразовывают предварительное кодирование, включено.
Типы данных: double |
single
Поддержка комплексного числа: Да
[1] 3GPP TS 38.211. “NR; Физические каналы и модуляция”. Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group.
Указания и ограничения по применению:
Имена и значения в аргументах пары "имя-значение" должны быть константами времени компиляции. Например, чтобы задать single
тип данных для выхода, включайте {coder.Constant('OutputDataType'),coder.Constant('single')}
в -args
значение codegen
функция. Для получения дополнительной информации смотрите coder.Constant
класс.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.