Сгенерируйте модулируемую форму волны OFDM
[
генерирует waveform
,info
] = nrOFDMModulate(carrier
,grid
)waveform
, форма волны временного интервала, путем выполнения модуляции ортогонального мультиплексирования деления частоты (OFDM) массива ресурса поставщика услуг grid
для параметров конфигурации поставщика услуг carrier
. Функция также возвращает info
, структура, содержащая информацию о OFDM.
[
модулирует массив ресурса поставщика услуг с поднесущей, располагающей с интервалами waveform
,info
] = nrOFDMModulate(grid
,scs
,initialNSlot
)scs
и начальный номер слота initialNSlot
.
[
задает опции при помощи одного или нескольких аргументов пары "имя-значение" в дополнение к входным параметрам в любом из предыдущих синтаксисов.waveform
,info
] = nrOFDMModulate(___,Name,Value
)
Сгенерируйте форму волны путем выполнения модуляции OFDM массива ресурса, который содержит звучащие опорные сигналы (SRSs). Массив ресурса охватывает целую систему координат.
Установите параметры конфигурации поставщика услуг, задав интервал поднесущей 30 кГц и 24 блока ресурса (RBS) в массиве ресурса поставщика услуг.
carrier = nrCarrierConfig('SubcarrierSpacing',30,'NSizeGrid',24);
Сконфигурируйте параметры SRS, установив периодичность паза на 2
и смещение к нулю.
srs = nrSRSConfig('SRSPeriod',[2 0]);
Получите информацию OFDM для заданной настройки поставщика услуг.
info = nrOFDMInfo(carrier);
Произведите массив ресурса системы координат путем создания и конкатенации отдельных массивов ресурса паза.
grid = []; for nslot = 0:(info.SlotsPerFrame - 1) carrier.NSlot = nslot; slotGrid = nrResourceGrid(carrier); ind = nrSRSIndices(carrier,srs); sym = nrSRS(carrier,srs); slotGrid(ind) = sym; grid = [grid slotGrid]; end
Выполните модуляцию OFDM на массиве ресурса для заданной настройки поставщика услуг.
[waveform,info] = nrOFDMModulate(carrier,grid);
Сгенерируйте форму волны путем выполнения модуляции OFDM массива ресурса, который содержит физический нисходящий канал совместно использованный канал (PDSCH) опорный сигнал демодуляции (DM-RS) символы.
Установите параметры конфигурации поставщика услуг, задав интервал поднесущей 60 кГц.
scs = 60;
carrier = nrCarrierConfig('SubcarrierSpacing',scs);
Сгенерируйте символы PDSCH DM-RS и индексы.
p = 2;
pdsch = nrPDSCHConfig('NumLayers',p);
sym = nrPDSCHDMRS(carrier,pdsch);
ind = nrPDSCHDMRSIndices(carrier,pdsch);
Создайте массив ресурса поставщика услуг, содержащий символы PDSCH DM-RS.
grid = nrResourceGrid(carrier,p); grid(ind) = sym;
Сгенерируйте модулируемую форму волны OFDM, задав интервал поднесущей, начальный номер слота и циклический префиксный тип. Отобразите информацию OFDM.
initialNSlot = carrier.NSlot; cpl = 'extended'; [waveform,info] = nrOFDMModulate(grid,scs,initialNSlot,'CyclicPrefix',cpl); disp(info)
Nfft: 1024 SampleRate: 61440000 CyclicPrefixLengths: [1x48 double] SymbolLengths: [1x48 double] Windowing: 36 SymbolPhases: [1x48 double] SymbolsPerSlot: 12 SlotsPerSubframe: 4 SlotsPerFrame: 40
Сгенерируйте форму волны путем выполнения модуляции OFDM массива ресурса, который содержит символы PDSCH DM-RS.
Установите параметры конфигурации поставщика услуг, задав 106 RBS в массиве ресурса поставщика услуг.
carrier = nrCarrierConfig('NSizeGrid',106);
Сконфигурируйте PDSCH и сгенерируйте соответствующие символы и индексы.
p = 4;
pdsch = nrPDSCHConfig('NumLayers',p);
sym = nrPDSCHDMRS(carrier,pdsch);
ind = nrPDSCHDMRSIndices(carrier,pdsch);
Создайте массив ресурса поставщика услуг и сопоставьте символы PDSCH.
grid = nrResourceGrid(carrier,p,'OutputDataType','single'); grid(ind) = sym;
Сгенерируйте модулируемую форму волны OFDM, задав частоту дискретизации.
sr = 1e8;
[waveform,info] = nrOFDMModulate(carrier,grid,'SampleRate',sr);
carrier
— Параметры конфигурации поставщика услугnrCarrierConfig
объектПараметры конфигурации поставщика услуг для определенной нумерологии OFDM в виде nrCarrierConfig
объект. Только эти свойства объектов важны для этой функции.
NSizeGrid
— Количество RBS в сетке ресурса поставщика услуг
(значение по умолчанию) | целое число от 1 до 275Количество RBS в сетке ресурса поставщика услуг в виде целого числа от 1 до 275. Значение по умолчанию 52
соответствует максимальному количеству RBS поставщика услуг на 10 МГц с SCS на 15 кГц.
Типы данных: double
SubcarrierSpacing
— Интервал поднесущей в kHz
(значение по умолчанию) | 30
| 60
| 120
| 240
Интервал поднесущей в kHz, для всех каналов и опорных сигналов поставщика услуг в виде 15
, 30, 60
, 120
, или
240
.
Типы данных: double
NSlot
— Номер слота
(значение по умолчанию) | неотрицательное целое числоНомер слота в виде неотрицательного целого числа. Можно установить NSlot
к значению, больше, чем количество пазов на систему координат. Например, можно установить это значение с помощью счетчиков цикла передачи в симуляции MATLAB®. В этом случае вам, вероятно, придется гарантировать, что значение свойства по модулю количество пазов на систему координат в коде вызова.
Типы данных: double
CyclicPrefix
— Длина циклического префикса'normal'
(значение по умолчанию) | 'extended'
Длина циклического префикса в виде одной из этих опций.
'normal'
— Используйте это значение, чтобы задать нормальный циклический префикс. Эта опция соответствует 14 символам OFDM в пазе.
'extended'
— Используйте это значение, чтобы задать расширенный циклический префикс. Эта опция соответствует 12 символам OFDM в пазе. Для нумерологии, заданной в Разделе TS 38.211 4.2, расширенная длина циклического префикса запрашивает интервал поднесущей на только 60 кГц.
Типы данных: char |
string
grid
— Массив ресурса поставщика услугМассив ресурса поставщика услуг в виде массива с комплексным знаком размера K-by-N-by-P.
K является количеством поднесущих.
N является количеством символов OFDM.
P является количеством антенн передачи.
Типы данных: single
| double
Поддержка комплексного числа: Да
scs
— Интервал поднесущей в kHz
| 30
| 60
| 120
| 240
Интервал поднесущей в kHz в виде 15
, 30, 60
, 120
, или
240
.
Типы данных: double
initialNSlot
— Начальный номер слотаНачальный номер слота, в форме на основе 0 в виде неотрицательного целого числа. Функция выбирает соответствующие длины циклического префикса для модуляции OFDM при помощи значения initialNSlot
ультрасовременный S, где S является количеством пазов на подкадр.
Типы данных: double
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
'CyclicPrefix','extended'
задает расширенную длину циклического префикса.'CyclicPrefix'
— Длина циклического префикса'normal'
(значение по умолчанию) | 'extended'
Длина циклического префикса в виде разделенной запятой пары, состоящей из 'CyclicPrefix'
и одно из этих значений:
'normal'
— Используйте это значение, чтобы задать нормальный циклический префикс. Эта опция соответствует 14 символам OFDM в пазе.
'extended'
— Используйте это значение, чтобы задать расширенный циклический префикс. Эта опция соответствует 12 символам OFDM в пазе. Для нумерологии, заданной в Разделе TS 38.211 4.2, расширенная длина циклического префикса только применяется к интервалу поднесущей на 60 кГц.
Примечание
Если вы задаете carrier
введите, используйте CyclicPrefix
свойство carrier
введите, чтобы задать длину циклического префикса. Вы не можете использовать этот аргумент пары "имя-значение" вместе с carrier
входной параметр.
Типы данных: char |
string
'Nfft'
— Количество точек БПФ[]
Количество быстрого преобразования Фурье (FFT) указывает в виде разделенной запятой пары, состоящей из 'Nfft'
и неотрицательное целое число, больше, чем 127 или []
. Значение, которое вы задаете, должно привести к длинам циклического префикса с целочисленным знаком и максимальному заполнению 100%. Заполнение задано как значение (12 × N RB)/Nfft
, где N RB является количеством блоков ресурса.
Если вы не задаете этот вход, или если вы задаете 'Nfft',[]
, функция устанавливает целочисленное значение, больше, чем 127 как значение по умолчанию для этого входа. Фактическое значение по умолчанию зависит от других входных значений.
Если вы не задаете SampleRate
введите, или если вы задаете 'SampleRate',[]
, функция устанавливает Nfft
удовлетворение этим условиям.
Nfft
целочисленная степень 2.
Nfft
результаты в максимальном заполнении 85%.
Если вы задаете SampleRate
введите, функция устанавливает Nfft
удовлетворение этим условиям.
Типы данных: double
'SampleRate'
— Частота дискретизации формы волны[]
Частота дискретизации формы волны в виде разделенной запятой пары, состоящей из 'SampleRate'
и или положительная скалярная величина или []
.
Если вы не задаете этот вход, или если вы задаете 'SampleRate',[]
, затем функция устанавливает этот вход на значение N fft × SCS.
Типы данных: double
'Windowing'
— Количество выборок временного интервала для работы с окнами символа OFDM и наложения[]
Количество выборок временного интервала, по которым функция применяет повышенную работу с окнами косинуса и наложение символов OFDM в виде разделенной запятой пары, состоящей из 'Windowing'
и или неотрицательное целое число или []
.
Если вы не задаете этот вход, или если вы задаете 'Windowing',[]
, функция устанавливает этот вход на максимальное значение E, который не влияет на тесты величины вектора ошибок (EVM), как задано в TS 38.101-1 Приложений F.5.3 и F.5.4, TS 38.101-2 Приложений F.5.3 и F.5.4 и приложения B.5.2 и C.5.2 TS 38.104. E равен значению floor
((CP N − W) × info
.Nfft
⁄ БПФ N, номинал), где CP N, W и БПФ N, номинал является значениями в столбцах таблицы, пометил "Cyclic prefix length", "EVM window length" и "FFT size", соответственно.
Типы данных: double
'CarrierFrequency'
— Несущая частота в Гц
(значение по умолчанию) | вещественное числоНесущая частота в Гц в виде разделенной запятой пары, состоящей из 'CarrierFrequency'
и вещественное число. Этот вход соответствует f 0, заданный в Разделе TS 38.211 5.4.
Типы данных: double
waveform
— OFDM модулировал форму волныOFDM модулировал форму волны, возвращенную как матрица с комплексным знаком размера T-by-P.
T является количеством выборок временного интервала в форме волны.
P является количеством антенн передачи.
Типы данных: single
| double
Поддержка комплексного числа: Да
info
— Информация о OFDMИнформация о OFDM, возвращенная как структура, содержащая эти поля.
Поля | Значения | Описание |
---|---|---|
Nfft | Положительное целое число | Количество точек БПФ |
SampleRate | Положительная скалярная величина | Частота дискретизации формы волны |
CyclicPrefixLengths | 1 N вектором из положительных целых чисел, где N является количеством символов OFDM в подкадре. | Длины циклического префикса каждого символа OFDM, в выборках |
SymbolLengths | 1 N вектором из положительных целых чисел | Длины символа OFDM, в выборках |
Windowing | Положительное целое число | Количество выборок временного интервала, по которым функция применяет повышенную работу с окнами косинуса и наложение символов OFDM |
SymbolPhases | 1 N вектором из скаляров в интервале [-π, π] | Компенсация фазы каждого символа OFDM, в радианах Функция применяет эту компенсацию во время модуляции с учетом условий фазы на символ OFDM, как задано в Разделе TS 38.211 5.4 [4]. |
SymbolsPerSlot | Положительное целое число | Количество символов OFDM в пазе |
SlotsPerSubframe | Положительное целое число | Количество пазов в подкадре на 1 мс |
SlotsPerFrame | Положительное целое число | Количество пазов в системе координат на 10 мс |
Типы данных: struct
[1] 3GPP TS 38.101-1. “NR; передача радио Оборудования пользователя (UE) и прием; Часть 1: Область значений 1 Автономное”. Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group.
[2] 3GPP TS 38.101-2. “NR; передача радио Оборудования пользователя (UE) и прием; Часть 2: Область значений 2 Автономных”. Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group.
[3] 3GPP TS 38.104. “NR; передача радио Базовой станции (BS) и прием”. Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group.
[4] 3GPP TS 38.211. “NR; Физические каналы и модуляция”. Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group.
Указания и ограничения по применению:
Имена и значения в аргументах пары "имя-значение" должны быть константами времени компиляции. Например, когда определение расширило циклический префикс, включайте {coder.Constant('CyclicPrefix'),coder.Constant('extended')}
в -args
значение codegen
функция. Для получения дополнительной информации смотрите coder.Constant
(MATLAB Coder) класс.
Входные параметры scs
и initialNSlot
должны быть константы времени компиляции. Включайте {coder.Constant(scs)}
и {coder.Constant(initialNSlot)}
в -args
значение codegen
функция.
'SampleRate'
аргумент пары "имя-значение" не может использоваться вместе с carrier
входной параметр.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.